allan
7511b64523
Merge pull request 'Issue 251' ( #255 ) from issue-251 into main
...
Release / Build-production-and-ng-test (push) Successful in 4m52s
Release / Build-and-test-development (push) Successful in 14m15s
Release / release (push) Successful in 9m11s
Reviewed-on: #255
2026-07-13 16:33:04 +00:00
sead
7b4b4ebeeb
fix(editor): normalise unpadded time strings on spreadsheet import
Build / Build-and-ng-test (pull_request) Successful in 5m24s
Build / Build-and-test-development (pull_request) Successful in 14m38s
Lighthouse Checks / lighthouse (pull_request) Successful in 21m38s
2026-07-13 15:59:52 +02:00
sead
c7ba025d39
fix(hot): row rendering on resize, resolve blank whitespace
2026-07-13 15:28:11 +02:00
sead
b5e9b25319
fix(va): guard deferred contextMenu toggle against destroyed instance
Build / Build-and-ng-test (pull_request) Successful in 4m1s
Build / Build-and-test-development (pull_request) Successful in 10m44s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m5s
2026-07-13 10:12:38 +02:00
sead
82a254d22c
fix(va): enable readOnly and hold filtering while editing
Build / Build-and-ng-test (pull_request) Successful in 3m54s
Build / Build-and-test-development (pull_request) Successful in 10m37s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m0s
2026-07-12 21:16:51 +02:00
sead
0d7fd34297
revert: enable upload button in va mode
...
This reverts commit 1beb3d490d .
2026-07-12 20:33:11 +02:00
sead
1beb3d490d
fix(va): enable Upload button in va mode
Build / Build-and-ng-test (pull_request) Successful in 3m55s
Build / Build-and-test-development (pull_request) Successful in 10m32s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m13s
2026-07-10 15:58:21 +02:00
allan
1fb5e8eb37
chore: fixing header
Lighthouse Checks / lighthouse (pull_request) Has been cancelled
Build / Build-and-ng-test (pull_request) Successful in 4m3s
Build / Build-and-test-development (pull_request) Successful in 10m31s
2026-07-10 12:53:08 +01:00
allan
78dd29ba78
Merge pull request 'feat: adding DC_MAXOBS_WEBVIEW config item, closes #258 ' ( #259 ) from issue258 into issue-251
...
Build / Build-and-ng-test (pull_request) Successful in 4m1s
Lighthouse Checks / lighthouse (pull_request) Has been cancelled
Build / Build-and-test-development (pull_request) Has been cancelled
Reviewed-on: #259
2026-07-10 11:52:24 +00:00
allan
ba7b61082d
feat: adding DC_MAXOBS_WEBVIEW config item, closes #258
Build / Build-and-ng-test (pull_request) Successful in 4m1s
Build / Build-and-test-development (pull_request) Has been cancelled
Lighthouse Checks / lighthouse (pull_request) Successful in 18m17s
2026-07-10 12:45:09 +01:00
Yury
1a9231809e
Merge pull request 'fix(va): date filters refactor, support more dates' ( #257 ) from fix/va-date-parsing into issue-251
...
Build / Build-and-ng-test (pull_request) Successful in 3m56s
Build / Build-and-test-development (pull_request) Successful in 10m33s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m15s
Reviewed-on: #257
Reviewed-by: Yury <yury@4gl.io >
2026-07-10 11:06:19 +00:00
sead
df5c975869
fix(va): date filters refactor, support more dates
Build / Build-and-ng-test (pull_request) Successful in 3m52s
Build / Build-and-test-development (pull_request) Successful in 10m36s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m16s
2026-07-10 10:33:32 +02:00
YuryShkoda
2728dac873
fix: trim leading/trailing whitespace from Excel header cells on upload
...
Build / Build-and-ng-test (pull_request) Successful in 4m2s
Build / Build-and-test-development (pull_request) Successful in 10m45s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m58s
Header matching in searchDataInExcel() was case-insensitive but not
whitespace-tolerant, so a header like " SOME_CHAR" (an easy defect to
pick up via copy-paste from another spreadsheet/system) was reported as
a missing column and aborted the whole upload.
- trim() the cell value before matching, alongside the existing
toLowerCase() normalization
- add spreadsheet-util.spec.ts (no prior spec file existed) covering
the trimmed match and a regression guard that a genuinely different
header is still correctly reported missing
- add a Cypress case + fixture in excel.cy.ts covering the same defect
end to end
2026-07-10 10:07:54 +03:00
YuryShkoda
88f55b9d06
chore(merge): merge origin/issue-251 into issue-251
Build / Build-and-ng-test (pull_request) Successful in 3m52s
Build / Build-and-test-development (pull_request) Successful in 10m21s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m45s
2026-07-09 17:51:49 +03:00
YuryShkoda
301675052f
fix: adapt column validation to vertical-array COLTYPE ( #253 )
...
getdata.sas now sends one COLTYPE JSON-object string per cols[] row (via
a LEFT JOIN on the real dataset's columns) instead of one comma-joined
sasparams.COLTYPE string, avoiding the 32K cats() buffer overflow on
wide tables (#253 ). Adapt the client accordingly:
- parseColTypeRow replaces parseColType; DcValidator builds validation
rules per cols[] entry instead of from sasparams.COLTYPE
- _____DELETE__THIS__RECORD_____'s rule is never present in cols[] (it's
a client-only synthetic column %mp_getcols doesn't know about), so
it's now hardcoded via deleteRecordColumnRule.ts
- cols[] isn't guaranteed to arrive in COLHEADERS/VARNUM order (backend
can serialize it alphabetically by NAME) but editor.component.ts pairs
rules with headers positionally, so DcValidator now sorts cols by
VARNUM before building rules
- update sas/mocks/sasjs getdata.js to the new per-column COLTYPE shape
- add Cypress coverage for the delete-record dropdown and an ordinary
dropdown column end to end
2026-07-09 17:48:33 +03:00
allan
45c434271d
Merge pull request 'Display LABELS instead of column NAMEs #240 ' ( #252 ) from issue240 into issue-251
...
Build / Build-and-ng-test (pull_request) Successful in 4m18s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m44s
Build / Build-and-test-development (pull_request) Successful in 10m34s
Reviewed-on: #252
2026-07-09 09:36:55 +00:00
allan
f523c798c3
Merge branch 'issue-251' into issue240
Build / Build-and-ng-test (pull_request) Successful in 4m12s
Build / Build-and-test-development (pull_request) Successful in 10m44s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m14s
2026-07-09 09:36:38 +00:00
YuryShkoda
41fd618884
chore(merge): merge issue240 into issue-251
...
Brings in the SAS-side fixes for issue #253 (getdata.sas passing
variable formats via a vertical cols.COLTYPE array instead of a
single concatenated sasparams.COLTYPE string, which overflowed SAS's
32K buffer on wide datasets) plus related label/datadictionary fixes.
No client TypeScript files are touched by this merge.
2026-07-09 11:52:37 +03:00
YuryShkoda
f368242cb0
test: fixed viewer-labels.cy.ts
Build / Build-and-ng-test (pull_request) Successful in 4m6s
Build / Build-and-test-development (pull_request) Successful in 10m32s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m34s
2026-07-09 10:11:36 +03:00
YuryShkoda
636e4e5b4a
test: fixed viewer-labels.cy.ts
Build / Build-and-ng-test (pull_request) Successful in 4m1s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m53s
Build / Build-and-test-development (pull_request) Failing after 13m57s
2026-07-09 09:26:03 +03:00
YuryShkoda
49710eb62d
chore: fixed package-lock in client
Build / Build-and-ng-test (pull_request) Successful in 3m55s
Build / Build-and-test-development (pull_request) Failing after 13m51s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m50s
2026-07-09 08:53:00 +03:00
YuryShkoda
25c12f2b18
feat: viewer/editor column label display toggle (?labels=true)
...
Build / Build-and-ng-test (pull_request) Failing after 39s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 54s
Adds a URL-driven toggle (?labels=true, mirroring embed=va) that
swaps grid column headers between NAME and LABEL in both the Viewer
and Editor, with a "Show labels"/"Show names" item in each grid's
right-click context menu. The header-info popup now shows NAME first
regardless of display mode. Sorting/filtering/data binding stay
NAME-based throughout — only the displayed header text changes.
New shared, unit-tested utils (parse-labels-param, display-col-headers,
col-info-html) back both pages. Mock data (viewdata.js, getdata.js)
gains a couple of columns with LABEL != NAME plus a blank-LABEL case,
covered by a new viewer-labels.cy.ts e2e spec now wired into CI.
Also fixes a pre-existing gap in cypress/support/commands.ts: the
isLoggedIn/loginAndUpdateValidKey custom commands had no Cypress
Chainable type augmentation, and moment was imported as a namespace
import despite its `export =` typing making it uncallable that way.
2026-07-08 15:15:28 +03:00
allan
3ba8858260
Merge pull request 'fix: pass variable formats to front-end in a vertical array instead of horizontal list' ( #254 ) from fix/high_column_count_exceeding_maxcharlen into issue240
...
Build / Build-and-ng-test (pull_request) Successful in 3m53s
Build / Build-and-test-development (pull_request) Successful in 9m19s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m9s
Reviewed-on: #254
2026-07-08 10:55:37 +00:00
Trevor Moody
81014001ac
fix: remove coltype from sasparams table, add it to cols table.
Build / Build-and-ng-test (pull_request) Successful in 3m52s
Build / Build-and-test-development (pull_request) Successful in 9m22s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m54s
2026-07-08 03:24:22 +01:00
Trevor Moody
691d6f277e
fix: pass variable formats to front-end in a vertical array instead of horizontal list
2026-07-07 17:24:16 +01:00
allan
e7453a9305
fix: including datadictionary descs in labels, #240
Build / Build-and-ng-test (pull_request) Successful in 3m55s
Build / Build-and-test-development (pull_request) Successful in 9m15s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m48s
2026-07-07 15:30:14 +01:00
YuryShkoda
005b616adb
chore(deps): upgrade Handsontable to v18
...
Bump handsontable and @handsontable/angular-wrapper 17.1 -> 18.0 and
adapt to its stricter TypeScript-core types: moved handsontable/common
and deep walkontable imports to their new public export paths, added
explicit generics/casts where getData()/getCellMeta()/getSelected() are
now typed unknown/nullable instead of the loose v17 shapes, and updated
the AutocompleteEditor override to the new open() signature.
Also allowlists @handsontable/angular-wrapper@18.0.0 and
handsontable@18.0.0 in licenseChecker.js — both versions report the
same non-SPDX "SEE LICENSE IN LICENSE.txt" field that license-checker
mis-resolves as a disallowed custom license, same as prior versions.
2026-07-06 15:44:27 +03:00
allan
0ae1781d28
Merge branch 'main' into issue240
Build / Build-and-ng-test (pull_request) Successful in 4m12s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m17s
Build / Build-and-test-development (pull_request) Successful in 9m23s
2026-07-05 10:51:11 +00:00
allan
fb94840016
fix: backend updates to bring back labels under #240
Build / Build-and-ng-test (pull_request) Successful in 4m11s
Build / Build-and-test-development (pull_request) Successful in 9m31s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m31s
2026-07-05 11:49:36 +01:00
semantic-release-bot
6864c044dc
chore(release): 7.9.1 [skip ci]
...
## [7.9.1](https://git.datacontroller.io/dc/dc/compare/v7.9.0...v7.9.1 ) (2026-06-30)
### Bug Fixes
* workflow file upload using action PAT ([a161670 ](a161670b86 ))
v7.9.1
2026-06-30 07:29:21 +00:00
allan
b30ba3e76b
Merge pull request 'fix: workflow file upload using action PAT' ( #250 ) from workflowfix into main
...
Release / Build-production-and-ng-test (push) Successful in 3m38s
Release / Build-and-test-development (push) Successful in 9m14s
Release / release (push) Successful in 7m4s
Reviewed-on: #250
Reviewed-by: sead <307+sead@noreply.git.datacontroller.io >
2026-06-30 07:12:54 +00:00
allan
a4583f2db0
Merge branch 'main' into workflowfix
Build / Build-and-test-development (pull_request) Has been cancelled
Build / Build-and-ng-test (pull_request) Has been cancelled
Lighthouse Checks / lighthouse (pull_request) Has been cancelled
2026-06-30 07:12:40 +00:00
allan
a161670b86
fix: workflow file upload using action PAT
Build / Build-and-test-development (pull_request) Has been cancelled
Build / Build-and-ng-test (pull_request) Has been cancelled
Lighthouse Checks / lighthouse (pull_request) Has been cancelled
2026-06-30 08:09:39 +01:00
semantic-release-bot
e6cf5a8d25
chore(release): 7.9.0 [skip ci]
...
# [7.9.0](https://git.datacontroller.io/dc/dc/compare/v7.8.2...v7.9.0 ) (2026-06-29)
### Bug Fixes
* allow large retained key values. Closes [#248 ](#248 ). ([6a30de3 ](6a30de37ca ))
* build issues ([#245 ](#245 )) ([77b4bb3 ](77b4bb310e ))
* **ci:** bump Lighthouse to 13.4.0 ([47ba03e ](47ba03ec63 ))
* **dc-validator:** display date/time/datetime cells as raw ISO, locale-independent ([9ca5719 ](9ca57193b4 ))
* **editor:** await dynamic validation on paste; defer spinner ([ea03bde ](ea03bdecc5 ))
* **editor:** cancelEdit will reset cell's valid state ([51071b4 ](51071b463b ))
* **editor:** preserve commas in dropdown source values ([6af49cf ](6af49cf1fd ))
* **editor:** retry initSetup when the Handsontable instance isn't ready ([53b7ee0 ](53b7ee0cb2 ))
* **handsontable:** add exceljs ([38cb1e2 ](38cb1e207b ))
* **handsontable:** horizontal scrollbar in dropdown ([ac0bd10 ](ac0bd10212 ))
* **handsontable:** restore dark mode for v17 ([9d97bf7 ](9d97bf7ea1 ))
* **handsontable:** update licenseChecker exclude buffers - exceljs dep ([12c7d30 ](12c7d30894 ))
* incrementing rk val ([7444209 ](74442096ba ))
* **licensing:** add protocol info ([3668a74 ](3668a7426f )), closes [#178 ](#178 )
* migrate handsontables to v17 ([1b73e35 ](1b73e355b7 ))
* **mocks:** return dynamic cell values as OBJ to match new contract ([a15fdc4 ](a15fdc401e ))
* removing display_value in SAS code ([9b18a45 ](9b18a45d35 ))
* rule_type ([adc6424 ](adc6424211 ))
* sending dynamic_values and dynamic_extended_values back as OBJ instead of ARR ([e859d33 ](e859d3354e ))
* upcasing RAW_VALUE, bumping core, fixing tests ([982d507 ](982d507ae3 ))
* validate pasted values ([b661580 ](b661580c60 ))
* viewLibs now fires only once, libPromise shared between the calls ([dc4e07a ](dc4e07a692 ))
### Features
* **edit-record:** use native date/time/datetime pickers ([2d29346 ](2d29346cbf ))
* **editor:** add READONLY, HIDDEN, ROUND and NUMBER_FORMAT validation rules ([4ea604f ](4ea604f9fb ))
* **editor:** migrate date/time/datetime to HOT 17 Intl cell types ([f70ea2f ](f70ea2fe71 ))
* **editor:** paste-validation overlay with cancel and confirm ([609731f ](609731ff99 ))
* **editor:** SAS VA data-driven content embed mode (?embed=va) ([ffa3ff9 ](ffa3ff9c10 ))
* **editor:** VA embed filter modes with pending UX ([ebe6972 ](ebe6972dd7 ))
* **editor:** validate autofilled cells; fix paste validation lag ([11ee49a ](11ee49a57a ))
* **handsontable:** enable export plugin, add export menu items ([29aaa72 ](29aaa72c60 ))
* migration script for adding new validation rules under [#241 ](#241 ) ([9f84a58 ](9f84a580fb ))
* new validation rules in mpe_selectbox. [#241 ](#241 ) ([2f5d3df ](2f5d3dfc38 ))
### Reverts
* eager-load feature modules instead of lazy-loading ([3429a7a ](3429a7a2a6 ))
* **editor:** DISPLAY_VALUE change ([eb015d7 ](eb015d712b ))
v7.9.0
2026-06-29 18:11:12 +00:00
allan
7ebc26fc7f
chore: pipeline updates for release
Release / Build-production-and-ng-test (push) Successful in 3m34s
Release / Build-and-test-development (push) Successful in 9m13s
Release / release (push) Successful in 7m3s
2026-06-29 18:55:19 +01:00
allan
c9dd933cec
chore: aligning release.yml with build.yml
Release / Build-production-and-ng-test (push) Successful in 3m38s
Release / Build-and-test-development (push) Successful in 9m18s
Release / release (push) Failing after 3m1s
2026-06-29 18:17:18 +01:00
allan
716eba621f
Merge pull request 'Resolve multiple issues' ( #236 ) from 127-235-issues into main
...
Release / Build-production-and-ng-test (push) Failing after 1m19s
Release / Build-and-test-development (push) Has been skipped
Release / release (push) Has been skipped
Reviewed-on: #236
2026-06-29 17:03:54 +00:00
allan
982d507ae3
fix: upcasing RAW_VALUE, bumping core, fixing tests
Build / Build-and-ng-test (pull_request) Successful in 3m52s
Build / Build-and-test-development (pull_request) Successful in 9m18s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m41s
2026-06-29 17:42:05 +01:00
sead
27a12951e3
build(lint): add .prettierignore to client
Build / Build-and-ng-test (pull_request) Successful in 3m54s
Build / Build-and-test-development (pull_request) Successful in 9m22s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m7s
2026-06-29 16:01:35 +02:00
sead
4c8e4ee1b2
build(lint): pin prettier to 3.8.4 in client to stop CI version drift
Build / Build-and-ng-test (pull_request) Failing after 1m35s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 17m35s
2026-06-29 15:08:24 +02:00
sead
a15fdc401e
fix(mocks): return dynamic cell values as OBJ to match new contract
Build / Build-and-ng-test (pull_request) Failing after 1m36s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 17m44s
2026-06-29 14:53:42 +02:00
sead
7019e39318
test(excel): update excel.cy.ts tests to reflect YYYY-MM-DD format
...
Build / Build-and-ng-test (pull_request) Failing after 1m37s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Successful in 17m36s
Ref 9ca5719
2026-06-29 14:40:17 +02:00
sead
9ca57193b4
fix(dc-validator): display date/time/datetime cells as raw ISO, locale-independent
Build / Build-and-ng-test (pull_request) Successful in 3m57s
Build / Build-and-test-development (pull_request) Failing after 9m21s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m42s
2026-06-26 10:03:45 +02:00
sead
175eb9853a
refactor: consume dynamic_values/dynamic_extended_values as typed objects
2026-06-26 09:37:05 +02:00
allan
e859d3354e
fix: sending dynamic_values and dynamic_extended_values back as OBJ instead of ARR
Build / Build-and-ng-test (pull_request) Successful in 3m54s
Build / Build-and-test-development (pull_request) Successful in 9m38s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m44s
2026-06-25 19:17:22 +01:00
allan
adc6424211
fix: rule_type
Build / Build-and-ng-test (pull_request) Successful in 4m1s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m26s
Build / Build-and-test-development (pull_request) Successful in 9m48s
2026-06-25 17:48:52 +01:00
allan
74442096ba
fix: incrementing rk val
Build / Build-and-ng-test (pull_request) Successful in 4m6s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m52s
Build / Build-and-test-development (pull_request) Successful in 10m11s
2026-06-25 17:47:22 +01:00
allan
9f84a580fb
feat: migration script for adding new validation rules under #241
Build / Build-and-ng-test (pull_request) Successful in 4m5s
Lighthouse Checks / lighthouse (pull_request) Successful in 18m31s
Build / Build-and-test-development (pull_request) Successful in 10m2s
2026-06-25 17:46:16 +01:00
allan
2f5d3dfc38
feat: new validation rules in mpe_selectbox. #241
2026-06-25 17:40:59 +01:00
allan
9b18a45d35
fix: removing display_value in SAS code
Build / Build-and-ng-test (pull_request) Successful in 3m54s
Build / Build-and-test-development (pull_request) Successful in 9m39s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m49s
2026-06-25 17:24:35 +01:00