Merge pull request #1515 from garyhgohoos/23666
authorGreg Pazo <gpazo@xtuple.com>
Thu, 22 May 2014 16:00:29 +0000 (12:00 -0400)
committerGreg Pazo <gpazo@xtuple.com>
Thu, 22 May 2014 16:00:29 +0000 (12:00 -0400)
23666:incorporate item_listcost

32 files changed:
README.md
enyo-client/application/source/views/workspace.js
enyo-client/database/orm/models/invoice.json
enyo-client/database/source/xt/views/invcheadinfo.sql
enyo-client/extensions/source/billing/client/en/strings.js
enyo-client/extensions/source/billing/database/source/manifest.js
enyo-client/extensions/source/billing/database/source/xt/tables/sharetype.sql [new file with mode: 0644]
enyo-client/extensions/source/billing/database/source/xt/views/share_users_invchead.sql [new file with mode: 0644]
enyo-client/extensions/source/purchasing/client/views/list.js
enyo-client/extensions/source/purchasing/client/views/workspace.js
enyo-client/extensions/source/purchasing/database/source/manifest.js
enyo-client/extensions/source/purchasing/database/source/xt/tables/rptdef.sql [new file with mode: 0644]
enyo-client/extensions/source/sales/database/source/xt/tables/rptdef.sql
foundation-database/manifest.js
foundation-database/public/indexes/apopentax.sql [new file with mode: 0644]
foundation-database/public/indexes/aropentax.sql [new file with mode: 0644]
foundation-database/public/indexes/asohisttax.sql [new file with mode: 0644]
foundation-database/public/indexes/cmheadtax.sql [new file with mode: 0644]
foundation-database/public/indexes/cmitemtax.sql [new file with mode: 0644]
foundation-database/public/indexes/cobilltax.sql [new file with mode: 0644]
foundation-database/public/indexes/cobmisctax.sql [new file with mode: 0644]
foundation-database/public/indexes/cohisttax.sql [new file with mode: 0644]
foundation-database/public/indexes/invchead.sql [new file with mode: 0644]
foundation-database/public/indexes/invcheadtax.sql [new file with mode: 0644]
foundation-database/public/indexes/invcitemtax.sql
foundation-database/public/indexes/taxhist.sql [new file with mode: 0644]
foundation-database/public/indexes/voheadtax.sql [new file with mode: 0644]
foundation-database/public/indexes/voitemtax.sql [new file with mode: 0644]
foundation-database/public/tables/taxpay.sql
lib/enyo-x/source/less/dashboard.less
lib/enyo-x/source/stylesheets/screen.css
node-datasource/routes/generate_report.js

index 4dd195c..4e348e1 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,49 +1,51 @@
 xTuple
 ======
 
-xTuple Enterprise Resource Planning Mobile-Web client
-
 [![Build Status](https://travis-ci.org/xtuple/xtuple.png)](https://travis-ci.org/xtuple/xtuple)
 
-### Installing this project
-
-*We strongly recommend that you install this project in a virtual
-machine created with our automated VM creation script:*
-[Creating a Virtual Development Environment using Vagrant](https://github.com/xtuple/xtuple-vagrant/blob/master/README.md)
+### What we're about
 
-If you choose to install your own OS, whether on physical hardware or in a
-VM, we cannot support you. That said, the setup script in step 3 requires a
-64 bit Ubuntu machine.  We have only tested this with Ubuntu 12.04.  *If
-you do not have 64 bit hardware the install script will not work* and you
-will have to do a manual build.  It is best if you do not already have
-postgres installed on your machine.
+xTuple is open-source business management software. The code is managed by an eponymous
+company in Norfolk, VA, and our community stretches around the world. Our web application
+is implemented as an [HTML5 node.js app](https://github.com/xtuple/xtuple/wiki/Overview).
+The other client to our server is a [desktop app](https://github.com/xtuple/qt-client) written
+in the cross-platform Qt framework.
 
-#### 0. Fork this repository onto your own github account
-Navigate to http://github.com/xtuple/xtuple and click the FORK button.
+Most of our commercial customers are inventory-based manufacturers or distributors, and we have a 
+fair amount of commercially-licensed code to specifically support these use-cases. That said,
+businesses of all sorts, even services-based companies, run their operations on our open-source 
+core.
 
-#### 1. Check out the xtuple repository
-We recommend checking out the latest tagged release. If you want to just
-check out the latest code you can skip the last step below (the 'git checkout').
+We're always happy when people use xTuple as a launching point for their own projects,
+whether or not you have a commercial relationship with us. 
 
-    git clone --recursive git://github.com/<username>/xtuple.git
-    cd xtuple
-    git remote add XTUPLE git://github.com/xtuple/xtuple.git
-    git fetch XTUPLE
-    git checkout `git describe --abbrev=0`
+### Why you might be interested in hacking on our software
 
-#### 2. Run the install script
+The xTuple platform provides a great starting point for business software in practically
+any industry. What you get for free is an entire stack to work on top of, and a lot
+of business objects that you might want, like `Invoices`, `Currencies`, `Tasks` and 
+`Contacts` (and about a hundred more) are already implemented.
 
-    bash scripts/install_xtuple.sh
+Moreover, one of the great strengths of the framework is extensibility and privilege
+control. Our extension system allows for a high level of modularity, and keeps you
+from having to rewrite the core. Fine-grained, centrally-managed privilege 
+control is also an important feature that businesses typically want, and
+we've taken special care to implement it reliably across the application.
 
-You will be prompted for `sudo` credentials; installation will take a few
-minutes.
+### Getting involved
 
-#### 3. Setup and run the server
+Fork us, take a test drive with our [free trial](http://www.xtuple.com/free-trial), 
+file a github issue. 
+If you want to be a contributor and are looking for a place to
+make your mark, we're keeping a list of issues that are 
+[fair game](https://github.com/xtuple/xtuple/issues?labels=fair+game) 
+to pick off and provide
+a convenient, well-documented starting point into our project.
 
-    cd node-datasource
-    node main.js
+### Installing this project
 
-Launch your local browser and navigate to the address `localhost:8888`. Default username and password are `admin`.
+The best way to start coding on our stack is to use our
+[Vagrant setup](https://github.com/xtuple/xtuple-vagrant/blob/master/README.md).
 
 ### Release Notes
 
@@ -51,9 +53,7 @@ View the [Release Notes](RELEASE.md) to see a change log.
 
 ### Additional Resources
 
-  * [How to Setup xTuple](https://github.com/xtuple/xtuple/wiki/How-to-set-up-xTuple)
-  * [Creating a Virtual Development Environment using Vagrant](https://github.com/xtuple/xtuple-vagrant/blob/master/README.md)
-  * [Architectural Overview](https://github.com/xtuple/xtuple/wiki/Overview)
+  * [Setting up a non-development demo environment](https://github.com/xtuple/xtuple/wiki/How-to-set-up-xTuple)
   * [Building an Extension Tutorial](https://github.com/xtuple/xtuple-extensions/blob/master/docs/TUTORIAL.md)
   * [API documentation](http://xtuple.com/jsdoc)
   * [Developer Wiki](https://github.com/xtuple/xtuple/wiki)
index b288411..64c7a96 100644 (file)
@@ -2274,6 +2274,7 @@ strict: false*/
       onPaymentPosted: 'handlePaymentPosted',
     },
     model: "XM.SalesOrder",
+    printOnSaveSetting: "DefaultPrintPOOnSave",
     actions: [{
       name: "print",
       isViewMethod: true,
index 497c10f..f228263 100644 (file)
         "isVoid": {
           "update": false
         }
+      },
+      "personal": {
+        "create": false,
+        "read": "ViewPersonalCRMAccounts",
+        "update": false,
+        "delete": false,
+        "properties": [
+          "crmaccountUsers"
+        ]
       }
     },
     "properties": [
           "column": "invchead_id",
           "inverse": "source"
         }
+      },
+      {
+        "name": "crmaccountUsers",
+        "toMany": {
+          "type": "ShareUsers",
+          "column": "obj_uuid",
+          "inverse": "uuid"
+        }
       }
     ],
     "isSystem": true
index 07efb4e..d762d6c 100644 (file)
@@ -131,7 +131,18 @@ insert into invchead (
   new.invchead_void,
   new.invchead_saletype_id,
   new.invchead_shipzone_id
-);
+)
+
+returning invchead.*,
+  null::numeric,
+  null::numeric,
+  null::numeric,
+  null::numeric,
+  null::numeric,
+  null::numeric,
+  null::numeric,
+  null::date,
+  null::date;
 
 create or replace rule "_UPDATE" as on update to xt.invcheadinfo do instead
 
index 90f6cc6..e34afb1 100644 (file)
@@ -14,7 +14,7 @@
     "_applyBalanceAs": "Apply Balance As",
     "_applyBalanceToCreditMemo": "Credit Memo",
     "_applyBalanceToCustomerDeposit": "Customer Deposit",
-    "_autoCloseARIncident": "Auto Close Incidents when Invoid Paid",
+    "_autoCloseARIncident": "Auto Close Incidents when Invoice Paid",
     "_autoCreditWarnLateCustomers": "Credit warn Customers when Late",
     "_billing": "Billing",
     "_billingDescription": "Corporate Relationship Management",
index fce729d..7fea1c8 100644 (file)
@@ -16,6 +16,8 @@
     "xt/views/receivable_invoice_return.sql",
     "xt/views/aropeninfo.sql",
     "xt/views/receivable_applications.sql",
-    "xt/views/cashrcpt.sql"
+    "xt/views/share_users_invchead.sql",
+    "xt/views/cashrcpt.sql",
+    "xt/tables/sharetype.sql"
   ]
 }
diff --git a/enyo-client/extensions/source/billing/database/source/xt/tables/sharetype.sql b/enyo-client/extensions/source/billing/database/source/xt/tables/sharetype.sql
new file mode 100644 (file)
index 0000000..fc4059b
--- /dev/null
@@ -0,0 +1,13 @@
+-- Invoice CRM Account's users.
+delete from xt.sharetype where sharetype_tblname = 'share_users_invchead';
+insert into xt.sharetype (
+  sharetype_nsname,
+  sharetype_tblname,
+  sharetype_col_obj_uuid,
+  sharetype_col_username
+) values (
+  'xt',
+  'share_users_invchead',
+  'obj_uuid',
+  'username'
+);
diff --git a/enyo-client/extensions/source/billing/database/source/xt/views/share_users_invchead.sql b/enyo-client/extensions/source/billing/database/source/xt/views/share_users_invchead.sql
new file mode 100644 (file)
index 0000000..f21c0de
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * This view lists all postgres usernames that are associated with a CRM
+ * Account that owns a resource. That associaiton is either the main user
+ * account, owner's user account, customer's sale rep's user account or
+ * a shared access that has been specifically granted.
+ *
+ * This view can be used to determine which users have personal privilege
+ * access to an Invoice based on what CRM Account it belongs to.
+ */
+
+select xt.create_view('xt.share_users_invchead', $$
+
+  -- Invoice CRM Account's users.
+  SELECT
+    invchead_cust_crmacct_ids.obj_uuid::uuid AS obj_uuid,
+    username::text AS username
+  FROM (
+    SELECT
+      invchead.obj_uuid,
+      crmacct_id
+    FROM invchead
+    LEFT JOIN custinfo ON invchead_cust_id = cust_id
+    LEFT JOIN crmacct ON cust_id = crmacct_cust_id
+  ) invchead_cust_crmacct_ids
+  LEFT JOIN xt.crmacct_users USING (crmacct_id)
+  WHERE 1=1
+    AND username IS NOT NULL;
+
+$$, false);
index 8b90cd5..a009283 100644 (file)
@@ -80,7 +80,6 @@ trailing:true, white:true, strict:false*/
     // ..........................................................
     // PURCHASE ORDER
     //
-
     enyo.kind({
       name: "XV.PurchaseOrderList",
       kind: "XV.List",
@@ -94,7 +93,11 @@ trailing:true, white:true, strict:false*/
           notify: false},
         {name: "unrelease", privilege: "ReleasePurchaseOrders",
           prerequisite: "canUnrelease",
-          method: "doUnrelease", notify: false}
+          method: "doUnrelease", notify: false},
+        {name: "print", privilege: "ViewPurchaseOrders",
+          method: "doPrint", isViewMethod: true},
+        {name: "email", privilege: "ViewPurchaseOrders",
+          method: "doEmail", isViewMethod: true}
       ],
       query: {orderBy: [
         {attribute: 'number'}
index da5c9db..d6c8ef1 100644 (file)
@@ -205,13 +205,25 @@ trailing:true, white:true, strict: false*/
     // ..........................................................
     // PURCHASE ORDER
     //
-
     enyo.kind({
       name: "XV.PurchaseOrderWorkspace",
       kind: "XV.Workspace",
       title: "_purchaseOrder".loc(),
       model: "XM.PurchaseOrder",
       printOnSaveSetting: "DefaultPrintPOOnSave",
+      actions: [{
+        name: "print",
+        isViewMethod: true,
+        label: "_print".loc(),
+        privilege: "ViewPurchaseOrders",
+        prerequisite: "isReadyClean"
+      },
+      {name: "email",
+        isViewMethod: true,
+        label: "_email".loc(),
+        privilege: "ViewPurchaseOrders",
+        prerequisite: "isReadyClean"
+      }],
       headerAttrs: ["number", "-", "vendor.name"],
       components: [
         {kind: "Panels", arrangerKind: "CarouselArranger",
index 3652e64..fa67c1f 100644 (file)
@@ -18,6 +18,7 @@
     "xt/tables/wftype.sql",
     "xt/tables/acttype.sql",
     "xt/tables/poheadext.sql",
+    "xt/tables/rptdef.sql",
     "xt/views/itemsrcmfg.sql",
     "xt/views/poheadinfo.sql",
     "xt/views/poiteminfo.sql",
diff --git a/enyo-client/extensions/source/purchasing/database/source/xt/tables/rptdef.sql b/enyo-client/extensions/source/purchasing/database/source/xt/tables/rptdef.sql
new file mode 100644 (file)
index 0000000..428a244
--- /dev/null
@@ -0,0 +1,170 @@
+select xt.add_report_definition('XM.PurchaseOrder', 0, $${
+  "settings": {
+    "detailAttribute": "lineItems",
+    "defaultFontSize": 12,
+    "defaultMarginSize": 20
+  },
+  "headerElements": [
+    {
+      "definition": [
+        {"attr": "remitto.name"},
+        {"attr": "remitto.address"}
+      ],
+      "options": {"x": 0, "y": 40}
+    },
+    {
+      "element": "image",
+      "definition": "Logo",
+      "options": {"x": 200, "y": 40, "width": 150}
+    },
+    {
+      "definition": [{"text": "_orderDate", "label": true}],
+      "options": {"fontBold": true, "x": 400, "y": 60}
+    },
+    {
+      "definition": [{"text": "_purchaseOrder"}],
+      "options": {"fontBold": true, "fontSize": 18, "x": 450, "y": 40, "align": "right"}
+    },
+    {
+      "definition": [{"attr": "orderDate"}],
+      "options": {"x": 500, "y": 60, "align": "right"}
+    },
+    {
+      "definition": [{"text": "_orderNumber", "label": true}],
+      "options": {"fontBold": true, "x": 400, "y": 75}
+    },
+    {
+      "definition": [{"attr": "number"}],
+      "options": {"x": 500, "y": 75, "align": "right"}
+    },
+    {
+      "definition": [{"text": "_to", "label": true}],
+      "options": {"x": 50, "y": 140, "fontBold": true}
+    },
+    {
+      "definition": [
+        {"attr": "vendorContactFirstName"},
+        {"attr": "vendorContactLastName"},
+        {"attr": "vendorContactHonorific"}
+      ],
+      "transform": "fullname",
+      "options": {"x": 50, "y": 160, "width": 250}
+    },
+    {
+      "definition": [
+        {"attr": "vendorContact"},
+        {"attr": "vendorAddress1"},
+        {"attr": "vendorAddress2"},
+        {"attr": "vendorAddress3"},
+        {"attr": "vendorCity"},
+        {"attr": "vendorState"},
+        {"attr": "vendorPostalCode"},
+        {"attr": "vendorCountry"},
+        {"attr": "vendorPhone"}
+      ],
+      "transform": "address",
+      "options": {"x": 50, "y": 170, "width": 250}
+    },
+    {
+      "definition": [{"text": "_shipTo", "label": true}],
+      "options": {"x": 350, "y": 140, "fontBold": true}
+    },
+    {
+      "definition": [
+        {"attr": "shiptoContactFirstName"},
+        {"attr": "shiptoContactLastName"},
+        {"attr": "shiptoContactHonorific"}
+      ],
+      "transform": "fullname",
+      "options": {"x": 350, "y": 160, "width": 250}
+    },
+    {
+      "definition": [
+        {"attr": "shiptoName"},
+        {"attr": "shiptoAddress1"},
+        {"attr": "shiptoAddress2"},
+        {"attr": "shiptoAddress3"},
+        {"attr": "shiptoCity"},
+        {"attr": "shiptoState"},
+        {"attr": "shiptoPostalCode"},
+        {"attr": "shiptoCountry"},
+        {"attr": "shiptoPhone"}
+      ],
+      "transform": "address",
+      "options": {"x": 350, "y": 170, "width": 250}
+    },
+    {
+      "definition": [{"text": "_fob", "label": true}],
+      "options": {"fontBold": true, "x": 50, "y": 230}
+    },
+    {
+      "definition": [{"attr": "fob"}],
+      "options": {"x": 50, "y": 245}
+    },
+    {
+      "definition": [{"text": "_shipVia", "label": true}],
+      "options": {"fontBold": true, "x": 175, "y": 230}
+    },
+    {
+      "definition": [{"attr": "shipVia"}],
+      "options": {"x": 175, "y": 245}
+    },
+    {
+      "definition": [{"text": "_terms", "label": true}],
+      "options": {"fontBold": true, "x": 300, "y": 230}
+    },
+    {
+      "definition": [{"attr": "terms.description"}],
+      "options": {"x": 300, "y": 245}
+    },
+    {"element": "fontBold"},
+    {
+      "element": "band",
+      "definition": [
+        {"text": "_item", "width": 90},
+        {"text": "_vendorItem", "width": 100},
+        {"text": "_description", "width": 100},
+        {"text": "_ordered", "width": 60},
+        {"text": "_uom", "width": 45},
+        {"text": "_unitPrice", "width": 90},
+        {"text": "_extendedPrice", "width": 100}
+      ],
+      "options": {"border": 0, "padding": 5, "x": 0, "y": 300}
+    },
+    {"element": "bandLine", "size": 2}
+  ],
+  "detailElements": [
+    {"element": "fontNormal"},
+    {
+      "element": "band",
+      "definition": [
+        {"attr": "lineItems*vendorItemNumber", "width": 90},
+        {"attr": "lineItems*item.number", "width": 100},
+        {"attr": "lineItems*item.description1", "width": 100},
+        {"attr": "lineItems*quantity", "width": 60},
+        {"attr": "lineItems*vendorUnit", "width": 45},
+        {"attr": "lineItems*price", "width": 90},
+        {"attr": "lineItems*extendedPrice", "width": 100}
+      ],
+      "options": {"fontBold": true, "border": 0, "padding": 14}
+    }
+  ],
+  "footerElements": [
+    {"element": "bandLine", "size": 2},
+    {
+      "definition": [
+        {"attr": "subtotal", "label": true},
+        {"attr": "freight", "label": true},
+        {"attr": "taxTotal", "label": true},
+        {"attr": "total", "label": true}
+      ],
+      "options": {"fontBold": true, "fontSize": 14, "width": 550, "align": "right"}
+    }
+  ],
+  "pageFooterElements": [
+    {
+      "element": "pageNumber", "definition": [],
+      "options": {"align": "center"}
+    }
+  ]
+}$$);
index dfcbd8a..ffa6b61 100644 (file)
@@ -116,7 +116,7 @@ select xt.add_report_definition('XM.SalesOrder', 0, $${
       "options": {"fontBold": true, "x": 500, "y": 230}
     },
     {
-      "definition": [{"attr": ""}],
+      "definition": [{"attr": "fob"}],
       "options": {"x": 500, "y": 245}
     },
     {
index 94b2138..20cdb9e 100644 (file)
     "../lib/orm/source/xt/functions/add_primary_key.sql",
     "../lib/orm/source/xt/functions/create_table.sql",
 
+    "public/indexes/apopentax.sql",
+    "public/indexes/aropentax.sql",
+    "public/indexes/asohisttax.sql",
+    "public/indexes/cmheadtax.sql",
+    "public/indexes/cmitemtax.sql",
+    "public/indexes/cobilltax.sql",
+    "public/indexes/cobmisctax.sql",
+    "public/indexes/cohisttax.sql",
     "public/indexes/evntlog.sql",
+    "public/indexes/invchead.sql",
+    "public/indexes/invcheadtax.sql",
     "public/indexes/invcitemtax.sql",
     "public/indexes/shipitem.sql",
+    "public/indexes/taxhist.sql",
+    "public/indexes/voheadtax.sql",
+    "public/indexes/voitemtax.sql",
 
     "public/types/achline.sql",
     "public/types/apaging.sql",
diff --git a/foundation-database/public/indexes/apopentax.sql b/foundation-database/public/indexes/apopentax.sql
new file mode 100644 (file)
index 0000000..893b0ec
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX apopentax_taxhist_parent_id_idx on apopentax using btree (taxhist_parent_id);
+select xt.add_index('apopentax', 'taxhist_parent_id','apopentax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX apopentax_taxhist_taxtype_id_idx on apopentax using btree (taxhist_taxtype_id);
+select xt.add_index('apopentax', 'taxhist_taxtype_id','apopentax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX apopentax_taxhist_parent_type_idx on apopentax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('apopentax', 'taxhist_parent_id, taxhist_taxtype_id','apopentax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/aropentax.sql b/foundation-database/public/indexes/aropentax.sql
new file mode 100644 (file)
index 0000000..d850803
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX aropentax_taxhist_parent_id_idx on aropentax using btree (taxhist_parent_id);
+select xt.add_index('aropentax', 'taxhist_parent_id','aropentax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX aropentax_taxhist_taxtype_id_idx on aropentax using btree (taxhist_taxtype_id);
+select xt.add_index('aropentax', 'taxhist_taxtype_id','aropentax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX aropentax_taxhist_parent_type_idx on aropentax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('aropentax', 'taxhist_parent_id, taxhist_taxtype_id','aropentax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/asohisttax.sql b/foundation-database/public/indexes/asohisttax.sql
new file mode 100644 (file)
index 0000000..1247dd2
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX asohisttax_taxhist_parent_id_idx on asohisttax using btree (taxhist_parent_id);
+select xt.add_index('asohisttax', 'taxhist_parent_id','asohisttax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX asohisttax_taxhist_taxtype_id_idx on asohisttax using btree (taxhist_taxtype_id);
+select xt.add_index('asohisttax', 'taxhist_taxtype_id','asohisttax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX asohisttax_taxhist_parent_type_idx on asohisttax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('asohisttax', 'taxhist_parent_id, taxhist_taxtype_id','asohisttax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/cmheadtax.sql b/foundation-database/public/indexes/cmheadtax.sql
new file mode 100644 (file)
index 0000000..4f60ec9
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX cmheadtax_taxhist_parent_id_idx on cmheadtax using btree (taxhist_parent_id);
+select xt.add_index('cmheadtax', 'taxhist_parent_id','cmheadtax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX cmheadtax_taxhist_taxtype_id_idx on cmheadtax using btree (taxhist_taxtype_id);
+select xt.add_index('cmheadtax', 'taxhist_taxtype_id','cmheadtax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX cmheadtax_taxhist_parent_type_idx on cmheadtax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('cmheadtax', 'taxhist_parent_id, taxhist_taxtype_id','cmheadtax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/cmitemtax.sql b/foundation-database/public/indexes/cmitemtax.sql
new file mode 100644 (file)
index 0000000..cb711c2
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX cmitemtax_taxhist_parent_id_idx on cmitemtax using btree (taxhist_parent_id);
+select xt.add_index('cmitemtax', 'taxhist_parent_id','cmitemtax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX cmitemtax_taxhist_taxtype_id_idx on cmitemtax using btree (taxhist_taxtype_id);
+select xt.add_index('cmitemtax', 'taxhist_taxtype_id','cmitemtax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX cmitemtax_taxhist_parent_type_idx on cmitemtax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('cmitemtax', 'taxhist_parent_id, taxhist_taxtype_id','cmitemtax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/cobilltax.sql b/foundation-database/public/indexes/cobilltax.sql
new file mode 100644 (file)
index 0000000..b2f44df
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX cobilltax_taxhist_parent_id_idx on cobilltax using btree (taxhist_parent_id);
+select xt.add_index('cobilltax', 'taxhist_parent_id','cobilltax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX cobilltax_taxhist_taxtype_id_idx on cobilltax using btree (taxhist_taxtype_id);
+select xt.add_index('cobilltax', 'taxhist_taxtype_id','cobilltax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX cobilltax_taxhist_parent_type_idx on cobilltax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('cobilltax', 'taxhist_parent_id, taxhist_taxtype_id','cobilltax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/cobmisctax.sql b/foundation-database/public/indexes/cobmisctax.sql
new file mode 100644 (file)
index 0000000..7925844
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX cobmisctax_taxhist_parent_id_idx on cobmisctax using btree (taxhist_parent_id);
+select xt.add_index('cobmisctax', 'taxhist_parent_id','cobmisctax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX cobmisctax_taxhist_taxtype_id_idx on cobmisctax using btree (taxhist_taxtype_id);
+select xt.add_index('cobmisctax', 'taxhist_taxtype_id','cobmisctax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX cobmisctax_taxhist_parent_type_idx on cobmisctax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('cobmisctax', 'taxhist_parent_id, taxhist_taxtype_id','cobmisctax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/cohisttax.sql b/foundation-database/public/indexes/cohisttax.sql
new file mode 100644 (file)
index 0000000..b5da013
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX cohisttax_taxhist_parent_id_idx on cohisttax using btree (taxhist_parent_id);
+select xt.add_index('cohisttax', 'taxhist_parent_id','cohisttax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX cohisttax_taxhist_taxtype_id_idx on cohisttax using btree (taxhist_taxtype_id);
+select xt.add_index('cohisttax', 'taxhist_taxtype_id','cohisttax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX cohisttax_taxhist_parent_type_idx on cohisttax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('cohisttax', 'taxhist_parent_id, taxhist_taxtype_id','cohisttax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/invchead.sql b/foundation-database/public/indexes/invchead.sql
new file mode 100644 (file)
index 0000000..94b61fb
--- /dev/null
@@ -0,0 +1,2 @@
+--CREATE INDEX invchead_invchead_cust_id_idx on invchead using btree (invchead_cust_id);
+select xt.add_index('invchead', 'invchead_cust_id','invchead_invchead_cust_id_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/invcheadtax.sql b/foundation-database/public/indexes/invcheadtax.sql
new file mode 100644 (file)
index 0000000..fdad4cf
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX invcheadtax_taxhist_parent_id_idx on invcheadtax using btree (taxhist_parent_id);
+select xt.add_index('invcheadtax', 'taxhist_parent_id','invcheadtax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX invcheadtax_taxhist_taxtype_id_idx on invcheadtax using btree (taxhist_taxtype_id);
+select xt.add_index('invcheadtax', 'taxhist_taxtype_id','invcheadtax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX invcheadtax_taxhist_parent_type_idx on invcheadtax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('invcheadtax', 'taxhist_parent_id, taxhist_taxtype_id','invcheadtax_taxhist_parent_type_idx', 'btree', 'public');
index af601dc..ff7c07c 100644 (file)
@@ -1,3 +1,8 @@
-DROP INDEX IF EXISTS invcitemtax_taxhist_parent_id_idx;
-CREATE INDEX invcitemtax_taxhist_parent_id_idx ON invcitemtax (taxhist_parent_id);
+--CREATE INDEX invcitemtax_taxhist_parent_id_idx on invcitemtax using btree (taxhist_parent_id);
+select xt.add_index('invcitemtax', 'taxhist_parent_id','invcitemtax_taxhist_parent_id_idx', 'btree', 'public');
 
+--CREATE INDEX invcitemtax_taxhist_taxtype_id_idx on invcitemtax using btree (taxhist_taxtype_id);
+select xt.add_index('invcitemtax', 'taxhist_taxtype_id','invcitemtax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX invcitemtax_taxhist_parent_type_idx on invcitemtax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('invcitemtax', 'taxhist_parent_id, taxhist_taxtype_id','invcitemtax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/taxhist.sql b/foundation-database/public/indexes/taxhist.sql
new file mode 100644 (file)
index 0000000..48176dd
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX taxhist_taxhist_parent_id_idx on taxhist using btree (taxhist_parent_id);
+select xt.add_index('taxhist', 'taxhist_parent_id','taxhist_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX taxhist_taxhist_taxtype_id_idx on taxhist using btree (taxhist_taxtype_id);
+select xt.add_index('taxhist', 'taxhist_taxtype_id','taxhist_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX taxhist_taxhist_parent_type_idx on taxhist using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('taxhist', 'taxhist_parent_id, taxhist_taxtype_id','taxhist_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/voheadtax.sql b/foundation-database/public/indexes/voheadtax.sql
new file mode 100644 (file)
index 0000000..3f7edc6
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX voheadtax_taxhist_parent_id_idx on voheadtax using btree (taxhist_parent_id);
+select xt.add_index('voheadtax', 'taxhist_parent_id','voheadtax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX voheadtax_taxhist_taxtype_id_idx on voheadtax using btree (taxhist_taxtype_id);
+select xt.add_index('voheadtax', 'taxhist_taxtype_id','voheadtax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX voheadtax_taxhist_parent_type_idx on voheadtax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('voheadtax', 'taxhist_parent_id, taxhist_taxtype_id','voheadtax_taxhist_parent_type_idx', 'btree', 'public');
diff --git a/foundation-database/public/indexes/voitemtax.sql b/foundation-database/public/indexes/voitemtax.sql
new file mode 100644 (file)
index 0000000..79011c6
--- /dev/null
@@ -0,0 +1,8 @@
+--CREATE INDEX voitemtax_taxhist_parent_id_idx on voitemtax using btree (taxhist_parent_id);
+select xt.add_index('voitemtax', 'taxhist_parent_id','voitemtax_taxhist_parent_id_idx', 'btree', 'public');
+
+--CREATE INDEX voitemtax_taxhist_taxtype_id_idx on voitemtax using btree (taxhist_taxtype_id);
+select xt.add_index('voitemtax', 'taxhist_taxtype_id','voitemtax_taxhist_taxtype_id_idx', 'btree', 'public');
+
+--CREATE INDEX voitemtax_taxhist_parent_type_idx on voitemtax using btree (taxhist_parent_id, taxhist_taxtype_id);
+select xt.add_index('voitemtax', 'taxhist_parent_id, taxhist_taxtype_id','voitemtax_taxhist_parent_type_idx', 'btree', 'public');
index 9eaffa3..c9737b5 100644 (file)
@@ -3,5 +3,5 @@ select xt.add_column('taxpay','taxpay_id', 'INTEGER', 'NOT NULL', 'public');
 select xt.add_column('taxpay','taxpay_taxhist_id', 'INTEGER', 'NOT NULL', 'public');
 select xt.add_column('taxpay','taxpay_apply_id', 'INTEGER', 'NOT NULL', 'public');
 select xt.add_column('taxpay','taxpay_distdate', 'DATE', 'NOT NULL', 'public');
-select xt.add_column('taxpay','taxpay_tax', 'DATE', 'NOT NULL', 'public');
+select xt.add_column('taxpay','taxpay_tax', 'NUMERIC', 'NOT NULL', 'public');
 select xt.add_primary_key('taxpay','taxpay_id', 'public');
\ No newline at end of file
index f8f9577..23b5a07 100644 (file)
 
 .selectable-chart {
   margin: 10px;
-  color: @white;
+  color: @slate-blue;
   overflow: hidden;
+  
+  .xv-list-item {
+    border-bottom: 1px solid grey;
+    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
+    .long {
+      padding-left: 7px;
+      width: 250px;
+    }
+  }
+  
+  .onyx-popup {
+    margin-top:40px;
+    margin-left:200px;
+  }
 
   .chart-title-bar {
     height: @icon-height;
-    background-color: @dark-gray;
+    background-color: @lightest-gray;
     .border-top-radius(10px);
 
     .chart-title {
       padding-top: 8px;
+      color: @black;
       text-align: center;
+      /*font-size: 2em;*/
+      font-weight: normal
     }
 
     .remove-icon {
       top: 0;
       right: 0;
     }
+    
+    .icon-filter {
+       color: @black;
+       position: absolute;
+       right: 35px;
+    }
   }
 
   .chart-bottom {
-    background-color: @charcoal;
+    background-color: @white;
     border: 1px solid @bottom-border;
     border-top: none;
     .border-bottom-radius(10px);
 
     .xv-picker-label {
       width: @picker-label;
-      color: @white;
+      color: @black;
     }
 
     .onyx-button {
       padding: 10px 10px;
     }
   }
+
+  .chart-filters {
+         background-color: @white;
+         
+         -webkit-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
+         -moz-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
+         box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
+  }
+  
+  .chart-filters .xv-parameter-panel {
+         background-color: @ghost;
+         border: 1px solid @smoke;
+         margin: 0 4px 6px 0;
+         width: 100%;
+  }
+  
+  .chart-filters.xv-parameter-panel .onyx-groupbox-header {
+         padding: 6px 10px;
+         border-bottom: 1px solid @smoke;
+         background: @lightest-gray;
+         color: @near-black;
+}
+
+  .chart-filters.xv-parameter-panel .enyo-fittable-columns-layout {
+         padding: 6px 10px;
+         border-bottom: 1px solid @smoke;
+         background: @white;
+    color: @near-black;
+}
+
 }
index 727887c..600d585 100755 (executable)
@@ -1993,700 +1993,744 @@ body {
   border: none;
 }
 /**
- * Default ListItem styles when using a ModelDecorator.
- */
-.xv-list .xv-model-decorator > .xv-list-item .xv-table {
-  display: table;
-  width: 100%;
-  table-layout: fixed;
-}
-.xv-list .xv-model-decorator > .xv-list-item .xv-table .xv-cell {
-  display: table-cell;
-}
-.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr {
-  /**
-        * Default styling for a model's id (as designated by 'idAttribute')
-        */
-}
-.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attribute-id {
-  color: blue;
+  Styles relating to Lists
+*/
+.xv-list-header {
+  background-color: #d8d8d8;
+  color: #fdfdfd;
+  font-size: .6em;
   font-weight: bold;
-  cursor: pointer;
+  text-transform: uppercase;
+  padding-top: 4px;
+  padding-bottom: 4px;
+  border-bottom: 1px solid #aaaaaa;
 }
-.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attribute-name {
-  font-weight: bold;
+.xv-list-header .xv-list-column.last {
+  border-right: none;
 }
-.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attributetype-number {
-  text-align: right;
+.xv-list-header .xv-list-column.name-column,
+.xv-list-header .xv-list-column.first,
+.xv-list-header .xv-list-column.second,
+.xv-list-header .xv-list-column.third,
+.xv-list-header .xv-list-column.short,
+.xv-list-header .xv-list-column.small,
+.xv-list-header .xv-list-column.medium,
+.xv-list-header .xv-list-column.descr {
+  padding-left: 7px;
 }
-.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attributetype-money {
+/* List */
+.xv-list-column.line-number {
+  width: 30px;
   text-align: right;
 }
-.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attributetype-date {
+.xv-list-column.name-column {
+  width: 200px;
+}
+.xv-list-column.right-column {
+  width: 100px;
   text-align: right;
 }
-.xv-list .xv-model-decorator > .xv-list-item.item-selected .xv-list-attr {
-  color: white;
+.xv-list-column.short {
+  width: 100px;
 }
-.xv-list .xv-model-decorator > .xv-list-item.item-selected .xv-list-attr.xm-attribute-id {
-  color: #ff6529;
+.xv-list-column.small {
+  width: 125px;
 }
-/**
-  Styles related to pickers, combo boxes, and relation widgets
-*/
-.onyx-picker-decorator .onyx-button {
-  padding: 12px 8px 12px 8px;
+.xv-list-column.medium {
   width: 150px;
 }
-.onyx-picker .onyx-menu-item {
-  text-align: left;
-  text-overflow: ellipsis;
-}
-.picker-icon {
-  position: absolute;
-  right: 0;
-  margin: 0 10px 0 2px;
-  color: #070707;
-}
-.xv-picker-button {
-  text-align: left;
+.xv-list-column.first {
+  width: 300px;
 }
-.xv-picker-button .picker-content {
-  max-width: 100px;
-  overflow: hidden;
+.xv-list-column.second {
+  width: 200px;
 }
-.xv-picker-button.disabled {
-  color: #777777;
+.xv-list-column.third {
+  width: 100px;
 }
-.xv-picker-label {
-  color: #070707;
-  padding: 20px 8px 8px 8px;
+.xv-list-column.money,
+.xv-list-column.quantity {
+  width: 75px;
   text-align: right;
-  width: 130px;
 }
-.xv-picker-label.disabled {
-  color: #777777;
+.xv-list-column.descr {
+  width: 200px;
 }
-.xv-combobox .onyx-input-decorator input {
-  width: 145px;
+.xv-list-column.icon {
+  width: 10px;
 }
-.xv-combobox .icon-sort {
-  color: #357ec7;
+.xv-list {
+  background: #f8f8f8;
+}
+.xv-list .xv-list-item > * {
+  display: inline-block;
   vertical-align: middle;
 }
-.xv-combobox-note {
-  padding: 14px 3px 8px 3px;
-  text-align: left;
+.xv-list .xv-list-item {
+  background-color: #fdfdfd;
+  border-bottom: 1px solid #d7d7d7;
+  min-height: 32px;
 }
-/*
-  Styles relating to the grid box
-*/
-/* Entire box including the grid and the summary panel */
-.xv-grid-box {
-  /**
-    This is the most general grid row that
-    is not specific to read-only or selected
-  */
+.xv-list .xv-list-item.header {
+  padding-top: 0;
 }
-.xv-grid-box.small-panel {
-  width: 600px;
+.xv-list .xv-list-item.inactive {
+  background-color: #d8d8d8;
+  color: #070707;
 }
-.xv-grid-box.medium-panel {
-  width: 700px;
+.xv-list .xv-list-item.inactive .xv-list-column .xv-list-attr {
+  background: transparent;
 }
-.xv-grid-box.large-panel {
-  width: 800px;
+.xv-list .xv-list-item.inactive .xv-list-column .xv-list-attr.placeholder {
+  color: #d8d8d8;
 }
-.xv-grid-box .enyo-list-page > *:first-child .xv-grid-row {
-  border-top: 0;
+.xv-list .xv-list-item .xv-list-column .list-icon {
+  padding: 2px;
+  color: #666666;
+  vertical-align: sub;
+  border: 1px solid #efefef;
+  -webkit-border-radius: 2px;
+  -moz-border-radius: 2px;
+  border-radius: 2px;
 }
-.xv-grid-box .xv-above-grid-list {
-  border: 0;
+.xv-list .xv-list-item.item-selected {
+  background: #226b9a;
+  background-color: #1f608c;
+  background-image: -moz-linear-gradient(top, #226b9a, #1a4f77);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#226b9a), to(#1a4f77));
+  background-image: -webkit-linear-gradient(top, #226b9a, #1a4f77);
+  background-image: -o-linear-gradient(top, #226b9a, #1a4f77);
+  background-image: linear-gradient(to bottom, #226b9a, #1a4f77);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff226b9a', endColorstr='#ff1a4f77', GradientType=0);
 }
-.xv-grid-box .xv-scroller {
+.xv-list .xv-list-item.item-selected .xv-list-attr {
+  color: #fdfdfd;
+}
+.xv-list .xv-list-item.item-selected .xv-list-attr.placeholder {
+  font-style: italic;
+  color: #99ccff;
+}
+.xv-list .xv-list-item.item-selected .xv-list-attr.hyperlink {
+  color: #ff6529;
+}
+.xv-list .xv-list-item.item-selected .xv-list-attr.header {
+  background: #99ccff;
+}
+.xv-list .xv-list-item .xv-list-item-gear {
+  position: absolute;
+  right: 0px;
+  z-index: 999;
+}
+.xv-list.xv-grid-list {
   background: #f8f8f8;
 }
-.xv-grid-box .xv-grid-attr.bold {
-  font-weight: bold;
+.xv-list.xv-grid-list .xv-list-item > * {
+  vertical-align: top;
 }
-.xv-grid-box .xv-grid-attr.error {
-  color: #ff0000;
+.xv-list.xv-grid-list .xv-list-item {
+  padding-top: 7px !important;
+  padding-bottom: 9px !important;
+  border-bottom: 1px solid #aaaaaa !important;
+  background: #f8f8f8;
 }
-.xv-grid-box .xv-grid-attr.emphasis {
-  color: #009000;
+.xv-list.xv-grid-list .xv-list-item.item-selected {
+  background: #226b9a;
+  background-color: #1f608c;
+  background-image: -moz-linear-gradient(top, #226b9a, #1a4f77);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#226b9a), to(#1a4f77));
+  background-image: -webkit-linear-gradient(top, #226b9a, #1a4f77);
+  background-image: -o-linear-gradient(top, #226b9a, #1a4f77);
+  background-image: linear-gradient(to bottom, #226b9a, #1a4f77);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff226b9a', endColorstr='#ff1a4f77', GradientType=0);
 }
-.xv-grid-box .xv-grid-attr.warn {
-  color: #ff9c00;
+.xv-list.xv-grid-list .xv-list-item.item-selected .xv-list-attr {
+  color: #fdfdfd;
 }
-.xv-grid-box .xv-grid-attr.italic {
+.xv-list.xv-grid-list .xv-list-item.item-selected .xv-list-attr.placeholder {
   font-style: italic;
+  color: #99ccff;
 }
-.xv-grid-box .xv-grid-attr.placeholder {
-  font-style: italic;
-  color: #93a1a1;
+.xv-list.xv-grid-list .xv-list-item.item-selected .xv-list-attr.hyperlink {
+  color: #ff6529;
 }
-.xv-grid-box .xv-grid-attr.hyperlink {
-  color: blue;
+.xv-list.xv-grid-list .xv-list-item.item-selected .xv-list-attr.header {
+  background: #99ccff;
 }
-.xv-grid-box .xv-gridbox-button {
-  color: #357ec7;
-  font-size: 18px;
-  border: none;
-  background: transparent;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column {
+  vertical-align: top;
 }
-.xv-grid-box .xv-grid-row {
+.xv-list.xv-grid-list .xv-list-item .xv-list-column .xv-list-attr {
   font-size: 12px;
-  background-color: #d8d8d8;
-  border-bottom: 1px solid #aaaaaa;
-  vertical-align: top;
-  /**
-      This is the grid header row
-    */
 }
-.xv-grid-box .xv-grid-row > * {
-  display: inline-block;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.last {
+  border-right: none;
 }
-.xv-grid-box .xv-grid-row .xv-grid-header {
-  background-color: #d7d7d7;
-  color: #0e0e0e;
-  font-size: .8em;
-  font-weight: bold;
-  text-transform: uppercase;
-  padding-top: 4px;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.name-column {
+  padding-left: 7px;
 }
-.xv-grid-box .xv-grid-row .xv-grid-header.last {
-  border-right: none;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.first {
+  padding-left: 7px;
 }
-.xv-grid-box .xv-grid-row > * {
-  padding: 6px 4px;
-  border: none;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.second {
+  padding-left: 7px;
 }
-.xv-grid-box .xv-grid-row .line-number {
-  vertical-align: top;
-  width: 30px;
-  text-align: right;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.third {
+  padding-left: 7px;
 }
-.xv-grid-box .xv-grid-row .grid-actions {
-  display: block;
-  padding-left: 30px;
-  border-radius: 4px;
-  border-width: 0;
-  background: #f3f3f3;
-  margin: 6px;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.short {
+  padding-left: 7px;
 }
-.xv-grid-box .xv-grid-row .grid-actions > * {
-  display: inline-block;
-  width: 100%;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.small {
+  padding-left: 7px;
 }
-.xv-grid-box .xv-grid-row .grid-item {
-  vertical-align: top;
-  width: 175px;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.medium {
+  padding-left: 7px;
 }
-.xv-grid-box .xv-grid-row .quantity {
-  vertical-align: top;
-  text-align: right;
-  width: 100px;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column.descr {
+  padding-left: 7px;
 }
-.xv-grid-box .xv-grid-row .percent {
-  vertical-align: top;
-  text-align: right;
-  width: 90px;
+.xv-list.xv-grid-list .xv-list-item .xv-list-column .xv-list-attr {
+  padding: 0px;
 }
-.xv-grid-box .xv-grid-row .price {
-  vertical-align: top;
-  text-align: right;
-  width: 90px;
+.xv-list-attr {
+  padding: 5px;
+  font-size: .8em;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  color: #070707;
 }
-.xv-grid-box .xv-grid-row .date {
-  vertical-align: top;
-  width: 105px;
+.xv-list-attr.header {
+  padding: 4px;
+  background: #d8d8d8;
+  font-size: .7em;
+  font-weight: bold;
+  text-transform: uppercase;
+  color: #fdfdfd;
 }
-.xv-grid-box .xv-grid-row .user {
-  vertical-align: top;
-  width: 100px;
+.xv-list-attr.footer {
+  padding: 4px;
+  background: #d8d8d8;
+  font-size: .7em;
+  font-weight: bold;
+  text-transform: uppercase;
+  color: #070707;
 }
-.xv-grid-box .xv-grid-row.readonly {
-  background: #f8f8f8;
-  min-height: 56px;
+.xv-list-attr.right {
+  position: absolute;
+  right: 10px;
 }
-.xv-grid-box .xv-grid-row.selected {
-  background-color: #fdfdfd;
-  border: 1px solid #ff6529;
+.xv-list-attr.text-align-right {
+  text-align: right;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .onyx-input-decorator {
-  padding: 0;
-  width: 100%;
-  margin: 0;
+.xv-list-attr.bold {
+  font-weight: bold;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .onyx-input-decorator input {
-  width: 100%;
-  font-size: 13px;
+.xv-list-attr.error {
+  color: #ff0000;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .onyx-picker-decorator {
-  padding-top: 6px;
-  width: 100%;
+.xv-list-attr.emphasis {
+  color: #009000;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .onyx-picker-decorator .onyx-button {
-  height: 26px;
-  padding-top: 3px;
-  width: 100%;
-  font-size: 13px;
+.xv-list-attr.warn {
+  color: #ff9c00;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-input {
-  border: none;
+.xv-list-attr.italic {
+  font-style: italic;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-picker-label {
-  display: none;
+.xv-list-attr.placeholder {
+  font-style: italic;
+  color: #777777;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-datewidget {
-  margin-right: 10px;
-  padding-top: 0;
+.xv-list-attr.hyperlink {
+  color: blue;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-datewidget .onyx-input-decorator {
-  padding: 0;
-  width: 100%;
+.xv-list-attr.disabled {
+  color: #777777;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-datewidget .onyx-input-decorator input {
-  width: 85%;
-  font-size: 13px;
+/* Navigator */
+.xv-navigator-header {
+  font-size: small;
+  font-weight: bold;
+  text-transform: uppercase;
+  color: #ff6600;
+  padding-left: 20px;
+  border-bottom: 1px solid #0e0e0e;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-numberwidget {
-  padding-top: 6px;
+.xv-workspace-header {
+  color: #fdfdfd;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  padding: 8px 0 0 8px;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-numberwidget .onyx-input-decorator {
-  padding: 0;
+/**
+ * Default ListItem styles when using a ModelDecorator.
+ */
+.xv-list .xv-model-decorator > .xv-list-item .xv-table {
+  display: table;
   width: 100%;
-  margin: 0;
+  table-layout: fixed;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-numberwidget .onyx-input-decorator input {
-  width: 100%;
-  font-size: 13px;
+.xv-list .xv-model-decorator > .xv-list-item .xv-table .xv-cell {
+  display: table-cell;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-combobox {
-  padding-left: 0;
+.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr {
+  /**
+        * Default styling for a model's id (as designated by 'idAttribute')
+        */
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-combobox input {
-  padding-top: 3px;
-  width: 80px;
-  font-size: 13px;
+.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attribute-id {
+  color: blue;
+  font-weight: bold;
+  cursor: pointer;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-moneywidget {
-  padding-bottom: 0;
+.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attribute-name {
+  font-weight: bold;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-moneywidget .onyx-input-decorator {
-  padding: 0;
-  width: 100%;
-  margin: 0;
+.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attributetype-number {
+  text-align: right;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-moneywidget .onyx-input-decorator input {
-  width: 100%;
-  font-size: 13px;
+.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attributetype-money {
+  text-align: right;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-relationwidget .onyx-input-decorator {
-  width: 100%;
-  padding-top: 6px;
+.xv-list .xv-model-decorator > .xv-list-item .xv-list-column.xv-list-attr.xm-attributetype-date {
+  text-align: right;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-relationwidget .onyx-input {
-  width: 85%;
-  padding-right: 4px;
+.xv-list .xv-model-decorator > .xv-list-item.item-selected .xv-list-attr {
+  color: white;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-useraccount-widget .xv-subinput {
-  width: 80px;
-  height: 16px;
+.xv-list .xv-model-decorator > .xv-list-item.item-selected .xv-list-attr.xm-attribute-id {
+  color: #ff6529;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-subinput {
-  width: 100%;
+/**
+  Styles related to pickers, combo boxes, and relation widgets
+*/
+.onyx-picker-decorator .onyx-button {
+  padding: 12px 8px 12px 8px;
+  width: 150px;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-input {
-  padding-top: 6px;
-  width: 100%;
-  border: none;
+.onyx-picker .onyx-menu-item {
+  text-align: left;
+  text-overflow: ellipsis;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-label,
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-flexible-label,
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-relationwidget-secondarydescription {
-  display: none;
+.picker-icon {
+  position: absolute;
+  right: 0;
+  margin: 0 10px 0 2px;
+  color: #070707;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-relationwidget-description {
-  text-indent: 0;
-  padding-bottom: 0;
-  padding-top: 8px;
+.xv-picker-button {
+  text-align: left;
 }
-.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-private-item-site-widget {
-  border-bottom: 0;
+.xv-picker-button .picker-content {
+  max-width: 100px;
+  overflow: hidden;
 }
-.xv-grid-box.xv-groupbox .xv-sales-summary-panel {
-  border: none;
-  margin-top: 0;
-  padding-left: 0;
-  padding-right: 0;
+.xv-picker-button.disabled {
+  color: #777777;
 }
-.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group {
-  padding: 0;
-  border: none;
+.xv-picker-label {
+  color: #070707;
+  padding: 20px 8px 8px 8px;
+  text-align: right;
+  width: 130px;
 }
-.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group .xv-moneywidget {
-  padding-bottom: 0;
-  padding-top: 0;
-}
-.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group .xv-moneywidget .xv-input-decorator {
-  padding-bottom: 0;
-  padding-top: 0;
+.xv-picker-label.disabled {
+  color: #777777;
 }
-.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group .xv-numberwidget {
-  padding-bottom: 0;
-  padding-top: 0;
+.xv-combobox .onyx-input-decorator input {
+  width: 145px;
 }
-.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group .xv-numberwidget .xv-input-decorator {
-  width: 163px;
-  padding-bottom: 0;
-  padding-top: 0;
+.xv-combobox .icon-sort {
+  color: #357ec7;
+  vertical-align: middle;
 }
-.xv-grid-list .xv-list-column {
-  vertical-align: top !important;
+.xv-combobox-note {
+  padding: 14px 3px 8px 3px;
+  text-align: left;
 }
 /*
-  Styles relating to the dashboard
-*/
-/*
-  Variables for widths/colors
+  Styles relating to the grid box
 */
-.dashboard {
-  background-color: #d8d8d8;
-  /*
-    These styles will only be used
-    if the chart is in a dashboard
+/* Entire box including the grid and the summary panel */
+.xv-grid-box {
+  /**
+    This is the most general grid row that
+    is not specific to read-only or selected
   */
 }
-.dashboard .charts-panels {
-  overflow-y: auto;
+.xv-grid-box.small-panel {
+  width: 600px;
 }
-.dashboard .selectable-chart {
-  width: 500px;
-  height: 230px;
+.xv-grid-box.medium-panel {
+  width: 700px;
 }
-.dashboard .selectable-chart .chart-title-bar {
-  width: 500px;
+.xv-grid-box.large-panel {
+  width: 800px;
 }
-.dashboard .nvtooltip {
-  color: black;
+.xv-grid-box .enyo-list-page > *:first-child .xv-grid-row {
+  border-top: 0;
 }
-.selectable-chart {
-  margin: 10px;
-  color: #fdfdfd;
-  overflow: hidden;
+.xv-grid-box .xv-above-grid-list {
+  border: 0;
 }
-.selectable-chart .chart-title-bar {
-  height: 32px;
-  background-color: #373737;
-  -webkit-border-top-right-radius: 10px;
-  -moz-border-radius-topright: 10px;
-  border-top-right-radius: 10px;
-  -webkit-border-top-left-radius: 10px;
-  -moz-border-radius-topleft: 10px;
-  border-top-left-radius: 10px;
+.xv-grid-box .xv-scroller {
+  background: #f8f8f8;
 }
-.selectable-chart .chart-title-bar .chart-title {
-  padding-top: 8px;
-  text-align: center;
+.xv-grid-box .xv-grid-attr.bold {
+  font-weight: bold;
 }
-.selectable-chart .chart-title-bar .remove-icon {
-  position: absolute;
-  top: 0;
-  right: 0;
+.xv-grid-box .xv-grid-attr.error {
+  color: #ff0000;
 }
-.selectable-chart .chart-bottom {
-  background-color: #666666;
-  border: 1px solid #444444;
-  border-top: none;
-  -webkit-border-bottom-right-radius: 10px;
-  -moz-border-radius-bottomright: 10px;
-  border-bottom-right-radius: 10px;
-  -webkit-border-bottom-left-radius: 10px;
-  -moz-border-radius-bottomleft: 10px;
-  border-bottom-left-radius: 10px;
+.xv-grid-box .xv-grid-attr.emphasis {
+  color: #009000;
 }
-.selectable-chart .chart-bottom .xv-picker-label {
-  width: 100px;
-  color: #fdfdfd;
+.xv-grid-box .xv-grid-attr.warn {
+  color: #ff9c00;
 }
-.selectable-chart .chart-bottom .onyx-button {
-  width: 130px;
-  padding: 10px 10px;
+.xv-grid-box .xv-grid-attr.italic {
+  font-style: italic;
 }
-/**
-  Styles relating to Lists
-*/
-.xv-list-header {
+.xv-grid-box .xv-grid-attr.placeholder {
+  font-style: italic;
+  color: #93a1a1;
+}
+.xv-grid-box .xv-grid-attr.hyperlink {
+  color: blue;
+}
+.xv-grid-box .xv-gridbox-button {
+  color: #357ec7;
+  font-size: 18px;
+  border: none;
+  background: transparent;
+}
+.xv-grid-box .xv-grid-row {
+  font-size: 12px;
   background-color: #d8d8d8;
-  color: #fdfdfd;
-  font-size: .6em;
+  border-bottom: 1px solid #aaaaaa;
+  vertical-align: top;
+  /**
+      This is the grid header row
+    */
+}
+.xv-grid-box .xv-grid-row > * {
+  display: inline-block;
+}
+.xv-grid-box .xv-grid-row .xv-grid-header {
+  background-color: #d7d7d7;
+  color: #0e0e0e;
+  font-size: .8em;
   font-weight: bold;
   text-transform: uppercase;
   padding-top: 4px;
-  padding-bottom: 4px;
-  border-bottom: 1px solid #aaaaaa;
 }
-.xv-list-header .xv-list-column.last {
+.xv-grid-box .xv-grid-row .xv-grid-header.last {
   border-right: none;
 }
-.xv-list-header .xv-list-column.name-column,
-.xv-list-header .xv-list-column.first,
-.xv-list-header .xv-list-column.second,
-.xv-list-header .xv-list-column.third,
-.xv-list-header .xv-list-column.short,
-.xv-list-header .xv-list-column.small,
-.xv-list-header .xv-list-column.medium,
-.xv-list-header .xv-list-column.descr {
-  padding-left: 7px;
+.xv-grid-box .xv-grid-row > * {
+  padding: 6px 4px;
+  border: none;
 }
-/* List */
-.xv-list-column.line-number {
+.xv-grid-box .xv-grid-row .line-number {
+  vertical-align: top;
   width: 30px;
   text-align: right;
 }
-.xv-list-column.name-column {
-  width: 200px;
+.xv-grid-box .xv-grid-row .grid-actions {
+  display: block;
+  padding-left: 30px;
+  border-radius: 4px;
+  border-width: 0;
+  background: #f3f3f3;
+  margin: 6px;
 }
-.xv-list-column.right-column {
-  width: 100px;
-  text-align: right;
+.xv-grid-box .xv-grid-row .grid-actions > * {
+  display: inline-block;
+  width: 100%;
 }
-.xv-list-column.short {
-  width: 100px;
+.xv-grid-box .xv-grid-row .grid-item {
+  vertical-align: top;
+  width: 175px;
 }
-.xv-list-column.small {
-  width: 125px;
+.xv-grid-box .xv-grid-row .quantity {
+  vertical-align: top;
+  text-align: right;
+  width: 100px;
 }
-.xv-list-column.medium {
-  width: 150px;
+.xv-grid-box .xv-grid-row .percent {
+  vertical-align: top;
+  text-align: right;
+  width: 90px;
 }
-.xv-list-column.first {
-  width: 300px;
+.xv-grid-box .xv-grid-row .price {
+  vertical-align: top;
+  text-align: right;
+  width: 90px;
 }
-.xv-list-column.second {
-  width: 200px;
+.xv-grid-box .xv-grid-row .date {
+  vertical-align: top;
+  width: 105px;
 }
-.xv-list-column.third {
+.xv-grid-box .xv-grid-row .user {
+  vertical-align: top;
   width: 100px;
 }
-.xv-list-column.money,
-.xv-list-column.quantity {
-  width: 75px;
-  text-align: right;
+.xv-grid-box .xv-grid-row.readonly {
+  background: #f8f8f8;
+  min-height: 56px;
 }
-.xv-list-column.descr {
-  width: 200px;
+.xv-grid-box .xv-grid-row.selected {
+  background-color: #fdfdfd;
+  border: 1px solid #ff6529;
 }
-.xv-list-column.icon {
-  width: 10px;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .onyx-input-decorator {
+  padding: 0;
+  width: 100%;
+  margin: 0;
 }
-.xv-list {
-  background: #f8f8f8;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .onyx-input-decorator input {
+  width: 100%;
+  font-size: 13px;
 }
-.xv-list .xv-list-item > * {
-  display: inline-block;
-  vertical-align: middle;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .onyx-picker-decorator {
+  padding-top: 6px;
+  width: 100%;
 }
-.xv-list .xv-list-item {
-  background-color: #fdfdfd;
-  border-bottom: 1px solid #d7d7d7;
-  min-height: 32px;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .onyx-picker-decorator .onyx-button {
+  height: 26px;
+  padding-top: 3px;
+  width: 100%;
+  font-size: 13px;
 }
-.xv-list .xv-list-item.header {
-  padding-top: 0;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-input {
+  border: none;
 }
-.xv-list .xv-list-item.inactive {
-  background-color: #d8d8d8;
-  color: #070707;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-picker-label {
+  display: none;
 }
-.xv-list .xv-list-item.inactive .xv-list-column .xv-list-attr {
-  background: transparent;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-datewidget {
+  margin-right: 10px;
+  padding-top: 0;
 }
-.xv-list .xv-list-item.inactive .xv-list-column .xv-list-attr.placeholder {
-  color: #d8d8d8;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-datewidget .onyx-input-decorator {
+  padding: 0;
+  width: 100%;
 }
-.xv-list .xv-list-item .xv-list-column .list-icon {
-  padding: 2px;
-  color: #666666;
-  vertical-align: sub;
-  border: 1px solid #efefef;
-  -webkit-border-radius: 2px;
-  -moz-border-radius: 2px;
-  border-radius: 2px;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-datewidget .onyx-input-decorator input {
+  width: 85%;
+  font-size: 13px;
 }
-.xv-list .xv-list-item.item-selected {
-  background: #226b9a;
-  background-color: #1f608c;
-  background-image: -moz-linear-gradient(top, #226b9a, #1a4f77);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#226b9a), to(#1a4f77));
-  background-image: -webkit-linear-gradient(top, #226b9a, #1a4f77);
-  background-image: -o-linear-gradient(top, #226b9a, #1a4f77);
-  background-image: linear-gradient(to bottom, #226b9a, #1a4f77);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff226b9a', endColorstr='#ff1a4f77', GradientType=0);
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-numberwidget {
+  padding-top: 6px;
 }
-.xv-list .xv-list-item.item-selected .xv-list-attr {
-  color: #fdfdfd;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-numberwidget .onyx-input-decorator {
+  padding: 0;
+  width: 100%;
+  margin: 0;
 }
-.xv-list .xv-list-item.item-selected .xv-list-attr.placeholder {
-  font-style: italic;
-  color: #99ccff;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-numberwidget .onyx-input-decorator input {
+  width: 100%;
+  font-size: 13px;
 }
-.xv-list .xv-list-item.item-selected .xv-list-attr.hyperlink {
-  color: #ff6529;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-combobox {
+  padding-left: 0;
 }
-.xv-list .xv-list-item.item-selected .xv-list-attr.header {
-  background: #99ccff;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-combobox input {
+  padding-top: 3px;
+  width: 80px;
+  font-size: 13px;
 }
-.xv-list .xv-list-item .xv-list-item-gear {
-  position: absolute;
-  right: 0px;
-  z-index: 999;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-moneywidget {
+  padding-bottom: 0;
 }
-.xv-list.xv-grid-list {
-  background: #f8f8f8;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-moneywidget .onyx-input-decorator {
+  padding: 0;
+  width: 100%;
+  margin: 0;
 }
-.xv-list.xv-grid-list .xv-list-item > * {
-  vertical-align: top;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-moneywidget .onyx-input-decorator input {
+  width: 100%;
+  font-size: 13px;
 }
-.xv-list.xv-grid-list .xv-list-item {
-  padding-top: 7px !important;
-  padding-bottom: 9px !important;
-  border-bottom: 1px solid #aaaaaa !important;
-  background: #f8f8f8;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-relationwidget .onyx-input-decorator {
+  width: 100%;
+  padding-top: 6px;
 }
-.xv-list.xv-grid-list .xv-list-item.item-selected {
-  background: #226b9a;
-  background-color: #1f608c;
-  background-image: -moz-linear-gradient(top, #226b9a, #1a4f77);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#226b9a), to(#1a4f77));
-  background-image: -webkit-linear-gradient(top, #226b9a, #1a4f77);
-  background-image: -o-linear-gradient(top, #226b9a, #1a4f77);
-  background-image: linear-gradient(to bottom, #226b9a, #1a4f77);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff226b9a', endColorstr='#ff1a4f77', GradientType=0);
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-relationwidget .onyx-input {
+  width: 85%;
+  padding-right: 4px;
 }
-.xv-list.xv-grid-list .xv-list-item.item-selected .xv-list-attr {
-  color: #fdfdfd;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-useraccount-widget .xv-subinput {
+  width: 80px;
+  height: 16px;
 }
-.xv-list.xv-grid-list .xv-list-item.item-selected .xv-list-attr.placeholder {
-  font-style: italic;
-  color: #99ccff;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-subinput {
+  width: 100%;
 }
-.xv-list.xv-grid-list .xv-list-item.item-selected .xv-list-attr.hyperlink {
-  color: #ff6529;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-input {
+  padding-top: 6px;
+  width: 100%;
+  border: none;
 }
-.xv-list.xv-grid-list .xv-list-item.item-selected .xv-list-attr.header {
-  background: #99ccff;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-label,
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-flexible-label,
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-relationwidget-secondarydescription {
+  display: none;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column {
-  vertical-align: top;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-relationwidget-description {
+  text-indent: 0;
+  padding-bottom: 0;
+  padding-top: 8px;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column .xv-list-attr {
-  font-size: 12px;
+.xv-grid-box .xv-grid-row.selected .xv-grid-column .xv-private-item-site-widget {
+  border-bottom: 0;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.last {
-  border-right: none;
+.xv-grid-box.xv-groupbox .xv-sales-summary-panel {
+  border: none;
+  margin-top: 0;
+  padding-left: 0;
+  padding-right: 0;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.name-column {
-  padding-left: 7px;
+.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group {
+  padding: 0;
+  border: none;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.first {
-  padding-left: 7px;
+.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group .xv-moneywidget {
+  padding-bottom: 0;
+  padding-top: 0;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.second {
-  padding-left: 7px;
+.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group .xv-moneywidget .xv-input-decorator {
+  padding-bottom: 0;
+  padding-top: 0;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.third {
-  padding-left: 7px;
+.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group .xv-numberwidget {
+  padding-bottom: 0;
+  padding-top: 0;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.short {
-  padding-left: 7px;
+.xv-grid-box.xv-groupbox .xv-sales-summary-panel .xv-sales-summary-total-group .xv-numberwidget .xv-input-decorator {
+  width: 163px;
+  padding-bottom: 0;
+  padding-top: 0;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.small {
-  padding-left: 7px;
+.xv-grid-list .xv-list-column {
+  vertical-align: top !important;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.medium {
-  padding-left: 7px;
+/*
+  Styles relating to the dashboard
+*/
+/*
+  Variables for widths/colors
+*/
+.dashboard {
+  background-color: #d8d8d8;
+  /*
+    These styles will only be used
+    if the chart is in a dashboard
+  */
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column.descr {
-  padding-left: 7px;
+.dashboard .charts-panels {
+  overflow-y: auto;
 }
-.xv-list.xv-grid-list .xv-list-item .xv-list-column .xv-list-attr {
-  padding: 0px;
+.dashboard .selectable-chart {
+  width: 500px;
+  height: 230px;
 }
-.xv-list-attr {
-  padding: 5px;
-  font-size: .8em;
-  white-space: nowrap;
+.dashboard .selectable-chart .chart-title-bar {
+  width: 500px;
+}
+.dashboard .nvtooltip {
+  color: black;
+}
+.selectable-chart {
+  margin: 10px;
+  color: #357ec7;
   overflow: hidden;
-  text-overflow: ellipsis;
-  color: #070707;
 }
-.xv-list-attr.header {
-  padding: 4px;
-  background: #d8d8d8;
-  font-size: .7em;
-  font-weight: bold;
-  text-transform: uppercase;
-  color: #fdfdfd;
+.selectable-chart .xv-list-item {
+  border-bottom: 1px solid grey;
+  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.2);
 }
-.xv-list-attr.footer {
-  padding: 4px;
-  background: #d8d8d8;
-  font-size: .7em;
-  font-weight: bold;
-  text-transform: uppercase;
-  color: #070707;
+.selectable-chart .xv-list-item .long {
+  padding-left: 7px;
+  width: 250px;
 }
-.xv-list-attr.right {
-  position: absolute;
-  right: 10px;
+.selectable-chart .onyx-popup {
+  margin-top: 40px;
+  margin-left: 200px;
 }
-.xv-list-attr.text-align-right {
-  text-align: right;
+.selectable-chart .chart-title-bar {
+  height: 32px;
+  background-color: #efefef;
+  -webkit-border-top-right-radius: 10px;
+  -moz-border-radius-topright: 10px;
+  border-top-right-radius: 10px;
+  -webkit-border-top-left-radius: 10px;
+  -moz-border-radius-topleft: 10px;
+  border-top-left-radius: 10px;
 }
-.xv-list-attr.bold {
-  font-weight: bold;
+.selectable-chart .chart-title-bar .chart-title {
+  padding-top: 8px;
+  color: #070707;
+  text-align: center;
+  /*font-size: 2em;*/
+  font-weight: normal;
 }
-.xv-list-attr.error {
-  color: #ff0000;
+.selectable-chart .chart-title-bar .remove-icon {
+  position: absolute;
+  top: 0;
+  right: 0;
 }
-.xv-list-attr.emphasis {
-  color: #009000;
+.selectable-chart .chart-title-bar .icon-filter {
+  color: #070707;
+  position: absolute;
+  right: 35px;
 }
-.xv-list-attr.warn {
-  color: #ff9c00;
+.selectable-chart .chart-bottom {
+  background-color: #fdfdfd;
+  border: 1px solid #444444;
+  border-top: none;
+  -webkit-border-bottom-right-radius: 10px;
+  -moz-border-radius-bottomright: 10px;
+  border-bottom-right-radius: 10px;
+  -webkit-border-bottom-left-radius: 10px;
+  -moz-border-radius-bottomleft: 10px;
+  border-bottom-left-radius: 10px;
 }
-.xv-list-attr.italic {
-  font-style: italic;
+.selectable-chart .chart-bottom .xv-picker-label {
+  width: 100px;
+  color: #070707;
 }
-.xv-list-attr.placeholder {
-  font-style: italic;
-  color: #777777;
+.selectable-chart .chart-bottom .onyx-button {
+  width: 130px;
+  padding: 10px 10px;
 }
-.xv-list-attr.hyperlink {
-  color: blue;
+.selectable-chart .chart-filters {
+  background-color: #fdfdfd;
+  -webkit-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
+  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
 }
-.xv-list-attr.disabled {
-  color: #777777;
+.selectable-chart .chart-filters .xv-parameter-panel {
+  background-color: #f8f8f8;
+  border: 1px solid #d7d7d7;
+  margin: 0 4px 6px 0;
+  width: 100%;
 }
-/* Navigator */
-.xv-navigator-header {
-  font-size: small;
-  font-weight: bold;
-  text-transform: uppercase;
-  color: #ff6600;
-  padding-left: 20px;
-  border-bottom: 1px solid #0e0e0e;
+.selectable-chart .chart-filters.xv-parameter-panel .onyx-groupbox-header {
+  padding: 6px 10px;
+  border-bottom: 1px solid #d7d7d7;
+  background: #efefef;
+  color: #0e0e0e;
 }
-.xv-workspace-header {
-  color: #fdfdfd;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  padding: 8px 0 0 8px;
+.selectable-chart .chart-filters.xv-parameter-panel .enyo-fittable-columns-layout {
+  padding: 6px 10px;
+  border-bottom: 1px solid #d7d7d7;
+  background: #fdfdfd;
+  color: #0e0e0e;
 }
 /**
   Styles relating to widgets in the pullout
index 4edf672..60019d0 100644 (file)
@@ -167,9 +167,7 @@ regexp:true, undef:true, strict:true, trailing:true, white:true */
     };
 
     var formatAddress = function (name, address1, address2, address3, city, state, code, country) {
-      if (!arguments[0]) { return; }
       var address = [];
-
       if (name) { address.push(name); }
       if (address1) {address.push(address1); }
       if (address2) {address.push(address2); }
@@ -193,7 +191,16 @@ regexp:true, undef:true, strict:true, trailing:true, white:true */
       }).join("-")];
     };
 
+    var formatFullName = function (firstName, lastName, honorific, suffix) {
+      var fullName = [];
+      if (honorific) { fullName.push(honorific +  ' '); }
+      fullName.push(firstName + ' ' + lastName);
+      if (suffix) { fullName.push(' ' + suffix); }
+      return fullName;
+    };
+
     var transformFunctions = {
+      fullname: formatFullName,
       address: formatAddress,
       arbl: formatArbl
     };