respond to code review
authorGil Moskowitz <gmoskowitz@xtuple.com>
Mon, 14 Jul 2014 20:34:55 +0000 (16:34 -0400)
committerGil Moskowitz <gmoskowitz@xtuple.com>
Mon, 14 Jul 2014 20:34:55 +0000 (16:34 -0400)
lib/enyo-x/source/views/grid_box.js
test/extensions/all/grid_box.js

index 7383e29..17898fe 100644 (file)
@@ -374,7 +374,7 @@ trailing:true, white:true, strict: false*/
     },
     allRowsSaved: function () {
       return _.every(this.getValue().models,
-                     function (e) { return e.isReadyClean(); });
+                     function (model) { return model.isReadyClean(); });
     },
     buttonTapped: function (inSender, inEvent) {
       var editor = this.$.editableGridRow,
@@ -539,9 +539,11 @@ trailing:true, white:true, strict: false*/
       this.doExportAttr({ attr: gridbox.attr });
     },
     refreshLists: function () {
+      var collection = this.getValue();
       this.$.aboveGridList.refresh();
       this.$.belowGridList.refresh();
-      this.$.exportButton.setDisabled(! this.allRowsSaved());
+      this.$.exportButton.setDisabled(! this.allRowsSaved() ||
+                                      ! collection.length);
     },
     reset: function () {
       this.setEditableIndex(null);
@@ -630,7 +632,8 @@ trailing:true, white:true, strict: false*/
         this.$.summaryPanel.setValue(model);
       }
 
-      this.$.exportButton.setDisabled(! this.allRowsSaved());
+      this.$.exportButton.setDisabled(! this.allRowsSaved() ||
+                                      ! collection.length);
     }
   });
 }());
index b501223..539055a 100644 (file)
@@ -51,9 +51,6 @@
                       it('checks for the export button', function () {
                         var exportButton = getExportButton(component);
                         assert.ok(exportButton);
-                        // TODO: need to populate before we can export
-                        // assert.doesNotThrow(exportButton.doTap());
-                        // TODO: find the generated file & check contents
                       });
 
                       it('creates line items for ' + component, function () {
@@ -62,8 +59,9 @@
                             gridRow,
                             startingRows = gridBox.liveModels().length;
 
-                        assert.isFalse(exportButton.disabled,
-                                      'export enabled for fresh data');
+                        assert.equal(startingRows, 0, 'expect no data for new gridbox');
+                        assert.isTrue(exportButton.disabled,
+                                      'expect export disabled if no data');
                         gridBox.newItem();
                         gridRow = gridBox.$.editableGridRow;
                         assert.equal(gridBox.liveModels().length, startingRows += 1);
                         gridRow.bubble("onkeyup", {keyCode: 13});
                         assert.equal(gridBox.liveModels().length, startingRows += 1);
                       });
+
+                      // TODO: populate, apply, & actually export
+                      // generate some data
+                      // assert.isTrue(exportButton.disabled,
+                      //               'expect export disabled if no data');
+                      // save the data
+                      // assert.isFalse(exportButton.disabled,
+                      //               'expect export disabled if no data');
+                      // assert.doesNotThrow(exportButton.doTap());
+                      // find the generated file & check contents
                     });
                   }
                 });