<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,5 @@
-Please be aware that this is the active code base for our projects and things are still evolving. Please take ideas from this or copy code out of here for use.
-
-If you code directly against this and follow any updates, your code may BREAK FREQUENTLY.
-
+Please be aware that this is the active code base for our projects and things are still evolving. Please take ideas from this or copy code out of here for use.
+
+If you code directly against this and follow any updates, your code may BREAK FREQUENTLY.
+
 namespaces.js needs to be loaded first, I don't think the order of the others matter, but I havn't tested it.
\ No newline at end of file</diff>
      <filename>README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,67 +1,67 @@
-&lt;!-- Standard Code --&gt;
-
-&lt;html&gt;&lt;head&gt;
-    
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
-
-&lt;!-- End Standard Code --&gt;
-
-&lt;script type=&quot;text/javascript&quot; src=&quot;../data_stores.js&quot;&gt;&lt;/script&gt;
-
-&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
-
-function testCrudStoreConstructor() {
-  var origMgr = Ext.StoreMgr;
-
-  function test(Type) {
-    var origStore = {
-      initialConfig: {
-        existing: true,
-        newValue: false     
-      }
-    }
-
-    Ext.StoreMgr = {
-      get: function() {
-        return origStore;
-      }
-    }
-
-    var store = new Type('existing', {
-      newValue: true
-    });
-
-    assertTrue('copy existing config', store.existing);
-    assertTrue('override with new config', store.newValue);
-    assertFalse('preserve original config', origStore.initialConfig.newValue);
-    assertEquals('clean initialConfig', 'undefined', typeof store.initialConfig.proxy);
-    assertEquals('clean initialConfig', 'undefined', typeof store.initialConfig.reader);
-  }
-
-  test(SWorks.CrudStore);
-  test(SWorks.SearchStore);
-
-  Ext.StoreMgr = origMgr;
-}
-
-function testSearchStoreLoad() {
-  // The query parameter is already provided, don't add it again
-  var text, store = new SWorks.SearchStore({ url: '/test' });
-  store.proxy.load = function(p) {
-    assertEquals(text, p.q);
-  };
-
-  text = 'test';
-  store.addFilter('test', 'filter');
-  store.load({ params: { q: text }});
-  store.reload();
-
-  text = 'filter';
-  store.load();
-}
-
-&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;!-- Standard Code --&gt;
+
+&lt;html&gt;&lt;head&gt;
+    
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
+
+&lt;!-- End Standard Code --&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;../data_stores.js&quot;&gt;&lt;/script&gt;
+
+&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
+
+function testCrudStoreConstructor() {
+  var origMgr = Ext.StoreMgr;
+
+  function test(Type) {
+    var origStore = {
+      initialConfig: {
+        existing: true,
+        newValue: false     
+      }
+    }
+
+    Ext.StoreMgr = {
+      get: function() {
+        return origStore;
+      }
+    }
+
+    var store = new Type('existing', {
+      newValue: true
+    });
+
+    assertTrue('copy existing config', store.existing);
+    assertTrue('override with new config', store.newValue);
+    assertFalse('preserve original config', origStore.initialConfig.newValue);
+    assertEquals('clean initialConfig', 'undefined', typeof store.initialConfig.proxy);
+    assertEquals('clean initialConfig', 'undefined', typeof store.initialConfig.reader);
+  }
+
+  test(SWorks.CrudStore);
+  test(SWorks.SearchStore);
+
+  Ext.StoreMgr = origMgr;
+}
+
+function testSearchStoreLoad() {
+  // The query parameter is already provided, don't add it again
+  var text, store = new SWorks.SearchStore({ url: '/test' });
+  store.proxy.load = function(p) {
+    assertEquals(text, p.q);
+  };
+
+  text = 'test';
+  store.addFilter('test', 'filter');
+  store.load({ params: { q: text }});
+  store.reload();
+
+  text = 'filter';
+  store.load();
+}
+
+&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;</diff>
      <filename>tests/data_stores.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,77 +1,77 @@
-&lt;!-- Standard Code --&gt;
-
-&lt;html&gt;&lt;head&gt;
-    
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
-
-&lt;!-- End Standard Code --&gt;
-
-&lt;script type=&quot;text/javascript&quot; src=&quot;../collection_index.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_editor.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_data_models.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_controller.js&quot;&gt;&lt;/script&gt;
-
-&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
-
-function testInitForm() {
-  var controller = new SWorks.AbstractController();
-  var form = new Ext.form.BasicForm();
-  form.add(new Ext.form.TextField({ dataIndex: 'test' }));
-
-  // should index the fields
-  controller.initFormIdempotent(form);
-  assert('assigned map', form.items.maps['dataIndex'] == form.fields);
-
-  // should not re-init the form
-  var firstIndex = form.fields;
-  controller.initFormIdempotent(form);
-  assert('doesnt rebuild index', form.fields == firstIndex);
-
-  for (var name in form.fields) {
-    assertEquals('set field.form', form, form.fields[name].form);
-  }
-
-  assertEventRelay(form, controller, 'beforeaction');
-  assertEventRelay(form, controller, 'actionfailed');
-  assertEventRelay(form, controller, 'actioncomplete');
-}
-
-function testCreate() {
-  var mc = new MockControl();
-  
-  var record = {};
-  var controller = new SWorks.AbstractController();
-  var d = controller.dataModel = mc.createMock(SWorks.DataModel);
-  d.expects().newRecord().andReturn(record);
-  var e = controller.editor = mc.createMock(SWorks.DialogEditor.prototype);
-  e.expects().loadRecord(record);
-
-  controller.setDefaults = function(r) {
-    r.defaults = true;
-  };
-
-  controller.createRecord();
-
-  assert('defaults set', record.defaults);
-
-  mc.verify();
-}
-
-/*
-function testCreateWithParent() {
-  var mc = new MockControl();
-
-  var controller = new SWorks.AbstractController();
-  controller.childId = &quot;I'm a child&quot;;
-
-  controller.parent = mc.createMock(SWorks.AbstractController);
-
-  controller.createRecord();
-}
-*/
-
-&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;!-- Standard Code --&gt;
+
+&lt;html&gt;&lt;head&gt;
+    
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
+
+&lt;!-- End Standard Code --&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;../collection_index.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_editor.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_data_models.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_controller.js&quot;&gt;&lt;/script&gt;
+
+&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
+
+function testInitForm() {
+  var controller = new SWorks.AbstractController();
+  var form = new Ext.form.BasicForm();
+  form.add(new Ext.form.TextField({ dataIndex: 'test' }));
+
+  // should index the fields
+  controller.initFormIdempotent(form);
+  assert('assigned map', form.items.maps['dataIndex'] == form.fields);
+
+  // should not re-init the form
+  var firstIndex = form.fields;
+  controller.initFormIdempotent(form);
+  assert('doesnt rebuild index', form.fields == firstIndex);
+
+  for (var name in form.fields) {
+    assertEquals('set field.form', form, form.fields[name].form);
+  }
+
+  assertEventRelay(form, controller, 'beforeaction');
+  assertEventRelay(form, controller, 'actionfailed');
+  assertEventRelay(form, controller, 'actioncomplete');
+}
+
+function testCreate() {
+  var mc = new MockControl();
+  
+  var record = {};
+  var controller = new SWorks.AbstractController();
+  var d = controller.dataModel = mc.createMock(SWorks.DataModel);
+  d.expects().newRecord().andReturn(record);
+  var e = controller.editor = mc.createMock(SWorks.DialogEditor.prototype);
+  e.expects().loadRecord(record);
+
+  controller.setDefaults = function(r) {
+    r.defaults = true;
+  };
+
+  controller.createRecord();
+
+  assert('defaults set', record.defaults);
+
+  mc.verify();
+}
+
+/*
+function testCreateWithParent() {
+  var mc = new MockControl();
+
+  var controller = new SWorks.AbstractController();
+  controller.childId = &quot;I'm a child&quot;;
+
+  controller.parent = mc.createMock(SWorks.AbstractController);
+
+  controller.createRecord();
+}
+*/
+
+&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;</diff>
      <filename>tests/mvc_crud_controller.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,101 +1,101 @@
-&lt;!-- Standard Code --&gt;
-
-&lt;html&gt;&lt;head&gt;
-    
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
-
-&lt;!-- End Standard Code --&gt;
-
-&lt;script type=&quot;text/javascript&quot; src=&quot;../data_stores.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_data_models.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_controller.js&quot;&gt;&lt;/script&gt;
-
-&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
-
-function testSaveFormNotValid() {
-  var mc = new MockControl();
-
-  var dm = new SWorks.DataModel();
-  var form  = mc.createMock(Ext.form.BasicForm);
-  form.expects().isValid().andReturn(false);
-
-  var oldMessageBox = Ext.MessageBox;
-  Ext.MessageBox = mc.createMock(Ext.MessageBox);
-  dm.saveForm(form, { waitMsg: false });
-
-  mc.verify();
-
-  form.expects().isValid().andReturn(false);
-  Ext.MessageBox.expects().alert(TypeOf.isA(String), TypeOf.isA(String));
-
-  dm.saveForm(form, {}); // Without waitMsg:false
-
-  mc.verify();
-
-  Ext.MessageBox = oldMessageBox;
-}
-
-function testSaveFormValid() {
-  var mc = new MockControl();
-  var options = {};
-
-  var dm = new SWorks.DataModel({
-    store: { recordType: Ext.emptyFn },
-    restUrl: '/test',
-    dealWithEmptyCombos: Ext.emptyFn    
-  });
-
-  var form  = mc.createMock(Ext.form.BasicForm);
-  form.expects().isValid().andReturn(true);
-  form.expects().updateRecord(TypeOf.isA(dm.store.recordType));
-  form.expects().submit(options);
-
-  form.record = { newRecord: false };
-
-  dm.saveForm(form, options);
-  mc.verify();
-
-  form.expects().isValid().andReturn(true);
-  // Shouldn't try to save while another save is going
-  dm.saveForm(form, options); 
-  mc.verify();
-}
-
-function testLinkToParent() {
-  var mc = new MockControl();
-  var compt = mc.createMock(SWorks.AbstractController);
-  var store = new Ext.data.Store();
-
-  // Persistent filters are required for standard linking to parent
-  Ext.ux.data.PersistentFilters(store);
-
-  var store = mc.createMock(store);
-
-  var dm = new SWorks.StoreDataModel({ store: store });
-  var childId = &quot;I'm the child&quot;;
-  var callback;
-
-  // Don't link if you don't have a foreignKey
-  dm.linkToParent(compt, childId);
-  mc.verify();
-
-  dm.foreignKey = 'key';
-  compt.expects().on('load', TypeOf.isA(Function), dm).andStub(function() {
-    callback = arguments[1];
-  });
-
-  // execute your callback when the parent loads
-  dm.linkToParent(compt, childId);
-  mc.verify();
-
-  // when the parent loads, filter the grid
-  store.expects().addFilter(TypeOf.isA(Function), dm);
-  callback.call(dm, { id: childId }, {});
-  mc.verify();
-}
-
-&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;!-- Standard Code --&gt;
+
+&lt;html&gt;&lt;head&gt;
+    
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
+
+&lt;!-- End Standard Code --&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;../data_stores.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_data_models.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_controller.js&quot;&gt;&lt;/script&gt;
+
+&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
+
+function testSaveFormNotValid() {
+  var mc = new MockControl();
+
+  var dm = new SWorks.DataModel();
+  var form  = mc.createMock(Ext.form.BasicForm);
+  form.expects().isValid().andReturn(false);
+
+  var oldMessageBox = Ext.MessageBox;
+  Ext.MessageBox = mc.createMock(Ext.MessageBox);
+  dm.saveForm(form, { waitMsg: false });
+
+  mc.verify();
+
+  form.expects().isValid().andReturn(false);
+  Ext.MessageBox.expects().alert(TypeOf.isA(String), TypeOf.isA(String));
+
+  dm.saveForm(form, {}); // Without waitMsg:false
+
+  mc.verify();
+
+  Ext.MessageBox = oldMessageBox;
+}
+
+function testSaveFormValid() {
+  var mc = new MockControl();
+  var options = {};
+
+  var dm = new SWorks.DataModel({
+    store: { recordType: Ext.emptyFn },
+    restUrl: '/test',
+    dealWithEmptyCombos: Ext.emptyFn    
+  });
+
+  var form  = mc.createMock(Ext.form.BasicForm);
+  form.expects().isValid().andReturn(true);
+  form.expects().updateRecord(TypeOf.isA(dm.store.recordType));
+  form.expects().submit(options);
+
+  form.record = { newRecord: false };
+
+  dm.saveForm(form, options);
+  mc.verify();
+
+  form.expects().isValid().andReturn(true);
+  // Shouldn't try to save while another save is going
+  dm.saveForm(form, options); 
+  mc.verify();
+}
+
+function testLinkToParent() {
+  var mc = new MockControl();
+  var compt = mc.createMock(SWorks.AbstractController);
+  var store = new Ext.data.Store();
+
+  // Persistent filters are required for standard linking to parent
+  Ext.ux.data.PersistentFilters(store);
+
+  var store = mc.createMock(store);
+
+  var dm = new SWorks.StoreDataModel({ store: store });
+  var childId = &quot;I'm the child&quot;;
+  var callback;
+
+  // Don't link if you don't have a foreignKey
+  dm.linkToParent(compt, childId);
+  mc.verify();
+
+  dm.foreignKey = 'key';
+  compt.expects().on('load', TypeOf.isA(Function), dm).andStub(function() {
+    callback = arguments[1];
+  });
+
+  // execute your callback when the parent loads
+  dm.linkToParent(compt, childId);
+  mc.verify();
+
+  // when the parent loads, filter the grid
+  store.expects().addFilter(TypeOf.isA(Function), dm);
+  callback.call(dm, { id: childId }, {});
+  mc.verify();
+}
+
+&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;</diff>
      <filename>tests/mvc_data_model.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,59 +1,59 @@
-&lt;!-- Standard Code --&gt;
-
-&lt;html&gt;&lt;head&gt;
-    
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
-
-&lt;!-- End Standard Code --&gt;
-
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_data_models.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_controller.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_editor.js&quot;&gt;&lt;/script&gt;
-
-&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
-
-function setUpPage() {
-  JSMock.extend(this);
-  replaceAjaxRequest();
-
-  setUpPageStatus = 'complete'; 
-}
-
-function testBasicShow() {
-  var editor = new SWorks.DialogEditor({
-    items: {
-      xtype: 'form',
-      items: {
-        xtype: 'hidden'
-      }
-    }
-  });
-  editor.show();
-}
-
-function testLoadRecord() {
-  var controller = createMock(SWorks.AbstractController);
-  controller.dataModel = createMock(SWorks.DataModel);
-  var record = {};
-
-  var editor = new SWorks.DialogEditor({
-    controller: controller,
-    items: {
-      xtype: 'form',
-      items: {
-        xtype: 'hidden'
-      }
-    }
-  });
-
-  controller.expects().initFormIdempotent(TypeOf.isA(Ext.form.BasicForm), editor);
-  controller.dataModel.expects().loadForm(TypeOf.isA(Ext.form.BasicForm), record);
-
-  editor.loadRecord(record);
-}
-
-&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;!-- Standard Code --&gt;
+
+&lt;html&gt;&lt;head&gt;
+    
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
+
+&lt;!-- End Standard Code --&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_data_models.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_controller.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_editor.js&quot;&gt;&lt;/script&gt;
+
+&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
+
+function setUpPage() {
+  JSMock.extend(this);
+  replaceAjaxRequest();
+
+  setUpPageStatus = 'complete'; 
+}
+
+function testBasicShow() {
+  var editor = new SWorks.DialogEditor({
+    items: {
+      xtype: 'form',
+      items: {
+        xtype: 'hidden'
+      }
+    }
+  });
+  editor.show();
+}
+
+function testLoadRecord() {
+  var controller = createMock(SWorks.AbstractController);
+  controller.dataModel = createMock(SWorks.DataModel);
+  var record = {};
+
+  var editor = new SWorks.DialogEditor({
+    controller: controller,
+    items: {
+      xtype: 'form',
+      items: {
+        xtype: 'hidden'
+      }
+    }
+  });
+
+  controller.expects().initFormIdempotent(TypeOf.isA(Ext.form.BasicForm), editor);
+  controller.dataModel.expects().loadForm(TypeOf.isA(Ext.form.BasicForm), record);
+
+  editor.loadRecord(record);
+}
+
+&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;</diff>
      <filename>tests/mvc_dialog_editor.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,125 +1,125 @@
-&lt;!-- Standard Code --&gt;
-
-&lt;html&gt;&lt;head&gt;
-
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
-
-&lt;!-- End Standard Code --&gt;
-
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_controller.js&quot;&gt;&lt;/script&gt;
-&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_toolbar_builder.js&quot;&gt;&lt;/script&gt;
-
-&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
-
-function setUpPage() {
-  JSMock.extend(this);
-  replaceAjaxRequest();
-
-  setUpPageStatus = 'complete'; 
-}
-
-function testSetHandlersAndPermissions() {
-  /* Should:
-   *   find the handler on the controller
-   *   use the controller scope for it's own handlers
-   */   
-
-  var detectedGridStore = {
-    // For testing the custom filters (TODO)
-    addFilter: function() {},
-    removeFilter: function() {}
-  };
-  var dummyController = {
-    component: {
-      store: detectedGridStore
-    },
-    onClickEditBtn: 'should check property type',
-    onClickHideBtn: function() {}, 
-    onClickTestBtn: function() {}
-  };
-
-  var existingScope = 'existing scope';
-  var existingStore = 'already have one';
-  var options, refresh, add, edit, search1, search2, hide, deleteBtn, test;
-  var tbConfig = [
-    options = { text: 'Options'}, '-',
-    'Preset search',
-    search1 = { xtype: 'filter', store: existingStore }, '-',
-    'Quicksearch',
-    search2 = { xtype: 'filter' }, '-',
-    refresh = { text: 'Refresh' },
-    add = { text: 'Add', scope: existingScope },
-    edit = { text: 'Edit' },
-    hide = { text: 'Hide' },
-    deleteBtn = { text: 'Delete' },
-    test = { text: 'Test' }
-  ];
-
-  var tbarMgr = new SWorks.CrudToolbarMgr(tbConfig, dummyController);
-  var newTbar = tbarMgr.getToolbar();
-  assertNotUndefined(newTbar);
-
-  
-  assert('options menu', options.menu instanceof Array);
-  for(var i=0;i&lt;options.menu.length;i++){
-    var mitem = options.menu[i];
-    if(mitem.text == &quot;Refresh&quot;) {
-      assert('refresh menu item handler', mitem.handler === tbarMgr.onClickRefreshBtn);
-      assert('refresh menu item scope', mitem.scope === dummyController);
-    }
-  }
-  assert('options gridop', options.gridOperation === true);
-  assert('options ro', options.readOnly === true);
-
-  assert('existing store replaced', search1.store === existingStore);
-  assert('store not detected', search2.store === detectedGridStore);
-
-  assert('refresh gridop', refresh.gridOperation === true);
-  assert('refresh ro', refresh.readOnly === true);
-  assert('refresh handler', refresh.handler === tbarMgr.onClickRefreshBtn);
-  assert('refresh scope', refresh.scope === dummyController);
-
-  assert('add gridop', add.gridOperation === true);
-  assert('add ro', add.readOnly === false);
-  assert('add handler', add.handler === tbarMgr.onClickAddBtn);
-  assert('add scope', add.scope === existingScope);
-
-  assert('edit gridop', edit.gridOperation === false);
-  assert('edit ro', edit.readOnly === true);
-  // If the handler property isn't a function, tbMgr won't touch it
-  assert('edit handler', typeof edit.handler === 'undefined');
-  assert('edit scope', typeof edit.scope === 'undefined');
-
-  assert('hide gridop', typeof hide.gridOperation === 'undefined');
-  assert('hide ro', typeof hide.readOnly === 'undefined');
-  assert('hide handler', hide.handler === dummyController.onClickHideBtn);
-  assert('hide scope', hide.scope === dummyController);
-
-  assert('deleteBtn', deleteBtn.handler === tbarMgr.onClickDeleteBtn);
-  assert('deleteBtn', deleteBtn.scope === dummyController);
-
-  assert('outside handler', test.handler === dummyController.onClickTestBtn);
-  assert('outside scope', test.scope === dummyController);
-}
-
-function testOnClickEditBtn() {
-  var record = {};
-
-  var appController = createMock(SWorks.GridController);
-  appController.expects().getCurrentRecord().andReturn(record);
-  appController.expects().loadRecord(record);
-
-  var tbarMgr = new SWorks.CrudToolbarMgr([{ text: 'Edit' }], appController);
-  var newTbar = tbarMgr.getToolbar();
-  var btn = newTbar.buttons[0];
-
-  btn.handler.call(btn.scope);
-
-  verifyMocks();
-}
-
-&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;!-- Standard Code --&gt;
+
+&lt;html&gt;&lt;head&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/adapter/ext/ext-base.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../ext/ext-all-debug.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;jsmock.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;helpers.js&quot;&gt;&lt;/script&gt;
+
+&lt;!-- End Standard Code --&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_crud_controller.js&quot;&gt;&lt;/script&gt;
+&lt;script type=&quot;text/javascript&quot; src=&quot;../mvc_toolbar_builder.js&quot;&gt;&lt;/script&gt;
+
+&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
+
+function setUpPage() {
+  JSMock.extend(this);
+  replaceAjaxRequest();
+
+  setUpPageStatus = 'complete'; 
+}
+
+function testSetHandlersAndPermissions() {
+  /* Should:
+   *   find the handler on the controller
+   *   use the controller scope for it's own handlers
+   */   
+
+  var detectedGridStore = {
+    // For testing the custom filters (TODO)
+    addFilter: function() {},
+    removeFilter: function() {}
+  };
+  var dummyController = {
+    component: {
+      store: detectedGridStore
+    },
+    onClickEditBtn: 'should check property type',
+    onClickHideBtn: function() {}, 
+    onClickTestBtn: function() {}
+  };
+
+  var existingScope = 'existing scope';
+  var existingStore = 'already have one';
+  var options, refresh, add, edit, search1, search2, hide, deleteBtn, test;
+  var tbConfig = [
+    options = { text: 'Options'}, '-',
+    'Preset search',
+    search1 = { xtype: 'filter', store: existingStore }, '-',
+    'Quicksearch',
+    search2 = { xtype: 'filter' }, '-',
+    refresh = { text: 'Refresh' },
+    add = { text: 'Add', scope: existingScope },
+    edit = { text: 'Edit' },
+    hide = { text: 'Hide' },
+    deleteBtn = { text: 'Delete' },
+    test = { text: 'Test' }
+  ];
+
+  var tbarMgr = new SWorks.CrudToolbarMgr(tbConfig, dummyController);
+  var newTbar = tbarMgr.getToolbar();
+  assertNotUndefined(newTbar);
+
+  
+  assert('options menu', options.menu instanceof Array);
+  for(var i=0;i&lt;options.menu.length;i++){
+    var mitem = options.menu[i];
+    if(mitem.text == &quot;Refresh&quot;) {
+      assert('refresh menu item handler', mitem.handler === tbarMgr.onClickRefreshBtn);
+      assert('refresh menu item scope', mitem.scope === dummyController);
+    }
+  }
+  assert('options gridop', options.gridOperation === true);
+  assert('options ro', options.readOnly === true);
+
+  assert('existing store replaced', search1.store === existingStore);
+  assert('store not detected', search2.store === detectedGridStore);
+
+  assert('refresh gridop', refresh.gridOperation === true);
+  assert('refresh ro', refresh.readOnly === true);
+  assert('refresh handler', refresh.handler === tbarMgr.onClickRefreshBtn);
+  assert('refresh scope', refresh.scope === dummyController);
+
+  assert('add gridop', add.gridOperation === true);
+  assert('add ro', add.readOnly === false);
+  assert('add handler', add.handler === tbarMgr.onClickAddBtn);
+  assert('add scope', add.scope === existingScope);
+
+  assert('edit gridop', edit.gridOperation === false);
+  assert('edit ro', edit.readOnly === true);
+  // If the handler property isn't a function, tbMgr won't touch it
+  assert('edit handler', typeof edit.handler === 'undefined');
+  assert('edit scope', typeof edit.scope === 'undefined');
+
+  assert('hide gridop', typeof hide.gridOperation === 'undefined');
+  assert('hide ro', typeof hide.readOnly === 'undefined');
+  assert('hide handler', hide.handler === dummyController.onClickHideBtn);
+  assert('hide scope', hide.scope === dummyController);
+
+  assert('deleteBtn', deleteBtn.handler === tbarMgr.onClickDeleteBtn);
+  assert('deleteBtn', deleteBtn.scope === dummyController);
+
+  assert('outside handler', test.handler === dummyController.onClickTestBtn);
+  assert('outside scope', test.scope === dummyController);
+}
+
+function testOnClickEditBtn() {
+  var record = {};
+
+  var appController = createMock(SWorks.GridController);
+  appController.expects().getCurrentRecord().andReturn(record);
+  appController.expects().loadRecord(record);
+
+  var tbarMgr = new SWorks.CrudToolbarMgr([{ text: 'Edit' }], appController);
+  var newTbar = tbarMgr.getToolbar();
+  var btn = newTbar.buttons[0];
+
+  btn.handler.call(btn.scope);
+
+  verifyMocks();
+}
+
+&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;</diff>
      <filename>tests/mvc_toolbar_builder.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,21 +1,21 @@
-&lt;html&gt;&lt;head&gt;
-
-&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
-
-&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
-
-function suite() {
-    var newsuite = new top.jsUnitTestSuite();
-
-    // These urls are relative to the testRunner.html file, so you need
-    // to use the testRunner.html file from the same location as the
-    // jsUnitCore.js file above.
-    newsuite.addTestPage(&quot;../framework/tests/mvc_toolbar_builder.html&quot;);
-    newsuite.addTestPage(&quot;../framework/tests/mvc_data_model.html&quot;);
-    newsuite.addTestPage(&quot;../framework/tests/mvc_crud_controller.html&quot;);
-    newsuite.addTestPage(&quot;../framework/tests/mvc_dialog_editor.html&quot;);
-
-    return newsuite;
-}
-
-&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;html&gt;&lt;head&gt;
+
+&lt;script type=&quot;text/javascript&quot; src=&quot;../../jsunit/app/jsUnitCore.js&quot;&gt;&lt;/script&gt;
+
+&lt;/head&gt;&lt;body&gt;&lt;script type=&quot;text/javascript&quot;&gt;
+
+function suite() {
+    var newsuite = new top.jsUnitTestSuite();
+
+    // These urls are relative to the testRunner.html file, so you need
+    // to use the testRunner.html file from the same location as the
+    // jsUnitCore.js file above.
+    newsuite.addTestPage(&quot;../framework/tests/mvc_toolbar_builder.html&quot;);
+    newsuite.addTestPage(&quot;../framework/tests/mvc_data_model.html&quot;);
+    newsuite.addTestPage(&quot;../framework/tests/mvc_crud_controller.html&quot;);
+    newsuite.addTestPage(&quot;../framework/tests/mvc_dialog_editor.html&quot;);
+
+    return newsuite;
+}
+
+&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;</diff>
      <filename>tests/test_suite.html</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>19f00cb1cb6f2f3504398877eb44e161744e1c2d</id>
    </parent>
  </parents>
  <author>
    <name>Jordan Curzon curzonj@gmail.com</name>
    <email>curzonj@gmail.com</email>
  </author>
  <url>http://github.com/curzonj/ext-extensions/commit/b70073a5a54de45bb36228be50a1f9d12f3b7957</url>
  <id>b70073a5a54de45bb36228be50a1f9d12f3b7957</id>
  <committed-date>2008-05-12T15:44:04-07:00</committed-date>
  <authored-date>2008-05-12T15:44:04-07:00</authored-date>
  <message>Changed line endings to UNIX</message>
  <tree>21c965c5ddcdee99e9ac323822c9a8a216f8fd00</tree>
  <committer>
    <name>Jordan Curzon</name>
    <email>curzonj@gmail.com</email>
  </committer>
</commit>
