61 Commits
Author SHA1 Message Date
james.maesandCodex 4a13ec459c fix: repair frontend package entrypoints (#59)
Preserve the reviewed six-file package repair from PR58 with an existing verified author email and the registered SSH signing key. File tree is unchanged from 1d1835fdbe.

Co-authored-by: Codex (GPT-6) <noreply@openai.com>
2026-10-30 15:46:46 -05:00
james.maes 0303f1a3d4 fix(deps): update Axios and align Apache licensing
Address QQQ #902, #923 and #940; preserve source behavior and attribution.
2026-09-30 22:09:36 -05:00
dependabot[bot]andjames.maes 46ee6f0b35 fix(security): patch client dependencies and verify HTTP transport (#29)
* Bump the npm_and_yarn group across 1 directory with 2 updates

Bumps the npm_and_yarn group with 2 updates in the / directory: [axios](https://github.com/axios/axios) and [form-data](https://github.com/form-data/form-data).


Updates `axios` from 0.28.1 to 0.30.0
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.30.0/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.28.1...v0.30.0)

Updates `form-data` from 4.0.0 to 4.0.4
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.0...v4.0.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 0.30.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>

* style(tests): align transport assertions with lint rules

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Maes <james@kof22.com>
2026-09-29 13:23:36 -05:00
Darin KelkhoffandClaude Opus 4.6 96862bf6f1 fix: QExposedJoin.clone() preserves joinTable fields — overwrite after constructor to avoid Map loss
The constructor re-wraps joinTable in new QTableMetaData(), which uses
for-in to iterate fields — this doesn't work on Map instances, losing
all fields from the cloned join table.

Also added defensive ?. in constructor and clone, removed unnecessary
'as any' casts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 15:51:57 -05:00
Tim Chamberlain ce80326e30 fix(metadata): accept supplementalMetaData in field parser 2026-03-26 13:54:53 -05:00
Darin Kelkhoff 3d08dc7f12 feat(fieldFunctions): add support for fieldFunctions in filter criteria, and more explicit handling of virtualFields (e.g., their own type now that they have new attributes coming from backend) 2026-03-02 16:07:27 -06:00
Darin Kelkhoff 4a3d9dc477 refactor(themes): Moving QThemeMetaData out of core - into qqq-frontend-material-dashboard (as MaterialDashboardThemeMetaData) 2026-02-18 11:11:16 -06:00
Darin Kelkhoff 8406d8af57 test(collapsibleElements): add tests for handling collasibles inside QTableSection and QWidgetMetaData 2026-02-05 12:06:24 -06:00
Darin Kelkhoff 86546fa919 test(collapsibleElements): add test for this file (and force booleans to always get set by constructor, and true iff value in source object is true). 2026-02-05 11:47:09 -06:00
Darin Kelkhoff 2af455f2ab Merge pull request #37 from QRun-IO/feature/364-customizable-table-action-menus-and-additional-menu-support
feat(menus): Add new QMenu and QMenuItem meta data objects
2026-01-21 10:44:06 -06:00
Darin Kelkhoff 10f91c7adc feat(menus): Add new QMenu and QMenuItem meta data objects, which can be attached to QTableMetaData
- update cloning to handle menus.
2026-01-19 20:53:23 -06:00
Darin Kelkhoff f4b6b5adce feat(tables): improve/formalize support for tables being added to more than 1 app.
- Accept map of redirects to from the backend's metaData action, stored in QInstance. (to redirect a user from links to a table through an app that they don't have access to, instead to an app that they do have access to).
- Add appAffinity field to QAppTreeNode, to specify which app to use for a table in a global context (e.g., dot menu) if it belongs to more than 1.
- Update QInstance.getTablePath to return the path with the highest affinity value for a table in multiple apps
2026-01-19 20:42:15 -06:00
james.maes 8de50fbf59 test(theme): add QThemeMetaData.test.ts with 14 tests (100% coverage)
Tests constructor, density types, iconStyle types, color formats
2025-12-28 21:34:41 -06:00
Darin Kelkhoff e39a67dd1b feat: add tableSection.alternatives and table.virtualFields 2025-12-09 11:32:25 -06:00
Darin Kelkhoff 9576463f42 fix(clone): avoid null pointer when cloning criteria with null values 2025-10-28 08:38:25 -05:00
Darin Kelkhoff fec6c55333 fix(model): More clone fixing (this time with a full table deep equals test, so hopefully last time) 2025-10-20 07:12:29 -05:00
Darin Kelkhoff 750d9e82cd fix(model): Fix more clone methods, usages of Map this time... 2025-10-16 15:59:14 -05:00
Darin Kelkhoff 359912252b fix(model): Fix clone method in QTableMetaData and QHelpContent, which use Set, which didn't quite follow same pattern as the rest 2025-10-16 12:03:05 -05:00
Darin Kelkhoff e162bbc127 feat(model): add clone method to QTableMEtaData and all composed classes 2025-10-14 15:00:06 -05:00
Darin Kelkhoff 48931db8df Add possibleValueSourceFilter property to QFieldMetaData, along with QQueryFilter.makeFromObject for constructing it, and a test on that. 2025-07-14 15:24:36 -05:00
Darin Kelkhoff 267b865b1d Remove setAuthorizationHeaderValue and setAuthorizationHeaderValue (cleaning up todo#authHeader's) 2023-11-10 08:49:04 -06:00
Darin Kelkhoff ea5481a25b Moving skip & limit fromo query input to QQueryFilter 2023-04-26 10:54:17 -05:00
Darin Kelkhoff d186b1a5af Change possibleValue test to mock POST instead of GET 2023-03-08 10:25:10 -06:00
Darin Kelkhoff bfb95fc2bc add html (process) component type; add processName param to possibleValues 2023-02-22 17:52:29 -06:00
Darin Kelkhoff a62193bb1e Updated to pass Authorization header with requests (after a promise that it was set gets resolved); Updated to memoize meta-data requests; Add permission properties 2023-01-11 16:11:24 -06:00
Darin Kelkhoff 98a4962924 Add data under QAuthenticationMetaData; add RENDER_HTML adornment type 2022-12-08 10:45:45 -06:00
Darin Kelkhoff eca2711692 Add fetching authentication meta data from backend 2022-11-15 16:15:01 -06:00
Darin Kelkhoff afcc245977 Update to send query and count as POST 2022-10-14 10:51:00 -05:00
Darin Kelkhoff 7879267327 Add possible values 2022-10-10 17:05:15 -05:00
Darin Kelkhoff a5a1737014 Add reports, GOOGLE_DRIVE_SELECT_FOLDER 2022-09-23 10:34:02 -05:00
Tim Chamberlain eed5722a94 QQQ-41: added app sections, upped version 2022-09-16 10:23:02 -05:00
Tim Chamberlain 3f8133d4f5 added branding to metadata, upped version number, copied eslintrc rules from dashboard and reformatted all imports 2022-09-06 18:07:58 -05:00
Tim Chamberlain 6a8a7e21b5 Merge branch 'dev' into feature/QQQ-38-app-home-widgets 2022-08-30 11:58:39 -05:00
Darin Kelkhoff 0234b6fa67 for process validation screen - add QInstance.getTablePath; add more QComponentTypes 2022-08-29 11:20:43 -05:00
Darin Kelkhoff 8dbc1ce889 Update to use QException; turn on the mock functions that aren't used 2022-08-25 11:27:03 -05:00
Darin Kelkhoff 8cc352afc9 Add widget endpoint and related code 2022-08-22 11:12:16 -05:00
Darin Kelkhoff 786b59b280 Feedback from code reviews 2022-08-11 10:22:42 -05:00
Darin Kelkhoff 0d86327c8d Add apps, recordLabels, field sections 2022-08-09 14:28:56 -05:00
Darin Kelkhoff 45bf0f9100 Mock tests :) 2022-07-26 23:02:05 -05:00
Darin Kelkhoff cabe963655 Fixed import of FormData 2022-07-25 16:20:42 -05:00
Darin Kelkhoff 0ce80ed826 QQQ-28 Updates for bulk processes 2022-07-22 19:27:32 -05:00
Tim Chamberlain 06374110f3 QQQ-30: fixed broken test, upped version 2022-07-12 13:43:45 -05:00
Tim Chamberlain 560e76e285 QQQ-30: irst pass at eslint configuration 2022-07-12 12:01:01 -05:00
Darin Kelkhoff c2f65fd038 QQQ-21 adding processRecords 2022-07-11 11:37:48 -05:00
Tim Chamberlain 2c06d02410 QQQ-21: fixed broken tests 2022-07-08 16:00:49 -05:00
Darin Kelkhoff df324e931c QQQ-21 types & methods for working with async processes 2022-07-08 10:29:57 -05:00
Darin Kelkhoff 237f016c36 QQQ-21 checkpoint - processes WIP 2022-07-06 15:22:48 -05:00
Darin Kelkhoff 30dd56fa60 Adding QProcessMetaData to loadMetaData response (as a QInstance) 2022-07-05 15:34:32 -05:00
Darin Kelkhoff 5972f763ca Checkpoint - typescript types coming out cleanly now from QController 2022-07-05 12:34:39 -05:00
Tim Chamberlain b1c370e9cb ONE-10: added limit to query, added delete functionality, upped version 2022-06-29 10:43:11 -05:00