Added Unused Items stat

This commit is contained in:
2026-03-23 15:38:36 -05:00
parent 2979f21e52
commit acf1fd9097
30 changed files with 1673 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
{
"permissions": {
"allow": [
"Bash(python3 -c \":*)"
]
}
}

143
AGENTS.md Normal file
View File

@@ -0,0 +1,143 @@
# AGENTS.md — Statistics App (Appsmith)
## Project Overview
Internal statistics dashboard built on **Appsmith** (file-based git sync mode). Displays filtered data from a **PostgreSQL / xTuple ERP** database (`xTuple_GoLive` datasource). The app is a collection of JSON widget definitions, SQL query files, and Appsmith configuration — there is no traditional application code.
**Live URL**: `https://appsmith.mpeapp.com/applications/6947cc068872ae1d129983a0/pages/6947cc068872ae1d129983a3`
## Tech Stack
| Layer | Technology |
|-------|-----------|
| Platform | Appsmith (file format v5, 64-column grid layout) |
| Database | PostgreSQL via xTuple ERP (`mpe` and `public` schemas) |
| Datasource | `xTuple_GoLive` (production) / `xTuple_Sandbox` (development) |
| Version control | Git (Bitbucket), Appsmith git sync |
## Repository Structure
```
statistics-app/
├── AGENTS.md # This file — keep up to date after every change
├── application.json # Page registry, app metadata
├── metadata.json # Appsmith schema versions
├── theme.json # UI theme (colors, fonts, borders)
├── datasources/
│ └── xTuple_GoLive.json # PostgreSQL connection config (credentials managed by Appsmith server, not stored here)
├── pages/ # One directory per page
│ └── <Page Name>/
│ ├── <Page Name>.json # Page definition (gitSyncId required)
│ ├── widgets/ # Widget JSON files
│ │ ├── Heading.json
│ │ ├── Container1/ # Navigation sidebar widgets
│ │ └── Tabs1/ # Tabbed content (if applicable)
│ └── queries/ # SQL queries
│ └── <query_name>/
│ ├── <query_name>.txt # Raw SQL (source of truth)
│ └── metadata.json # Appsmith action config
└── .cursor/skills/ # AI agent workflows (Cursor-specific)
```
## Pages
| Section | Page | Key Data |
|---------|------|----------|
| Sales | Capacity Planning (default) | `mpe.poormancapacity` |
| Sales | Units Shipped | Orders shipped by series / power input, date-filtered |
| Sales | Units Ordered | Orders placed by series / power input, date-filtered |
| Engineering | Pending POs | Purchase orders via `mpe.get_prototype_po_dashboard_data()` |
| Engineering | Pending Revisions | Revisions via `mpe.get_prototype_dashboard_data()` |
| Engineering | xGen | 8 tabs: build info, compatibility, firmware, test measurements |
| Operations | Engineering Holds | Work orders with active engineering holds |
| Operations | Job Drawing Status | CAD drawing builds from `mpe.inventortools` |
| Operations | Unused Items | Items with no inventory transactions for X days (default 365), filterable via input widget |
## Critical Conventions
### gitSyncId (REQUIRED)
Every page JSON and query `metadata.json` **must** have a `gitSyncId` as the first field. Format: `"<24-char-hex>_<uuid-v4>"`. Without it, Appsmith silently deletes the entity on next sync.
Generate:
```bash
python3 -c "import uuid; print(uuid.uuid4().hex[:24] + '_' + str(uuid.uuid4()))"
```
### Widget IDs
Every `widgetId` across all pages must be globally unique. Use short descriptive strings with a 2-3 character page prefix (e.g., `ui1btn3jds`, `eh1heading1`).
### Navigation
- Every page has identical nav sidebar (`Container1/`) with buttons for all pages.
- Active page button: `buttonColor` = `{{appsmith.theme.colors.backgroundColor}}` (dynamic binding).
- Inactive buttons: `buttonColor` = `#ffffff` (static, no dynamic binding).
- `parentId` for nav widgets = the Canvas `widgetId` inside that page's `Container1.json` (varies per page — always read it).
- Current nav sections: **Sales** (rows 016), **Engineering** (rows 1834), **Operations** (rows 3652).
### Canvas Widget IDs (for parentId in Container1 children)
| Page | Canvas widgetId |
|------|----------------|
| Sales - Capacity Planning | `x3pc17vp6q` |
| Sales - Units Shipped | `wj6fxg5wpg` |
| Sales - Units Ordered | `wj6fxg5wpg` |
| Pending POs | `pa1canvas01` |
| Pending Revisions | `pr1canvas01` |
| xGen | `xg1canvas01` |
| Operations - Job Drawing Status | `jd1canvas01` |
| Operations - Engineering Holds | `eh1canvas01` |
| Operations - Unused Items | `ui1canvas01` |
### Grid Layout
- 64 columns wide, 10px per row.
- Nav container: rows 07. Content starts at row 8.
- Nav buttons: 4 rows each, 2-row gap between sections.
### Queries
- SQL source of truth: `<query_name>.txt` (readable, real newlines).
- `metadata.json` `body` field: same SQL but JSON-escaped (`\n`, `\"`).
- Table binding: `{{query_name.data}}`.
- Optional date filter pattern: `NULLIF('{{Widget.selectedDate}}','') IS NULL OR ... BETWEEN ...::date AND ...::date`.
- All production queries use `xTuple_GoLive` datasource.
- **Database credentials are managed by Appsmith server-side** — they are not stored in this repository. The datasource JSON only contains the name and plugin reference. When developing/testing SQL queries locally, use separate read-only credentials provided by the user — never embed them in committed files.
## Common Tasks
### Add a new page
Provide: page name (`<Section> - <Label>`), section, SQL query. The workflow:
1. Clone `Sales - Capacity Planning` as template
2. Generate new `gitSyncId` values for page and queries
3. Update page name, slug, heading, and widget IDs
4. Register in `application.json`
5. Add nav button on **all** pages (highlighted on own page, white elsewhere)
6. If new section needed, add section label (`Text<N>`) on all pages first
7. **Update this AGENTS.md file** (add the page to the Pages table, update Canvas Widget IDs table, and note any new conventions)
See `.cursor/skills/create-new-page/SKILL.md` for full procedure.
### Add tabs to a page
Replace standalone table with `TABS_WIDGET` containing multiple tabs, each with its own query and table. See `.cursor/skills/add-tabs-to-page/SKILL.md`.
### Add a query
Create `queries/<name>/` with `.txt` and `metadata.json`. Wire to table via `tableData: "{{name.data}}"`. See `.cursor/skills/add-query-to-table/SKILL.md`.
### Launch prep (sandbox → production)
Replace all `xTuple_Sandbox` references in query `metadata.json` files with `xTuple_GoLive`. See `.cursor/skills/prepare-for-launch/SKILL.md`.
## Rules
- **After every change to this project, update this AGENTS.md file** to reflect the current state — new pages, changed navigation layout, new conventions, etc. This file is the single source of truth for AI agents working in this repo.
- Do **not** create or modify files in the `docs/` directory.
- Template page for cloning: `Sales - Capacity Planning`.
- Slug format: lowercase, spaces to hyphens (e.g., `operations-unused-items`).
- Product lines tracked: XR, SL, TS, MS, MT, Harmonic Neutralizer (mapped by item number in SQL CASE statements).
- Database credentials are never stored in this repository. Use the Appsmith-managed `xTuple_GoLive` datasource for all queries.

View File

@@ -60,6 +60,10 @@
{
"id": "Operations - Engineering Holds",
"isDefault": false
},
{
"id": "Operations - Unused Items",
"isDefault": false
}
],
"unpublishedAppLayout": {

View File

@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "eh1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "eh1canvas01",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "eh1btn3ui",
"widgetName": "Button3Copy2"
}

View File

@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "jd1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "jd1canvas01",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "jd1btn3ui",
"widgetName": "Button3Copy2"
}

View File

@@ -0,0 +1,33 @@
{
"gitSyncId": "11976947d24e48cf90c738f1_5a55732a-e697-4e41-8144-81e3451d348c",
"unpublishedPage": {
"isHidden": false,
"layouts": [
{
"dsl": {
"backgroundColor": "none",
"bottomRow": 1240,
"canExtend": true,
"containerStyle": "none",
"detachFromLayout": true,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [],
"leftColumn": 0,
"minHeight": 1292,
"parentColumnSpace": 1,
"parentRowSpace": 1,
"rightColumn": 4896,
"snapColumns": 64,
"snapRows": 124,
"topRow": 0,
"type": "CANVAS_WIDGET",
"version": 94,
"widgetId": "0",
"widgetName": "MainContainer"
}
}
],
"name": "Operations - Unused Items",
"slug": "operations-unused-items"
}
}

View File

@@ -0,0 +1,35 @@
{
"gitSyncId": "11976947d24e48cf90c738f1_c8a3dcce-d31d-42fe-9aa7-7773bd28f1d9",
"id": "Operations - Unused Items_unused_items",
"pluginId": "postgres-plugin",
"pluginType": "DB",
"unpublishedAction": {
"actionConfiguration": {
"body": "SELECT\n i.item_number AS \"Item Number\",\n i.item_descrip1 AS \"Description\",\n CASE i.item_type\n WHEN 'P' THEN 'Purchased'\n WHEN 'M' THEN 'Manufactured'\n WHEN 'R' THEN 'Reference'\n WHEN 'T' THEN 'Tooling'\n WHEN 'O' THEN 'Outside Process'\n WHEN 'B' THEN 'Breeder'\n WHEN 'C' THEN 'Co-Product'\n WHEN 'F' THEN 'Phantom'\n ELSE i.item_type\n END AS \"Item Type\",\n CASE WHEN i.item_active THEN 'Active' ELSE 'Inactive' END AS \"Status\",\n cc.comment_user AS \"Created By\",\n COALESCE(i.item_created, cc.comment_date)::date AS \"Date Created\",\n last_txn.last_transaction_date::date AS \"Last Transaction\",\n (CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date) AS \"Days Unused\"\nFROM item i\nLEFT JOIN comment cc\n ON cc.comment_source_id = i.item_id\n AND cc.comment_source = 'I'\n AND cc.comment_text = 'Created'\nLEFT JOIN (\n SELECT\n isite.itemsite_item_id,\n MAX(ih.invhist_transdate) AS last_transaction_date\n FROM itemsite isite\n JOIN invhist ih ON ih.invhist_itemsite_id = isite.itemsite_id\n GROUP BY isite.itemsite_item_id\n) last_txn ON last_txn.itemsite_item_id = i.item_id\nWHERE (CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date)\n >= COALESCE(NULLIF('{{UnusedDays.text}}','')::int, 365)\nORDER BY \"Days Unused\" DESC",
"encodeParamsToggle": true,
"paginationType": "NONE",
"pluginSpecifiedTemplates": [
{
"value": true
}
],
"timeoutInMillisecond": 30000
},
"confirmBeforeExecute": false,
"datasource": {
"id": "xTuple_GoLive",
"isAutoGenerated": false,
"name": "xTuple_GoLive",
"pluginId": "postgres-plugin"
},
"dynamicBindingPathList": [
{
"key": "body"
}
],
"name": "unused_items",
"pageId": "Operations - Unused Items",
"runBehaviour": "AUTOMATIC",
"userSetOnLoad": false
}
}

View File

@@ -0,0 +1,35 @@
SELECT
i.item_number AS "Item Number",
i.item_descrip1 AS "Description",
CASE i.item_type
WHEN 'P' THEN 'Purchased'
WHEN 'M' THEN 'Manufactured'
WHEN 'R' THEN 'Reference'
WHEN 'T' THEN 'Tooling'
WHEN 'O' THEN 'Outside Process'
WHEN 'B' THEN 'Breeder'
WHEN 'C' THEN 'Co-Product'
WHEN 'F' THEN 'Phantom'
ELSE i.item_type
END AS "Item Type",
CASE WHEN i.item_active THEN 'Active' ELSE 'Inactive' END AS "Status",
cc.comment_user AS "Created By",
COALESCE(i.item_created, cc.comment_date)::date AS "Date Created",
last_txn.last_transaction_date::date AS "Last Transaction",
(CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date) AS "Days Unused"
FROM item i
LEFT JOIN comment cc
ON cc.comment_source_id = i.item_id
AND cc.comment_source = 'I'
AND cc.comment_text = 'Created'
LEFT JOIN (
SELECT
isite.itemsite_item_id,
MAX(ih.invhist_transdate) AS last_transaction_date
FROM itemsite isite
JOIN invhist ih ON ih.invhist_itemsite_id = isite.itemsite_id
GROUP BY isite.itemsite_item_id
) last_txn ON last_txn.itemsite_item_id = i.item_id
WHERE (CURRENT_DATE - COALESCE(last_txn.last_transaction_date, i.item_created, cc.comment_date)::date)
>= COALESCE(NULLIF('{{UnusedDays.text}}','')::int, 365)
ORDER BY "Days Unused" DESC

View File

@@ -0,0 +1,43 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 8,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn1k01",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 8,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 4,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Sales - Capacity Planning', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 8,
"originalTopRow": 4,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Capacity Planning",
"topRow": 4,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn1cap",
"widgetName": "Button1"
}

View File

@@ -0,0 +1,43 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 12,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn1k02",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 12,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 8,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Sales - Units Shipped', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 12,
"originalTopRow": 8,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Units Shipped",
"topRow": 8,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn1shp",
"widgetName": "Button1Copy"
}

View File

@@ -0,0 +1,43 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 16,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn1k03",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 16,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 12,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Sales - Units Ordered', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 16,
"originalTopRow": 12,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Units Ordered",
"topRow": 12,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn1ord",
"widgetName": "Button1Copy2"
}

View File

@@ -0,0 +1,43 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 26,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn2k01",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 26,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 22,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Pending POs', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 26,
"originalTopRow": 22,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Pending POs",
"topRow": 22,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn2pos",
"widgetName": "Button2All"
}

View File

@@ -0,0 +1,43 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 30,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn2k02",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 30,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 26,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Pending Revisions', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 30,
"originalTopRow": 26,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Pending Revisions",
"topRow": 26,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn2rev",
"widgetName": "Button2Copy"
}

View File

@@ -0,0 +1,43 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 34,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn2k03",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 34,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 30,
"needsErrorInfo": false,
"onClick": "{{navigateTo('xGen', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 34,
"originalTopRow": 30,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "xGen",
"topRow": 30,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn2xgn",
"widgetName": "Button2Copy2"
}

View File

@@ -0,0 +1,43 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 44,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn3k01",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 44,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 40,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Job Drawing Status', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 44,
"originalTopRow": 40,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Job Drawing Status",
"topRow": 40,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn3jds",
"widgetName": "Button3"
}

View File

@@ -0,0 +1,43 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 48,
"boxShadow": "none",
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn3k02",
"leftColumn": 0,
"minWidth": 120,
"mobileBottomRow": 48,
"mobileLeftColumn": 0,
"mobileRightColumn": 16,
"mobileTopRow": 44,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Engineering Holds', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 48,
"originalTopRow": 44,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"recaptchaType": "V3",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Engineering Holds",
"topRow": 44,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn3enh",
"widgetName": "Button3Copy"
}

View File

@@ -0,0 +1,46 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "{{appsmith.theme.colors.backgroundColor}}",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [
{"key": "buttonColor"}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "ui1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "ui1btn3ui",
"widgetName": "Button3Copy2"
}

View File

@@ -0,0 +1,81 @@
{
"animateLoading": true,
"backgroundColor": "#FFFFFF",
"borderColor": "#E0DEDE",
"borderRadius": "0px",
"borderWidth": "1",
"bottomRow": 124,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"children": [
{
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 1240,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"canExtend": false,
"containerStyle": "none",
"detachFromLayout": true,
"dynamicBindingPathList": [
{"key": "borderRadius"},
{"key": "boxShadow"}
],
"dynamicHeight": "AUTO_HEIGHT",
"flexLayers": [],
"isLoading": false,
"isVisible": true,
"key": "xorz42kdhi",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minHeight": 100,
"minWidth": 450,
"mobileBottomRow": 100,
"mobileLeftColumn": 0,
"mobileRightColumn": 132.9375,
"mobileTopRow": 0,
"needsErrorInfo": false,
"parentColumnSpace": 1,
"parentId": "ui1c0ntain",
"parentRowSpace": 1,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 132.9375,
"topRow": 0,
"type": "CANVAS_WIDGET",
"version": 1,
"widgetId": "ui1canvas01",
"widgetName": "Canvas1"
}
],
"containerStyle": "card",
"dynamicBindingPathList": [
{"key": "boxShadow"}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [],
"flexVerticalAlignment": "stretch",
"isCanvas": true,
"isLoading": false,
"isVisible": true,
"key": "36jaq5m9iy",
"leftColumn": 0,
"maxDynamicHeight": 12,
"minDynamicHeight": 10,
"minWidth": 450,
"mobileBottomRow": 10,
"mobileLeftColumn": 0,
"mobileRightColumn": 3,
"mobileTopRow": 0,
"needsErrorInfo": false,
"parentColumnSpace": 44.3125,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 9,
"shouldScrollContents": true,
"topRow": 0,
"type": "CONTAINER_WIDGET",
"version": 1,
"widgetId": "ui1c0ntain",
"widgetName": "Container1"
}

View File

@@ -0,0 +1,46 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 4,
"dynamicBindingPathList": [
{"key": "truncateButtonColor"},
{"key": "fontFamily"},
{"key": "borderRadius"}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "ui1txt1k01",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 6,
"mobileLeftColumn": 10,
"mobileRightColumn": 26,
"mobileTopRow": 2,
"needsErrorInfo": false,
"originalBottomRow": 4,
"originalTopRow": 0,
"overflow": "NONE",
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 64,
"shouldTruncate": false,
"text": "Sales",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 0,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "ui1txt1sal",
"widgetName": "Text1"
}

View File

@@ -0,0 +1,46 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 22,
"dynamicBindingPathList": [
{"key": "truncateButtonColor"},
{"key": "fontFamily"},
{"key": "borderRadius"}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "ui1txt2k01",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 22,
"mobileLeftColumn": 10,
"mobileRightColumn": 26,
"mobileTopRow": 18,
"needsErrorInfo": false,
"originalBottomRow": 22,
"originalTopRow": 18,
"overflow": "NONE",
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 64,
"shouldTruncate": false,
"text": "Engineering",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 18,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "ui1txt2eng",
"widgetName": "Text2"
}

View File

@@ -0,0 +1,46 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 40,
"dynamicBindingPathList": [
{"key": "truncateButtonColor"},
{"key": "fontFamily"},
{"key": "borderRadius"}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "ui1txt3k01",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 40,
"mobileLeftColumn": 10,
"mobileRightColumn": 26,
"mobileTopRow": 36,
"needsErrorInfo": false,
"originalBottomRow": 40,
"originalTopRow": 36,
"overflow": "NONE",
"parentColumnSpace": 3.841796875,
"parentId": "ui1canvas01",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 64,
"shouldTruncate": false,
"text": "Operations",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 36,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "ui1txt3ops",
"widgetName": "Text3"
}

View File

@@ -0,0 +1,46 @@
{
"animateLoading": true,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 5,
"dynamicBindingPathList": [
{"key": "truncateButtonColor"},
{"key": "fontFamily"},
{"key": "borderRadius"}
],
"dynamicHeight": "AUTO_HEIGHT",
"dynamicTriggerPathList": [],
"fontFamily": "{{appsmith.theme.fontFamily.appFont}}",
"fontSize": "1.875rem",
"fontStyle": "BOLD",
"isLoading": false,
"isVisible": true,
"key": "ui1hdgkey01",
"leftColumn": 14,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 5,
"mobileLeftColumn": 1,
"mobileRightColumn": 17,
"mobileTopRow": 1,
"needsErrorInfo": false,
"originalBottomRow": 5,
"originalTopRow": 0,
"overflow": "NONE",
"parentColumnSpace": 25.109375,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 64,
"shouldTruncate": false,
"text": "Operations - Unused Items",
"textAlign": "LEFT",
"textColor": "#231F20",
"topRow": 0,
"truncateButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"type": "TEXT_WIDGET",
"version": 1,
"widgetId": "ui1heading1",
"widgetName": "Heading"
}

View File

@@ -0,0 +1,359 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"borderColor": "#E0DEDE",
"borderRadius": "0.375rem",
"borderWidth": "1",
"bottomRow": 67,
"boxShadow": "{{appsmith.theme.boxShadow.appBoxShadow}}",
"cachedTableData": {},
"canFreezeColumn": true,
"childStylesheet": {
"button": {
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}"
},
"editActions": {
"discardBorderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"discardButtonColor": "{{appsmith.theme.colors.primaryColor}}",
"saveBorderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"saveButtonColor": "{{appsmith.theme.colors.primaryColor}}"
},
"iconButton": {
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"boxShadow": "none",
"buttonColor": "{{appsmith.theme.colors.primaryColor}}"
},
"menuButton": {
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"boxShadow": "none",
"menuColor": "{{appsmith.theme.colors.primaryColor}}"
}
},
"columnOrder": [
"Item Number",
"Description",
"Item Type",
"Status",
"Created By",
"Date Created",
"Last Transaction",
"Days Unused"
],
"columnUpdatedAt": 1768910474559,
"columnWidthMap": {},
"compactMode": "SHORT",
"customIsLoading": false,
"customIsLoadingValue": "",
"defaultPageSize": 0,
"defaultSelectedRowIndex": 0,
"defaultSelectedRowIndices": [0],
"delimiter": ",",
"dynamicBindingPathList": [
{"key": "accentColor"},
{"key": "boxShadow"},
{"key": "tableData"},
{"key": "primaryColumns.Item Number.computedValue"},
{"key": "primaryColumns.Description.computedValue"},
{"key": "primaryColumns.Item Type.computedValue"},
{"key": "primaryColumns.Status.computedValue"},
{"key": "primaryColumns.Created By.computedValue"},
{"key": "primaryColumns.Date Created.computedValue"},
{"key": "primaryColumns.Last Transaction.computedValue"},
{"key": "primaryColumns.Days Unused.computedValue"}
],
"dynamicPropertyPathList": [
{"key": "textSize"}
],
"dynamicTriggerPathList": [],
"enableClientSideSearch": true,
"endOfData": false,
"flexVerticalAlignment": "start",
"horizontalAlignment": "LEFT",
"inlineEditingSaveOption": "ROW_LEVEL",
"isLoading": false,
"isSortable": true,
"isVisible": true,
"isVisibleDownload": true,
"isVisibleFilters": false,
"isVisiblePagination": true,
"isVisibleSearch": true,
"key": "ui1tblkey01",
"label": "Data",
"leftColumn": 9,
"minWidth": 450,
"mobileBottomRow": 31,
"mobileLeftColumn": 15,
"mobileRightColumn": 64,
"mobileTopRow": 10,
"needsErrorInfo": false,
"originalBottomRow": 67,
"originalTopRow": 7,
"parentColumnSpace": 11.265625,
"parentId": "0",
"parentRowSpace": 10,
"primaryColumns": {
"Item Number": {
"alias": "Item Number",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"columnType": "text",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Item Number\"])) : [] })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "Item Number",
"index": 0,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Item Number",
"notation": "standard",
"originalId": "Item Number",
"sticky": "",
"textSize": "0.775rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Description": {
"alias": "Description",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"columnType": "text",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Description\"])) : [] })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "Description",
"index": 1,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Description",
"notation": "standard",
"originalId": "Description",
"sticky": "",
"textSize": "0.775rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Item Type": {
"alias": "Item Type",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"columnType": "text",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Item Type\"])) : [] })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "Item Type",
"index": 2,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Item Type",
"notation": "standard",
"originalId": "Item Type",
"sticky": "",
"textSize": "0.775rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Status": {
"alias": "Status",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"columnType": "text",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Status\"])) : [] })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "Status",
"index": 3,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Status",
"notation": "standard",
"originalId": "Status",
"sticky": "",
"textSize": "0.775rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Created By": {
"alias": "Created By",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"columnType": "text",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Created By\"])) : [] })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "Created By",
"index": 4,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Created By",
"notation": "standard",
"originalId": "Created By",
"sticky": "",
"textSize": "0.775rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Date Created": {
"alias": "Date Created",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"columnType": "date",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Date Created\"])) : [] })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "Date Created",
"index": 5,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Date Created",
"notation": "standard",
"originalId": "Date Created",
"sticky": "",
"textSize": "0.775rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Last Transaction": {
"alias": "Last Transaction",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"columnType": "date",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Last Transaction\"])) : [] })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "Last Transaction",
"index": 6,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Last Transaction",
"notation": "standard",
"originalId": "Last Transaction",
"sticky": "",
"textSize": "0.775rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
},
"Days Unused": {
"alias": "Days Unused",
"allowCellWrapping": false,
"allowSameOptionsInNewRow": true,
"columnType": "number",
"computedValue": "{{(() => { const tableData = Table1.processedTableData || []; return tableData.length > 0 ? tableData.map((currentRow, currentIndex) => (currentRow[\"Days Unused\"])) : [] })()}}",
"currencyCode": "USD",
"decimals": 0,
"enableFilter": true,
"enableSort": true,
"horizontalAlignment": "LEFT",
"id": "Days Unused",
"index": 7,
"isCellEditable": false,
"isCellVisible": true,
"isDerived": false,
"isDisabled": false,
"isDiscardVisible": true,
"isEditable": false,
"isSaveVisible": true,
"isVisible": true,
"label": "Days Unused",
"notation": "standard",
"originalId": "Days Unused",
"sticky": "",
"textSize": "0.775rem",
"thousandSeparator": true,
"validation": {},
"verticalAlignment": "CENTER",
"width": 150
}
},
"renderMode": "CANVAS",
"responsiveBehavior": "fill",
"rightColumn": 64,
"searchKey": "",
"tableData": "{{unused_items.data}}",
"textSize": "0.775rem",
"topRow": 7,
"totalRecordsCount": 0,
"type": "TABLE_WIDGET_V2",
"version": 2,
"verticalAlignment": "CENTER",
"widgetId": "ui1table001",
"widgetName": "Table1"
}

View File

@@ -0,0 +1,50 @@
{
"accentColor": "{{appsmith.theme.colors.primaryColor}}",
"animateLoading": true,
"autoFocus": false,
"borderRadius": "{{appsmith.theme.borderRadius.appBorderRadius}}",
"bottomRow": 7,
"boxShadow": "none",
"defaultText": "365",
"dynamicBindingPathList": [
{"key": "accentColor"},
{"key": "borderRadius"}
],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [],
"iconAlign": "left",
"inputType": "NUMBER",
"isDisabled": false,
"isLoading": false,
"isRequired": false,
"isSpellCheck": false,
"isVisible": true,
"key": "ui1inputkey1",
"label": "Unused Days",
"labelAlignment": "left",
"labelPosition": "Top",
"labelTextSize": "0.875rem",
"labelWidth": 5,
"leftColumn": 9,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 450,
"mobileBottomRow": 8,
"mobileLeftColumn": 1,
"mobileRightColumn": 21,
"mobileTopRow": 1,
"needsErrorInfo": false,
"parentColumnSpace": 25.109375,
"parentId": "0",
"parentRowSpace": 10,
"renderMode": "CANVAS",
"resetOnSubmit": false,
"responsiveBehavior": "fill",
"rightColumn": 14,
"shouldAllowAutofill": false,
"topRow": 0,
"type": "INPUT_WIDGET_V2",
"version": 2,
"widgetId": "ui1unusddays",
"widgetName": "UnusedDays"
}

View File

@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "pa1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "pa1canvas01",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "pa1btn3ui",
"widgetName": "Button3Copy2"
}

View File

@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "pr1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "pr1canvas01",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "pr1btn3ui",
"widgetName": "Button3Copy2"
}

View File

@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "cp1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "x3pc17vp6q",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "cp1btn3ui",
"widgetName": "Button3Copy2"
}

View File

@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "so1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "wj6fxg5wpg",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "so1btn3ui",
"widgetName": "Button3Copy2"
}

View File

@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "su1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "wj6fxg5wpg",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "su1btn3ui",
"widgetName": "Button3Copy2"
}

View File

@@ -0,0 +1,44 @@
{
"animateLoading": true,
"borderRadius": "0.375rem",
"bottomRow": 52,
"buttonColor": "#ffffff",
"buttonVariant": "PRIMARY",
"disabledWhenInvalid": false,
"dynamicBindingPathList": [],
"dynamicHeight": "FIXED",
"dynamicTriggerPathList": [
{"key": "onClick"}
],
"isDefaultClickDisabled": true,
"isDisabled": false,
"isLoading": false,
"isVisible": true,
"key": "xg1btn3uik",
"leftColumn": 0,
"maxDynamicHeight": 9000,
"minDynamicHeight": 4,
"minWidth": 120,
"mobileBottomRow": 52,
"mobileLeftColumn": 0,
"mobileRightColumn": 64,
"mobileTopRow": 48,
"needsErrorInfo": false,
"onClick": "{{navigateTo('Operations - Unused Items', {}, 'SAME_WINDOW');}}",
"originalBottomRow": 52,
"originalTopRow": 48,
"parentColumnSpace": 3.841796875,
"parentId": "xg1canvas01",
"parentRowSpace": 10,
"placement": "START",
"renderMode": "CANVAS",
"resetFormOnClick": false,
"responsiveBehavior": "hug",
"rightColumn": 64,
"text": "Unused Items",
"topRow": 48,
"type": "BUTTON_WIDGET",
"version": 1,
"widgetId": "xg1btn3ui",
"widgetName": "Button3Copy2"
}