Compare commits

..

2339 Commits

Author SHA1 Message Date
Dominique Eifländer
f182be3db0 Merge branch 'RED10758' into 'master'
RED-10758: Fix remove and recategorize request in applicationType DocuMine

See merge request redactmanager/red-ui!767
2025-01-29 09:30:57 +01:00
Rosario Allegro
81a32f6d58 RED-10758: Fix remove and recategorize request in applicationType DocuMine 2025-01-28 15:34:17 +01:00
Dan Percic
82552b1748 Merge branch 'VM/RED-9580' into 'master'
RED-9580 - added getOne method for stats service to call new users stats...

Closes RED-9580

See merge request redactmanager/red-ui!765
2024-12-13 11:29:39 +01:00
Valentin Mihai
af7a45d739 RED-9580 - added getOne method for stats service to call new users stats endpoint and updated data from "delete user dialog" with new backend data 2024-12-13 12:03:17 +02:00
Valentin-Gabriel Mihai
21013a6fe5 Merge branch 'RED-9885' into 'master'
RED-9885: fixed resize bar behavior & style.

See merge request redactmanager/red-ui!764
2024-12-12 18:13:07 +01:00
Nicoleta Panaghiu
c81ad67844 RED-9885: fixed resize bar behavior & style. 2024-12-12 17:47:56 +02:00
Valentin-Gabriel Mihai
13797f1fb3 Merge branch 'RED-10030' into 'master'
RED-10030: persist the keyColumn value even if csv mapping is disabled.

See merge request redactmanager/red-ui!763
2024-12-12 15:48:47 +01:00
Nicoleta Panaghiu
ef5cd39b16 RED-10030: persist the keyColumn value even if csv mapping is disabled. 2024-12-12 15:59:36 +02:00
Valentin-Gabriel Mihai
e133e944e3 Merge branch 'RED-10589' into 'master'
RED-10589 -  removed file workload from workflow item on documine.

See merge request redactmanager/red-ui!762
2024-12-12 09:34:31 +01:00
Nicoleta Panaghiu
2ffb5bbb63 RED-10589 - removed file workload from workflow item on documine. 2024-12-12 10:30:56 +02:00
Valentin Mihai
0f16644944 Merge branch 'master' into VM/RED-9580 2024-12-11 19:24:25 +02:00
Nicoleta Panaghiu
0b41159ee4 Merge branch 'VM/RED-10301' into 'master'
RED-10301 - set app type config vars based existing tenants from local storage...

Closes RED-10301

See merge request redactmanager/red-ui!761
2024-12-11 17:30:06 +01:00
Valentin Mihai
2a78aea898 RED-10301 - set app type config vars based existing tenants from local storage or used default config if no tenant was set before 2024-12-11 18:27:56 +02:00
Valentin-Gabriel Mihai
4c5face779 Merge branch 'RED-10647' into 'master'
RED-10647: fixed documine helpmode links.

See merge request redactmanager/red-ui!760
2024-12-11 17:15:10 +01:00
Nicoleta Panaghiu
b3a8a8d30c RED-10647: fixed documine helpmode links. 2024-12-11 18:09:56 +02:00
Valentin-Gabriel Mihai
7836750171 Merge branch 'RED-10659' into 'master'
RED-10659: implemented filtering, sorted filters and added search.

See merge request redactmanager/red-ui!759
2024-12-11 16:15:02 +01:00
Nicoleta Panaghiu
ef9d3d2e8f RED-10659: implemented filtering, sorted filters and added search. 2024-12-11 17:10:29 +02:00
Dan Percic
3ca846b2c2 Merge branch 'blah' into 'master'
skip quality gate?

See merge request redactmanager/red-ui!758
2024-12-11 10:09:52 +01:00
Dan Percic
ae7b68bc16 skip quality gate? 2024-12-11 11:07:42 +02:00
Dan Percic
3150134e65 Merge branch 'RED-9856' into 'master'
Resolve RED-9856

Closes RED-9856

See merge request redactmanager/red-ui!757
2024-12-10 18:25:07 +01:00
Nicoleta Panaghiu
b552628b43 RED-9856: implemented revert-changes feature. 2024-12-10 17:58:32 +02:00
Nicoleta Panaghiu
9b3eb4702b RED-9856: class rename. 2024-12-10 17:13:19 +02:00
Nicoleta Panaghiu
52fa98f918 RED-9856: wip; save this for future purposes. 2024-12-10 17:13:19 +02:00
Nicoleta Panaghiu
1d874f37b2 Merge branch 'VM/RED-10627' into 'master'
RED-10627 - updated re processing required color

Closes RED-10627

See merge request redactmanager/red-ui!756
2024-12-10 16:09:03 +01:00
Valentin Mihai
582ba6023e RED-10627 - updated re processing required color 2024-12-10 17:06:55 +02:00
Nicoleta Panaghiu
fbcb522b43 Merge branch 'VM/RED-7772' into 'master'
RED-7772 - shown 'is processing' icon for OCR_PROCESSING_QUEUED status

Closes RED-7772

See merge request redactmanager/red-ui!755
2024-12-10 15:31:59 +01:00
Valentin Mihai
1d3096d82c RED-7772 - shown 'is processing' icon for OCR_PROCESSING_QUEUED status 2024-12-10 16:28:43 +02:00
Valentin-Gabriel Mihai
43ea2e7857 Merge branch 'RED-10614' into 'master'
RED-10614: added missing comma.

See merge request redactmanager/red-ui!754
2024-12-09 17:21:19 +01:00
Nicoleta Panaghiu
92038a1949 RED-10614: added missing comma. 2024-12-09 18:18:49 +02:00
Christoph Schabert
a323ddd5dd add sonar-project props 2024-12-09 15:23:59 +01:00
Christoph Schabert
e70cdd4cc5 Update .gitlab-ci.yml file 2024-12-09 15:21:24 +01:00
Nicoleta Panaghiu
427a81cff6 Merge branch 'release/4.839.x' into 'master'
Add websockets to handle annotations & rules

See merge request redactmanager/red-ui!753
2024-12-09 13:38:42 +01:00
Dan Percic
4933c7a678 RED-9582 finish copilot 2024-12-09 14:37:02 +02:00
Dan Percic
8ee2ec5749 Merge branch 'VM/RED-10575' into 'master'
RED-10575 - added 40px between processing bar and read-only icon

Closes RED-10575

See merge request redactmanager/red-ui!752
2024-12-09 12:07:33 +01:00
Valentin Mihai
ce4216e56c RED-10575 - added 40px between processing bar and read-only icon 2024-12-09 12:47:55 +02:00
Dan Percic
a3526d338f Merge master 2024-12-09 11:33:19 +02:00
Dan Percic
65041f77c3 Merge branch 'nicoleta' into 'master'
RED-3800: fixed sass breaking changes; removed unused imports.

See merge request redactmanager/red-ui!751
2024-12-09 10:28:19 +01:00
Dan Percic
4206993c72 Merge branch 'RED-10512' into 'master'
RED-10512: fixed file attribute text selection.

See merge request redactmanager/red-ui!750
2024-12-09 10:27:29 +01:00
Nicoleta Panaghiu
a7d8dc6a66 RED-3800: fixed sass breaking changes; removed unused imports. 2024-12-09 10:53:04 +02:00
Nicoleta Panaghiu
56bdf1bc4d RED-10512: fixed file attribute text selection. 2024-12-07 11:59:51 +02:00
Dan Percic
acb009a909 Merge branch 'VM/RED-10634' into 'master'
RED-10634 - closed "edit component view" when component is deleted

Closes RED-10634

See merge request redactmanager/red-ui!749
2024-12-06 19:43:46 +01:00
Valentin Mihai
96532fa61e RED-10634 - closed "edit component view" when component is deleted 2024-12-06 20:33:31 +02:00
Dan Percic
eed7f1917e Merge branch 'master' into release/4.839.x 2024-12-06 20:18:56 +02:00
Valentin-Gabriel Mihai
51b99089e4 Merge branch 'RED-10614' into 'master'
RED-10614: fixed UI not loading.

See merge request redactmanager/red-ui!748
2024-12-06 18:31:33 +01:00
Nicoleta Panaghiu
118e35e897 RED-10614: fixed UI not loading. 2024-12-06 19:26:40 +02:00
Dan Percic
b9197b1eb3 Merge remote-tracking branch 'origin/master' into release/4.839.x 2024-12-05 13:37:08 +02:00
Nicoleta Panaghiu
568bb696a7 Merge branch 'ng-updates' into 'master'
Ng 19

See merge request redactmanager/red-ui!747
2024-12-05 11:52:34 +01:00
Dan Percic
43616297c8 lint 2024-12-05 12:51:00 +02:00
Dan Percic
51801a03a0 update other deps 2024-12-05 12:50:21 +02:00
Dan Percic
59254c0294 ng 19 2024-12-05 11:46:40 +02:00
Dan Percic
61b238d511 Merge branch 'VM/RED-10593' into 'master'
RED-10593 - when legalBasisValue = 'n-a' set empty string as param to not...

Closes RED-10593

See merge request redactmanager/red-ui!746
2024-12-05 10:35:25 +01:00
Dan Percic
d5ca5331a7 Merge branch 'VM/RED-10587' into 'master'
RED-10587 - Add auto new line for edit-component textfield

Closes RED-10587

See merge request redactmanager/red-ui!745
2024-12-05 10:34:59 +01:00
Dan Percic
8f72d8608b Merge branch 'VM/RED-9585' into 'master'
RED-9585 - set count param for user roles translations to 1 to not be...

Closes RED-9585

See merge request redactmanager/red-ui!744
2024-12-05 10:20:28 +01:00
Valentin Mihai
425f3da9d4 RED-10587 - Add auto new line for edit-component textfield 2024-12-04 20:05:43 +02:00
Valentin Mihai
34dc025b79 RED-10593 - when legalBasisValue = 'n-a' set empty string as param to not display "Annotation based on rule n-a" 2024-12-04 19:04:25 +02:00
Valentin Mihai
b2f8cda99b RED-9585 - set count param for user roles translations to 1 to not be automatically used the plural form when it is undefined 2024-12-04 18:33:58 +02:00
Nicoleta Panaghiu
dd1e0c672b Merge branch 'VM/RED-9585' into 'master'
RED-9585 - set count param for user roles translations

Closes RED-9585

See merge request redactmanager/red-ui!743
2024-12-04 16:59:57 +01:00
Valentin Mihai
0e3cf56034 RED-9585 - set count param for user roles translations 2024-12-04 17:58:45 +02:00
Valentin Mihai
bfe409305c RED-9580 - use new user stats endpoint for everything related to User Management 2024-12-04 15:47:30 +02:00
Valentin-Gabriel Mihai
b225917a51 Merge branch 'RED-10592' into 'master'
RED-10592: fixed listener to esc key in pdf viewer.

See merge request redactmanager/red-ui!742
2024-12-04 12:09:28 +01:00
Nicoleta Panaghiu
5359f5aca9 RED-10592: fixed listener to esc key in pdf viewer. 2024-12-04 13:07:50 +02:00
Dan Percic
1d2f450ba4 Merge branch 'VM/RED-10554' into 'master'
RED-10554 - stopped event propagation when click on download component button

Closes RED-10554

See merge request redactmanager/red-ui!741
2024-12-04 10:40:20 +01:00
Dan Percic
4aa03ba3c5 Merge branch 'VM/RED-10575' into 'master'
RED-10575 - hid the "read only" text when file is in processing state

Closes RED-10575

See merge request redactmanager/red-ui!740
2024-12-04 10:39:54 +01:00
Dan Percic
118e34b380 Merge branch 'VM/RED-10600' into 'master'
RED-10600 - updated can assign reviewer logic when file is set to done to...

Closes RED-10600

See merge request redactmanager/red-ui!739
2024-12-04 10:39:30 +01:00
Dan Percic
ff3c5768c6 Merge branch 'VM/RED-9585' into 'master'
RED-9585 - updated translation param

Closes RED-9585

See merge request redactmanager/red-ui!738
2024-12-04 10:39:11 +01:00
Valentin Mihai
f293eefe8c RED-10554 - stopped event propagation when click on download component button 2024-12-04 11:25:42 +02:00
Valentin Mihai
49c59897bf RED-10575 - hid the "read only" text when file is in processing state 2024-12-03 23:26:33 +02:00
Valentin Mihai
0e53484b62 RED-10600 - updated can assign reviewer logic when file is set to done to assign user when is moved back to "in review" 2024-12-03 20:13:43 +02:00
Valentin Mihai
842bd4e251 RED-9585 - updated translation param 2024-12-03 17:30:58 +02:00
Dan Percic
003817ed9d Merge branch 'VM/RED-10301' into 'master'
RED-10301 - Use RM/DM UI depending on application type of tenant

Closes RED-10301

See merge request redactmanager/red-ui!737
2024-12-03 13:15:23 +01:00
Valentin Mihai
fb68e63bd0 Merge branch 'master' into VM/RED-10301 2024-12-03 12:39:06 +02:00
Valentin Mihai
e6a03c3b30 RED-10301 - update common ui (lint fix) 2024-12-03 12:38:13 +02:00
Valentin Mihai
fb8b3a3b09 RED-10301 - Use RM/DM UI depending on application type of tenant 2024-12-03 12:36:26 +02:00
Valentin-Gabriel Mihai
43fd966bf1 Merge branch 'RED-10531' into 'master'
RED-10531: disabled more buttons for file with error state.

See merge request redactmanager/red-ui!736
2024-11-29 13:14:16 +01:00
Nicoleta Panaghiu
315fa5a440 RED-10531: disabled more buttons for file with error state. 2024-11-29 14:12:14 +02:00
Valentin-Gabriel Mihai
3be593f464 Merge branch 'RED-10563' into 'master'
RED-10563: fixed key actions not prevented when input is focused.

See merge request redactmanager/red-ui!735
2024-11-29 11:40:02 +01:00
Nicoleta Panaghiu
8c47a8b758 RED-10563: grouped key events and extracted the target check. 2024-11-29 12:38:17 +02:00
Nicoleta Panaghiu
5515a5b4d6 RED-10563: fixed key actions not prevented when input is focused. 2024-11-29 12:27:59 +02:00
Valentin-Gabriel Mihai
cee0a92430 Merge branch 'RED-3800' into 'master'
RED-3800: localazy manual sync for redact.

See merge request redactmanager/red-ui!734
2024-11-29 10:11:04 +01:00
Nicoleta Panaghiu
ddc163f286 RED-3800: localazy manual sync for redact. 2024-11-29 11:09:53 +02:00
Valentin-Gabriel Mihai
81ce0bc708 Merge branch 'RED-10314' into 'master'
RED-10314: added missing help mode toggles and keys in dialogs.

See merge request redactmanager/red-ui!733
2024-11-28 17:35:54 +01:00
Nicoleta Panaghiu
29c870631b RED-10314: added missing help mode toggles and keys in dialogs. 2024-11-28 18:32:17 +02:00
Valentin-Gabriel Mihai
261674339a Merge branch 'RED-10563' into 'master'
RED-10563: fixed pdf search input.

See merge request redactmanager/red-ui!732
2024-11-28 15:26:39 +01:00
Nicoleta Panaghiu
bfb418fdfd RED-10563: fixed pdf search input. 2024-11-28 16:24:58 +02:00
Valentin-Gabriel Mihai
5c8c191151 Merge branch 'RED-3800' into 'master'
RED-3800: redact manager localazy manual sync.

See merge request redactmanager/red-ui!731
2024-11-28 10:14:52 +01:00
Nicoleta Panaghiu
9e558944d1 RED-3800: redact manager localazy manual sync. 2024-11-28 11:10:00 +02:00
Valentin-Gabriel Mihai
d8134f6d42 Merge branch 'RED-10531' into 'master'
RED-10531: enable assignToSelf on error files; display assignee.

See merge request redactmanager/red-ui!730
2024-11-28 09:57:19 +01:00
Nicoleta Panaghiu
aa3ae524f4 RED-10531: enable assignToSelf on error files; display assignee. 2024-11-27 20:18:15 +02:00
Valentin-Gabriel Mihai
cd2b12c35a Merge branch 'RED-10517' into 'master'
RED-10517: disabled scrolling for select all annotations.

See merge request redactmanager/red-ui!729
2024-11-27 16:14:42 +01:00
Nicoleta Panaghiu
b7e1e5764e RED-10517: disabled scrolling for select all annotations. 2024-11-27 16:54:04 +02:00
Valentin-Gabriel Mihai
9ef4ba4af5 Merge branch 'RED-9885' into 'master'
Resolve RED-9885

Closes RED-9885

See merge request redactmanager/red-ui!728
2024-11-27 15:36:10 +01:00
Nicoleta Panaghiu
86deaceade RED-9885: removed unused class, reset the config file to redact. 2024-11-27 16:31:58 +02:00
Nicoleta Panaghiu
fd76d110d4 RED-9885: implemented resize file-preview components. 2024-11-27 16:28:47 +02:00
Nicoleta Panaghiu
21f67651ff Merge branch 'master' into RED-9885 2024-11-27 16:23:53 +02:00
Nicoleta Panaghiu
0cf22e96bc Merge branch 'VM/RED-10373' into 'master'
RED-10373 - fixed bulk remove for multiple text redactions by splitting them...

Closes RED-10373

See merge request redactmanager/red-ui!727
2024-11-26 11:49:23 +01:00
Valentin Mihai
86eeab5e69 RED-10373 - fixed bulk remove for multiple text redactions by splitting them into multiple requests as bulk endpoint do not support a list of redactions 2024-11-26 12:44:24 +02:00
Nicoleta Panaghiu
e8c98be687 RED-9885 - wip 2024-11-25 18:19:43 +02:00
Dan Percic
bf04423524 Merge branch 'RED-10528' into 'master'
RED-10528: added support for F5 when the pdf viewer is focused.

See merge request redactmanager/red-ui!726
2024-11-25 14:58:27 +01:00
Nicoleta Panaghiu
25df51af78 RED-10528: added support for F5 when the pdf viewer is focused. 2024-11-25 15:55:49 +02:00
Nicoleta Panaghiu
6ef4b981fc Merge branch 'RED-10484' into 'master'
RED-10484: conditionally hide value placeholder.

See merge request redactmanager/red-ui!725
2024-11-25 14:45:10 +01:00
Nicoleta Panaghiu
4bd13949f6 RED-10484: conditionally hide value placeholder. 2024-11-25 14:55:32 +02:00
Dan Percic
5fea526d6c Merge branch 'RED-10426' into 'master'
RED-10426: rewrote sorting considering given point as bottom left.

See merge request redactmanager/red-ui!724
2024-11-25 13:54:03 +01:00
Nicoleta Panaghiu
0b367efa27 RED-10426: rewrote sorting considering given point as bottom left. 2024-11-25 14:28:48 +02:00
Dan Percic
8d60e8d864 Merge branch 'RED-10509' into 'master'
RED-10509: disabled stopPropagation on documine .

See merge request redactmanager/red-ui!723
2024-11-25 10:47:12 +01:00
Nicoleta Panaghiu
047a599809 RED-10509: disabled stopPropagation on documine . 2024-11-25 11:03:52 +02:00
Valentin-Gabriel Mihai
44d361b658 Merge branch 'RED-10509' into 'master'
RED-10509: disabled stopPropagation when editing file attribute.

See merge request redactmanager/red-ui!722
2024-11-24 13:05:48 +01:00
Nicoleta Panaghiu
780976243a RED-10509: disabled stopPropagation when editing file attribute. 2024-11-24 13:46:05 +02:00
Nicoleta Panaghiu
820dab3bfb Merge branch 'VM/RED-10504' into 'master'
RED-10504 - displayed all file annotations on documine when devMode is active...

Closes RED-10504

See merge request redactmanager/red-ui!721
2024-11-24 11:19:09 +01:00
Valentin Mihai
67020213ed RED-10504 - displayed all file annotations on documine when devMode is active and removed page filtering 2024-11-23 19:42:31 +02:00
Valentin-Gabriel Mihai
13e019b5e5 Merge branch 'RED-10515' into 'master'
RED-10515: fixed multi select for hidden annotations.

See merge request redactmanager/red-ui!720
2024-11-22 14:50:25 +01:00
Nicoleta Panaghiu
78c8dcb8e6 RED-10515: fixed multi select for hidden annotations. 2024-11-22 15:49:04 +02:00
Valentin-Gabriel Mihai
db90ae538e Merge branch 'RED-10498' into 'master'
RED-10498: included RED_ADMIN permission requirement.

See merge request redactmanager/red-ui!719
2024-11-22 11:33:17 +01:00
Nicoleta Panaghiu
97484c5f1a RED-10498: included RED_ADMIN permission requirement. 2024-11-22 12:31:08 +02:00
Nicoleta Panaghiu
1f6bdc30c8 Merge branch 'RED-10443-update' into 'master'
RED-10443 - 500 Error occurs when selecting ISO-8859-1 as Encoding Type for...

Closes RED-10443

See merge request redactmanager/red-ui!718
2024-11-22 10:30:10 +01:00
corinaolariu
19dd650510 RED-10443 - 500 Error occurs when selecting ISO-8859-1 as Encoding Type for any CSV File Format - update
- update also the key ISO encoding to ISO-8859-1
2024-11-22 11:18:38 +02:00
Corina Olariu
72d57ca342 Merge branch 'RED-10443' into 'master'
RED-10443 - 500 Error occurs when selecting ISO-8859-1 as Encoding Type for any CSV File Format

Closes RED-10443

See merge request redactmanager/red-ui!714
2024-11-22 08:16:57 +01:00
Valentin-Gabriel Mihai
fc3258ad9a Merge branch 'RED-10148' into 'master'
RED-10148: fixed text selection; implemented key listener for shift.

See merge request redactmanager/red-ui!717
2024-11-21 17:14:30 +01:00
Nicoleta Panaghiu
2632675cbe RED-10148: fixed text selection; implemented key listener for shift. 2024-11-21 18:12:45 +02:00
Valentin-Gabriel Mihai
b7c820e87c Merge branch 'RED-10405' into 'master'
RED-10405 - fixed toggle disabled state.

See merge request redactmanager/red-ui!716
2024-11-21 16:32:45 +01:00
Nicoleta Panaghiu
3578ed8512 RED-10405 - fixed toggle disabled state. 2024-11-21 17:29:18 +02:00
Valentin-Gabriel Mihai
7c719b4d26 Merge branch 'RED-10484' into 'master'
RED-10484: removed multiplePages option for imported rectangles.

See merge request redactmanager/red-ui!713
2024-11-21 13:49:21 +01:00
Nicoleta Panaghiu
4e3de53e45 RED-10484: removed multiplePages option for imported rectangles. 2024-11-21 14:47:52 +02:00
corinaolariu
13cba9831c RED-10443 - 500 Error occurs when selecting ISO-8859-1 as Encoding Type for any CSV File Format
- update the value of ISO encoding to ISO-8859-1
2024-11-21 14:47:26 +02:00
Nicoleta Panaghiu
c02863b079 Merge branch 'VM/RED-10483' into 'master'
RED-10483 - stop making additional dossier requests which leads to "Dossier...

Closes RED-10483

See merge request redactmanager/red-ui!712
2024-11-21 10:35:55 +01:00
Valentin Mihai
27e64380b0 RED-10483 - stop making additional dossier requests which leads to "Dossier not found" error when dossier is already deleted 2024-11-21 11:34:00 +02:00
Valentin-Gabriel Mihai
2699b36ab0 Merge branch 'RED-10498' into 'master'
RED-10498 - added the locked rules indicator; implemented the reset

See merge request redactmanager/red-ui!711
2024-11-20 16:28:02 +01:00
Nicoleta Panaghiu
420c59a862 RED-10498 - added the locked rules indicator; implemented the reset 2024-11-20 17:15:15 +02:00
Nicoleta Panaghiu
5ece842b2c Merge branch 'VM/RED-10396' into 'master'
RED-10396 - undefined checks

Closes RED-10396

See merge request redactmanager/red-ui!710
2024-11-20 14:12:07 +01:00
Maverick Studer
6f77cef2ab Merge branch 'feature/RED-10115' into 'master'
RED-10115: Refactoring of justifications

Closes RED-10115

See merge request redactmanager/red-ui!703
2024-11-20 10:38:28 +01:00
Maverick Studer
54b59ab90c RED-10115: Refactoring of justifications 2024-11-20 10:38:27 +01:00
Valentin Mihai
01fb7f0a1a RED-10396 - undefined checks 2024-11-20 10:01:17 +02:00
Valentin-Gabriel Mihai
d7586c2705 Merge branch 'RED-10363' into 'master'
RED-10363: check for rules on analysis btn click; refactor to signals.

See merge request redactmanager/red-ui!709
2024-11-19 17:22:09 +01:00
Nicoleta Panaghiu
b00ff1186d RED-10363: check for rules on analysis btn click; refactor to signals. 2024-11-19 18:05:07 +02:00
Dan Percic
9bea3c487a Merge branch 'VM/RED-10491' into 'master'
RED-10491 - updated view mode when page is changed

Closes RED-10491

See merge request redactmanager/red-ui!707
2024-11-19 09:12:39 +01:00
Valentin Mihai
2b2c72fe04 RED-10491 - updated view mode when page is changed 2024-11-18 20:44:45 +02:00
Nicoleta Panaghiu
edadf1ea41 Merge branch 'VM/RED-9996' into 'master'
RED-9996 - pre-filter available annotation filter types in new DocuMine component view

Closes RED-9996

See merge request redactmanager/red-ui!706
2024-11-18 17:26:16 +01:00
Valentin Mihai
c8e5752395 WIP on master
RED-9996 - pre-filter available annotation filter types in new DocuMine component view
2024-11-18 18:20:57 +02:00
Valentin-Gabriel Mihai
bac2d96605 Merge branch 'RED-10426' into 'master'
RED-10426: implemented another method of sorting rectangles.

See merge request redactmanager/red-ui!705
2024-11-18 17:07:50 +01:00
Nicoleta Panaghiu
063d40f845 RED-10426: implemented another method of sorting rectangles. 2024-11-18 17:31:25 +02:00
Dan Percic
881ad3a110 Merge branch 'RED-10405' into 'master'
RED-10405: removed locked rules pending type and fixed pending count.

See merge request redactmanager/red-ui!704
2024-11-18 11:07:24 +01:00
Nicoleta Panaghiu
c248f55fbd RED-10405: removed locked rules pending type and fixed pending count. 2024-11-18 11:39:35 +02:00
Dan Percic
2501bf5d56 Merge branch 'RED-10363' into 'master'
RED-10363: fixed cosmetical issue, added tooltips to and disabled btns.

See merge request redactmanager/red-ui!702
2024-11-14 10:08:38 +01:00
Dan Percic
48c8613f9b Merge branch 'VM/RED-10460' into 'master'
RED-10460 - enable switching the language in Edit Profile page in non-dev mode

Closes RED-10460

See merge request redactmanager/red-ui!701
2024-11-14 10:08:14 +01:00
Dan Percic
b26053efa4 Merge branch 'VM/RED-10461' into 'master'
RED-10461 - updated message when upload a zip file

Closes RED-10461

See merge request redactmanager/red-ui!700
2024-11-14 10:07:27 +01:00
Nicoleta Panaghiu
32ef5393e2 RED-10363: fixed cosmetical issue, added tooltips to and disabled btns. 2024-11-14 11:04:10 +02:00
Valentin Mihai
abc54fae4f RED-10460 - enable switching the language in Edit Profile page in non-dev mode 2024-11-13 21:51:16 +02:00
Valentin Mihai
d094001792 RED-10461 - updated message when upload a zip file 2024-11-13 20:29:55 +02:00
Valentin-Gabriel Mihai
573e1f3865 Merge branch 'RED-10405' into 'master'
RED-10405: check if file isError, indent pending type, remove unknown.

See merge request redactmanager/red-ui!698
2024-11-13 18:43:38 +01:00
Nicoleta Panaghiu
d99f96b079 RED-10405: check if file isError, indent pending type, remove unknown. 2024-11-13 15:06:34 +02:00
Dan Percic
4b68708624 Merge branch 'RED-10397' into 'master'
RED-10397: changed the active state for redacted btn; hid rectangle btn.

See merge request redactmanager/red-ui!697
2024-11-13 12:43:18 +01:00
Nicoleta Panaghiu
7e764cdf62 RED-10397: changed the active state for redacted btn; hid rectangle btn. 2024-11-13 13:35:33 +02:00
Nicoleta Panaghiu
32dd6e6ced Merge branch 'VM/RED-10453' into 'master'
RED-10453 - reload file or files (bulk case) after approval request

Closes RED-10453

See merge request redactmanager/red-ui!696
2024-11-13 10:43:01 +01:00
Valentin Mihai
fb9242f637 RED-10453 - reload file or files (bulk case) after approval request 2024-11-13 11:28:41 +02:00
Dan Percic
acf4a4f4d7 Merge branch 'RED-10405' into 'master'
RED-10405: added labels and filtering for separate file pending types.

See merge request redactmanager/red-ui!695
2024-11-13 09:38:33 +01:00
Nicoleta Panaghiu
260a53aaf1 RED-10405: added labels and filtering for separate file pending types. 2024-11-13 10:29:34 +02:00
Dan Percic
42d4829f2e Merge branch 'VM/RED-10332' into 'master'
RED-10332 - fixed dictionary dropdown that did not update when another dossier...

Closes RED-10332

See merge request redactmanager/red-ui!694
2024-11-13 08:29:21 +01:00
Valentin Mihai
6ac6f0a441 RED-10332 - fixed dictionary dropdown that did not update when another dossier template was selected 2024-11-12 22:10:05 +02:00
Dan Percic
54ad666355 Merge branch 'VM/RED-10373' into 'master'
RED-10373 - remove redaction dialog updates to be able to create multiple bulk...

Closes RED-10373

See merge request redactmanager/red-ui!693
2024-11-12 16:52:58 +01:00
Valentin Mihai
43f4cc6c9e RED-10373 - remove redaction dialog updates to be able to create multiple bulk requests for rectangle annotations 2024-11-12 17:25:59 +02:00
Dan Percic
6219ceb0a2 Merge branch 'RED-10440' into 'master'
RED-10440: map redacted image hints to redaction.

See merge request redactmanager/red-ui!692
2024-11-12 13:00:57 +01:00
Nicoleta Panaghiu
725c99211b RED-10440: map redacted image hints to redaction. 2024-11-12 13:51:35 +02:00
Dan Percic
bcf29eea45 Merge branch 'RED-10363' into 'master'
RED-10363: fixed distinctUntilChanged comparator.

See merge request redactmanager/red-ui!691
2024-11-12 12:17:56 +01:00
Nicoleta Panaghiu
0d4546bb9e RED-10363: fixed distinctUntilChanged comparator. 2024-11-12 12:55:20 +02:00
Dan Percic
e4ce12057b Merge branch 'nicoleta' into 'master'
RED-3800: fixed generic errors.

See merge request redactmanager/red-ui!690
2024-11-12 11:29:03 +01:00
Nicoleta Panaghiu
19ecd12c5f RED-3800: fixed generic errors. 2024-11-12 12:23:18 +02:00
Dan Percic
b96e55f42c Merge branch 'VM/RED-10396' into 'master'
RED-10396 - fixed current page active annotations re evaluation when they are updated

Closes RED-10396

See merge request redactmanager/red-ui!689
2024-11-12 09:41:59 +01:00
Valentin Mihai
31d4018698 RED-10396 - fixed current page active annotations re evaluation when they are updated 2024-11-12 10:37:13 +02:00
Valentin Mihai
ef26003755 RED-10396 - fixed current page active annotations re evaluation when they are updated 2024-11-11 20:50:04 +02:00
Dan Percic
931d311281 Merge branch 'RED-10440' into 'master'
RED-10440: fixed redacted image hint display color.

See merge request redactmanager/red-ui!688
2024-11-11 16:05:38 +01:00
Nicoleta Panaghiu
01eda98415 RED-10440: fixed redacted image hint display color. 2024-11-11 16:47:08 +02:00
Nicoleta Panaghiu
1b0fe9d352 Merge branch 'VM/RED-10339' into 'master'
RED-10339 - Secondary Save button in redaction dialogs to store selected option as default

Closes RED-10339

See merge request redactmanager/red-ui!687
2024-11-11 14:52:12 +01:00
Valentin Mihai
f31db95241 RED-10339 - Secondary Save button in redaction dialogs to store selected option as default 2024-11-11 15:44:37 +02:00
Dan Percic
ebedde5ed6 Merge branch 'RED-10420' into 'master'
RED-10420: prevent page refresh by using stop propagation.

See merge request redactmanager/red-ui!686
2024-11-11 14:30:04 +01:00
Nicoleta Panaghiu
8e2ab6c2c4 RED-10420: prevent page refresh by using stop propagation. 2024-11-11 15:01:52 +02:00
Dan Percic
e1308b6fd5 Merge branch 'RED-10422' into 'master'
RED-10422 - improved number of requests with help of new changes endpoint

Closes RED-10422

See merge request redactmanager/red-ui!683
2024-11-11 13:05:07 +01:00
Dan Percic
a5b3caea11 Merge branch 'RED-10427' into 'master'
RED-10427: send rectangle updated value for edit on multiple pages.

See merge request redactmanager/red-ui!685
2024-11-11 13:04:48 +01:00
Nicoleta Panaghiu
de1495ee2e RED-10427: send rectangle updated value for edit on multiple pages. 2024-11-11 14:01:28 +02:00
Dan Percic
7a78dd6547 Merge branch 'RED-10363' into 'master'
RED-10363: disable analysis button when rules are locked.

See merge request redactmanager/red-ui!684
2024-11-11 12:46:40 +01:00
Nicoleta Panaghiu
8cdb869a10 RED-10363: disable analysis button when rules are locked. 2024-11-11 12:23:47 +02:00
Dan Percic
f5639ec79d Merge branch 'VM/RED-10332' into 'master'
RED-10332 - Dossier Template not changeable when comparing dossier...

Closes RED-10332

See merge request redactmanager/red-ui!491
2024-11-08 16:08:36 +01:00
Dan Percic
3d31728194 Merge branch 'RED-10426' into 'master'
RED-10426: sort annotations according to visual alignment.

See merge request redactmanager/red-ui!490
2024-11-08 16:08:09 +01:00
Valentin Mihai
a996eaf53c Merge branch 'master' into VM/RED-10332 2024-11-08 17:06:53 +02:00
Valentin Mihai
f0b6cf9712 WIP on VM/RED-10332
RED-10332 - Dossier Template not changeable when comparing dossier dictionaries in Edit dossier modal
2024-11-08 17:06:29 +02:00
Nicoleta Panaghiu
470685a94f RED-10426: sort annotations according to visual alignment. 2024-11-08 17:01:41 +02:00
Dan Percic
c10b2c49b5 Merge branch 'VM/RED-9585' into 'master'
RED-9585 - Incorrect capitalization in German translation + missing singular/plural distinction

Closes RED-9585

See merge request redactmanager/red-ui!489
2024-11-08 13:12:15 +01:00
Valentin Mihai
f1aa0e4817 RED-9585 - Incorrect capitalization in German translation + missing singular/plural distinction 2024-11-08 13:39:20 +02:00
Valentin Mihai
82e31fffd8 RED-10332 - Dossier Template not changeable when comparing dossier dictionaries in Edit dossier modal 2024-11-08 13:27:37 +02:00
Timo Bejan
cdc5d2ee6c RED-10422 - improved number of requests with help of new changes endpoint 2024-11-07 15:41:33 +02:00
Dan Percic
3d26a73b05 Merge branch 'RED-10423' into 'master'
RED-10423: fixed multiple pages rectangle remove action.

See merge request redactmanager/red-ui!682
2024-11-07 12:53:28 +01:00
Nicoleta Panaghiu
b1fb38027d RED-10423: fixed multiple pages rectangle remove action. 2024-11-07 13:19:03 +02:00
Dan Percic
eef1139c0d Merge branch 'RED-9646' into 'master'
RED-9646: enable toaster notifications for zip files.

See merge request redactmanager/red-ui!681
2024-11-06 15:32:04 +01:00
Nicoleta Panaghiu
cb0bdb89c5 RED-9646: enable toaster notifications for zip files. 2024-11-06 16:09:25 +02:00
Timo Bejan
d6a4b11b65 Merge branch 'RED-10414' into 'master'
RED-10414 Removed offset and fixed notification polling

Closes RED-10414

See merge request redactmanager/red-ui!680
2024-11-06 14:49:41 +01:00
Timo Bejan
a80a75ca77 RED-10414 Removed offset and fixed notification polling 2024-11-06 15:49:19 +02:00
Timo Bejan
a56c66d19f Merge branch 'RED-10414' into 'master'
RED-10414 Removed offset and fixed notification polling

Closes RED-10414

See merge request redactmanager/red-ui!679
2024-11-06 14:43:20 +01:00
Timo Bejan
bc7e2483c2 RED-10414 Removed offset and fixed notification polling 2024-11-06 15:42:37 +02:00
Dan Percic
00decf1f6c Merge remote-tracking branch 'origin/master' into release/4.839.x 2024-11-05 22:00:00 +02:00
Dan Percic
306b524dee copilot working as a conversation 2024-11-05 21:58:07 +02:00
Dan Percic
f26772d4a0 Merge branch 'RED-3800' into 'master'
RED-3800: manual localazy sync.

See merge request redactmanager/red-ui!678
2024-11-05 11:19:53 +01:00
Nicoleta Panaghiu
e39ab31397 RED-3800: manual localazy sync. 2024-11-05 12:16:33 +02:00
Dan Percic
208a1568b3 Merge branch 'VM/RED-10373' into 'master'
RED-10373 - Singular-Plural disctinction in translation for remove in document

Closes RED-10373

See merge request redactmanager/red-ui!677
2024-11-04 16:34:38 +01:00
Valentin Mihai
a7a4c18715 RED-10373 - Singular-Plural disctinction in translation for remove in document 2024-11-04 16:56:25 +02:00
Dan Percic
9228976803 Merge branch 'VM/RED-10332' into 'master'
RED-10332 - Dossier Template not changeable when comparing dossier...

Closes RED-10332

See merge request redactmanager/red-ui!676
2024-11-04 15:29:19 +01:00
Valentin Mihai
6619b9f4de RED-10332 - Dossier Template not changeable when comparing dossier dictionaries in Edit dossier modal 2024-11-04 16:07:38 +02:00
Kilian Schüttler
9f1f654521 Merge branch 'ai-creation-placeholders' into 'master'
Update AI creation placeholders

See merge request redactmanager/red-ui!674
2024-11-04 13:39:58 +01:00
Kilian Schuettler
ad974ef07b Update AI creation placeholders 2024-11-04 13:33:45 +01:00
Dan Percic
ff8009167b other fixes 2024-11-04 13:03:12 +02:00
Dan Percic
b3dc8b04c8 wip web socket annotations 2024-11-01 19:22:50 +02:00
Valentin-Gabriel Mihai
5684f97389 Merge branch 'RED-10258' into 'master'
Fix text not displayed in viewer

See merge request redactmanager/red-ui!673
2024-11-01 16:28:48 +01:00
Dan Percic
bce93733c9 fix matTooltip import 2024-11-01 17:15:04 +02:00
Dan Percic
c677bc17e4 Merge branch 'master' into release/4.839.x 2024-11-01 17:04:11 +02:00
Nicoleta Panaghiu
91e344ae28 Merge branch 'RED-10258' into 'master'
Fix text not displayed in viewer

See merge request redactmanager/red-ui!672
2024-11-01 15:48:15 +01:00
Dan Percic
f4ad886a79 RED-10258 Add all available fonts 2024-11-01 16:40:23 +02:00
Valentin-Gabriel Mihai
ef51c2dbe3 Merge branch 'RED-10206' into 'master'
RED-10206: disable new dossier button when the template is invalid.

See merge request redactmanager/red-ui!671
2024-11-01 13:51:10 +01:00
Nicoleta Panaghiu
8984078767 RED-10206: disable new dossier button when the template is invalid. 2024-11-01 14:49:43 +02:00
Nicoleta Panaghiu
59231003ea Merge branch 'VM/RED-9944' into 'master'
RED-9944 - Action Items don't appear in document area in webviewer when...

Closes RED-9944

See merge request redactmanager/red-ui!670
2024-11-01 13:44:21 +01:00
Dan Percic
fb2fa6e6c2 Merge branch 'RED-10363' into 'master'
RED-10363: added a toaster error for locked dossier template rules.

See merge request redactmanager/red-ui!669
2024-11-01 10:21:57 +01:00
Nicoleta Panaghiu
dc253b0254 RED-10363: added a toaster error for locked dossier template rules. 2024-11-01 11:15:09 +02:00
Dan Percic
f3c1de430b Merge branch 'RED-10330' into 'master'
RED-10330: fixed remove in this context option permissions.

See merge request redactmanager/red-ui!668
2024-11-01 09:30:22 +01:00
Nicoleta Panaghiu
af5adade4d RED-10330: fixed remove in this context option permissions. 2024-11-01 10:24:53 +02:00
Dan Percic
d150fe6f80 Merge branch 'RED-10331' into 'master'
RED-10331: quick fix for jumping selection circle button.

See merge request redactmanager/red-ui!667
2024-11-01 07:57:00 +01:00
Nicoleta Panaghiu
ff132b2d87 RED-10331: quick fix for jumping selection circle button. 2024-11-01 08:42:20 +02:00
Valentin Mihai
90e8af9765 RED-9944 - Action Items don't appear in document area in webviewer when bulk-select is still unintenionally active 2024-10-31 19:55:26 +02:00
Valentin-Gabriel Mihai
ab27b6f63b Merge branch 'RED-10163' into 'master'
RED-10163: fix delete justification by using technical_name as id.

See merge request redactmanager/red-ui!666
2024-10-31 13:23:30 +01:00
Nicoleta Panaghiu
dcc711d4eb RED-10163: fix delete justification by using technical_name as id. 2024-10-31 14:02:52 +02:00
Valentin-Gabriel Mihai
95d57642c4 Merge branch 'RED-10258' into 'master'
Fix text not displayed in viewer?

See merge request redactmanager/red-ui!665
2024-10-31 11:35:27 +01:00
Dan Percic
7252119228 update watermarks webviewer 2024-10-31 11:54:06 +02:00
Dan Percic
0adf3288c8 upgrade pdf web viewer 2024-10-31 11:40:09 +02:00
Dan Percic
b30a6e159c update common-ui 2024-10-31 11:28:25 +02:00
Dan Percic
3c8a814abb update common-ui 2024-10-31 11:27:00 +02:00
Dan Percic
42093b81b2 other updates 2024-10-31 11:24:04 +02:00
Dan Percic
f11ffa18a1 ng updates 2024-10-31 11:17:49 +02:00
Dan Percic
8f541081ae Merge branch 'master' into release/4.839.x 2024-10-31 10:32:42 +02:00
Valentin-Gabriel Mihai
6a215c0440 Merge branch 'RED-10331' into 'master'
RED-10331: fixed missing remove-button from pdf-viewer on multi-select.

See merge request redactmanager/red-ui!664
2024-10-30 15:06:59 +01:00
Nicoleta Panaghiu
ada527370f RED-10331: fixed missing remove-button from pdf-viewer on multi-select. 2024-10-30 16:06:13 +02:00
Valentin-Gabriel Mihai
97f0230ac5 Merge branch 'RED-9663' into 'master'
RED-9663: removed UNASSIGNED option from the status filter.

See merge request redactmanager/red-ui!663
2024-10-30 15:03:06 +01:00
Nicoleta Panaghiu
1070d62e47 RED-9663: removed UNASSIGNED option from the status filter. 2024-10-30 15:26:51 +02:00
Dan Percic
ba3cb01f02 Merge branch 'VM/RED-10198' into 'master'
RED-10198 - missleading error message - creating user with existing email

Closes RED-10198

See merge request redactmanager/red-ui!662
2024-10-30 13:38:45 +01:00
Dan Percic
c52116f4e7 Merge branch 'VM/RED-10256' into 'master'
RED-10256 - Bulk-local: Changes should not be filtered + Remove for...

Closes RED-10256

See merge request redactmanager/red-ui!661
2024-10-30 13:38:06 +01:00
Valentin Mihai
c787881c76 RED-10198 - missleading error message - creating user with existing email 2024-10-30 14:36:06 +02:00
Valentin Mihai
fa7fd420a8 RED-10256 - Bulk-local: Changes should not be filtered + Remove for image-based redactions and hints 2024-10-30 14:22:50 +02:00
Dan Percic
12d30af308 Merge branch 'VM/RED-10048' into 'master'
RED-10048 - Improve display of error messages for csv files

Closes RED-10048

See merge request redactmanager/red-ui!660
2024-10-30 12:59:07 +01:00
Valentin Mihai
4695d31c72 RED-10048 - Improve display of error messages for csv files 2024-10-30 13:34:26 +02:00
Dan Percic
866e6ac45a Merge branch 'RED-10218' into 'master'
RED-10218: fixed fileNameColumn width overlap.

See merge request redactmanager/red-ui!659
2024-10-30 11:40:05 +01:00
Nicoleta Panaghiu
b1f8453daf RED-10218: fixed fileNameColumn width overlap. 2024-10-30 12:31:31 +02:00
Dan Percic
317d6d576b Merge branch 'annotation-id' into 'master'
Copy AnotationId to clipboard on ctrl + alt + click

See merge request redactmanager/red-ui!658
2024-10-30 11:00:28 +01:00
Kilian Schuettler
d66ea4e154 Copy AnotationId to clipboard on ctrl + alt + click 2024-10-30 09:19:12 +01:00
Valentin-Gabriel Mihai
bcfb915d93 Merge branch 'RED-10326' into 'master'
RED-10326: fix display of documents in trash on retention capacity chart.

See merge request redactmanager/red-ui!657
2024-10-29 15:40:13 +01:00
Nicoleta Panaghiu
e5c3d9c07b RED-10326: fix display of documents in trash on retention capacity chart. 2024-10-29 16:39:22 +02:00
Valentin-Gabriel Mihai
8a8c1b957f Merge branch 'RED-10320' into 'master'
RED-10320: removed general configuration header subtitle.

See merge request redactmanager/red-ui!656
2024-10-29 14:46:07 +01:00
Nicoleta Panaghiu
76b7ec9bc5 RED-10320: removed general configuration header subtitle. 2024-10-29 15:41:21 +02:00
Valentin-Gabriel Mihai
78fa17dc73 Merge branch 'RED-10275' into 'master'
RED-10275: differentiate available types by applyToAll flag state.

See merge request redactmanager/red-ui!655
2024-10-29 14:26:46 +01:00
Nicoleta Panaghiu
e678f6f4b3 RED-10275: differentiate available types by applyToAll flag state. 2024-10-29 15:23:33 +02:00
Valentin-Gabriel Mihai
2eb6d7b27c Merge branch 'RED-3800' into 'master'
RED-3800: localazy manual sync.

See merge request redactmanager/red-ui!654
2024-10-29 13:21:16 +01:00
Nicoleta Panaghiu
5805bb2a33 RED-3800: localazy manual sync. 2024-10-29 14:19:49 +02:00
Valentin-Gabriel Mihai
e92c7632d5 Merge branch 'RED-9733' into 'master'
RED-9733: translated initials in workload icons.

See merge request redactmanager/red-ui!653
2024-10-29 12:14:16 +01:00
Nicoleta Panaghiu
370b116656 RED-9733: translated initials in workload icons. 2024-10-29 13:11:33 +02:00
Valentin-Gabriel Mihai
35ebe4774f Merge branch 'RED-10244' into 'master'
RED-10244: fix dossier with files not having template field disabled.

See merge request redactmanager/red-ui!652
2024-10-28 17:23:05 +01:00
Nicoleta Panaghiu
8fab3fc04d RED-10244: fix dossier with files not having template field disabled. 2024-10-28 18:21:03 +02:00
Nicoleta Panaghiu
3dc63bf77c Merge branch 'VM/RED-7340' into 'master'
RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design

Closes RED-7340

See merge request redactmanager/red-ui!651
2024-10-28 16:49:12 +01:00
Valentin Mihai
305bde5561 RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design 2024-10-28 17:47:37 +02:00
Valentin-Gabriel Mihai
048356bf3f Merge branch 'RED-3800' into 'master'
RED-3800: localazy manual sync.

See merge request redactmanager/red-ui!650
2024-10-28 16:45:18 +01:00
Nicoleta Panaghiu
b389b07a6e RED-3800: localazy manual sync. 2024-10-28 17:38:35 +02:00
Nicoleta Panaghiu
7f72ef0021 Merge branch 'VM/RED-10256' into 'master'
RED-10256 - Bulk-local: Changes should not be filtered + Remove for image-based redactions

Closes RED-10256

See merge request redactmanager/red-ui!648
2024-10-28 16:33:36 +01:00
Nicoleta Panaghiu
395c9b0cd3 Merge branch 'RED-10262' into 'master'
RED-10262: fixed cancel resize.

See merge request redactmanager/red-ui!649
2024-10-28 16:27:58 +01:00
Nicoleta Panaghiu
7e44bdf1e2 RED-10262: fixed cancel resize. 2024-10-28 17:25:09 +02:00
Valentin Mihai
9e0ec97845 RED-10256 - Bulk-local: Changes should not be filtered + Remove for image-based redactions 2024-10-28 17:22:54 +02:00
Nicoleta Panaghiu
0259bcee06 Merge branch 'VM/RED-9944' into 'master'
RED-9944 - Action Items don't appear in document area in webviewer when...

Closes RED-9944

See merge request redactmanager/red-ui!647
2024-10-28 16:01:14 +01:00
Valentin Mihai
64e7cce171 RED-9944 - Action Items don't appear in document area in webviewer when bulk-select is still unintenionally active 2024-10-28 16:55:24 +02:00
Nicoleta Panaghiu
4e39914cff Merge branch 'VM/RED-10256' into 'master'
RED-10256 - Bulk-local: Changes should not be filtered + Remove for image-based redactions

Closes RED-10256

See merge request redactmanager/red-ui!646
2024-10-28 12:52:52 +01:00
Valentin Mihai
5347f986e4 Merge branch 'master' into VM/RED-10256 2024-10-28 13:52:11 +02:00
Valentin Mihai
7dd24698b1 WIP on VM/RED-10256
RED-10256 - Bulk-local: Changes should not be filtered + Remove for image-based redactions
2024-10-28 13:47:29 +02:00
Adina Teudan
a8534a8b13 Merge branch 'RED-10264' into 'master'
RED-10264: remove includeUnprocessed from all manual change calls

Closes RED-10264

See merge request redactmanager/red-ui!645
2024-10-28 12:38:44 +01:00
Dan Percic
d15cedd6d1 Merge branch 'RED-3800' into 'master'
RED-3800: manual localazy sync.

See merge request redactmanager/red-ui!643
2024-10-25 13:54:47 +02:00
Kilian Schuettler
51e46f20f4 RED-10264: remove includeUnprocessed from all manual change calls 2024-10-25 13:50:27 +02:00
Nicoleta Panaghiu
3a5a91f1e1 RED-3800: manual localazy sync. 2024-10-25 14:34:26 +03:00
Dan Percic
7e910b9339 Merge branch 'RED-9447' into 'master'
RED-9447 && RED-10244

See merge request redactmanager/red-ui!631
2024-10-25 12:31:51 +02:00
Maverick Studer
0fbf580293 RED-9447 && RED-10244 2024-10-25 12:31:51 +02:00
Dan Percic
d8b20774f4 Merge branch 'VM/RED-7340' into 'master'
RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design

Closes RED-7340

See merge request redactmanager/red-ui!642
2024-10-24 10:01:12 +02:00
Dan Percic
63af59e624 Merge branch 'feature/RED-10260' into 'master'
feature/RED-10260: add quoteChar to componentMapping

Closes RED-10260

See merge request redactmanager/red-ui!640
2024-10-24 09:59:22 +02:00
Kilian Schüttler
61e9df1844 feature/RED-10260: add quoteChar to componentMapping 2024-10-24 09:59:21 +02:00
Valentin Mihai
a2823df27e RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design 2024-10-23 23:47:20 +03:00
Dan Percic
7557025b01 Merge branch 'RED-8277' into 'master'
RED-8277: update common ui.

See merge request redactmanager/red-ui!639
2024-10-23 15:31:33 +02:00
Nicoleta Panaghiu
96662844b2 RED-8277: update common ui. 2024-10-23 16:10:01 +03:00
Dan Percic
16e7cdaa1f Merge branch 'RED-10255' into 'master'
RED-10255: fixed force ignored hint action.

See merge request redactmanager/red-ui!637
2024-10-22 18:19:53 +02:00
Nicoleta Panaghiu
feffcd5cdc RED-10255: fixed force ignored hint action. 2024-10-22 19:19:01 +03:00
Dan Percic
89d26778f2 Merge branch 'RED-10227' into 'master'
RED-10227: fixed audit log date filters.

See merge request redactmanager/red-ui!636
2024-10-22 18:01:22 +02:00
Nicoleta Panaghiu
b7ea2ac415 RED-10227: fixed audit log date filters. 2024-10-22 19:00:17 +03:00
Dan Percic
bb1f86c9d2 Merge branch 'RED-8277' into 'master'
RED-8277: update common ui.

See merge request redactmanager/red-ui!635
2024-10-22 16:58:59 +02:00
Nicoleta Panaghiu
cc972db41d RED-8277: update common ui. 2024-10-22 17:56:57 +03:00
Dan Percic
d9ce51f7e3 Merge branch 'RED-10220' into 'master'
RED-10220: description and legalBasis fields are no longer required.

See merge request redactmanager/red-ui!634
2024-10-22 16:46:47 +02:00
Nicoleta Panaghiu
5dd75f836c RED-10220: description and legalBasis fields are no longer required. 2024-10-22 17:40:37 +03:00
Dan Percic
b45627b4a7 Merge branch 'VM/RED-7340' into 'master'
RED-7340 - red border around the page input field should only appear after the...

Closes RED-7340

See merge request redactmanager/red-ui!633
2024-10-22 16:27:28 +02:00
Dan Percic
404e783060 Merge branch 'VM/RED-9944' into 'master'
RED-9944 - Action Items don't appear in document area in webviewer when bulk-select is still unintenionally active

Closes RED-9944

See merge request redactmanager/red-ui!632
2024-10-22 16:27:09 +02:00
Valentin Mihai
3515b9a942 RED-7340 - red border around the page input field should only appear after the user has finished entering the page range 2024-10-22 17:20:37 +03:00
Valentin Mihai
b244d1e4b4 WIP on master
RED-9944 - Action Items don't appear in document area in webviewer when bulk-select is still unintenionally active
2024-10-22 16:33:40 +03:00
Dan Percic
c4729167cd Merge branch 'RED-10220' into 'master'
RED-10220: added support for justification technical name.

See merge request redactmanager/red-ui!630
2024-10-22 11:46:41 +02:00
Nicoleta Panaghiu
a7b652c137 RED-10220: added support for justification technical name. 2024-10-22 12:45:34 +03:00
Dan Percic
d396b782a7 Merge branch 'VM/RED-7340' into 'master'
RED-7340 - When a user has entered an invalid page range string, display a...

Closes RED-7340

See merge request redactmanager/red-ui!629
2024-10-21 17:14:40 +02:00
Valentin Mihai
965166a349 RED-7340 - When a user has entered an invalid page range string, display a read border around the input field 2024-10-21 18:06:01 +03:00
Valentin-Gabriel Mihai
733f811f9d Merge branch 'RED-3800' into 'master'
RED-3800: manual localazy sync.

See merge request redactmanager/red-ui!628
2024-10-18 16:34:33 +02:00
Nicoleta Panaghiu
7e42932028 RED-3800: manual localazy sync. 2024-10-18 17:23:12 +03:00
Nicoleta Panaghiu
cdc58066f6 Merge branch 'VM/RED-9944' into 'master'
RED-9944 - Action Items don't appear in document area in webviewer when...

Closes RED-9944

See merge request redactmanager/red-ui!627
2024-10-18 13:34:17 +02:00
Valentin Mihai
224dafcae6 RED-9944 - Action Items don't appear in document area in webviewer when bulk-select is still unintenionally active 2024-10-18 14:32:06 +03:00
Dan Percic
bb3f59f1bb Merge branch 'VM/RED-9585' into 'master'
RED-9585 - Incorrect capitalization in German translation + missing singular/plural distinction

Closes RED-9585

See merge request redactmanager/red-ui!626
2024-10-17 14:01:31 +02:00
Valentin Mihai
876127d1fb RED-9585 - Incorrect capitalization in German translation + missing singular/plural distinction 2024-10-17 14:45:27 +03:00
Dan Percic
f27807097d Merge branch 'RED-8277' into 'master'
RED-8277: fix redirect when intending to open primary file attribute.

See merge request redactmanager/red-ui!625
2024-10-17 11:03:50 +02:00
Nicoleta Panaghiu
68bfcf6700 RED-8277: fix redirect when intending to open primary file attribute. 2024-10-17 12:02:23 +03:00
Nicoleta Panaghiu
829e009d4c Merge branch 'RED-3800' into 'master'
Localazy manual sync

Closes RED-3800

See merge request redactmanager/red-ui!624
2024-10-16 22:14:30 +02:00
Adina Țeudan
6dbe365362 Localazy manual sync 2024-10-16 21:37:30 +03:00
Dan Percic
db1d65e601 Merge branch 'VM/RED-9944' into 'master'
RED-9944 - cancel the bulk-selection mode when a user clicks somewhere else

Closes RED-9944

See merge request redactmanager/red-ui!623
2024-10-16 17:12:00 +02:00
Valentin Mihai
767e688d3c RED-9944 - cancel the bulk-selection mode when a user clicks somewhere else 2024-10-16 17:40:45 +03:00
Dan Percic
e647d4b355 Merge branch 'RED-8277' into 'master'
RED-8277: made it possible to open dossiers and files in a new tab.

See merge request redactmanager/red-ui!622
2024-10-16 14:30:31 +02:00
Nicoleta Panaghiu
b85559c686 RED-8277: made it possible to open dossiers and files in a new tab. 2024-10-16 15:27:33 +03:00
Dan Percic
6f353ce01d Merge branch 'VM/RED-7340' into 'master'
RED-7340 - prefill the range fields in the edit and remove dialogs

Closes RED-7340

See merge request redactmanager/red-ui!621
2024-10-16 13:37:26 +02:00
Valentin Mihai
5dfea0175d WIP on master
RED-7340 - prefill the range fields in the edit and remove dialogs
2024-10-16 14:35:48 +03:00
Dan Percic
b4c0ce17de Merge branch 'RED-10180' into 'master'
RED-10180: sync localazy translation.

See merge request redactmanager/red-ui!620
2024-10-16 13:13:40 +02:00
Dan Percic
c805887bbd Merge branch 'RED-10190' into 'master'
RED-10190: fixed notification padding.

See merge request redactmanager/red-ui!619
2024-10-16 13:13:23 +02:00
Nicoleta Panaghiu
d4b419ded8 RED-10180: sync localazy translation. 2024-10-16 14:09:58 +03:00
Nicoleta Panaghiu
a5e70e9def RED-10190: fixed notification padding. 2024-10-16 13:56:43 +03:00
Dan Percic
d06cd4be54 Merge branch 'VM/RED-7340' into 'master'
RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design

Closes RED-7340

See merge request redactmanager/red-ui!618
2024-10-16 11:51:45 +02:00
Valentin Mihai
20d0334489 RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design 2024-10-16 11:56:00 +03:00
Dan Percic
5438e800c7 Merge branch 'VM/RED-7340' into 'master'
RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design

Closes RED-7340

See merge request redactmanager/red-ui!617
2024-10-15 16:20:01 +02:00
Valentin Mihai
4593b09bf3 RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design 2024-10-15 15:43:13 +03:00
Dan Percic
33ed133f9f Merge branch 'RED-10180' into 'master'
RED-10180: update common ui + remove unused import.

See merge request redactmanager/red-ui!616
2024-10-14 16:27:05 +02:00
Nicoleta Panaghiu
fe2214d12c RED-10180: update common ui + remove unused import. 2024-10-14 17:26:09 +03:00
Dan Percic
2e41ac041e Merge branch 'RED-10190' into 'master'
RED-10190: fixed notifications redirect links.

See merge request redactmanager/red-ui!615
2024-10-14 16:11:22 +02:00
Dan Percic
98c3f749d8 Merge branch 'feature/RED-10072' into 'master'
RED-10072: AI description field and toggle for entities

Closes RED-10072

See merge request redactmanager/red-ui!614
2024-10-14 16:05:50 +02:00
Nicoleta Panaghiu
851b9fb3b2 RED-10190: fixed notifications redirect links. 2024-10-14 17:04:27 +03:00
Dan Percic
6aea290693 Merge branch 'RED-10182' into 'master'
RED-10182: fixed scrolling to annotation in workload upon selection.

See merge request redactmanager/red-ui!613
2024-10-14 15:58:07 +02:00
Nicoleta Panaghiu
ace0ecfce1 RED-10182: fixed scrolling to annotation in workload upon selection. 2024-10-14 16:34:00 +03:00
Dan Percic
a8c4f6dd29 Merge branch 'RED-10179' into 'master'
RED-10179 & RED-10177: fixed translations.

See merge request redactmanager/red-ui!612
2024-10-14 15:09:45 +02:00
Nicoleta Panaghiu
3818741453 RED-10179 & RED-10177: fixed translations. 2024-10-14 16:07:55 +03:00
Dan Percic
da3c18fde2 Merge branch 'RED-10132' into 'master'
RED-10132: save comment value for bulkLocal as well.

See merge request redactmanager/red-ui!611
2024-10-14 13:17:59 +02:00
Dan Percic
9836c2aab5 Merge branch 'RED-10183' into 'master'
RED-10183: use the user preferred language + component refactoring.

See merge request redactmanager/red-ui!610
2024-10-14 13:14:42 +02:00
maverickstuder
46202a0b64 RED-10072: AI description field and toggle for entities 2024-10-14 12:30:14 +02:00
Nicoleta Panaghiu
16a8d91815 RED-10132: save comment value for bulkLocal as well. 2024-10-14 13:21:49 +03:00
Nicoleta Panaghiu
6f5cd79a7f RED-10183: use the user preferred language + component refactoring. 2024-10-14 13:10:23 +03:00
Dan Percic
bf7fab3600 Merge branch 'RED-10011' into 'master'
RED-10011: Fixed broken menu after accessing configuration

Closes RED-10011

See merge request redactmanager/red-ui!609
2024-10-11 12:09:51 +02:00
Dominique Eifländer
d4653ca983 RED-10011: Fixed broken menu after accessing configuration 2024-10-11 11:22:24 +02:00
Nicoleta Panaghiu
c9444d7747 Merge branch 'VM/RED-9944' into 'master'
RED-9944 - Action Items don't appear in document area in webviewer when...

Closes RED-9944

See merge request redactmanager/red-ui!608
2024-10-10 15:54:43 +02:00
Valentin Mihai
287b95a538 RED-9944 - Action Items don't appear in document area in webviewer when bulk-select is still unintenionally active 2024-10-10 16:48:06 +03:00
Dan Percic
686f390b1a Merge branch 'RED-9381' into 'master'
RED-9381: added back the watermark pagination translations.

See merge request redactmanager/red-ui!607
2024-10-10 14:01:01 +02:00
Nicoleta Panaghiu
46fba3ca5a RED-9381: added back the watermark pagination translations. 2024-10-10 14:53:22 +03:00
Dan Percic
7d2f07d6b0 Merge branch 'RED-10105' into 'master'
RED-10105: added ids on dossier state related buttons.

See merge request redactmanager/red-ui!606
2024-10-10 11:57:20 +02:00
Nicoleta Panaghiu
6f9d2a7c85 RED-10105: added ids on dossier state related buttons. 2024-10-10 12:49:56 +03:00
Dan Percic
59998396d4 Merge branch 'RED-9554' into 'master'
RED-9554: use backend error message for dossier attributes.

See merge request redactmanager/red-ui!605
2024-10-09 18:07:45 +02:00
Nicoleta Panaghiu
60e151db0f RED-9554: use backend error message for dossier attributes. 2024-10-09 18:20:11 +03:00
Dan Percic
211d81ab7a Merge branch 'RED-9381' into 'master'
RED-9381: recovered translations for pdf viewer and annotation content.

See merge request redactmanager/red-ui!604
2024-10-09 16:58:41 +02:00
Nicoleta Panaghiu
eb255daac2 RED-9381: recovered translations for pdf viewer and annotation content. 2024-10-09 17:57:40 +03:00
Dan Percic
032b1eeabe Merge branch 'RED-10144' into 'master'
RED-10144: fixed multi-selection randomly activating.

See merge request redactmanager/red-ui!603
2024-10-09 16:31:04 +02:00
Nicoleta Panaghiu
4526138fae RED-10144: fixed multi-selection randomly activating. 2024-10-09 16:54:38 +03:00
Adina Teudan
428f1dd5fb Merge branch 'RED-10128' into 'master'
RED-10128: Incorrect File Extension for Downloaded (Multi-file) Reports

Closes RED-10128

See merge request redactmanager/red-ui!601
2024-10-08 16:55:48 +02:00
Nicoleta Panaghiu
4f4f286a5e Merge branch 'VM/RED-7340' into 'master'
RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design

Closes RED-7340

See merge request redactmanager/red-ui!602
2024-10-08 14:26:04 +02:00
maverickstuder
05799650e6 RED-10128: Incorrect File Extension for Downloaded (Multi-file) Reports 2024-10-08 14:05:15 +02:00
Valentin Mihai
d67bef3001 Merge branch 'master' into VM/RED-7340 2024-10-08 00:52:34 +03:00
Valentin Mihai
76d329b888 RED-7340 - Rectangle redactions: Use bulk-local redactions + New dialog design 2024-10-08 00:51:21 +03:00
Adina Teudan
0329e74bbd Merge branch 'RED-10034' into 'master'
Resolve RED-10034

Closes RED-10034

See merge request redactmanager/red-ui!600
2024-10-07 18:35:16 +02:00
Adina Țeudan
9fabb7223a RED-10034: More performance improvements 2024-10-07 19:10:33 +03:00
Adina Țeudan
671c44438d RED-10034: File workload improvementes - WIP 2024-10-07 16:23:08 +03:00
Valentin Mihai
2377fbff55 RED-7340 - removed dictionary & false positive logic from rectangle annotation dialog 2024-10-05 22:55:28 +03:00
Valentin Mihai
af17c026ff Merge branch 'master' into VM/RED-7340 2024-10-05 20:51:23 +03:00
Valentin Mihai
7a1e968a52 RED-7340 - converted ManualAnnotationDialog into RectangleAnnotationDialog 2024-10-05 20:50:40 +03:00
Dan Percic
8e9f6e19bf Merge branch 'RED-3800' into 'master'
RED-3800: Localazy manual sync

Closes RED-3800

See merge request redactmanager/red-ui!599
2024-10-03 13:53:15 +02:00
Adina Țeudan
bef117a22c RED-3800: Localazy manual sync 2024-10-03 14:50:58 +03:00
Dan Percic
d4a50efc38 Merge branch 'RED-9559' into 'master'
RED-9559: dashboard skeleton, empty state and stats have the same width.

See merge request redactmanager/red-ui!598
2024-10-03 13:46:04 +02:00
Nicoleta Panaghiu
6693933941 RED-9559: dashboard skeleton, empty state and stats have the same width. 2024-10-03 14:33:09 +03:00
Dan Percic
b627b181e3 Merge branch 'RED-9578' into 'master'
RED-9578: fixed styles.

See merge request redactmanager/red-ui!597
2024-10-02 13:36:20 +02:00
Nicoleta Panaghiu
fcf159d091 RED-9578: fixed styles. 2024-10-02 14:32:57 +03:00
Dan Percic
aa9de3c369 Merge branch 'RED-9578' into 'master'
RED-9578: filter files without warnings.

See merge request redactmanager/red-ui!595
2024-09-30 13:11:32 +02:00
Nicoleta Panaghiu
b989da3f05 RED-9578: filter files without warnings. 2024-09-30 14:10:10 +03:00
Dan Percic
cdf39fd838 Merge branch 'RED-9722' into 'master'
RED-9722: split bulk remove-from-dict request into batches.

See merge request redactmanager/red-ui!594
2024-09-30 12:42:25 +02:00
Nicoleta Panaghiu
c3fbb9100a RED-9722: split bulk remove-from-dict request into batches. 2024-09-30 13:29:00 +03:00
Timo Bejan
fbc7dfce60 Merge branch 'RED-10034' into 'master'
RED-10034: Removed unnecessary draw call?

Closes RED-10034

See merge request redactmanager/red-ui!593
2024-09-28 16:13:35 +02:00
Adina Țeudan
bde8bd8475 Merge remote-tracking branch 'origin/master' into RED-10034 2024-09-28 17:10:10 +03:00
Adina Țeudan
c713b9d2f4 RED-10034: Improved UI components, reduced function calls 2024-09-28 17:06:43 +03:00
Dan Percic
25a0848c3e Merge branch 'RED-9381' into 'master'
Resolve RED-9381

Closes RED-9381

See merge request redactmanager/red-ui!592
2024-09-28 11:11:11 +02:00
Adina Țeudan
ccd008666e RED-10034: Removed unnecessary draw call? 2024-09-27 17:08:11 +03:00
Valentin Mihai
40d9eb15cf Merge branch 'master' into VM/RED-7340 2024-09-27 17:00:59 +03:00
Valentin Mihai
fad870e83e RED-7340 - WIP on Rectangle redactions: Use bulk-local redactions + New dialog design 2024-09-27 16:43:01 +03:00
Nicoleta Panaghiu
0f494b10d0 RED-9381: translations for annotation content tooltip. 2024-09-27 15:40:21 +03:00
Nicoleta Panaghiu
b2091d4f83 Merge remote-tracking branch 'origin/master' into RED-9381 2024-09-27 15:26:00 +03:00
Dan Percic
7b9c0d85cd Merge branch 'RED-9757' into 'master'
Resolve RED-9757

Closes RED-9757

See merge request redactmanager/red-ui!591
2024-09-27 12:35:24 +02:00
Adina Țeudan
5662cccc98 RED-9757: Updated translations 2024-09-26 21:23:28 +03:00
Adina Țeudan
2b6001402a RED-9757: Check for changes in dossier dictionary 2024-09-26 21:22:26 +03:00
Adina Țeudan
8d9df1f397 RED-9757: Fixed button display 2024-09-26 15:14:03 +03:00
Adina Țeudan
aa30982ff1 RED-9757: Show type switch for hints too 2024-09-26 15:11:44 +03:00
Adina Țeudan
c5f072f6b6 RED-9757: Working find panel toggle 2024-09-26 15:11:00 +03:00
Nicoleta Panaghiu
fb8e66e32d RED-9381: translations for pdf-viewer elements and watermarks editor. 2024-09-26 14:42:29 +03:00
Dan Percic
d457f9a46f Merge branch 'RED-7346' into 'master'
RED-7346: bulk-local edit redactions

Closes RED-7346

See merge request redactmanager/red-ui!590
2024-09-26 13:35:30 +02:00
Adina Țeudan
6bbe992940 RED-7346: bulk-local edit redactions 2024-09-26 14:31:11 +03:00
Valentin-Gabriel Mihai
1cb658f9d1 Merge branch 'RED-10064' into 'master'
RED-10064: added id on report container for hover + component refactor.

See merge request redactmanager/red-ui!589
2024-09-26 13:21:13 +02:00
Nicoleta Panaghiu
b3de35eac7 RED-10064: added id on report container for hover + component refactor. 2024-09-26 14:00:06 +03:00
Dan Percic
5bb7c780a1 Merge branch 'RED-9985' into 'master'
RED-9985: prevent filter categories from collapsing upon selection.

See merge request redactmanager/red-ui!588
2024-09-26 11:19:53 +02:00
Nicoleta Panaghiu
5c5d1dc877 RED-9985: prevent filter categories from collapsing upon selection. 2024-09-26 11:52:21 +03:00
Nicoleta Panaghiu
8ab324f69e Merge branch 'VM/RED-7345' into 'master'
RED-7345 - added translation for value

Closes RED-7345

See merge request redactmanager/red-ui!587
2024-09-25 15:17:40 +02:00
Valentin Mihai
e30a54297a RED-7345 - added translation for value 2024-09-25 16:14:00 +03:00
Dan Percic
c4fc832ef6 Merge branch 'RED-9486' into 'master'
RED-9486: fixed naming of images in remove dialog.

See merge request redactmanager/red-ui!586
2024-09-25 13:57:49 +02:00
Nicoleta Panaghiu
750312c59e RED-9486: fixed naming of images in remove dialog. 2024-09-25 14:54:14 +03:00
Dan Percic
e8665f7484 Merge branch 'RED-9578' into 'master'
RED-9578: fixed issues and rewrote the annotations table component.

See merge request redactmanager/red-ui!585
2024-09-25 12:56:21 +02:00
Nicoleta Panaghiu
81669177cd RED-9578: fixed issues and rewrote the annotations table component. 2024-09-25 13:54:26 +03:00
Dan Percic
dc063218ff Merge branch 'RED-10011' into 'master'
RED-10011: Show stmp configuration only if license feature configurableSMTPServer is set to true

Closes RED-10011

See merge request redactmanager/red-ui!584
2024-09-24 10:56:34 +02:00
Dominique Eifländer
004025636c RED-10011: Show stmp configuration only if license feature configurableSMTPServer is set to true 2024-09-24 10:52:20 +02:00
Dan Percic
5a2e806e4a Merge branch 'VM/RED-7345' into 'master'
RED-7345 - Add/Remove bulk-local text redaction option in dialogs

Closes RED-7345

See merge request redactmanager/red-ui!583
2024-09-24 08:48:32 +02:00
Valentin Mihai
b918933665 RED-7345 - Add/Remove bulk-local text redaction option in dialogs 2024-09-24 09:47:07 +03:00
Nicoleta Panaghiu
e39e2522aa Merge branch 'VM/RED-7345' into 'master'
VM/RED-7345 - Add/Remove bulk-local text redaction option in dialogs

Closes RED-7345

See merge request redactmanager/red-ui!582
2024-09-23 16:32:56 +02:00
Valentin Mihai
8caa92d663 Merge branch 'master' into VM/RED-7345 2024-09-23 17:24:03 +03:00
Valentin Mihai
0be67a8589 RED-7345 - added bulk local remove logic for "remove redaction" dialog 2024-09-23 17:23:15 +03:00
Dominique Eifländer
d0250f3fd0 Merge branch 'RED-10084' into 'master'
RED-10084: All members of a dossier are able to reanalyse files in error...

Closes RED-10084

See merge request redactmanager/red-ui!575
2024-09-23 15:47:29 +02:00
Valentin-Gabriel Mihai
a11bb2282f Merge branch 'RED-9822' into 'master'
RED-9822: DocuMine translations

Closes RED-9822

See merge request redactmanager/red-ui!581
2024-09-23 15:05:40 +02:00
Adina Țeudan
664410821c RED-9822: DocuMine translations 2024-09-23 16:04:53 +03:00
Valentin-Gabriel Mihai
a2a0defa23 Merge branch 'RED-9993' into 'master'
RED-9993: fixed license labels.

See merge request redactmanager/red-ui!580
2024-09-23 14:59:22 +02:00
Nicoleta Panaghiu
c6595c6481 RED-9993: fixed license labels. 2024-09-23 15:56:31 +03:00
Valentin-Gabriel Mihai
cbedb8370b Merge branch 'RED-9840' into 'master'
RED-9840: Allow to open global search results in a new browser tab

Closes RED-9840

See merge request redactmanager/red-ui!579
2024-09-23 14:53:11 +02:00
Adina Țeudan
b92d9c9e04 RED-9840: Allow to open global search results in a new browser tab 2024-09-23 15:52:20 +03:00
Valentin-Gabriel Mihai
bd054ecedd Merge branch 'RED-9757' into 'master'
Revision of the dossier dictionary presentation

Closes RED-9757

See merge request redactmanager/red-ui!576
2024-09-23 14:45:37 +02:00
Valentin-Gabriel Mihai
9dfa101afe Merge branch 'RED-9170' into 'master'
Use new transactional endpoint for updating dictionaries

Closes RED-9170

See merge request redactmanager/red-ui!578
2024-09-23 14:45:26 +02:00
Valentin Mihai
f52a378280 WIP on VM/RED-7345
RED-7345 - adapted "force redaction" and "accept recommendation" dialogs to use new bulk-local api
2024-09-23 14:45:54 +03:00
Adina Țeudan
bda96f952e Use new transactional endpoint for updating dictionaries 2024-09-23 14:12:29 +03:00
Valentin-Gabriel Mihai
79fb9bd785 Merge branch 'RED-9830' into 'master'
RED-9830: Don't send additional comment request for annotation edit

Closes RED-9830

See merge request redactmanager/red-ui!577
2024-09-23 12:26:04 +02:00
Adina Țeudan
5de6b359ee Revision of the dossier dictionary presentation 2024-09-23 13:18:05 +03:00
Dominique Eifländer
b5f1afb81e RED-10084: All members of a dossier are able to reanalyse files in error state, no only the owner or assignee 2024-09-23 11:53:26 +02:00
Christoph Schabert
63e53cb2ed Update .gitlab-ci.yml file 2024-09-23 11:31:08 +02:00
Christoph Schabert
7f08355311 Update .gitlab-ci.yml file 2024-09-23 11:25:36 +02:00
Valentin-Gabriel Mihai
76403ef8ea Merge branch 'RED-10028' into 'master'
RED-10028: added OPTIMIZED_PREVIEW file type in download selection.

See merge request redactmanager/red-ui!574
2024-09-23 11:25:01 +02:00
Christoph Schabert
12768b5219 Update .gitlab-ci.yml file 2024-09-23 11:22:16 +02:00
Christoph Schabert
aa2012bbda Update .gitlab-ci.yml file 2024-09-23 11:19:06 +02:00
Nicoleta Panaghiu
179abe4f37 RED-10028: added OPTIMIZED_PREVIEW file type in download selection. 2024-09-23 11:58:39 +03:00
Adina Țeudan
43154346e3 RED-9830: Don't send additional comment request for annotation edit 2024-09-23 11:54:00 +03:00
Valentin Mihai
1b9128a68f Merge branch 'master' into VM/RED-7345 2024-09-23 11:12:25 +03:00
Valentin Mihai
b5b465d56f RED-7345 - update common ui 2024-09-23 11:11:02 +03:00
Dan Percic
94cbb2cf3d Merge branch 'RED-9900' into 'master'
RED-9900: removed help mode helper elements from hidden buttons.

See merge request redactmanager/red-ui!573
2024-09-19 16:59:11 +02:00
Dan Percic
a51e68c3d8 Merge branch 'RED-9578' into 'master'
RED-9578: implemented the new approval modal layout.

See merge request redactmanager/red-ui!572
2024-09-19 16:58:56 +02:00
Nicoleta Panaghiu
7208126584 RED-9900: removed help mode helper elements from hidden buttons. 2024-09-19 17:36:15 +03:00
Nicoleta Panaghiu
256305d12f RED-9578: implemented the new approval modal layout. 2024-09-19 15:03:32 +03:00
Dan Percic
7996bc7e23 Merge branch 'RED-10050' into 'master'
RED-10050: fixed navigating to doc with filtered annotations issue.

See merge request redactmanager/red-ui!571
2024-09-18 13:06:24 +02:00
Nicoleta Panaghiu
e86a7cf59f RED-10050: fixed navigating to doc with filtered annotations issue. 2024-09-18 13:57:54 +03:00
Dan Percic
6abcbc96ac Merge branch 'RED-10064' into 'master'
RED-10064: added ids for report documents.

See merge request redactmanager/red-ui!570
2024-09-17 16:39:41 +02:00
Nicoleta Panaghiu
b23c3e60d7 RED-10064: added ids for report documents. 2024-09-17 17:38:35 +03:00
Valentin Mihai
2f6d460442 RED-7345 - WIP Add/Remove bulk-local text redaction option in dialogs 2024-09-16 21:16:06 +03:00
Dan Percic
3cd1eaeddc Merge branch 'RED-9993' into 'master'
RED-9993: fixed license information.

See merge request redactmanager/red-ui!569
2024-09-13 10:04:40 +02:00
Nicoleta Panaghiu
feb3aa34e9 RED-9993: fixed license information. 2024-09-13 10:58:25 +03:00
Dan Percic
7f8c622f6b Merge branch 'RED-9372' into 'master'
Resolve RED-9372

Closes RED-9372

See merge request redactmanager/red-ui!568
2024-09-10 10:45:56 +02:00
Nicoleta Panaghiu
6628cf3495 RED-9372: update common ui. 2024-09-10 11:38:23 +03:00
Nicoleta Panaghiu
e6f3cd77de RED-9372: fixed scrolling on dossier details. 2024-09-10 11:36:29 +03:00
Dan Percic
8705524a4b Merge branch 'VM/RED-10016' into 'master'
RED-10016 - DM: Permanent loading triggerd when trying to edit the component

Closes RED-10016

See merge request redactmanager/red-ui!567
2024-09-10 09:12:54 +02:00
Valentin Mihai
4475f5979e RED-10016 - DM: Permanent loading triggerd when trying to edit the component 2024-09-10 09:45:35 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
93321437c1 push back localazy update 2024-09-10 01:03:26 +00:00
Dan Percic
0bf7f5f9ce Merge branch 'RED-9372' into 'master'
Resolve RED-9372

Closes RED-9372

See merge request redactmanager/red-ui!566
2024-09-05 16:19:56 +02:00
Nicoleta Panaghiu
ef8b1bc58e RED-9372: update common ui. 2024-09-05 17:17:49 +03:00
Nicoleta Panaghiu
8f938c825d RED-9372: fixed annotation details moving on hover. 2024-09-05 17:17:32 +03:00
Dan Percic
766ba97a0e Merge branch 'RED-9950' into 'master'
RED-9950: increased component management section width by 5%.

See merge request redactmanager/red-ui!565
2024-09-05 14:06:50 +02:00
Nicoleta Panaghiu
24c433dd5b RED-9950: increased component management section width by 5%. 2024-09-05 14:58:44 +03:00
Valentin-Gabriel Mihai
570dc20e8e Merge branch 'VM/RED-9548' into 'master'
RED-9548 - updated isModifyDictionary check

Closes RED-9548

See merge request redactmanager/red-ui!564
2024-09-05 13:25:24 +02:00
Valentin Mihai
34be5155c4 RED-9548 - updated isModifyDictionary check 2024-09-05 14:23:41 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
e752e4607c push back localazy update 2024-09-05 01:03:30 +00:00
Dan Percic
9e5ab63434 Merge branch 'VM/RED-9962' into 'master'
RED-9962 - RM-163: Components values are not updated in the UI until page is refreshed

Closes RED-9962

See merge request redactmanager/red-ui!563
2024-09-04 14:55:22 +02:00
Valentin Mihai
66cd961fc3 WIP on master
RED-9962 - RM-163: Components values are not updated in the UI until page is refreshed
2024-09-04 15:49:41 +03:00
Dan Percic
6216dd8bac Merge branch 'RED-9950' into 'master'
RED-9950: decreased component management width.

See merge request redactmanager/red-ui!562
2024-09-04 14:32:42 +02:00
Nicoleta Panaghiu
3677b7d761 RED-9950: decreased component management width. 2024-09-04 14:39:44 +03:00
Dan Percic
eae53022ee Merge branch 'RED-9937' into 'master'
RED-9937: made preview tab available & trigger reanalysis when required.

See merge request redactmanager/red-ui!561
2024-09-04 12:39:59 +02:00
Nicoleta Panaghiu
24e793582d RED-9937: made preview tab available & trigger reanalysis when required. 2024-09-04 13:29:36 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
01b8948b6a push back localazy update 2024-09-04 01:03:33 +00:00
Dan Percic
1b3dbfc98d Merge branch 'RED-9987' into 'master'
RED-9987: added sendSetPasswordMail flag in add user dialog.

See merge request redactmanager/red-ui!560
2024-09-03 13:44:04 +02:00
Nicoleta Panaghiu
a2930ccfdd RED-9987: added sendSetPasswordMail flag in add user dialog. 2024-09-03 14:42:59 +03:00
Dan Percic
201f4ca07f Merge branch 'VM/RED-9454' into 'master'
RED-9454 - Differences between Add Hint- and Add Redaction-Dialog

Closes RED-9454

See merge request redactmanager/red-ui!559
2024-09-03 13:06:11 +02:00
Valentin Mihai
e81e8e7252 RED-9454 - Differences between Add Hint- and Add Redaction-Dialog 2024-09-03 13:34:48 +03:00
Dan Percic
9d01fb5784 Merge branch 'RED-9950' into 'master'
RED-9950: removed more margins.

See merge request redactmanager/red-ui!558
2024-09-03 11:26:42 +02:00
Nicoleta Panaghiu
9921e868bc RED-9950: removed more margins. 2024-09-03 12:24:44 +03:00
Dan Percic
9dd6085bcf Merge branch 'master' into release/4.839.x 2024-09-02 16:48:59 +03:00
Dan Percic
2d1928ebd0 Merge branch 'RED-9950' into 'master'
RED-9950: increased document viewer space.

See merge request redactmanager/red-ui!557
2024-08-29 16:22:00 +02:00
Nicoleta Panaghiu
095853d090 RED-9950: increased document viewer space. 2024-08-29 17:19:27 +03:00
Dan Percic
fe46e69c53 Merge branch 'RED-9951' into 'master'
RED-9951: made document info scrollable & fixed paginator position.

See merge request redactmanager/red-ui!556
2024-08-29 12:08:40 +02:00
Nicoleta Panaghiu
a55571a381 RED-9951: made document info scrollable & fixed paginator position. 2024-08-29 13:03:14 +03:00
Dan Percic
7d449d3ff7 Merge branch 'RED-9887' into 'master'
RED-9887: fixed save button being disabled.

See merge request redactmanager/red-ui!555
2024-08-28 12:46:00 +02:00
Nicoleta Panaghiu
db1257751a RED-9887: fixed save button being disabled. 2024-08-28 13:22:37 +03:00
Dan Percic
43830f463d Merge branch 'RED-9946' into 'master'
RED-9946: added tooltip with valueDescription.

See merge request redactmanager/red-ui!554
2024-08-27 14:10:38 +02:00
Nicoleta Panaghiu
e798197110 RED-9946: added tooltip with valueDescription. 2024-08-27 15:09:41 +03:00
Dan Percic
35f2161913 Merge branch 'RED-9887' into 'master'
RED-9887: fixed component fields cancel and revert actions.

See merge request redactmanager/red-ui!553
2024-08-27 13:34:35 +02:00
Nicoleta Panaghiu
6f8edaf4ba RED-9887: fixed component fields cancel and revert actions. 2024-08-27 14:28:40 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
80a713d850 push back localazy update 2024-08-22 01:03:26 +00:00
Dan Percic
ed518d6910 Merge branch 'RED-9824' into 'master'
RED-9824: fixed toaster notification message for edit annotation action.

See merge request redactmanager/red-ui!552
2024-08-21 10:35:12 +02:00
Nicoleta Panaghiu
7ad36ea6f6 RED-9824: fixed toaster notification message for edit annotation action. 2024-08-21 11:33:33 +03:00
Dan Percic
65fc2971ac Merge branch 'RED-9893' into 'master'
RED-9893: show missing type toaster only once.

See merge request redactmanager/red-ui!551
2024-08-21 09:59:10 +02:00
Nicoleta Panaghiu
4438f90af4 RED-9893: show missing type toaster only once. 2024-08-21 10:53:13 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
2daa033b8e push back localazy update 2024-08-21 01:03:27 +00:00
Dan Percic
726f909589 Merge branch 'RED-9889' into 'master'
RED-9889: escape html in component values.

See merge request redactmanager/red-ui!550
2024-08-20 14:13:06 +02:00
Nicoleta Panaghiu
6a6db17d2c RED-9889: escape html in component values. 2024-08-20 15:11:30 +03:00
Dan Percic
021775d3a7 Merge branch 'RED-9916' into 'master'
RED-9916: update common ui.

See merge request redactmanager/red-ui!549
2024-08-20 12:26:58 +02:00
Nicoleta Panaghiu
88ef8830c2 RED-9916: update common ui. 2024-08-20 13:22:40 +03:00
Dan Percic
eb9bd777e0 fix merge 2024-08-19 12:03:29 +03:00
Dan Percic
e3ef820bac Merge branch 'release/4.839.x' of https://gitlab.knecon.com/redactmanager/red-ui into release/4.839.x 2024-08-19 12:02:30 +03:00
Dan Percic
9317f55d81 fix delete annotation 2024-08-19 12:01:09 +03:00
Dan Percic
5d7849be45 filter removed entries 2024-08-19 10:21:49 +03:00
Dan Percic
74b4c1a11f reload entity log when file is assigned to current user 2024-08-19 10:19:53 +03:00
Dan Percic
0f79f04f52 Merge remote-tracking branch 'origin/master' into RED-9747 2024-08-18 01:38:11 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
ea07686946 push back localazy update 2024-08-16 01:03:28 +00:00
Nicoleta Panaghiu
3df6005549 Merge branch 'VM/RED-9862' into 'master'
RED-9862 - Broken resize dialog for imported redaction from preview file with disabled auto-analysis on upload

Closes RED-9862

See merge request redactmanager/red-ui!548
2024-08-15 12:27:25 +02:00
Nicoleta Panaghiu
511f24e3ef Merge branch 'VM/RED-9260' into 'master'
RED-9260 - Component Management UI

Closes RED-9260

See merge request redactmanager/red-ui!547
2024-08-15 12:22:11 +02:00
Valentin Mihai
4e49d2d7a6 WIP on master
RED-9862 - Broken resize dialog for imported redaction from preview file with disabled auto-analysis on upload
2024-08-15 09:48:00 +03:00
Valentin Mihai
c7e03043e0 RED-9890 - New created component-definition is not displayed in the list of component-definitions 2024-08-15 09:15:03 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
f85626a8e4 push back localazy update 2024-08-15 01:03:23 +00:00
Dan Percic
6282675682 merge fixes 2024-08-14 15:40:40 +03:00
Dan Percic
747d8157b5 Merge remote-tracking branch 'origin/master' into RED-9747 2024-08-14 15:37:28 +03:00
Valentin Mihai
1bcd1869f0 RED-9260 - Component Management UI 2024-08-14 12:46:50 +03:00
Valentin-Gabriel Mihai
95c273e7b2 Merge branch 'RED-9777' into 'master'
RED-9777: added help button on edit and remove annotation dialogs.

See merge request redactmanager/red-ui!546
2024-08-14 10:50:16 +02:00
Nicoleta Panaghiu
6236275528 RED-9777: added help button on edit and remove annotation dialogs. 2024-08-14 11:43:22 +03:00
Valentin-Gabriel Mihai
d654bcfc4b Merge branch 'RED-9589' into 'master'
RED-9589: removed FP option for locally removed and forced redactions.

See merge request redactmanager/red-ui!545
2024-08-14 10:06:26 +02:00
Nicoleta Panaghiu
fcbffdad8f RED-9589: removed FP option for locally removed and forced redactions. 2024-08-14 11:02:28 +03:00
Nicoleta Panaghiu
8079079217 Merge branch 'VM/RED-9201' into 'master'
RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!544
2024-08-14 09:47:09 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
87fa2df399 push back localazy update 2024-08-14 01:03:23 +00:00
Valentin-Gabriel Mihai
5d6d69c8c4 Merge branch 'RED-9572' into 'master'
RED-9572: Format audit log values

Closes RED-9572

See merge request redactmanager/red-ui!543
2024-08-13 20:06:19 +02:00
Valentin Mihai
538f36aebc WIP on master
RED-9201 - UI for Component Mapping Tables
2024-08-13 21:04:47 +03:00
Adina Țeudan
9067272382 RED-9572: Format audit log values 2024-08-13 18:57:09 +03:00
Valentin-Gabriel Mihai
bc430a796f Merge branch 'RED-9874' into 'master'
RED-9874: added user preference for overwrite file option.

See merge request redactmanager/red-ui!542
2024-08-13 14:03:55 +02:00
Nicoleta Panaghiu
24fc875cc9 RED-9874: added user preference for overwrite file option. 2024-08-13 15:02:32 +03:00
Nicoleta Panaghiu
fc8a9da8cd Merge branch 'VM/RED-9201' into 'master'
RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!541
2024-08-13 10:01:43 +02:00
Nicoleta Panaghiu
486ef92b07 Merge branch 'VM/RED-9260' into 'master'
RED-9260 - Component Management UI

See merge request redactmanager/red-ui!540
2024-08-13 09:52:27 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
630db9071a push back localazy update 2024-08-13 01:03:23 +00:00
Valentin Mihai
8e2219235d RED-9201 - UI for Component Mapping Tables 2024-08-12 21:36:04 +03:00
Valentin-Gabriel Mihai
0a05d02623 Merge branch 'RED-7270' into 'master'
RED-7270: Display backend provided error message for dossier states

Closes RED-7270

See merge request redactmanager/red-ui!539
2024-08-12 20:09:19 +02:00
Valentin Mihai
f242c52a0c RED-9260 - update config 2024-08-12 21:00:21 +03:00
Valentin Mihai
6e115038b0 RED-9260 - Component Management UI 2024-08-12 20:54:30 +03:00
Adina Țeudan
428debcd6f RED-7270: Display backend provided error message for dossier states 2024-08-12 20:51:53 +03:00
Valentin Mihai
ddbef9bd11 Merge branch 'master' into VM/RED-9260 2024-08-12 19:24:41 +03:00
Valentin-Gabriel Mihai
1dc013e46b Merge branch 'RED-9835' into 'master'
RED-9835: removed experimental feature warning.

See merge request redactmanager/red-ui!538
2024-08-12 14:12:01 +02:00
Nicoleta Panaghiu
d409811aa6 RED-9835: removed experimental feature warning. 2024-08-12 15:08:10 +03:00
Valentin-Gabriel Mihai
ecb7b89f31 Merge branch 'RED-9762' into 'master'
RED-9762: removed open component view preference.

See merge request redactmanager/red-ui!537
2024-08-12 13:58:38 +02:00
Nicoleta Panaghiu
8a3d372223 RED-9762: removed open component view preference. 2024-08-12 13:42:29 +03:00
Valentin-Gabriel Mihai
3544538c19 Merge branch 'RED-9861' into 'master'
RED-9861: fixed bulk-select issues.

See merge request redactmanager/red-ui!536
2024-08-12 12:24:33 +02:00
Nicoleta Panaghiu
f82cdcf5bb RED-9861: fixed bulk-select issues. 2024-08-12 13:22:47 +03:00
Nicoleta Panaghiu
e6a3b1a585 Merge branch 'RED-9866' into 'master'
RED-9866: remove version limit on ARCHIVE DOSSIER feature.

See merge request redactmanager/red-ui!535
2024-08-12 10:45:17 +02:00
Nicoleta Panaghiu
8d970779f5 RED-9866: remove version limit on ARCHIVE DOSSIER feature. 2024-08-12 11:29:23 +03:00
Nicoleta Panaghiu
954fba26f7 Merge branch 'VM/RED-8748' into 'master'
RED-8748 - Integrated component view in DocuMine

Closes RED-8748

See merge request redactmanager/red-ui!533
2024-08-12 10:29:02 +02:00
Valentin-Gabriel Mihai
25418ced4a Merge branch 'RED-9777' into 'master'
RED-9777: added help mode missing links.

See merge request redactmanager/red-ui!534
2024-08-12 10:25:27 +02:00
Nicoleta Panaghiu
591b6eee36 RED-9777: fix. 2024-08-12 11:20:23 +03:00
Nicoleta Panaghiu
d7cc8e3232 RED-9777: update common ui. 2024-08-12 11:16:24 +03:00
Nicoleta Panaghiu
0d7adb4e6b RED-9777: added help mode missing links. 2024-08-12 11:12:31 +03:00
Valentin Mihai
62b8a55406 RED-8748 - Integrated component view in DocuMine 2024-08-11 21:05:20 +03:00
Dan Percic
c4c549fe1b fix 2024-08-10 14:21:27 +02:00
Dan Percic
e41ac70dfe copilot ws implementation, wip 2024-08-10 14:18:22 +02:00
Dan Percic
59ce4177d2 Merge remote-tracking branch 'origin/master' into RED-9747 2024-08-10 14:17:26 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
926d14056b push back localazy update 2024-08-10 01:03:32 +00:00
Valentin-Gabriel Mihai
937803fd75 Merge branch 'RED-9817' into 'master'
RED-9817: removed HTML code for space.

See merge request redactmanager/red-ui!532
2024-08-09 11:17:58 +02:00
Nicoleta Panaghiu
168730cfca RED-9817: removed HTML code for space. 2024-08-09 12:16:42 +03:00
Nicoleta Panaghiu
87c4becbe6 Merge branch 'VM/RED-9788-2' into 'master'
RED-9788 - Adapt Annotation column to display only annotations per component...

Closes RED-9788

See merge request redactmanager/red-ui!531
2024-08-09 09:31:21 +02:00
Valentin Mihai
f0535eb47f Merge branch 'master' into VM/RED-9788-2 2024-08-09 10:29:16 +03:00
Valentin Mihai
522a78d6a2 RED-9788 - update config 2024-08-09 09:02:53 +03:00
Valentin Mihai
4f955bcd50 RED-9788 - Adapt Annotation column to display only annotations per component if component is selected 2024-08-09 08:58:36 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
d9ccf89166 push back localazy update 2024-08-09 01:03:30 +00:00
Dan Percic
0af6e45868 Merge remote-tracking branch 'origin/master' into RED-9747 2024-08-08 13:57:34 +02:00
Nicoleta Panaghiu
b1c40806c5 Merge branch 'VM/RED-9201' into 'master'
RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!530
2024-08-08 10:27:15 +02:00
Valentin Mihai
826c564af6 RED-9201 - UI for Component Mapping Tables 2024-08-08 11:06:20 +03:00
Valentin Mihai
b623449efb RED-9788 - remove active listing entity service 2024-08-07 21:25:43 +03:00
Valentin Mihai
221948411a Merge branch 'master' into VM/RED-9788-2 2024-08-07 21:15:11 +03:00
Valentin Mihai
fcba520003 RED-9788 - Adapt Annotation column to display only annotations per component if component is selected 2024-08-07 21:14:37 +03:00
Adina Teudan
f9c8571c31 Merge branch 'VM/RED-3800' into 'master'
RED-3800 - Refactoring / Code Cleanup

Closes RED-3800

See merge request redactmanager/red-ui!529
2024-08-07 19:51:26 +02:00
Valentin Mihai
90ba67a79c RED-3800 - Refactoring / Code Cleanup 2024-08-07 20:34:32 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
e78dcff3a7 push back localazy update 2024-08-07 01:03:26 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
40897cf2b3 push back localazy update 2024-08-06 01:03:21 +00:00
Dan Percic
1bbef9eb37 Merge remote-tracking branch 'origin/master' into RED-9747 2024-08-05 17:54:22 +02:00
Nicoleta Panaghiu
9b770b2be7 Merge branch 'VM/RED-9776' into 'master'
RED-9776 - Consolidate components export and report download in one button

Closes RED-9776

See merge request redactmanager/red-ui!528
2024-08-05 12:59:45 +02:00
Valentin Mihai
77b133757e Merge branch 'master' into VM/RED-9776 2024-08-04 13:26:51 +03:00
Valentin Mihai
37b692c260 RED-9776 - Consolidate components export and report download in one button 2024-08-04 13:22:37 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
dc2ad98120 push back localazy update 2024-08-03 01:03:22 +00:00
Valentin-Gabriel Mihai
91d1ee28f6 Merge branch 'RED-9504' into 'master'
RED-9504: fix some translations.

See merge request redactmanager/red-ui!527
2024-08-02 11:23:30 +02:00
Nicoleta Panaghiu
e2b7807cf3 RED-9504: fix some translations. 2024-08-02 11:34:39 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
46375a3db4 push back localazy update 2024-08-02 01:03:42 +00:00
Dan Percic
0585800532 Merge branch 'RED-9731' into 'master'
RED-9731: fixed help button position on resize.

See merge request redactmanager/red-ui!526
2024-08-01 13:45:33 +02:00
Nicoleta Panaghiu
eccb00345a RED-9731: fixed help button position on resize. 2024-08-01 14:39:27 +03:00
Dan Percic
621b8185fd Merge branch 'VM/RED-9776' into 'master'
RED-9776 - Consolidate components export and report download in one button

Closes RED-9776

See merge request redactmanager/red-ui!525
2024-08-01 13:23:43 +02:00
Valentin Mihai
907249cc40 RED-9776 - Consolidate components export and report download in one button 2024-08-01 13:35:15 +03:00
Nicoleta Panaghiu
35342707f0 RED-9772: delete saved entity log on file overwrite. 2024-08-01 11:55:54 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
0a7919f786 push back localazy update 2024-08-01 01:03:27 +00:00
Dan Percic
c1fc52223b Merge remote-tracking branch 'origin/master' into RED-9747 2024-07-31 14:32:08 +03:00
Valentin-Gabriel Mihai
246e69d754 Merge branch 'RED-9742' into 'master'
RED-9742: fixed logo router link.

See merge request redactmanager/red-ui!524
2024-07-31 12:43:24 +02:00
Nicoleta Panaghiu
16927903cd RED-9742: fixed logo router link. 2024-07-31 13:20:22 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
862b420488 push back localazy update 2024-07-31 01:03:34 +00:00
Valentin Mihai
d445c5f31c Merge branch 'master' into VM/RED-9260 2024-07-30 20:40:10 +03:00
Valentin-Gabriel Mihai
c4625d2e7e Merge branch 'RED-9516' into 'master'
RED-9516: fixed filter options alignment.

See merge request redactmanager/red-ui!522
2024-07-30 16:07:31 +02:00
Nicoleta Panaghiu
3f14690c39 RED-9516: fixed filter options alignment. 2024-07-30 17:04:34 +03:00
Dan Percic
30c1f8628b Merge remote-tracking branch 'origin/master' into RED-9747 2024-07-30 16:21:46 +03:00
Nicoleta Panaghiu
f18cd31a72 Merge branch 'VM/RED-8748' into 'master'
RED-8748 - updated filtering when a component is selected

Closes RED-8748

See merge request redactmanager/red-ui!521
2024-07-30 14:15:23 +02:00
Valentin Mihai
9b197811d1 RED-8748 - updated filtering when a component is selected 2024-07-30 15:07:57 +03:00
Valentin-Gabriel Mihai
e2846a3178 Merge branch 'RED-9433' into 'master'
RED-9433: added auto line-break for checkbox label overflow.

See merge request redactmanager/red-ui!520
2024-07-30 13:16:48 +02:00
Nicoleta Panaghiu
ed8eb4840e RED-9433: added auto line-break for checkbox label overflow. 2024-07-30 14:14:58 +03:00
Valentin Mihai
f1b7effe3a Merge branch 'master' into VM/RED-9260 2024-07-30 12:51:51 +03:00
Dan Percic
8390687c5a Merge branch 'RED-9571' into 'master'
RED-9571: fixed initials-avatar not updating in some cases.

See merge request redactmanager/red-ui!519
2024-07-30 10:17:14 +02:00
Nicoleta Panaghiu
7f7148c859 RED-9571: fixed initials-avatar not updating in some cases. 2024-07-30 11:13:59 +03:00
Dan Percic
66df5f807c Merge remote-tracking branch 'origin/master' into RED-9747 2024-07-30 10:33:58 +03:00
Dan Percic
53044bd391 Merge branch 'VM/RED-8748' into 'master'
RED-8748 - Integrated component view in DocuMine

Closes RED-8748

See merge request redactmanager/red-ui!518
2024-07-29 17:12:59 +02:00
Valentin Mihai
2b4c52c13b RED-8748 - Integrated component view in DocuMine 2024-07-29 18:02:04 +03:00
Dan Percic
6540684063 Merge branch 'VM/RED-8748' into 'master'
RED-8748 - update export button

Closes RED-8748

See merge request redactmanager/red-ui!517
2024-07-29 15:03:51 +02:00
Valentin Mihai
171e18c8a9 RED-8748 - update export button 2024-07-29 15:51:05 +03:00
Nicoleta Panaghiu
5ddae5f664 Merge branch 'VM/RED-8748' into 'master'
RED-8748 - Integrated component view in DocuMine

Closes RED-8748

See merge request redactmanager/red-ui!516
2024-07-29 13:43:41 +02:00
Dan Percic
f25d134590 Merge remote-tracking branch 'origin/master' into RED-9747 2024-07-29 11:40:49 +03:00
Valentin Mihai
dbc609765b WIP on master
RED-8748 - Integrated component view in DocuMine
2024-07-29 01:02:46 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
aaef6c7649 push back localazy update 2024-07-27 01:03:29 +00:00
Dan Percic
333f5c7fc5 Merge branch 'RED-9754' into 'master'
RED-9754: removed document version in dossier templates in documine.

See merge request redactmanager/red-ui!515
2024-07-26 15:31:23 +02:00
Nicoleta Panaghiu
47b16d2287 RED-9754: removed document version in dossier templates in documine. 2024-07-26 16:28:36 +03:00
Dan Percic
c1a8898e92 Merge branch 'VM/RED-9201' into 'master'
RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!514
2024-07-26 15:17:24 +02:00
Valentin Mihai
456ca8cc46 RED-9201 - UI for Component Mapping Tables 2024-07-26 16:14:37 +03:00
Dan Percic
10fa81e77c Merge remote-tracking branch 'origin/master' into RED-9747 2024-07-26 16:02:19 +03:00
Dan Percic
b015b804a1 Merge branch 'VM/RED-9201' into 'master'
VM/RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!513
2024-07-26 15:01:37 +02:00
Valentin Mihai
c5fd581a62 RED-9201 - UI for Component Mapping Tables 2024-07-26 15:36:24 +03:00
Dan Percic
613a7429b8 RED-9747 add initial ws entity log refresh 2024-07-26 12:25:13 +03:00
Valentin Mihai
9010677c6d RED-9201 - UI for Component Mapping Tables 2024-07-26 12:13:05 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
2b00876e6b push back localazy update 2024-07-26 01:03:27 +00:00
Dan Percic
a87e4c7472 Merge branch 'RED-9542' into 'master'
RED-9542: fixed resize dialog header.

See merge request redactmanager/red-ui!511
2024-07-25 15:47:08 +02:00
Nicoleta Panaghiu
ebc074c308 RED-9542: fixed resize dialog header. 2024-07-25 16:44:57 +03:00
Nicoleta Panaghiu
e3325bb620 Merge branch 'VM/RED-9201' into 'master'
RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!510
2024-07-25 11:14:38 +02:00
Valentin Mihai
0bcb3829c7 RED-9201 - displayed all column labels string in a tooltip 2024-07-25 12:12:50 +03:00
Dan Percic
848a44276f Merge branch 'RED-9589' into 'master'
RED-9589: enabled false positive option for some annotation configs.

See merge request redactmanager/red-ui!509
2024-07-25 11:09:11 +02:00
Nicoleta Panaghiu
299be2364e RED-9589: enabled false positive option for some annotation configs. 2024-07-25 12:06:23 +03:00
Valentin Mihai
a9b399ebbd RED-9201 - UI for Component Mapping Tables 2024-07-25 11:49:40 +03:00
Valentin Mihai
87e2e27e56 RED-9260 - Component Management UI 2024-07-25 00:35:48 +03:00
Dan Percic
4f2d320553 Merge branch 'RED-9716' into 'master'
RED-9716: removed analyse button for archived files.

See merge request redactmanager/red-ui!508
2024-07-24 12:03:25 +02:00
Nicoleta Panaghiu
425c982865 RED-9716: removed analyse button for archived files. 2024-07-24 13:00:45 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
804fbf7b05 push back localazy update 2024-07-24 01:03:22 +00:00
Dan Percic
111b354a58 Merge branch 'RED-9657' into 'master'
RED-9657: additional fixes for help mode links.

Closes RED-9657

See merge request redactmanager/red-ui!507
2024-07-23 11:04:55 +02:00
Nicoleta Panaghiu
7b4c6b42ae RED-9657: additional fixes for help mode links. 2024-07-23 11:54:14 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
d21abaad3f push back localazy update 2024-07-23 01:03:25 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
e7670e65b3 push back localazy update 2024-07-20 01:03:25 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
c0e59a58c5 push back localazy update 2024-07-19 01:03:24 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
4f7e5c8259 push back localazy update 2024-07-18 01:03:20 +00:00
Nicoleta Panaghiu
2b93d00833 Merge branch 'VM/RED-9260' into 'master'
RED-9260 - Component Management UI

Closes RED-9260

See merge request redactmanager/red-ui!506
2024-07-17 08:56:24 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
1b95e0e82a push back localazy update 2024-07-17 01:03:19 +00:00
Valentin Mihai
cfbc6bc83c RED-9260 - Component Management UI 2024-07-16 20:18:55 +03:00
Valentin-Gabriel Mihai
23df273ae6 Merge branch 'RED-9657' into 'master'
RED-9657: fixed help mode links.

See merge request redactmanager/red-ui!505
2024-07-16 12:43:05 +02:00
Nicoleta Panaghiu
f00127f3f4 RED-9657: fixed help mode links. 2024-07-16 13:33:45 +03:00
Valentin-Gabriel Mihai
6c1c58e641 Merge branch 'VM/RED-9701' into 'master'
RED-9701 - File view vanishes after file is opened

Closes RED-9701

See merge request redactmanager/red-ui!504
2024-07-15 17:32:14 +02:00
Valentin Mihai
1b46ab0811 RED-9701 - File view vanishes after file is opened 2024-07-15 18:30:56 +03:00
Valentin-Gabriel Mihai
dab2340c19 Merge branch 'RED-9372' into 'master'
RED-9372: update common ui.

See merge request redactmanager/red-ui!503
2024-07-15 15:20:09 +02:00
Nicoleta Panaghiu
959710675f RED-9372: update common ui. 2024-07-15 16:11:55 +03:00
Valentin-Gabriel Mihai
6057a904ca Merge branch 'RED-9452' into 'master'
RED-9452: add cancel on esc & confirm on enter on delete dossier state.

See merge request redactmanager/red-ui!502
2024-07-15 12:26:27 +02:00
Nicoleta Panaghiu
16163eb7cd RED-9452: add cancel on esc & confirm on enter on delete dossier state. 2024-07-15 13:25:22 +03:00
Nicoleta Panaghiu
489de89e85 Merge branch 'RED-9642' into 'master'
RED-9642: fixed soft deleted dossier stats display.

See merge request redactmanager/red-ui!501
2024-07-15 11:56:09 +02:00
Nicoleta Panaghiu
765c8234e3 RED-9642: fixed soft deleted dossier stats display. 2024-07-15 12:53:35 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
697d6e9014 push back localazy update 2024-07-14 01:03:24 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
985e2c86ef push back localazy update 2024-07-13 01:03:26 +00:00
Valentin-Gabriel Mihai
5779539c94 Merge branch 'RED-9605' into 'master'
RED-9605: remove it again.

See merge request redactmanager/red-ui!500
2024-07-12 15:31:29 +02:00
Nicoleta Panaghiu
7f5a453f26 RED-9605: remove it again. 2024-07-12 16:30:41 +03:00
Nicoleta Panaghiu
0ef1f3d61e Merge branch 'VM/RED-9201' into 'master'
RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!499
2024-07-12 15:29:03 +02:00
Valentin-Gabriel Mihai
384c847a90 Merge branch 'RED-9605' into 'master'
RED-9605: show edit dossier template button on other screens.

See merge request redactmanager/red-ui!498
2024-07-12 14:03:25 +02:00
Nicoleta Panaghiu
a091a96b69 RED-9605: show edit dossier template button on other screens. 2024-07-12 15:01:37 +03:00
Dan Percic
366f8cd2bf Merge branch 'RED-9634' into 'master'
RED-9634: fixed OCR action.

See merge request redactmanager/red-ui!497
2024-07-11 14:41:39 +02:00
Dan Percic
fd78f0b177 Merge branch 'VM/RED-9401' into 'master'
RED-9401 - Show manual changes icon in workload for all entries with MANUAL engine

Closes RED-9401

See merge request redactmanager/red-ui!496
2024-07-11 13:59:18 +02:00
Nicoleta Panaghiu
8572830c69 RED-9634: fixed OCR action. 2024-07-11 14:59:04 +03:00
Valentin Mihai
8a045a4879 RED-9401 - Show manual changes icon in workload for all entries with MANUAL engine 2024-07-11 14:55:38 +03:00
Dan Percic
85faea9ea5 Merge branch 'VM/RED-9464' into 'master'
RED-9464 - In dictionary search is not cleared when pressing X

Closes RED-9464

See merge request redactmanager/red-ui!495
2024-07-11 13:01:06 +02:00
Dan Percic
0a1ab112ee Merge branch 'RED-9437' into 'master'
RED-9437: made watermark selector shorter and fixed help mode button.

See merge request redactmanager/red-ui!494
2024-07-11 13:00:35 +02:00
Dan Percic
6846ff5ad1 Merge branch 'RED-9605' into 'master'
RED-9605: removed redundant edit button.

See merge request redactmanager/red-ui!493
2024-07-11 13:00:09 +02:00
Dan Percic
e0e581c1b8 Merge branch 'RED-9597' into 'master'
RED-9597: fixed missing labels.

See merge request redactmanager/red-ui!492
2024-07-11 12:59:39 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
65808ccf58 push back localazy update 2024-07-10 01:03:34 +00:00
Valentin Mihai
d6d2d1157b RED-9201 - UI for Component Mapping Tables 2024-07-09 16:42:22 +03:00
Nicoleta Panaghiu
f5c46b23b9 RED-9437: made watermark selector shorter and fixed help mode button. 2024-07-09 14:55:19 +03:00
Valentin Mihai
db90287c1f WIP on master
RED-9464 - In dictionary search is not cleared when pressing X
2024-07-09 14:49:41 +03:00
Dan Percic
33e0daee77 Merge branch 'VM/RED-9401' into 'master'
RED-9401 - Show manual changes icon in workload for all entries with MANUAL engine

Closes RED-9401

See merge request redactmanager/red-ui!491
2024-07-09 13:28:11 +02:00
Nicoleta Panaghiu
7276966af9 RED-9597: fixed missing labels. 2024-07-09 14:16:46 +03:00
Nicoleta Panaghiu
1fe2efca4d RED-9605: removed redundant edit button. 2024-07-09 14:14:40 +03:00
Dan Percic
f6346c27bc Merge branch 'RED-5108' into 'master'
RED-5108: map IGNORED IMAGE_HINT to Hint instead of IngoredHint.

See merge request redactmanager/red-ui!489
2024-07-09 13:03:13 +02:00
Nicoleta Panaghiu
0b693fbcb7 Merge branch 'updates' into 'master'
Imports fixes

See merge request redactmanager/red-ui!490
2024-07-09 13:02:47 +02:00
Dan Percic
ad4016f6d0 fix help mode keys import 2024-07-09 12:55:44 +03:00
Valentin Mihai
78d6328af8 WIP on master
RED-9401 - Show manual changes icon in workload for all entries with MANUAL engine
2024-07-09 12:53:02 +03:00
Dan Percic
48c3a4ee63 update imports 2024-07-09 12:26:13 +03:00
Nicoleta Panaghiu
0f5411ab46 RED-5108: map IGNORED IMAGE_HINT to Hint instead of IngoredHint. 2024-07-05 14:38:19 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
14b268c796 push back localazy update 2024-07-05 09:41:16 +00:00
Dan Percic
e9c0b6e458 Merge branch 'VM/RED-9513' into 'master'
RED-9513 - Enter Key Not Working: Unable to Add Terms to Dictionary

Closes RED-9513

See merge request redactmanager/red-ui!488
2024-07-04 12:12:08 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
f6f9e96c26 push back localazy update 2024-07-04 10:03:36 +00:00
Valentin Mihai
ca24134c6e RED-9513 - Enter Key Not Working: Unable to Add Terms to Dictionary 2024-07-04 12:53:53 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
8163dc96ca push back localazy update 2024-07-04 01:03:49 +00:00
Dan Percic
2eb5d81e74 Merge branch 'RED-9527' into 'master'
RED-9527: fixed enter not saving the file attribute.

See merge request redactmanager/red-ui!495
2024-07-03 16:00:04 +02:00
Nicoleta Panaghiu
4700ec8098 RED-9527: fixed enter not saving the file attribute. 2024-07-03 16:31:42 +03:00
Dan Percic
47325b387e Merge branch 'RED-9431' into 'master'
RED-9431: fixed missing translations.

See merge request redactmanager/red-ui!494
2024-07-03 13:28:20 +02:00
Nicoleta Panaghiu
1d04a5b7b1 RED-9431: fixed missing translations. 2024-07-03 13:56:50 +03:00
Dan Percic
0e2b9f136a Merge branch 'RED-9525' into 'master'
RED-9525: use backend error for add dossier & import mat-dialog-close.

See merge request redactmanager/red-ui!493
2024-07-03 12:11:36 +02:00
Nicoleta Panaghiu
a37dc2feef RED-9525: use backend error for add dossier & import mat-dialog-close. 2024-07-03 13:01:49 +03:00
Dan Percic
7a2551f71f Merge branch 'VM/RED-9508' into 'master'
RED-9508 - Page not responsive after switching Dossier view from active to archived

Closes RED-9508

See merge request redactmanager/red-ui!492
2024-07-03 10:48:33 +02:00
Valentin Mihai
3a3973744f RED-9508 - Page not responsive after switching Dossier view from active to archived 2024-07-03 11:46:10 +03:00
Dan Percic
66831fe655 Merge branch 'VM/RED-9484' into 'master'
RED-9484 - Missing legalBasis for images in reports

Closes RED-9484

See merge request redactmanager/red-ui!491
2024-07-03 08:54:10 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
484f219270 push back localazy update 2024-07-03 01:04:09 +00:00
Valentin Mihai
4636520cb4 RED-9484 - Missing legalBasis for images in reports 2024-07-03 00:30:04 +03:00
Dan Percic
64d57e3263 Merge branch 'VM/RED-9401' into 'master'
RED-9401 - Show manual changes icon in workload for all entries with MANUAL engine

Closes RED-9401

See merge request redactmanager/red-ui!490
2024-07-02 13:17:14 +02:00
Valentin Mihai
07a78fcc26 RED-9401 - removed 'hasBeenAddedLocally' check 2024-07-02 10:59:46 +03:00
Valentin Mihai
b5fc95bfed RED-9401 - Show manual changes icon in workload for all entries with MANUAL engine 2024-07-02 10:13:39 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
f28dd40242 push back localazy update 2024-07-02 01:04:17 +00:00
Dan Percic
423f7c1c12 Merge branch 'RED-9422' into 'master'
RED-9422: fixed unnecessary horizontal scrollbar.

See merge request redactmanager/red-ui!489
2024-07-01 12:08:18 +02:00
Nicoleta Panaghiu
76f0b9315a RED-9422: fixed unnecessary horizontal scrollbar. 2024-07-01 12:29:02 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
41695edc45 push back localazy update 2024-06-29 01:04:11 +00:00
Dan Percic
2685c82ec6 Merge branch 'RED-9422' into 'master'
RED-9422: re-add scrollbar for edit dossier members list.

See merge request redactmanager/red-ui!488
2024-06-28 14:34:48 +02:00
Nicoleta Panaghiu
ba2fcf6ad8 RED-9422: re-add scrollbar for edit dossier members list. 2024-06-28 15:33:30 +03:00
Dan Percic
e35d20e57e Merge branch 'VM/RED-9400' into 'master'
RED-9400 - Forced redaction shows two force entries in manual changes tooltip

Closes RED-9400

See merge request redactmanager/red-ui!487
2024-06-28 09:09:25 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
61c37e7fb3 push back localazy update 2024-06-28 01:04:20 +00:00
Valentin Mihai
fd8ea88d31 RED-9400 - Forced redaction shows two force entries in manual changes tooltip 2024-06-27 18:02:21 +03:00
Dan Percic
8daacfcf9a Merge branch 'VM/RED-9453' into 'master'
RED-9453 - New dossier state gets created twice when saving with Enter key

Closes RED-9453

See merge request redactmanager/red-ui!485
2024-06-27 14:35:08 +02:00
Nicoleta Panaghiu
24f030591b Merge branch 'VM/RED-9362' into 'master'
RED-9362 - Help Mode tooltip missing

Closes RED-9362

See merge request redactmanager/red-ui!486
2024-06-27 14:34:31 +02:00
Valentin Mihai
3719cc70e7 RED-9362 - Help Mode tooltip missing 2024-06-27 15:32:53 +03:00
Valentin Mihai
53fb99f8f2 RED-9453 - New dossier state gets created twice when saving with Enter key 2024-06-27 14:54:48 +03:00
Dan Percic
830722904b Merge branch 'VM/RED-9390' into 'master'
RED-9390 - Workload filter does not remember previous ALL or NONE selection

Closes RED-9390

See merge request redactmanager/red-ui!484
2024-06-27 13:32:48 +02:00
Valentin Mihai
3dec406733 RED-9390 - Workload filter does not remember previous ALL or NONE selection 2024-06-27 13:24:29 +03:00
Dan Percic
0b68d071a1 Merge branch 'RED-9460' into 'master'
RED-9460: display all types which have a dictionary in dossier settings.

See merge request redactmanager/red-ui!483
2024-06-27 10:20:48 +02:00
Nicoleta Panaghiu
9cae140cb1 RED-9460: display all types which have a dictionary in dossier settings. 2024-06-27 11:17:49 +03:00
Dan Percic
d43f46ceb9 Merge branch 'RED-9373' into 'master'
RED-9373: removed fixed width property on dashboard card.

See merge request redactmanager/red-ui!482
2024-06-27 10:08:31 +02:00
Nicoleta Panaghiu
1c400d6685 RED-9373: removed fixed width property on dashboard card. 2024-06-27 11:05:24 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
ac910efbda push back localazy update 2024-06-27 01:03:51 +00:00
Dan Percic
a1e1a123f3 Merge branch 'VM/RED-8748' into 'master'
RED-8748 - Integrated component view in DocuMine

Closes RED-8748

See merge request redactmanager/red-ui!480
2024-06-26 14:50:42 +02:00
Dan Percic
4c4032b5ad Merge branch 'RED-9437' into 'master'
RED-9437: fixed watermarks not available on creating first dossier.

See merge request redactmanager/red-ui!481
2024-06-26 14:48:36 +02:00
Nicoleta Panaghiu
9c5a66b80e RED-9437: fixed watermarks not available on creating first dossier. 2024-06-26 15:37:33 +03:00
Valentin Mihai
1ba99def41 RED-8748 - fixed revert value dialog 2024-06-26 15:31:30 +03:00
Dan Percic
eeca03ae61 Merge branch 'RED-9443' into 'master'
RED-9443: filter out experimental types from type selection options.

See merge request redactmanager/red-ui!479
2024-06-26 12:12:36 +02:00
Nicoleta Panaghiu
3aa7ba1629 RED-9443: filter out experimental types from type selection options. 2024-06-26 12:42:26 +03:00
Dan Percic
ea06f4940a Merge branch 'RED-9431' into 'master'
RED-9431:  recovered missing translation keys.

See merge request redactmanager/red-ui!478
2024-06-26 11:04:17 +02:00
Nicoleta Panaghiu
e9b89b377a RED-9431: recovered missing translation keys. 2024-06-26 11:42:38 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
eb1a592abe push back localazy update 2024-06-26 01:03:36 +00:00
Dan Percic
797a4d6afd Merge branch 'VM/RED-9444' into 'master'
RED-9444 - Download button in dossier list view not working

Closes RED-9444

See merge request redactmanager/red-ui!477
2024-06-25 22:33:35 +02:00
Valentin Mihai
a0ab248479 RED-9444 - Download button in dossier list view not working 2024-06-25 23:06:00 +03:00
Dan Percic
6b7a089057 Merge branch 'VM/RED-9446' into 'master'
RED-9446 - Rectangle Redaction blocks File view and Freezes session

Closes RED-9446

See merge request redactmanager/red-ui!476
2024-06-25 17:42:18 +02:00
Valentin Mihai
c634d46b06 RED-9446 - Rectangle Redaction blocks File view and Freezes session 2024-06-25 18:33:51 +03:00
Valentin Mihai
6d7f6cbe2b Merge branch 'master' into VM/RED-8748 2024-06-25 13:05:35 +03:00
Dan Percic
0673ab6ce7 Merge branch 'RED-9306' into 'master'
RED-9306: display remove everywhere options for DICTIONARY engine.

See merge request redactmanager/red-ui!475
2024-06-25 11:05:17 +02:00
Nicoleta Panaghiu
87441ab0ec RED-9306: display remove everywhere options for DICTIONARY engine. 2024-06-25 11:54:24 +03:00
Dan Percic
c8bc0e7328 Merge branch 'RED-9443' into 'master'
RED-9443: fixed add hint dialog type select.

See merge request redactmanager/red-ui!474
2024-06-25 10:18:00 +02:00
Nicoleta Panaghiu
00dfb87c17 RED-9443: fixed add hint dialog type select. 2024-06-25 11:16:42 +03:00
Dan Percic
64187bd254 Merge branch 'RED-9370' into 'master'
RED-9370 & RED-9439: reverted changes to dossier href.

See merge request redactmanager/red-ui!473
2024-06-25 10:12:32 +02:00
Nicoleta Panaghiu
2173737132 RED-9370 & RED-9439: reverted changes to dossier href. 2024-06-25 11:02:40 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
b32573f9b7 push back localazy update 2024-06-25 01:03:34 +00:00
Valentin Mihai
797ffeff2a Merge branch 'master' into VM/RED-8748 2024-06-25 00:26:01 +03:00
Valentin Mihai
26a70a8398 RED-8748 - fixed workload annotations filtering, updated default textarea height for component values 2024-06-25 00:25:16 +03:00
Dan Percic
fe4e67b953 Merge branch 'RED-9337' into 'master'
RED-9337: display reanalyse button for bulk select.

See merge request redactmanager/red-ui!471
2024-06-24 11:20:17 +02:00
Nicoleta Panaghiu
3d481e5e47 RED-9337: display reanalyse button for bulk select. 2024-06-24 12:17:34 +03:00
Dan Percic
6e60cff400 Merge branch 'RED-9370' into 'master'
RED-9370: open download link in the same tab; fix back button.

See merge request redactmanager/red-ui!470
2024-06-24 10:38:11 +02:00
Nicoleta Panaghiu
4f196eb27d RED-9370: open download link in the same tab; fix back button. 2024-06-24 06:44:53 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
54b07d1e43 push back localazy update 2024-06-21 01:04:14 +00:00
Valentin Mihai
d7bbf20585 WIP on VM/RED-8748
RED-8748 - fixed document info view
2024-06-20 18:59:38 +03:00
Valentin Mihai
6f80f5f4ad Merge branch 'master' into VM/RED-8748 2024-06-20 16:46:12 +03:00
Dan Percic
aacca45da6 Merge branch 'updates' into 'master'
add pdftron version to assets

See merge request redactmanager/red-ui!469
2024-06-20 14:14:24 +02:00
Dan Percic
d0f95923a3 add pdftron version to assets 2024-06-20 15:10:20 +03:00
Dan Percic
91ab867792 Merge branch 'RED-3800' into 'master'
RED-3800: Moved fullscreen icons to common-ui

Closes RED-3800

See merge request redactmanager/red-ui!468
2024-06-20 14:07:51 +02:00
Adina Țeudan
0654558b6b RED-3800: Moved fullscreen icons to common-ui 2024-06-20 14:57:56 +03:00
Dan Percic
be756b3fe9 Merge branch 'updates' into 'master'
fix skip paths?

See merge request redactmanager/red-ui!467
2024-06-20 13:47:42 +02:00
Dan Percic
6202c0c462 fix skip paths? 2024-06-20 14:44:30 +03:00
Dan Percic
d92d346de3 Merge branch 'updates' into 'master'
skip web viewer scripts from sw caches

See merge request redactmanager/red-ui!466
2024-06-20 13:36:11 +02:00
Dan Percic
7f686c28c6 skip web-viewer scripts from sw caches 2024-06-20 14:34:18 +03:00
Dan Percic
dba8663e18 Merge branch 'updates' into 'master'
migrate inputs to signal inputs

See merge request redactmanager/red-ui!465
2024-06-20 10:51:11 +02:00
Dan Percic
f0b4070ae2 migrate inputs to signal inputs 2024-06-20 11:38:38 +03:00
Dan Percic
ab550a2831 Merge branch 'RED-9321' into 'master'
Migrate to lazy load routes

See merge request redactmanager/red-ui!464
2024-06-20 09:37:16 +02:00
Dan Percic
7b836c2894 update lockfile 2024-06-20 10:32:36 +03:00
Dan Percic
b7dbac0695 unfuck circular imports 2024-06-20 10:28:34 +03:00
Dan Percic
04e3f5b522 almost unfuck circular imports 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
ffd02c787d RED-9321: added missing imports. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
c3662f6bc5 RED-9321: refactored shared and file-upload-download modules. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
5d3af7e3cb RED-9321: fixed import. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
ae01864e0d RED-9321: deleted shared-dossiers module. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
0e9dcc2b1f RED-9321: refactored admin module. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
28b3301063 RED-9321: refactored account and archive modules. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
c4912ffd8f RED-9321: refactored trash and search modules. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
0fe7584f4b RED-9321: refactored account, dossier-listing and dashboard. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
6469e3de36 RED-9321: move resolve inside license.routes. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
6924cc1799 RED-9321: lazy load watermarks routes. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
1378543bf7 RED-9321: get the latest changes and adapt to standalone. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
cf6b7b4d24 RED-9321: lazy load entities routes, standalone components. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
9409261f3b RED-9321: removed file-preview and dossier-overview modules, use standalone. 2024-06-20 10:28:34 +03:00
Nicoleta Panaghiu
3d7dca1f43 RED-9321: refactored submodules of admin to standalone components. 2024-06-20 10:28:34 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
5cd5c39916 push back localazy update 2024-06-20 01:03:49 +00:00
Valentin-Gabriel Mihai
b0ab6bd302 Merge branch 'RED-9370' into 'master'
RED-9370: fixed notification links not working.

See merge request redactmanager/red-ui!463
2024-06-19 17:56:08 +02:00
Nicoleta Panaghiu
7dad19f8be RED-9370: fixed notification links not working. 2024-06-19 18:28:49 +03:00
Dan Percic
681cf01bd4 Merge branch 'RED-9337' into 'master'
RED-9337: owner and file assignee can reanalyse error file.

See merge request redactmanager/red-ui!462
2024-06-19 16:10:49 +02:00
Nicoleta Panaghiu
403d890140 RED-9337: owner and file assignee can reanalyse error file. 2024-06-19 17:01:20 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
0fcd8a45b6 push back localazy update 2024-06-19 07:34:23 +00:00
Dan Percic
a63dd4a846 Merge branch 'RED-9171' into 'master'
RED-9171: removed error toaster for non-existing dossier template.

See merge request redactmanager/red-ui!461
2024-06-18 17:59:00 +02:00
Nicoleta Panaghiu
cdd4cecb5b RED-9171: removed error toaster for non-existing dossier template. 2024-06-18 18:58:11 +03:00
Valentin-Gabriel Mihai
57a650cf6b Merge branch 'RED-3800' into 'master'
RED-3800: Updated translate extract lib

Closes RED-3800

See merge request redactmanager/red-ui!460
2024-06-18 17:36:23 +02:00
Adina Țeudan
e39ba6e62f RED-3800: Updated translate extract lib 2024-06-18 18:34:56 +03:00
Dan Percic
59b1219128 Merge branch 'RED-5108' into 'master'
RED-5108: use default redaction color for redacted image hints.

See merge request redactmanager/red-ui!459
2024-06-18 17:13:03 +02:00
Nicoleta Panaghiu
244ec6626f RED-5108: use default redaction color for redacted image hints. 2024-06-18 16:53:59 +03:00
Dan Percic
d797f57751 Merge branch 'RED-3800' into 'master'
fix docker file

See merge request redactmanager/red-ui!458
2024-06-18 15:18:37 +02:00
Dan Percic
bc2c700ca5 fix docker file 2024-06-18 16:17:05 +03:00
Valentin Mihai
bc8ba16b6b Merge branch 'master' into VM/RED-8748 2024-06-18 16:15:36 +03:00
Dan Percic
640297867f Merge branch 'VM/RED-9201' into 'master'
RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!457
2024-06-18 13:26:05 +02:00
Valentin Mihai
cf3aa9f0cf RED-9201 - UI for Component Mapping Tables 2024-06-18 13:57:53 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
2663c36dc2 push back localazy update 2024-06-18 01:03:38 +00:00
Dan Percic
1179d9330a Merge branch 'updates' into 'master'
Updates

See merge request redactmanager/red-ui!456
2024-06-17 21:26:52 +02:00
Dan Percic
d0b401d3cf lint 2024-06-17 21:27:24 +03:00
Dan Percic
aa6bc36b89 migrate buttons to signal inputs 2024-06-17 21:26:49 +03:00
Valentin Mihai
19dc8f2704 RED-8748 - Integrated component view in DocuMine 2024-06-17 20:41:12 +03:00
Dan Percic
939b40b014 other updates 2024-06-17 19:49:18 +03:00
Dan Percic
f1ece3a89e update common-ui 2024-06-17 19:49:18 +03:00
Dan Percic
97ebca5046 ng 18 2024-06-17 19:49:18 +03:00
Dan Percic
20a80933b5 update lock file 2024-06-17 19:49:18 +03:00
Dan Percic
adf3b6b663 Merge branch 'VM/RED-8748-fix' into 'master'
RED-8748 - added back button for rectangle redaction

Closes RED-8748

See merge request redactmanager/red-ui!455
2024-06-17 13:58:54 +02:00
Valentin Mihai
b546929c9c RED-8748 - added back button for rectangle redaction 2024-06-17 14:36:49 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
c5b515bb35 push back localazy update 2024-06-15 01:03:50 +00:00
Dan Percic
223575c232 Merge branch 'VM/RED-8742' into 'master'
VM/RED-8742 - fixed hide button

Closes RED-8742

See merge request redactmanager/red-ui!454
2024-06-14 14:35:08 +02:00
Valentin Mihai
466139fadf WIP on master
RED-8742 - fixed hide button
2024-06-14 13:41:52 +03:00
Dan Percic
cfc882f303 Merge branch 'RED-8748' into 'master'
RED-8748 - Integrated component view in DocuMine

Closes RED-8748

See merge request redactmanager/red-ui!453
2024-06-14 12:02:26 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
717861057f push back localazy update 2024-06-14 01:03:52 +00:00
Valentin Mihai
4841bfc690 RED-8748 - Integrated component view in DocuMine 2024-06-13 18:30:25 +03:00
Valentin Mihai
b8fe0bca90 RED-8748 - Integrated component view in DocuMine 2024-06-13 18:03:18 +03:00
Dan Percic
072d9e3538 Merge branch 'VM/RED-9201' into 'master'
RED-9201 - fixed sorting and search by name

Closes RED-9201

See merge request redactmanager/red-ui!452
2024-06-13 12:22:26 +02:00
Valentin Mihai
2eb371fcd6 RED-9201 - fixed sorting and search by name 2024-06-13 12:25:59 +03:00
Dan Percic
190b040b1a Merge branch 'RED-9191' into 'master'
RED-9191 & RED-8396.

See merge request redactmanager/red-ui!451
2024-06-13 09:34:32 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
3c9904ddd5 push back localazy update 2024-06-13 01:03:50 +00:00
Nicoleta Panaghiu
27597e9a5a RED-9191 & RED-8396. 2024-06-12 20:17:06 +03:00
Dan Percic
3b29c0613a Merge branch 'RED-5108' into 'master'
RED-5108: update tooltips and header.

See merge request redactmanager/red-ui!450
2024-06-12 12:37:50 +02:00
Nicoleta Panaghiu
6b4f1b91d5 RED-5108: update tooltips and header. 2024-06-12 13:04:38 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
039b5540a9 push back localazy update 2024-06-12 01:03:46 +00:00
Dan Percic
463fddefd3 Merge branch 'VM/RED-8748' into 'master'
RED-8748 - Integrated component view in DocuMine

Closes RED-8748

See merge request redactmanager/red-ui!449
2024-06-11 20:03:54 +02:00
Valentin Mihai
6da2e35e5b RED-8748 - removed unused code 2024-06-11 20:57:25 +03:00
Valentin Mihai
d003283939 Merge branch 'master' into VM/RED-8748 2024-06-11 20:17:34 +03:00
Valentin Mihai
f560322547 RED-8748 - updates for override, revertOverride actions 2024-06-11 20:15:29 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
e09663aa71 push back localazy update 2024-06-11 01:03:43 +00:00
Dan Percic
93f8a0a4d3 Merge branch 'RED-3800' into 'master'
RED-3800: Moved visibility icons to common-ui

Closes RED-3800

See merge request redactmanager/red-ui!448
2024-06-10 15:56:51 +02:00
Adina Țeudan
ff16ae33c5 RED-3800: Moved visibility icons to common-ui 2024-06-10 16:26:54 +03:00
Valentin Mihai
b8a3f81859 RED-8748 2024-06-10 14:41:42 +03:00
Valentin Mihai
d0c6bef6b5 Merge branch 'master' into VM/RED-8748 2024-06-10 14:41:12 +03:00
Dan Percic
355b8edd86 Merge branch 'RED-9196' into 'master'
RED-9196: fixed due date checkbox not being reverted.

See merge request redactmanager/red-ui!447
2024-06-10 13:12:21 +02:00
Nicoleta Panaghiu
bbe8ac9742 RED-9196: fixed due date checkbox not being reverted. 2024-06-10 14:07:48 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
b9c9e8af98 push back localazy update 2024-06-09 01:03:39 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
820a3cb4d0 push back localazy update 2024-06-08 01:03:57 +00:00
Dan Percic
aaa1d7f0a4 Merge branch 'RED-9125' into 'master'
RED-9125: upgrade webviewer.

See merge request redactmanager/red-ui!446
2024-06-07 15:39:23 +02:00
Nicoleta Panaghiu
ea6a0c4d5f RED-9125: forgot yarn lock. 2024-06-07 16:35:18 +03:00
Nicoleta Panaghiu
dbdce02e79 RED-9125: upgrade webviewer. 2024-06-07 16:08:17 +03:00
Dan Percic
99b31ba9a2 Merge branch 'RED-8623' into 'master'
RED-8623: fix side effect.

See merge request redactmanager/red-ui!445
2024-06-07 14:57:50 +02:00
Nicoleta Panaghiu
f84fb52609 RED-8623: fix side effect. 2024-06-07 15:56:18 +03:00
Dan Percic
a035b9dbb0 Merge branch 'VM/RED-9201' into 'master'
RED-9201 - UI for Component Mapping Tables

Closes RED-9201

See merge request redactmanager/red-ui!444
2024-06-07 12:05:44 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
96223eee10 push back localazy update 2024-06-07 01:03:57 +00:00
Valentin Mihai
ce015babec Merge branch 'master' into VM/RED-9201 2024-06-06 18:41:30 +03:00
Valentin Mihai
3dfe705da1 RED-9201 - update config 2024-06-06 18:39:31 +03:00
Valentin Mihai
13c1a2a0b0 RED-9201 - added all mapping actions 2024-06-06 18:33:18 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
eefbe0f7c1 push back localazy update 2024-06-06 01:03:55 +00:00
Dan Percic
53123e05e0 Merge branch 'RED-7593' into 'master'
RED-7593: added warning notification in case of missing admin email.

See merge request redactmanager/red-ui!443
2024-06-05 13:32:36 +02:00
Nicoleta Panaghiu
54835866a7 Merge remote-tracking branch 'origin/master' into RED-7593 2024-06-05 14:25:58 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
8f3ed70a57 push back localazy update 2024-06-05 01:03:28 +00:00
Valentin Mihai
6b7c0e4ac9 Merge branch 'master' into VM/RED-8748 2024-06-05 00:24:56 +03:00
Valentin Mihai
40cc4a3d37 Merge branch 'master' into VM/RED-9201 2024-06-05 00:17:02 +03:00
Valentin Mihai
a960b837df RED-9201 - UI for Component Mapping Tables 2024-06-05 00:09:32 +03:00
Nicoleta Panaghiu
47342ee739 RED-7593: added warning notification in case of missing admin email. 2024-06-04 22:10:13 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
435c4e0ed4 push back localazy update 2024-06-04 01:03:52 +00:00
Dan Percic
597b613e2d Merge branch 'RED-9237' into 'master'
RED-9237: Escape "{" in translation string

Closes RED-9237

See merge request redactmanager/red-ui!442
2024-06-03 21:03:17 +02:00
Adina Țeudan
7f51609b72 RED-9237: Escape "{" in translation string 2024-06-03 22:01:32 +03:00
Dan Percic
8f2484e736 Merge branch 'RED-8979' into 'master'
RED-8979: Indicate dossier dictionary-based annotations in workload

Closes RED-8979

See merge request redactmanager/red-ui!441
2024-06-03 20:42:49 +02:00
Adina Țeudan
8a32910084 RED-8979: Indicate dossier dictionary-based annotations in workload 2024-06-03 21:41:38 +03:00
Dan Percic
6b30ac27ea Merge branch 'RED-9237' into 'master'
RED-9237: Added placeholders in reports page

Closes RED-9237

See merge request redactmanager/red-ui!440
2024-06-03 20:40:05 +02:00
Adina Țeudan
51c4dd05ae RED-9237: Added placeholders in reports page 2024-06-03 21:37:13 +03:00
Dan Percic
98f53cddc8 Merge branch 'RED-6143' into 'master'
RED-6143: Updates according to comment

Closes RED-6143

See merge request redactmanager/red-ui!436
2024-06-03 15:53:43 +02:00
Dan Percic
25d8815c17 Merge branch 'RED-9175' into 'master'
Resolve RED-9175

Closes RED-9175

See merge request redactmanager/red-ui!439
2024-06-03 15:14:30 +02:00
Nicoleta Panaghiu
8220f502e6 RED-9175: removed unnecessary brackets. 2024-06-03 16:10:10 +03:00
Nicoleta Panaghiu
129f2d97d6 RED-9175: remove unused import. 2024-06-03 15:20:59 +03:00
Nicoleta Panaghiu
1ea03ac015 RED-9175: prevent search re-trigger upon navigating the file pages. 2024-06-03 15:20:59 +03:00
Dan Percic
f02323561c Merge branch 'RED-5108' into 'master'
RED-5108: added redact functionality for hint images.

See merge request redactmanager/red-ui!438
2024-06-03 12:15:24 +02:00
Nicoleta Panaghiu
050b0bc55a RED-5108: added redact functionality for hint images. 2024-06-03 13:07:14 +03:00
Valentin-Gabriel Mihai
ca7c145457 Merge branch 'RED-9191' into 'master'
RED-9191: toggle icons design fine-tuning.

See merge request redactmanager/red-ui!437
2024-05-30 16:16:07 +02:00
Nicoleta Panaghiu
668dff4620 RED-9191: toggle icons design fine-tuning. 2024-05-30 17:14:47 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
85560cc438 push back localazy update 2024-05-30 01:03:52 +00:00
Valentin Mihai
d3f293f622 RED-9201 - UI for Component Mapping Tables 2024-05-29 20:16:23 +03:00
Adina Țeudan
9922526fc6 RED-6143: Updates according to comment 2024-05-29 15:04:12 +03:00
Nicoleta Panaghiu
4cdfc97a9f Merge branch 'VM/RED-8882' into 'master'
RED-8882 - Help Mode design improvements

Closes RED-8882

See merge request redactmanager/red-ui!435
2024-05-29 09:55:46 +02:00
Nicoleta Panaghiu
4bcc5c5b38 Merge branch 'VM/RED-9208' into 'master'
RED-9208 - Rule editor: Display of error disappears when saving before...

Closes RED-9208

See merge request redactmanager/red-ui!434
2024-05-29 09:55:34 +02:00
Valentin Mihai
cfe897c3a3 RED-8882 - Help Mode design improvements 2024-05-29 10:53:33 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
b6491f9d6a push back localazy update 2024-05-29 01:04:14 +00:00
Valentin Mihai
d3d042e539 RED-9208 - Rule editor: Display of error disappears when saving before checking for warnings (dry run) 2024-05-28 14:24:22 +03:00
Valentin Mihai
26a3a2abb6 Merge branch 'master' into VM/RED-8748 2024-05-28 14:03:52 +03:00
Nicoleta Panaghiu
d98b55c7ff Merge branch 'VM/RED-8742' into 'master'
RED-8742 - Display red border around hidden annotations when they are selected in workload

Closes RED-8742

See merge request redactmanager/red-ui!433
2024-05-28 08:46:53 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
a0ebd52c0a push back localazy update 2024-05-28 01:03:27 +00:00
Valentin Mihai
d74f501f4c RED-8742 - Display red border around hidden annotations when they are selected in workload 2024-05-27 21:28:23 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
ee2d53f10b push back localazy update 2024-05-25 01:03:49 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
ad64637a0d push back localazy update 2024-05-24 01:04:03 +00:00
Valentin-Gabriel Mihai
7abcd054aa Merge branch 'RED-9204' into 'master'
RED-9204: fixed edit dossier dialog buttons functionalities.

See merge request redactmanager/red-ui!432
2024-05-23 15:04:49 +02:00
Nicoleta Panaghiu
3dd0740222 RED-9204: fixed edit dossier dialog buttons functionalities. 2024-05-23 16:01:11 +03:00
Nicoleta Panaghiu
185d421074 Merge branch 'VM/RED-8882' into 'master'
RED-8882 - Help Mode design improvements

Closes RED-8882

See merge request redactmanager/red-ui!431
2024-05-23 10:04:46 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
a94d8bfbc3 push back localazy update 2024-05-23 01:03:37 +00:00
Valentin Mihai
29b23cc862 VM/RED-8748 - update common ui 2024-05-22 21:42:55 +03:00
Valentin Mihai
18ca33e9d2 Merge branch 'master' into VM/RED-8748 2024-05-22 21:42:26 +03:00
Valentin Mihai
4e4aa23552 RED-8882 - Help Mode design improvements 2024-05-22 21:38:08 +03:00
Valentin-Gabriel Mihai
32d45c9097 Merge branch 'RED-6959' into 'master'
RED-6959: Added selected items count to table header

Closes RED-6959

See merge request redactmanager/red-ui!430
2024-05-22 13:51:35 +02:00
Valentin-Gabriel Mihai
b107237a90 Merge branch 'RED-8872' into 'master'
RED-8872: More readonly tabs in edit dossier, rework to signals

Closes RED-8872

See merge request redactmanager/red-ui!429
2024-05-22 13:49:13 +02:00
Adina Țeudan
0ff7c16d0d RED-6959: Added selected items count to table header 2024-05-22 14:37:40 +03:00
Adina Țeudan
19c51fa721 RED-3800: Remove commented css 2024-05-22 14:18:07 +03:00
Adina Țeudan
7319cc7cc9 RED-8872: More readonly tabs in edit dossier, rework to signals 2024-05-22 14:16:35 +03:00
Valentin-Gabriel Mihai
29cc0d9a11 Merge branch 'RED-6143' into 'master'
RED-6143: Redo dossier template settings / dialogs

Closes RED-6143

See merge request redactmanager/red-ui!420
2024-05-22 09:37:05 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
977213c70e push back localazy update 2024-05-22 01:03:37 +00:00
Valentin-Gabriel Mihai
fd4b9c2ab1 Merge branch 'RED-9151' into 'master'
RED-9151: change text ordering to rendering order of the text

Closes RED-9151

See merge request redactmanager/red-ui!418
2024-05-21 14:28:51 +02:00
Kilian Schüttler
81ef952451 RED-9151: change text ordering to rendering order of the text 2024-05-21 14:28:51 +02:00
Adina Țeudan
a3748a6ae8 Merge remote-tracking branch 'origin/master' into RED-6143 2024-05-21 12:06:07 +03:00
Nicoleta Panaghiu
6dd46ca19f Merge branch 'VM/RED-8882' into 'master'
RED-8882 - removed base dialog

Closes RED-8882

See merge request redactmanager/red-ui!428
2024-05-21 09:33:53 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
ef62fbe44a push back localazy update 2024-05-21 01:03:53 +00:00
Valentin Mihai
db18d9ad81 Merge branch 'master' into VM/RED-8748 2024-05-20 19:59:37 +03:00
Valentin Mihai
019d0994c8 RED-8748 - update common ui 2024-05-20 19:57:38 +03:00
Valentin Mihai
f9ca725899 RED-8882 - update common ui 2024-05-20 19:07:23 +03:00
Nicoleta Panaghiu
cfde7dc6a8 Merge branch 'VM/RED-8882' into 'master'
RED-8882 - moved help mode dialog preference into iqser-user-preferences.service

Closes RED-8882

See merge request redactmanager/red-ui!427
2024-05-20 16:13:31 +02:00
Valentin Mihai
0630b0e078 RED-8882 - moved help mode dialog preference into iqser-user-preferences.service 2024-05-20 17:10:55 +03:00
Nicoleta Panaghiu
d5a8b13b0e Merge branch 'VM/RED-8882' into 'master'
RED-8882 - removed user preferences service from help mode service

Closes RED-8882

See merge request redactmanager/red-ui!426
2024-05-20 15:32:29 +02:00
Valentin Mihai
bea47cc003 RED-8882 - removed user preferences service from help mode service 2024-05-20 16:27:41 +03:00
Nicoleta Panaghiu
28d354b90a Merge branch 'VM/RED-8882' into 'master'
RED-8882 - Help Mode design improvements

Closes RED-8882

See merge request redactmanager/red-ui!425
2024-05-20 13:44:34 +02:00
Valentin Mihai
10140556e6 RED-8882 - removed base dialog from help mode dialog 2024-05-20 14:31:58 +03:00
Valentin-Gabriel Mihai
63ee7e17b8 Merge branch 'RED-9131' into 'master'
RED-9131: more design improvements.

See merge request redactmanager/red-ui!424
2024-05-20 10:43:47 +02:00
Nicoleta Panaghiu
84c8aa4129 RED-9131: more design improvements. 2024-05-20 11:42:11 +03:00
Nicoleta Panaghiu
460046c732 Merge branch 'VM/RED-8882' into 'master'
RED-8882 - Help Mode design improvements

Closes RED-8882

See merge request redactmanager/red-ui!423
2024-05-20 09:41:33 +02:00
Valentin Mihai
239f2d0269 RED-8882 - update common ui 2024-05-20 10:40:13 +03:00
Valentin Mihai
0f89a490de Merge branch 'master' into VM/RED-8748 2024-05-17 19:14:48 +03:00
Valentin Mihai
b8ebbcbb6c RED-8882 - update common ui 2024-05-17 19:05:13 +03:00
Valentin Mihai
8088c32218 Merge branch 'master' into VM/RED-8882 2024-05-17 17:52:11 +03:00
Valentin Mihai
912f66883a WIP on VM/RED-8882
RED-8882 - Help Mode design improvements
2024-05-17 17:51:09 +03:00
Valentin-Gabriel Mihai
fd4ba25f1b Merge branch 'RED-9012' into 'master'
RED-9012: fixed cosmetical issue.

See merge request redactmanager/red-ui!422
2024-05-17 13:56:04 +02:00
Nicoleta Panaghiu
d4706a62bd RED-9012: fixed cosmetical issue. 2024-05-17 14:55:00 +03:00
Valentin-Gabriel Mihai
df859686bf Merge branch 'RED-9131' into 'master'
RED-9131: implemented design changes.

See merge request redactmanager/red-ui!421
2024-05-17 12:15:38 +02:00
Nicoleta Panaghiu
9a651e3725 RED-9131: implemented design changes. 2024-05-17 13:11:02 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
5dd9cd5831 push back localazy update 2024-05-17 01:03:44 +00:00
Adina Țeudan
c7658527d5 RED-6143: Redo dossier template settings / dialogs 2024-05-16 23:38:32 +03:00
Valentin Mihai
cd3ead7ac2 Merge branch 'master' into VM/RED-8882 2024-05-16 18:49:00 +03:00
Valentin Mihai
d8dca25a0e RED-8882 - update common ui 2024-05-16 18:47:50 +03:00
Valentin Mihai
836dae0c0e RED-8882 - Help Mode design improvements 2024-05-16 18:46:41 +03:00
Nicoleta Panaghiu
da4c9e6331 Merge branch 'RED-9012' into 'master'
RED-9012: style adjustments to the edit selected value feature.

See merge request redactmanager/red-ui!419
2024-05-16 12:59:05 +02:00
Nicoleta Panaghiu
d0e6f325c4 RED-9012: style adjustments to the edit selected value feature. 2024-05-16 13:56:46 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
b31bb1c893 push back localazy update 2024-05-16 01:03:42 +00:00
Valentin-Gabriel Mihai
a7009beed5 Merge branch 'RED-8872' into 'master'
RED-8872: Disable editing team members for dossier in inactive template

Closes RED-8872

See merge request redactmanager/red-ui!416
2024-05-15 22:38:01 +02:00
Adina Țeudan
354c117624 RED-8872: Fix comments 2024-05-15 23:34:40 +03:00
Valentin-Gabriel Mihai
e95b6a3824 Merge branch 'RED-7418' into 'master'
RED-7418: Disable preview mode if the file is in ERROR state

Closes RED-7418

See merge request redactmanager/red-ui!417
2024-05-15 16:44:25 +02:00
Valentin-Gabriel Mihai
88037fe297 Merge branch 'RED-9131' into 'master'
RED-9131: user can customize add/remove dialog defaults.

See merge request redactmanager/red-ui!414
2024-05-15 15:44:12 +02:00
Adina Țeudan
92219b4740 RED-7418: Disable preview mode if the file is in ERROR state 2024-05-15 16:42:01 +03:00
Adina Teudan
fb34d74e14 Merge branch 'RED-8983' into 'master'
RED-8983: Fixed cosmetical spacing/size issues

Closes RED-8983

See merge request redactmanager/red-ui!415
2024-05-15 15:31:18 +02:00
Adina Țeudan
0b8a163d0c RED-8872: Disable editing team members for dossier in inactive template 2024-05-15 16:30:22 +03:00
Adina Țeudan
b267eb92e9 RED-8983: Fixed cosmetical spacing/size issues 2024-05-15 16:13:28 +03:00
Nicoleta Panaghiu
0e8c7ec7a8 RED-9131: user can customize add/remove dialog defaults. 2024-05-15 15:54:01 +03:00
Dan Percic
0d5a05e9da Merge branch 'RED-9092' into 'master'
RED-9092: filtered out experimental and missing types.

See merge request redactmanager/red-ui!413
2024-05-10 12:32:08 +02:00
Nicoleta Panaghiu
11537f8cb6 RED-9092: filtered out experimental and missing types. 2024-05-10 13:30:42 +03:00
Dan Percic
294fba97d9 Merge branch 'RED-9097' into 'master'
RED-9097: fixed workflow file attributes not updating.

See merge request redactmanager/red-ui!412
2024-05-08 13:45:21 +02:00
Nicoleta Panaghiu
02294acbfc RED-9097: fixed workflow file attributes not updating. 2024-05-08 13:39:18 +03:00
Valentin Mihai
bbd337fa1f Merge branch 'master' into VM/RED-8748 2024-05-07 22:32:57 +03:00
Valentin Mihai
3c64d2ebcf RED-8786 - Preserve New-Lines in Component values in the UI 2024-05-07 22:32:06 +03:00
Dan Percic
b7b4d94b30 Merge branch 'VM/RED-8692' into 'master'
RED-8692 - do not display "0 warnings found in rules"

Closes RED-8692

See merge request redactmanager/red-ui!411
2024-05-02 17:13:36 +02:00
Valentin Mihai
de7a86dfa5 RED-8692 - do not display "0 warnings found in rules" 2024-05-02 17:31:50 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
c009038d6d push back localazy update 2024-05-01 01:03:24 +00:00
Valentin Mihai
ee70abbfbe RED-8748 - added CdkDropList to be able to reorder component log values 2024-04-30 17:30:14 +03:00
Valentin Mihai
0a8147cee2 RED-8748 - update common ui 2024-04-30 16:09:48 +03:00
Valentin Mihai
722794c425 RED-8748 - added revert value dialog 2024-04-30 16:08:54 +03:00
Dan Percic
75d31e39fe Merge branch 'RED-9083' into 'master'
RED-9083: prevent search panel from re-opening unexpectedly.

See merge request redactmanager/red-ui!410
2024-04-30 12:24:55 +02:00
Valentin Mihai
033c473199 Merge branch 'master' into VM/RED-8748 2024-04-30 13:17:18 +03:00
Valentin Mihai
52c6dfed5b Merge branch 'master' into VM/RED-8748 2024-04-30 13:14:08 +03:00
Nicoleta Panaghiu
0eb493b865 RED-9083: prevent search panel from re-opening unexpectedly. 2024-04-30 12:44:34 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
ac32050e1f push back localazy update 2024-04-30 01:03:22 +00:00
Valentin Mihai
64bd9ba86f RED-8748 - update common-ui 2024-04-29 22:27:18 +03:00
Valentin Mihai
c2f40a8d50 RED-8748 - filtered components using popup filter, filtered annotations based on selected component, wip on revert value dialog 2024-04-29 22:22:01 +03:00
Dan Percic
10f2dad358 Merge branch 'RED-3800' into 'master'
RED-3800: Updated common-ui

Closes RED-3800

See merge request redactmanager/red-ui!409
2024-04-29 16:13:33 +02:00
Adina Țeudan
3af63d929d RED-3800: Updated common-ui 2024-04-29 17:11:05 +03:00
Dan Percic
2e0f63bf25 Merge branch 'RED-9090' into 'master'
RED-9090: modal displays actual state & other improvements.

See merge request redactmanager/red-ui!408
2024-04-29 15:29:22 +02:00
Nicoleta Panaghiu
3f35c9484c RED-9090: modal displays actual state & other improvements. 2024-04-29 16:22:55 +03:00
Dan Percic
213db219c6 Merge branch 'RED-9089' into 'master'
RED-9089: fixed assign user button.

See merge request redactmanager/red-ui!407
2024-04-29 14:06:58 +02:00
Nicoleta Panaghiu
2803619cc8 RED-9089: fixed assign user button. 2024-04-29 14:25:46 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
76abd54689 push back localazy update 2024-04-26 01:03:29 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
db5723f86d push back localazy update 2024-04-25 01:03:31 +00:00
Valentin Mihai
cae3f2dec3 Merge branch 'master' into VM/RED-8748 2024-04-24 21:49:45 +03:00
Valentin Mihai
f709edb2ee RED-8748 - WIP on filtering components 2024-04-24 21:48:35 +03:00
Dan Percic
c90f74d492 Merge branch 'RED-8904' into 'master'
RED-8904: more improvements.

See merge request redactmanager/red-ui!406
2024-04-24 14:25:00 +02:00
Nicoleta Panaghiu
7a8f9289ad RED-8904: run i18n extract. 2024-04-24 15:23:41 +03:00
Nicoleta Panaghiu
22fa8d28bc RED-8904: more improvements. 2024-04-24 15:20:31 +03:00
Dan Percic
9b99e47b4b Merge branch 'RED-8904' into 'master'
RED-8904: use table format for add dialog as well.

See merge request redactmanager/red-ui!405
2024-04-24 13:12:20 +02:00
Nicoleta Panaghiu
1150f9cf6b RED-8904: use table format for add dialog as well. 2024-04-24 14:05:46 +03:00
Dan Percic
5dc63a0413 Merge branch 'VM/RED-8692' into 'master'
RED-8692 - Automatic code validation in the rule editor

Closes RED-8692

See merge request redactmanager/red-ui!403
2024-04-24 10:11:37 +02:00
Dan Percic
2dc379e378 Merge branch 'RED-8904' into 'master'
RED-8904: changed from list to table display for some dialogs.

See merge request redactmanager/red-ui!404
2024-04-24 10:11:04 +02:00
Nicoleta Panaghiu
49af54175b RED-8904: changed from list to table display for some dialogs. 2024-04-24 11:08:23 +03:00
Valentin Mihai
29555fec94 RED-8692 - Automatic code validation in the rule editor 2024-04-23 20:31:15 +03:00
Valentin-Gabriel Mihai
5e5465c02a Merge branch 'RED-9045' into 'master'
RED-9045: made the current type always available.

See merge request redactmanager/red-ui!402
2024-04-23 15:22:57 +02:00
Nicoleta Panaghiu
8f55db2279 RED-9045: made the current type always available. 2024-04-23 15:55:40 +03:00
Dan Percic
5d52904f76 Merge branch 'RED-8945' into 'master'
RED-8945: filtering out types for edit dialog.

See merge request redactmanager/red-ui!401
2024-04-22 15:39:58 +02:00
Nicoleta Panaghiu
5e1c531cbe RED-8945: filtering out types for edit dialog. 2024-04-22 16:31:58 +03:00
Dan Percic
1f7c1827f4 Merge branch 'VM/RED-9020' into 'master'
RED-9020 - Use new POST endpoint to hard-delete files

Closes RED-9020

See merge request redactmanager/red-ui!400
2024-04-22 13:02:41 +02:00
Valentin Mihai
65297c3423 RED-9020 - Use new POST endpoint to hard-delete files 2024-04-22 13:54:35 +03:00
Dan Percic
f23c671f69 Merge branch 'RED-8904' into 'master'
RED-8904: adjusted the table columns width for specific cases.

See merge request redactmanager/red-ui!399
2024-04-22 12:05:21 +02:00
Nicoleta Panaghiu
c3697964be RED-8904: adjusted the table columns width for specific cases. 2024-04-22 12:19:58 +03:00
Valentin Mihai
1d2485db3c Merge branch 'master' into VM/RED-8748 2024-04-21 21:15:40 +03:00
Valentin Mihai
45a3729ae1 RED-8748 - WIP on component management view 2024-04-21 21:14:57 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
efe07135b9 push back localazy update 2024-04-21 01:03:48 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
a002e784ba push back localazy update 2024-04-20 01:03:46 +00:00
Dan Percic
7120ec60b9 Merge branch 'VM/RED-9020' into 'master'
RED-9020 - Use new POST endpoint to hard-delete files

Closes RED-9020

See merge request redactmanager/red-ui!398
2024-04-19 15:50:08 +02:00
Valentin Mihai
7a23639eaf RED-9020 - Use new POST endpoint to hard-delete files 2024-04-19 16:30:53 +03:00
Valentin Mihai
b2fd729051 Merge branch 'master' into VM/RED-9020 2024-04-19 16:29:39 +03:00
Dan Percic
150bab35b5 Merge branch 'RED-8945' into 'master'
RED-8945: set addToDictionaryAction flag on dossier level.

See merge request redactmanager/red-ui!397
2024-04-19 14:35:49 +02:00
Nicoleta Panaghiu
e56afdcea2 RED-8945: set addToDictionaryAction flag on dossier level. 2024-04-19 15:23:53 +03:00
Valentin Mihai
b157980d8a Merge branch 'master' into VM/RED-8748 2024-04-18 17:38:14 +03:00
Valentin Mihai
73438f493b RED-8748 - WIP on component management view 2024-04-18 17:37:26 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
b490a44abd push back localazy update 2024-04-18 01:03:40 +00:00
Dan Percic
cc18ece654 Merge branch 'RED-8963' into 'master'
RED-8963: removed GET request for watermaks on documine.

See merge request redactmanager/red-ui!395
2024-04-17 10:05:50 +02:00
Nicoleta Panaghiu
4d9cb5f98b RED-8963: removed GET request for watermaks on documine. 2024-04-17 09:57:26 +03:00
Valentin Mihai
3a51868d2d Merge branch 'master' into VM/RED-8748 2024-04-16 17:08:23 +03:00
Dan Percic
2434d94313 Merge branch 'VM/RED-8950' into 'master'
RED-8950 - Not possible to edit/remove manual local redaction when...

Closes RED-8950

See merge request redactmanager/red-ui!394
2024-04-16 14:30:33 +02:00
Valentin Mihai
dcc41044e3 RED-8950 - Not possible to edit/remove manual local redaction when auto-analysis is disabled, wrong flag is used 2024-04-16 15:23:31 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
8215b16b36 push back localazy update 2024-04-14 01:03:36 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
f1f4359aeb push back localazy update 2024-04-13 01:03:35 +00:00
Dan Percic
98cc0528ab Merge branch 'RED-8915' into 'master'
RED-8915: fixed edge cases.

See merge request redactmanager/red-ui!393
2024-04-12 14:00:30 +02:00
Nicoleta Panaghiu
64a77f5ddb RED-8915: fixed edge cases. 2024-04-12 14:37:07 +03:00
Valentin Mihai
c024d06806 Merge branch 'master' into VM/RED-8748 2024-04-12 13:52:03 +03:00
Valentin Mihai
7c940010fd RED-8748 - WIP on component management view 2024-04-12 13:29:48 +03:00
Dan Percic
15914ebae7 Merge branch 'RED-8729' into 'master'
RED-8729 update dependencies

See merge request redactmanager/red-ui!335
2024-04-12 12:24:16 +02:00
Dan Percic
259bbfd519 update pdf viewer 2024-04-12 13:19:30 +03:00
Dan Percic
7865839761 ng updates 2024-04-12 12:54:32 +03:00
Dan Percic
36180d7851 other updates 2024-04-12 12:51:03 +03:00
Dan Percic
9833b53a34 eslint updates 2024-04-12 12:51:03 +03:00
Dan Percic
b83847c241 ng updates 2024-04-12 12:51:03 +03:00
Dan Percic
a27807b046 Merge branch 'VM/RED-8638' into 'master'
RED-8638 - check if annotation has redaction changes

Closes RED-8638

See merge request redactmanager/red-ui!392
2024-04-12 11:31:48 +02:00
Valentin Mihai
17167978a2 RED-8638 - check if annotation has redaction changes 2024-04-12 12:28:59 +03:00
Dan Percic
873b5eebee Merge branch 'VM/RED-8638' into 'master'
RED-8638 - removed “Redaction/Hint added” tooltip text

Closes RED-8638

See merge request redactmanager/red-ui!391
2024-04-12 09:34:27 +02:00
Valentin Mihai
e53244931a Merge branch 'master' into VM/RED-8638 2024-04-12 09:33:31 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
90bec36d01 push back localazy update 2024-04-12 01:03:29 +00:00
Valentin Mihai
8cea43e57a RED-8638 - fixed build 2024-04-11 19:19:52 +03:00
Valentin Mihai
963f14bb8a RED-8638 - removed “Redaction/Hint added” tooltip text 2024-04-11 19:12:01 +03:00
Dan Percic
a7ebcfe053 Merge branch 'RED-3800' into 'master'
RED-3800: CSS updates

Closes RED-3800

See merge request redactmanager/red-ui!390
2024-04-11 17:27:16 +02:00
Adina Țeudan
9448972d45 RED-3800: CSS updates 2024-04-11 18:25:17 +03:00
Dan Percic
3be86cdd96 Merge branch 'RED-8731' into 'master'
RED-8731: Updated material & fixed toggle appearance

Closes RED-8731

See merge request redactmanager/red-ui!388
2024-04-11 15:16:55 +02:00
Adina Țeudan
92e34204ca RED_8731: Update common-ui 2024-04-11 15:46:38 +03:00
Dan Percic
bc78b1606b Merge branch 'RED-8907' into 'master'
RED-8907: removed resize in dictionary option for forced annotations.

See merge request redactmanager/red-ui!389
2024-04-11 14:32:03 +02:00
Adina Țeudan
25796fc190 RED-8731: Update common-ui 2024-04-11 15:30:01 +03:00
Nicoleta Panaghiu
309ef93512 RED-8907: removed resize in dictionary option for forced annotations. 2024-04-11 15:22:54 +03:00
Adina Țeudan
34d5a1db4e RED-8731: Updated material & fixed toggle appearance 2024-04-11 15:15:52 +03:00
Dan Percic
68a1be0800 Merge branch 'VM/RED-8638' into 'master'
RED-8638 - updated “Only annotations with manual changes” filter to include...

Closes RED-8638

See merge request redactmanager/red-ui!387
2024-04-11 11:33:15 +02:00
Valentin Mihai
698892e3e7 RED-8638 - updated “Only annotations with manual changes” filter to include only the anotations with manual engine 2024-04-11 10:44:28 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
52b35f7e0d push back localazy update 2024-04-11 01:03:24 +00:00
Dan Percic
63bb6e3a9a Merge branch 'RED-8915' into 'master'
RED-8915: made some graphs stop at the current month.

See merge request redactmanager/red-ui!386
2024-04-10 16:29:59 +02:00
Nicoleta Panaghiu
5e419e8f09 RED-8915: made some graphs stop at the current month. 2024-04-10 17:26:15 +03:00
Dan Percic
60977c9306 Merge branch 'RED-8904' into 'master'
Resolve RED-8904

Closes RED-8904

See merge request redactmanager/red-ui!385
2024-04-10 15:32:19 +02:00
Nicoleta Panaghiu
8a37009790 Merge branch 'master' into RED-8904 2024-04-10 16:29:02 +03:00
Dan Percic
7a8043ea8a Merge branch 'RED-8636' into 'master'
RED-8636: use the new recategorize endpoint & updated success message.

See merge request redactmanager/red-ui!384
2024-04-10 15:08:03 +02:00
Nicoleta Panaghiu
28f7f9752f RED-8636: use the new recategorize endpoint & updated success message. 2024-04-10 16:04:31 +03:00
Nicoleta Panaghiu
21d01e9379 RED-8886: improved add redaction dialog. 2024-04-10 14:02:51 +03:00
Nicoleta Panaghiu
dad84feb38 RED-8887: improved resize dialog. 2024-04-10 13:59:37 +03:00
Dan Percic
f7f18a99f2 Merge branch 'VM/RED-8711' into 'master'
RED-8711 - check for positions property to be sure it exists and is not null

Closes RED-8711

See merge request redactmanager/red-ui!383
2024-04-10 11:48:42 +02:00
Valentin Mihai
2abf0aefab RED-8711 - check for positions property to be sure it exists and is not null 2024-04-10 12:47:15 +03:00
Valentin Mihai
09fce959d4 Merge branch 'master' into VM/RED-8748 2024-04-10 12:31:53 +03:00
Dan Percic
a9465c854a Merge branch 'VM/RED-8638' into 'master'
RED-8638 - Adapt UI to new manualChanges types

Closes RED-8638

See merge request redactmanager/red-ui!382
2024-04-10 10:05:49 +02:00
Dan Percic
812fd9efbb Merge branch 'VM/RED-8692' into 'master'
RED-8692 - Automatic code validation in the rule editor

Closes RED-8692

See merge request redactmanager/red-ui!381
2024-04-10 10:05:33 +02:00
Valentin Mihai
15d07f98d7 RED-8638 - Adapt UI to new manualChanges types 2024-04-09 19:26:46 +03:00
Valentin Mihai
8bd22fc906 RED-8692 - Automatic code validation in the rule editor 2024-04-09 18:50:17 +03:00
Nicoleta Panaghiu
89870c7e3f RED-8885: improved accept recommendation dialog. 2024-04-09 17:58:07 +03:00
Nicoleta Panaghiu
02720f190b RED-8904: fixed value overflow ellipsis. 2024-04-09 17:55:46 +03:00
Nicoleta Panaghiu
e2982224b3 RED-8904: factored out the scrollable bullet list in another component. 2024-04-09 17:45:56 +03:00
Nicoleta Panaghiu
a1c5e43f8e RED-8884: improved force redaction dialog. 2024-04-09 17:01:31 +03:00
Nicoleta Panaghiu
6fbf7a36f1 RED-8904: extracted selected annotations table in a separate component. 2024-04-09 16:59:54 +03:00
Dan Percic
71259f6708 Merge branch 'VM/RED-8711' into 'master'
RED-8711 - filtered out entities with empty rectangle positions

Closes RED-8711

See merge request redactmanager/red-ui!380
2024-04-09 11:49:11 +02:00
Valentin Mihai
b2616a856b RED-8711 - filtered out entities with empty rectangle positions 2024-04-09 12:28:47 +03:00
Valentin Mihai
e4502ea55c Merge branch 'master' into VM/RED-8748 2024-04-08 19:51:10 +03:00
Dan Percic
07eed9f6e1 Merge branch 'RED-3800' into 'master'
RED-3800: Moved color-picker icon to common-ui

Closes RED-3800

See merge request redactmanager/red-ui!378
2024-04-08 14:58:41 +02:00
Dan Percic
7167d36f7a Merge branch 'RED-8907' into 'master'
RED-8907: changed dialog options permissions based on local changes.

See merge request redactmanager/red-ui!379
2024-04-08 14:41:59 +02:00
Nicoleta Panaghiu
ee8d66ba41 RED-8907: changed dialog options permissions based on local changes. 2024-04-08 15:36:13 +03:00
Valentin Mihai
18b3da9c1e Merge branch 'master' into VM/RED-8748 2024-04-08 14:39:27 +03:00
Valentin Mihai
7cc64d6aa2 RED-8748 - update common ui 2024-04-08 14:00:50 +03:00
Valentin Mihai
a41f4a6639 RED-8748 - updated DocuMine component view based on active tenant 2024-04-08 13:59:14 +03:00
Adina Țeudan
80fe8e50aa RED-3800: Moved color-picker icon to common-ui 2024-04-07 21:33:03 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
6e5eb1d91a push back localazy update 2024-04-06 01:03:43 +00:00
Dan Percic
1e49da939d Merge branch 'RED-8622' into 'master'
RED-8622: removed unnecessary get requests for dossier templates.

See merge request redactmanager/red-ui!377
2024-04-05 12:17:10 +02:00
Nicoleta Panaghiu
2757a64628 RED-8622: removed unnecessary get requests for dossier templates. 2024-04-05 13:13:47 +03:00
Dan Percic
30c7dfcb65 Merge branch 'RED-8755' into 'master'
RED-8755: deselect all annotations on esc even when user is unassigned.

See merge request redactmanager/red-ui!376
2024-04-04 12:11:24 +02:00
Nicoleta Panaghiu
4a6bf81d47 RED-8755: deselect all annotations on esc even when user is unassigned. 2024-04-04 13:09:38 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
dcb2c2dc40 push back localazy update 2024-04-04 01:03:52 +00:00
Dan Percic
bf1f5892cf Merge branch 'RED-8660' into 'master'
RED-8660: hide changes box when loading page.

See merge request redactmanager/red-ui!375
2024-04-03 15:57:31 +02:00
Nicoleta Panaghiu
e6b917c37c RED-8660: hide changes box when loading page. 2024-04-03 16:51:11 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
058e58a7b7 push back localazy update 2024-04-03 01:03:51 +00:00
Valentin Mihai
5e548798a5 Merge branch 'master' into VM/RED-8748 2024-04-02 22:25:46 +03:00
Valentin Mihai
48bc514f5b RED-8748 - added DocuMine component view 2024-04-02 21:57:50 +03:00
Dan Percic
2dd2fd0928 Merge branch 'RED-8623' into 'master'
RED-8623: reverted filtering notification changes on certain pages.

See merge request redactmanager/red-ui!374
2024-04-02 15:36:46 +02:00
Nicoleta Panaghiu
c5b28df758 RED-8623: reverted filtering notification changes on certain pages. 2024-04-02 16:35:38 +03:00
Dan Percic
8290f1e276 Merge branch 'RED-8812' into 'master'
RED-8812 & RED-8841: fixes after suggestions.

See merge request redactmanager/red-ui!373
2024-04-02 15:29:15 +02:00
Nicoleta Panaghiu
cdaa921880 RED-8812 & RED-8841: fixes after suggestions. 2024-04-02 16:24:27 +03:00
Dan Percic
035986ea4f Merge branch 'RED-8765' into 'master'
RED-8765: fixed actions and edit fields for specific combinations.

See merge request redactmanager/red-ui!372
2024-04-02 14:38:53 +02:00
Nicoleta Panaghiu
3871b7bd4f RED-8765: fixed actions and edit fields for specific combinations. 2024-04-02 15:33:26 +03:00
Dan Percic
67f8a8d162 Merge branch 'RED-8755' into 'master'
RED-8755: deactivate multi select on esc and added button tooltip.

See merge request redactmanager/red-ui!371
2024-04-02 14:11:00 +02:00
Nicoleta Panaghiu
e29c83b8e7 RED-8755: deactivate multi select on esc and added button tooltip. 2024-04-02 15:07:54 +03:00
Valentin Mihai
46e016d55e RED-8748 - extracted file preview header logic in another component 2024-03-28 12:27:36 +02:00
Valentin Mihai
690ffea6c5 Merge branch 'master' into VM/RED-8748 2024-03-28 12:22:56 +02:00
Dan Percic
2f09981ea0 Merge branch 'RED-8812' into 'master'
RED-8812: changed table styling.

See merge request redactmanager/red-ui!370
2024-03-28 10:39:46 +01:00
Nicoleta Panaghiu
cc00c92d42 RED-8812: changed table styling. 2024-03-28 11:33:54 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
03bde72f62 push back localazy update 2024-03-28 02:03:26 +00:00
Dan Percic
9d858bfe39 Merge branch 'RED-8870' into 'master'
RED-8870: fixed comment author displayed as unknown user.

See merge request redactmanager/red-ui!368
2024-03-27 15:24:45 +01:00
Nicoleta Panaghiu
c5e81161fa RED-8870: fixed comment author displayed as unknown user. 2024-03-27 16:23:29 +02:00
Dan Percic
f57b362c7a Merge branch 'RED-8812' into 'master'
RED-8812: display selected annotations in table form.

See merge request redactmanager/red-ui!367
2024-03-27 15:05:54 +01:00
Nicoleta Panaghiu
ff2839fb29 RED-8812: display selected annotations in table form. 2024-03-27 16:02:04 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
c39f9c378b push back localazy update 2024-03-27 02:03:55 +00:00
Dan Percic
f000415b8e Merge branch 'VM/RED-8638' into 'master'
RED-8638 - In the workload, annotations with manualChanges have the hand icon displayed

Closes RED-8638

See merge request redactmanager/red-ui!366
2024-03-26 18:59:05 +01:00
Valentin Mihai
0df50c337b RED-8638 - In the workload, annotations with manualChanges have the hand icon displayed 2024-03-26 18:28:20 +02:00
Dan Percic
d1491f0421 Merge branch 'VM/RED-8829' into 'master'
RED-8829 - revert changes

Closes RED-8829

See merge request redactmanager/red-ui!365
2024-03-26 15:29:27 +01:00
Valentin Mihai
cee6408979 RED-8829 - revert changes 2024-03-26 16:21:17 +02:00
Dan Percic
3268a9ed03 Merge branch 'RED-8817' into 'master'
RED-8817: removed the italic style from the extra option description.

See merge request redactmanager/red-ui!364
2024-03-26 15:00:16 +01:00
Nicoleta Panaghiu
88c2437a01 RED-8817: removed the italic style from the extra option description. 2024-03-26 15:58:05 +02:00
Dan Percic
2447a4be45 Merge branch 'RED-8850' into 'master'
RED-8850: show backend error message.

See merge request redactmanager/red-ui!363
2024-03-26 11:28:17 +01:00
Nicoleta Panaghiu
fa9f84e5ec RED-8850: show backend error message. 2024-03-26 12:23:32 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
49a9459a35 push back localazy update 2024-03-26 02:03:46 +00:00
Dan Percic
500290db7f Merge branch 'VM/RED-8829' into 'master'
RED-8829 - Disable option to resize a forced redaction with dictionary action

Closes RED-8829

See merge request redactmanager/red-ui!362
2024-03-25 15:59:35 +01:00
Valentin Mihai
8e6a28eaf0 RED-8829 - Disable option to resize a forced redaction with dictionary action 2024-03-25 16:29:13 +02:00
Dan Percic
e16b8a0729 Merge branch 'RED-8711-filter-out-no-positions-entries' into 'master'
RED-8711 - Filter out entity log entries that have no positions and show a...

Closes RED-8711

See merge request redactmanager/red-ui!361
2024-03-25 11:13:34 +01:00
Valentin Mihai
bc3ef19666 RED-8711 - removed unused isIqserDevMode 2024-03-25 12:11:31 +02:00
Valentin Mihai
0aacc165bf RED-8711 - Filter out entity log entries that have no positions and show a toast message in dev mode 2024-03-25 12:08:26 +02:00
Dan Percic
ebef40fde8 Merge branch 'RED-8812' into 'master'
RED-8812: bold only the selected value, not the entire context.

See merge request redactmanager/red-ui!359
2024-03-25 10:42:10 +01:00
Nicoleta Panaghiu
1783b7f407 RED-8812: bold only the selected value, not the entire context. 2024-03-25 11:31:52 +02:00
Dan Percic
3fe1fe869f Merge branch 'RED-8817' into 'master'
RED-8817: update common-ui.

See merge request redactmanager/red-ui!358
2024-03-25 09:53:48 +01:00
Nicoleta Panaghiu
2b3de6244d RED-8817: update common-ui. 2024-03-25 10:47:00 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
78f4132803 push back localazy update 2024-03-24 02:03:41 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
93a5a75f3f push back localazy update 2024-03-23 02:03:39 +00:00
Dan Percic
6bcc60d859 Merge branch 'VM/RED-8692' into 'master'
RED-8692 - Automatic code validation in the rule editor

Closes RED-8692

See merge request redactmanager/red-ui!357
2024-03-22 15:08:20 +01:00
Valentin Mihai
5c096eb876 Merge branch 'master' into VM/RED-8692 2024-03-22 15:59:21 +02:00
Valentin Mihai
d5215656fb RED-8692 - Automatic code validation in the rule editor 2024-03-22 15:56:35 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
2df158ecf3 push back localazy update 2024-03-22 02:03:36 +00:00
Dan Percic
e1e88d1d87 Merge branch 'RED-8817' into 'master'
RED-8817: added fp extraOption description and increase dialog height.

See merge request redactmanager/red-ui!356
2024-03-21 16:12:38 +01:00
Nicoleta Panaghiu
5cc81ac706 RED-8817: added fp extraOption description and increase dialog height. 2024-03-21 17:05:16 +02:00
Dan Percic
ffa6634814 Merge branch 'RED-8812' into 'master'
RED-8812: added selected label and term for single redaction delete.

See merge request redactmanager/red-ui!355
2024-03-21 15:08:59 +01:00
Nicoleta Panaghiu
4e0c24a98b RED-8812: run i18n:extract. 2024-03-21 16:07:49 +02:00
Nicoleta Panaghiu
7a275bfe55 RED-8812: added selected label and term for single redaction delete. 2024-03-21 15:54:17 +02:00
Dan Percic
7fd8843a8b Merge branch 'RED-8679' into 'master'
RED-8679: added custom id for upload image attribute.

See merge request redactmanager/red-ui!354
2024-03-21 10:00:28 +01:00
Nicoleta Panaghiu
83d9d48ffe RED-8679: added custom id for upload image attribute. 2024-03-21 10:56:30 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
66b35d4408 push back localazy update 2024-03-21 02:03:30 +00:00
Dan Percic
345ed64bb1 Merge branch 'RED-8795' into 'master'
RED-8795: changed default options for add and remove dialogs.

Closes RED-8795

See merge request redactmanager/red-ui!353
2024-03-20 15:08:05 +01:00
Nicoleta Panaghiu
f8cc82975d RED-8795: changed default options for add and remove dialogs. 2024-03-20 15:47:38 +02:00
Dan Percic
65f2ef0e74 Merge branch 'VM/RED-7980' into 'master'
RED-7980 - stop searching when another page has been reached

Closes RED-7980

See merge request redactmanager/red-ui!352
2024-03-20 14:03:49 +01:00
Valentin Mihai
6e931b6006 RED-7980 - stop searching when another page has been reached 2024-03-20 15:01:09 +02:00
Dan Percic
e2c108332f Merge branch 'VM/RED-7980' into 'master'
RED-7980 - fixed "Pending annotation not displayed"

Closes RED-7980

See merge request redactmanager/red-ui!351
2024-03-20 13:45:44 +01:00
Valentin Mihai
f518e508ca RED-7980 - fixed "Pending annotation not displayed" 2024-03-20 14:28:44 +02:00
Dan Percic
7db52d1287 Merge branch 'RED-8737' into 'master'
RED-8737: made primary attribute editable only by clicking the button.

See merge request redactmanager/red-ui!350
2024-03-20 09:37:13 +01:00
Dan Percic
3e57f1e33e Merge branch 'VM/RED-7980' into 'master'
RED-7980 - Don’t allow any user actions at the original annotation while there...

Closes RED-7980

See merge request redactmanager/red-ui!349
2024-03-20 09:22:54 +01:00
Nicoleta Panaghiu
d0a1687c58 RED-8737: made primary attribute editable only by clicking the button. 2024-03-20 10:11:38 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
498e1176f1 push back localazy update 2024-03-20 02:03:30 +00:00
Valentin Mihai
9ac4b7f047 RED-7980 - Don’t allow any user actions at the original annotation while there is a related pending annotation 2024-03-19 20:15:15 +02:00
Valentin Mihai
f534c28b7e Merge branch 'master' into VM/RED-8692 2024-03-18 16:10:46 +02:00
Dan Percic
3fe5193ea4 Merge branch 'VM/RED-7980' into 'master'
RED-7980 - displayed pending annotations with only a border in the analysis color

Closes RED-7980

See merge request redactmanager/red-ui!348
2024-03-18 11:24:52 +01:00
Valentin Mihai
d322c0a148 RED-8692 - WIP on "Automatic code validation in the rule editor" 2024-03-18 11:20:51 +02:00
Valentin Mihai
39edbf69e2 RED-7980 - displayed pending annotations with only a border in the analysis color 2024-03-17 15:54:03 +02:00
Dan Percic
b180adad32 Merge branch 'RED-8728' into 'master'
RED-8728 & RED-8293

See merge request redactmanager/red-ui!347
2024-03-15 14:59:14 +01:00
Nicoleta Panaghiu
bd0f2e1be3 RED-8728: update common ui. 2024-03-15 15:06:58 +02:00
Nicoleta Panaghiu
ce95e8cc56 RED-8728 & RED-8293: adjusted the styling and spacing. 2024-03-15 15:06:23 +02:00
Dan Percic
e80eb4cd25 Merge branch 'RED-8763' into 'master'
RED-8763: fixed image attribute upload button.

See merge request redactmanager/red-ui!346
2024-03-15 10:38:11 +01:00
Nicoleta Panaghiu
e9615e346a RED-8763: fixed image attribute upload button. 2024-03-15 11:36:38 +02:00
Dan Percic
b598240338 Merge branch 'RED-8679' into 'master'
RED-8679: added specific ids for annotation wrappers and actions.

See merge request redactmanager/red-ui!344
2024-03-15 10:15:20 +01:00
Dan Percic
f73e5568de Merge branch 'RED-8735' into 'master'
RED-8735: add false positive option for dict-based skipped annotations.

See merge request redactmanager/red-ui!345
2024-03-14 15:23:50 +01:00
Nicoleta Panaghiu
8115309712 RED-8735: add false positive option for dict-based skipped annotations. 2024-03-14 16:18:08 +02:00
Nicoleta Panaghiu
b17ebee4fa RED-8679: added specific ids for annotation wrappers and actions. 2024-03-14 15:55:02 +02:00
Dan Percic
5923084bb5 Merge branch 'RED-8684' into 'master'
RED-8684: fixed missing type warning bug.

See merge request redactmanager/red-ui!342
2024-03-14 13:56:32 +01:00
Dan Percic
89fce1cfc0 Merge branch 'RED-8753' into 'master'
RED-8753: fixed images disappearing upon aborting resize.

See merge request redactmanager/red-ui!343
2024-03-14 13:55:00 +01:00
Nicoleta Panaghiu
7d5c878e6a RED-8753: fixed images disappearing upon aborting resize. 2024-03-14 14:36:26 +02:00
Nicoleta Panaghiu
06eb6323d9 RED-8684: keep readonly check in file-data service & clean up. 2024-03-14 14:27:31 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
66515e38f4 push back localazy update 2024-03-14 02:03:44 +00:00
Nicoleta Panaghiu
35bbe8e59a RED-8684: fixed missing type warning bug. 2024-03-13 17:35:55 +02:00
Dan Percic
1a0793af8b Merge branch 'RED-8648' into 'master'
RED-8648: added ellipsis for attribute value in workflow mode.

See merge request redactmanager/red-ui!341
2024-03-13 15:19:46 +01:00
Nicoleta Panaghiu
b765541da0 RED-8648: added ellipsis for attribute value in workflow mode. 2024-03-13 14:05:10 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
fb90abed76 push back localazy update 2024-03-13 02:03:41 +00:00
Dan Percic
a4773969fb Merge branch 'VM/RED-8638' into 'master'
RED-8638 - Adapt UI to new manualChanges types

Closes RED-8638

See merge request redactmanager/red-ui!340
2024-03-12 19:57:02 +01:00
Valentin Mihai
8aa3c269bd RED-8638 - Adapt UI to new manualChanges types 2024-03-12 20:37:30 +02:00
Dan Percic
0b92a5bda2 Merge branch 'RED-8730' into 'master'
RED-8730: fixed error when opening dictionaries in settings.

See merge request redactmanager/red-ui!339
2024-03-12 12:43:17 +01:00
Nicoleta Panaghiu
70524ab31a RED-8730: fixed error when opening dictionaries in settings.. 2024-03-12 13:19:01 +02:00
Dan Percic
20c39de353 Merge branch 'VM/RED-7980' into 'master'
RED-7980 - Display unprocessed annotations correctly as pending

Closes RED-7980

See merge request redactmanager/red-ui!338
2024-03-11 15:52:08 +01:00
Valentin Mihai
0c0557050b RED-7980 - removed polyline annotation and displayed pending annotations as before, but with 50% opacity 2024-03-11 15:43:18 +02:00
Valentin Mihai
bc704dc7c2 Merge branch 'master' into VM/RED-7980 2024-03-11 15:39:45 +02:00
Dan Percic
246ff507eb Merge branch 'RED-8647' into 'master'
RED-8647: added ellipsis for longer primary attributes values.

See merge request redactmanager/red-ui!337
2024-03-11 13:38:55 +01:00
Nicoleta Panaghiu
8ca9de3c8d RED-8647: added ellipsis for longer primary attributes values. 2024-03-11 14:20:42 +02:00
Dan Percic
64a1f1f41b Merge branch 'RED-8679' into 'master'
RED-8679: added more custom ids.

See merge request redactmanager/red-ui!336
2024-03-11 12:52:41 +01:00
Nicoleta Panaghiu
3856746a7f RED-8679: added more custom ids. 2024-03-11 13:46:50 +02:00
Dan Percic
504ad25036 Merge branch 'RED-8217' into 'master'
RED-8217: fixed layout grid toggle.

See merge request redactmanager/red-ui!334
2024-03-08 11:48:14 +01:00
Nicoleta Panaghiu
289b42aaa0 RED-8217: fixed layout grid toggle. 2024-03-08 12:44:41 +02:00
Valentin Mihai
25f4895017 Merge branch 'master' into RED-8711-filter-out-no-positions-entries 2024-03-08 11:11:27 +02:00
Valentin Mihai
8d418ab952 RED-8711 - update common ui 2024-03-08 11:10:39 +02:00
Dan Percic
829515aaef Merge branch 'VM/RED-7980' into 'master'
RED-7980 - Display unprocessed annotations correctly as pending

Closes RED-7980

See merge request redactmanager/red-ui!333
2024-03-08 10:06:45 +01:00
Valentin Mihai
2106a069a7 RED-7980 - removed pending option 2024-03-08 10:59:52 +02:00
Valentin Mihai
aba65ffaf7 RED-8342 - added polyline annotation for pending redactions 2024-03-07 22:44:07 +02:00
Dan Percic
0e171ee499 RED-8711 toaster setup 2024-03-07 15:58:01 +02:00
Valentin Mihai
94c35502d9 Merge branch 'master' into VM/RED-7980 2024-03-07 10:04:08 +02:00
Dan Percic
7cd8d1d546 Merge branch 'RED-8684' into 'master'
RED-8684: removed deleted types warning for readonly files.

See merge request redactmanager/red-ui!332
2024-03-06 16:10:38 +01:00
Nicoleta Panaghiu
4949bce992 RED-8684: removed deleted types warning for readonly files. 2024-03-06 17:06:42 +02:00
Dan Percic
7a496a39df Merge branch 'RED-8623' into 'master'
RED-8623: filtered out check requests on certain pages.

See merge request redactmanager/red-ui!331
2024-03-06 14:37:06 +01:00
Nicoleta Panaghiu
1b93d38872 RED-8623: use some instead of reduce. 2024-03-06 15:34:17 +02:00
Nicoleta Panaghiu
52467b9dde RED-8623: filtered out check requests on certain pages. 2024-03-06 15:00:49 +02:00
Dan Percic
87239c859e Merge branch 'RED-8649' into 'master'
RED-8649: made in-place editing for the primary attribute responsive.

See merge request redactmanager/red-ui!329
2024-03-06 12:44:53 +01:00
Dan Percic
d689655ef5 Merge branch 'RED-8217' into 'master'
RED-8217: removed redundant line which could cause bug.

See merge request redactmanager/red-ui!330
2024-03-06 12:38:47 +01:00
Nicoleta Panaghiu
af4a021bd4 RED-8217: removed redundant line which could cause bug. 2024-03-06 13:23:55 +02:00
Nicoleta Panaghiu
33c16ff13c RED-8649: made in-place editing for the primary attribute responsive. 2024-03-06 13:16:21 +02:00
Valentin Mihai
e835f27a3d RED-7980 - update to compute annotation type if state = PENDING, based on its old entity state 2024-03-06 12:59:16 +02:00
Dan Percic
f16ebc505b Merge branch 'RED-8226' into 'master'
RED-8226: filtering out entities with REMOVED state.

See merge request redactmanager/red-ui!328
2024-03-04 16:09:01 +01:00
Nicoleta Panaghiu
f6497be479 RED-8226: filtering out entities with REMOVED state. 2024-03-04 17:01:06 +02:00
Dan Percic
bb3d880cbb Merge branch 'RED-8679' into 'master'
RED-8679: changed html ids to contain names.

See merge request redactmanager/red-ui!326
2024-03-04 11:59:13 +01:00
Dan Percic
c8e56bce58 Merge branch 'RED-8639' into 'master'
RED-8639: fixed some fields not updating for dossier_redaction.

See merge request redactmanager/red-ui!327
2024-03-04 10:57:27 +01:00
Nicoleta Panaghiu
12043616ff RED-8639: fixed some fields not updating for dossier_redaction. 2024-03-04 11:41:59 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
94402469f4 push back localazy update 2024-03-02 02:03:49 +00:00
Nicoleta Panaghiu
95fc4d1835 RED-8679: changed html ids to contain names. 2024-03-01 17:09:11 +02:00
Valentin-Gabriel Mihai
dc22920518 Merge branch 'RED-8217' into 'master'
RED-8217: sync header layer button state with layer checkbox state.

See merge request redactmanager/red-ui!325
2024-02-29 10:25:03 +01:00
Nicoleta Panaghiu
6c9658bf29 RED-8217: sync header layer button state with layer checkbox state. 2024-02-29 11:22:08 +02:00
Valentin-Gabriel Mihai
3a8bda0188 Merge branch 'RED-8575' into 'master'
RED-8575: fixed excluded pages panel blank when redaction  is disabled.

See merge request redactmanager/red-ui!324
2024-02-28 14:30:54 +01:00
Nicoleta Panaghiu
9574ae114b RED-8575: fixed excluded pages panel blank when redaction is disabled. 2024-02-28 14:37:35 +02:00
Valentin-Gabriel Mihai
1ef5e1e0d2 Merge branch 'RED-8226' into 'master'
RED-8226: changed toastr type from error to info & update common ui.

See merge request redactmanager/red-ui!323
2024-02-28 11:59:42 +01:00
Nicoleta Panaghiu
66b8742e0f RED-8226: changed toastr type from error to info & update common ui. 2024-02-28 12:57:54 +02:00
Valentin-Gabriel Mihai
20d8a8d10e Merge branch 'RED-8639' into 'master'
RED-8639: fixed settings options for dossier dictionary only entities.

See merge request redactmanager/red-ui!322
2024-02-26 16:53:25 +01:00
Nicoleta Panaghiu
bcf45c4113 RED-8639: fixed settings options for dossier dictionary only entities. 2024-02-26 17:49:33 +02:00
Valentin-Gabriel Mihai
89c5a98480 Merge branch 'RED-8566' into 'master'
RED-8566: fixed error 400 when creating dossier by pressing enter.

See merge request redactmanager/red-ui!321
2024-02-26 16:15:04 +01:00
Nicoleta Panaghiu
94c288b136 RED-8566: fixed error 400 when creating dossier by pressing enter. 2024-02-26 17:09:00 +02:00
Valentin-Gabriel Mihai
ac895da1c8 Merge branch 'RED-8578' into 'master'
RED-8578: fixed hard-delete error still appearing.

See merge request redactmanager/red-ui!320
2024-02-26 14:51:56 +01:00
Nicoleta Panaghiu
c8424b34e8 RED-8578: fixed hard-delete error still appearing. 2024-02-26 15:49:55 +02:00
Valentin-Gabriel Mihai
a063f55b08 Merge branch 'RED-8637' into 'master'
RED-8637: fixed suffix for manual technical name.

See merge request redactmanager/red-ui!319
2024-02-23 15:34:20 +01:00
Nicoleta Panaghiu
7a023c2180 RED-8637: remove console.log. 2024-02-23 16:32:30 +02:00
Nicoleta Panaghiu
13f3f2728d RED-8637: fixed suffix for manual technical name. 2024-02-23 14:59:32 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
c8aa988ecd push back localazy update 2024-02-23 02:03:29 +00:00
Nicoleta Panaghiu
b2c8fd08f4 Merge branch 'VM/RED-8463' into 'master'
RED-8463 & RED-8186

See merge request redactmanager/red-ui!318
2024-02-22 09:14:14 +01:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
7d9b8f58cf push back localazy update 2024-02-22 02:03:44 +00:00
Valentin Mihai
61e6123749 RED-8186 - Delete standard view button help mode icon and link 2024-02-21 17:29:34 +02:00
Valentin Mihai
33a724e6f6 RED-8463 - Date filter in audit log not filtering correctly 2024-02-21 17:29:03 +02:00
Valentin-Gabriel Mihai
4184b39513 Merge branch 'RED-8578' into 'master'
RED-8578: removed error when hard deleting dossier.

See merge request redactmanager/red-ui!317
2024-02-21 15:52:48 +01:00
Nicoleta Panaghiu
fae7e56ceb RED-8578: removed error when hard deleting dossier. 2024-02-21 15:32:18 +02:00
Nicoleta Panaghiu
c37a20f091 Merge branch 'VM/RED-8520' into 'master'
RED-8520 - Cannot compare False positives and False recommendations dictionaries in Dossier Template Entity configuration

Closes RED-8520

See merge request redactmanager/red-ui!316
2024-02-21 11:41:04 +01:00
Valentin Mihai
c33e7efaa5 RED-8520 - Cannot compare False positives and False recommendations dictionaries in Dossier Template Entity configuration 2024-02-21 12:39:47 +02:00
Valentin-Gabriel Mihai
9d0e1acdd2 Merge branch 'RED-8565' into 'master'
RED-8565: fixed password reset redirect.

See merge request redactmanager/red-ui!315
2024-02-21 09:20:26 +01:00
Nicoleta Panaghiu
ef7faa40e1 RED-8565: fixed password reset redirect. 2024-02-21 10:09:44 +02:00
Nicoleta Panaghiu
5dcfdff59e Merge branch 'VM/RED-7874' into 'master'
RED-7874 - Integrate "user has no roles" message in sign-in page

Closes RED-7874

See merge request redactmanager/red-ui!314
2024-02-21 08:52:34 +01:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
6f624cfaa9 push back localazy update 2024-02-21 02:03:38 +00:00
Valentin Mihai
c8db2a8a7c RED-6960 - update common ui 2024-02-20 23:32:01 +02:00
Valentin Mihai
649fa52e5d RED-7874 - update common-ui 2024-02-20 19:13:45 +02:00
Valentin Mihai
fad56bea19 RED-7874 - added back auth-error component 2024-02-20 19:03:56 +02:00
Valentin Mihai
c835a3bd27 RED-7874 - moved 'select-tenant-translations' to common-ui 2024-02-20 15:17:35 +02:00
Valentin Mihai
f1c1047b1e Merge branch 'VM/RED-7874' of ssh://git.knecon.com:22222/redactmanager/red-ui into VM/RED-7874 2024-02-20 15:00:40 +02:00
Valentin Mihai
8cffa7d4ac RED-7874 - Integrate "user has no roles" message in sign-in page 2024-02-20 15:00:27 +02:00
Valentin Mihai
25954c6ad4 Integrate "user has no roles" message in sign-in page 2024-02-20 14:54:51 +02:00
Nicoleta Panaghiu
6da249e975 Merge branch 'VM/RED-8253' into 'master'
RED-8253- Create new help mode links

Closes RED-8253

See merge request redactmanager/red-ui!313
2024-02-19 12:42:25 +01:00
Valentin Mihai
a24f920e57 RED-8253- Create new help mode links 2024-02-19 13:13:43 +02:00
Dan Percic
f3222a70ed Merge branch 'VM/RED-8363' into 'master'
RED-8363 - UI should reject unsupported file types directly based on license

Closes RED-8363

See merge request redactmanager/red-ui!312
2024-02-16 17:16:07 +01:00
Valentin Mihai
06019ad66d RED-8363 - UI should reject unsupported file types directly based on license 2024-02-16 17:53:46 +02:00
Dan Percic
0800cd30f4 Merge branch 'RED-8563' into 'master'
RED-8563: fixed workload filter closing upon clicking on it.

See merge request redactmanager/red-ui!311
2024-02-16 12:54:09 +01:00
Dan Percic
1bc2d87392 Merge branch 'RED-3800' into 'master'
RED-3800 fix build

See merge request redactmanager/red-ui!310
2024-02-16 12:53:26 +01:00
Nicoleta Panaghiu
7ec242397c RED-8563: fixed workload filter closing upon clicking on it. 2024-02-16 13:50:37 +02:00
Dan Percic
57535de494 remove unused service 2024-02-16 10:36:49 +02:00
Dan Percic
ecb8ef1755 show dossier dictionaries even if dossier redaction is not available 2024-02-16 10:32:11 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
04fda1f91f push back localazy update 2024-02-16 02:03:28 +00:00
Dan Percic
493ea06ed1 Merge branch 'VM/RED-7980' into 'master'
RED-7980 - Not all unprocessed annotations are displayed correctly

Closes RED-7980

See merge request redactmanager/red-ui!309
2024-02-15 15:06:32 +01:00
Valentin Mihai
d43f1b0a80 RED-7980 - Not all unprocessed annotations are displayed correctly 2024-02-15 16:02:38 +02:00
Dan Percic
1cab4c8709 Merge branch 'RED-7273' into 'master'
RED-7273: fixed viewer not opening docx files.

See merge request redactmanager/red-ui!308
2024-02-15 13:50:12 +01:00
Nicoleta Panaghiu
d310a295a6 RED-7273: use endsWith instead of includes. 2024-02-15 14:49:31 +02:00
Nicoleta Panaghiu
83d294585e RED-7273: fixed viewer not opening docx files. 2024-02-15 14:31:43 +02:00
Dan Percic
8f94cfb6b6 Merge branch 'RED-6880' into 'master'
RED-6880: fixed infinite loading.

See merge request redactmanager/red-ui!307
2024-02-15 13:11:40 +01:00
Nicoleta Panaghiu
db842726b3 RED-6880: fixed infinite loading. 2024-02-15 13:18:15 +02:00
Valentin-Gabriel Mihai
1409a06ae9 Merge branch 'RED-3800' into 'master'
RED-3800 fix build

See merge request redactmanager/red-ui!306
2024-02-15 11:56:28 +01:00
Dan Percic
77c04dd28b RED-3800 fix build 2024-02-15 12:49:28 +02:00
Dan Percic
8acfe6930d Merge branch 'RED-8554' into 'master'
RED-8554 remove 80 port

See merge request redactmanager/red-ui!305
2024-02-15 11:33:09 +01:00
Dan Percic
273e374846 Merge branch 'VM/RED-8161' into 'master'
RED-8161 - Hard to read Document Versions in Read-Only Mode

Closes RED-8161

See merge request redactmanager/red-ui!303
2024-02-15 11:30:28 +01:00
Dan Percic
18e68f0a06 RED-8554 remove 80 port 2024-02-15 12:29:29 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
5e002ffca2 push back localazy update 2024-02-15 02:03:25 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
317c2834c6 push back localazy update 2024-02-14 02:03:22 +00:00
Dan Percic
cad73bc3d5 Merge branch 'RED-8187' into 'master'
RED-8187: removed buttons for non-dossier members.

See merge request redactmanager/red-ui!302
2024-02-13 16:25:34 +01:00
Valentin Mihai
d9ffac81d3 RED-8161 - Hard to read Document Versions in Read-Only Mode 2024-02-13 17:19:45 +02:00
Nicoleta Panaghiu
bdbdb4d2b0 RED-8187: removed buttons for non-dossier members. 2024-02-13 13:32:26 +01:00
Dan Percic
5be95976d6 Merge branch 'RED-8183' into 'master'
Resolve RED-8183

Closes RED-8183

See merge request redactmanager/red-ui!301
2024-02-13 11:48:29 +01:00
Nicoleta Panaghiu
38e3fac70e RED-8183: close the box upon pressing esc. 2024-02-13 11:05:05 +01:00
Nicoleta Panaghiu
0fd56e7329 RED-8183: fixed not closing upon click on viewer. 2024-02-13 11:04:17 +01:00
Valentin-Gabriel Mihai
bd7662d746 Merge branch 'VM/RED-7980' into 'master'
RED-7980 - Not all unprocessed annotations are displayed correctly

Closes RED-7980

See merge request redactmanager/red-ui!300
2024-02-13 09:18:34 +01:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
85d00d256c push back localazy update 2024-02-13 02:03:22 +00:00
Valentin Mihai
9d22dea6fd RED-7980 - Not all unprocessed annotations are displayed correctly 2024-02-12 18:47:13 +02:00
Dan Percic
c0ece5248d Merge branch 'RED-8260' into 'master'
RED-8260: made the delete button available for dict-based ignored hints.

See merge request redactmanager/red-ui!299
2024-02-12 14:08:17 +01:00
Dan Percic
318433b6ab Merge branch 'VM/RED-8470' into 'master'
RED-8470 - Icon for imported redactions in workload

Closes RED-8470

See merge request redactmanager/red-ui!298
2024-02-12 13:38:55 +01:00
Nicoleta Panaghiu
b8d3bcd30f RED-8260: made the delete button available for dict-based ignored hints. 2024-02-12 13:24:32 +01:00
Valentin Mihai
85235ac96b RED-8470 - Icon for imported redactions in workload 2024-02-12 14:22:00 +02:00
Dan Percic
9a368bc8a0 Merge branch 'RED-7296' into 'master'
RED-7296: delete drawn rectangle upon deselect.

See merge request redactmanager/red-ui!297
2024-02-12 12:07:00 +01:00
Nicoleta Panaghiu
394182b937 RED-7296: delete drawn rectangle upon deselect. 2024-02-12 12:50:13 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
be1c9c66f0 push back localazy update 2024-02-10 02:03:45 +00:00
Dan Percic
1fc5688685 Merge branch 'VM/RED-8365' into 'master'
RED-8365 - Create help mode links for new dialogs

Closes RED-8365

See merge request redactmanager/red-ui!296
2024-02-09 11:20:03 +01:00
Valentin Mihai
3e802ea1e5 RED-8365 - removed log 2024-02-08 21:00:04 +02:00
Valentin Mihai
1e9e728ec7 RED-8365 - Create help mode links for new dialogs 2024-02-08 20:58:54 +02:00
Dan Percic
29606dba1c Merge branch 'RED-8483' into 'master'
RED-8483: disabled in-dossier option for recategorized annotations.

See merge request redactmanager/red-ui!295
2024-02-08 14:29:36 +01:00
Nicoleta Panaghiu
d7e6111a82 RED-8483: disabled in-dossier option for recategorized annotations. 2024-02-08 15:17:28 +02:00
Dan Percic
270dbc42c1 Merge branch 'RED-8183' into 'master'
RED-8183: close user assignment box when clicking outside.

See merge request redactmanager/red-ui!294
2024-02-08 11:29:01 +01:00
Nicoleta Panaghiu
8c4e876e2d RED-8183: close user assignment box when clicking outside. 2024-02-08 12:26:50 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
a438ab7166 push back localazy update 2024-02-08 02:03:38 +00:00
Dan Percic
99730e66a0 Merge branch 'RED-8157' into 'master'
RED-8157: fixed overdue indicator.

See merge request redactmanager/red-ui!293
2024-02-07 14:13:07 +01:00
Nicoleta Panaghiu
1156cc1ffb RED-8157: fixed overdue indicator. 2024-02-07 15:08:57 +02:00
Dan Percic
4287ccf7a6 Merge branch 'RED-8216' into 'master'
RED-8216: fixed select tool button disappearing.

See merge request redactmanager/red-ui!292
2024-02-07 13:25:17 +01:00
Nicoleta Panaghiu
726a70c97e RED-8216: fixed select tool button disappearing. 2024-02-07 13:06:02 +02:00
Dan Percic
964185fdcc Merge branch 'VM/RED-8252' into 'master'
RED-8252 - Separate help mode links

Closes RED-8252

See merge request redactmanager/red-ui!291
2024-02-07 09:19:22 +01:00
Dan Percic
d7109a8648 Merge branch 'VM/RED-6960' into 'master'
RED-6960 - Enter should confirm a modal window by default

Closes RED-6960

See merge request redactmanager/red-ui!290
2024-02-07 09:18:26 +01:00
Valentin Mihai
8d3f35fb40 RED-6960 - removed super call 2024-02-07 10:04:50 +02:00
Valentin Mihai
509c370efc RED-8252 - Separate help mode links 2024-02-06 23:16:13 +02:00
Valentin Mihai
771a4ca441 RED-6960 - Enter should confirm a modal window by default 2024-02-06 20:40:13 +02:00
Dan Percic
7656cd6000 Merge branch 'RED-7296' into 'master'
RED-7296: implemented rectangle deletion by pressing esc.

See merge request redactmanager/red-ui!289
2024-02-06 14:40:09 +01:00
Nicoleta Panaghiu
b8ae06f38e RED-7296: fix. 2024-02-06 14:37:13 +02:00
Nicoleta Panaghiu
75ce020cb5 RED-7296: remove event listener. 2024-02-06 14:24:49 +02:00
Dan Percic
a0e10b116a Merge branch 'RED-3800' into 'master'
RED-3800: Moved some icons to common-ui

Closes RED-3800

See merge request redactmanager/red-ui!288
2024-02-06 12:52:50 +01:00
Nicoleta Panaghiu
44bda08834 RED-7296: implemented rectangle deletion by pressing esc. 2024-02-06 13:47:29 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
3b10682041 push back localazy update 2024-02-06 02:03:44 +00:00
Adina Țeudan
fb0da0b431 RED-3800: Moved some icons to common-ui 2024-02-04 10:38:47 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
90aaf6fa0c push back localazy update 2024-02-04 02:03:39 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
f9edfa0065 push back localazy update 2024-02-03 02:03:41 +00:00
Nicoleta Panaghiu
7c176516e6 Merge branch 'VM/RED-8252' into 'master'
RED-8252 - Separate help mode links

Closes RED-8252

See merge request redactmanager/red-ui!287
2024-02-02 16:32:44 +01:00
Valentin Mihai
5dcfea12db RED-8252 - Separate help mode links 2024-02-02 16:55:33 +02:00
Dan Percic
f19c588e0f Merge branch 'RED-8187' into 'master'
RED-8187: disabled file analysis button for non-dossier members.

See merge request redactmanager/red-ui!286
2024-02-02 12:43:29 +01:00
Nicoleta Panaghiu
3fc0d8d3af RED-8187: disabled file analysis button for non-dossier members. 2024-02-02 13:41:09 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
a17522fa36 push back localazy update 2024-02-02 02:03:38 +00:00
Nicoleta Panaghiu
c0d29fe009 Merge branch 'RED-8409' into 'master'
RED-8409 fix translations

See merge request redactmanager/red-ui!285
2024-02-01 11:17:38 +01:00
Dan Percic
56ed58082c update common-ui 2024-02-01 11:16:38 +01:00
Dan Percic
9c0d214c3c fix translations 2024-02-01 11:16:25 +01:00
Dan Percic
8cf89b69da Merge branch 'RED-8249' into 'master'
RED-8249: update common-ui.

See merge request redactmanager/red-ui!284
2024-02-01 11:15:18 +01:00
Nicoleta Panaghiu
4fe68647f2 RED-8249: update common-ui. 2024-02-01 12:11:06 +02:00
Dan Percic
95b026571f Merge branch 'RED-3800' into 'master'
RED-3800: update common-ui

Closes RED-3800

See merge request redactmanager/red-ui!283
2024-02-01 10:52:55 +01:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
e632fbce12 push back localazy update 2024-02-01 02:03:35 +00:00
Adina Țeudan
a14d28af07 RED-3800: update common-ui 2024-01-31 17:49:56 +02:00
Adina Țeudan
f4b5d83e96 RED-3800: update common-ui 2024-01-31 17:12:17 +02:00
Nicoleta Panaghiu
aca52a4de4 Merge branch 'VM/RED-8251' into 'master'
RED-8251, RED-8246, RED-8345 - help mode updates

Closes RED-8251

See merge request redactmanager/red-ui!282
2024-01-31 16:10:09 +01:00
Valentin Mihai
fba959c6aa RED-8251, RED-8246, RED-8345 - help mode updates 2024-01-31 17:07:59 +02:00
Dan Percic
b81dbc09f8 Merge branch 'RED-3800' into 'master'
RED-3800 update common-ui

See merge request redactmanager/red-ui!281
2024-01-31 12:02:51 +01:00
Dan Percic
ce56d4b63f RED-3800 update common-ui 2024-01-31 11:57:20 +01:00
Dan Percic
cfe5a32ebc RED-3800 move if not logged in guard 2024-01-31 11:52:15 +01:00
Valentin-Gabriel Mihai
f4f2dcb2d3 Merge branch 'RED-8269' into 'master'
RED-8269: fixed missing type value in resize dialog.

See merge request redactmanager/red-ui!280
2024-01-31 09:53:02 +01:00
Nicoleta Panaghiu
5c2326a952 RED-8269: fixed missing type value in resize dialog. 2024-01-31 10:52:16 +02:00
Valentin-Gabriel Mihai
c299188720 Merge branch 'RED-8375' into 'master'
Resolve RED-8375

Closes RED-8375

See merge request redactmanager/red-ui!279
2024-01-31 09:50:28 +01:00
Nicoleta Panaghiu
6a118f2514 RED-8375: disabled actions when both page and file are excluded. 2024-01-31 10:35:48 +02:00
Nicoleta Panaghiu
8e69010364 RED-8375: disabled in dossier dialog option when page is excluded. 2024-01-31 10:34:31 +02:00
Valentin-Gabriel Mihai
5795e98eb2 Merge branch 'nicoleta' into 'master'
RED-3800: fix error code.

See merge request redactmanager/red-ui!278
2024-01-31 09:11:24 +01:00
Nicoleta Panaghiu
944509d03a RED-3800: fix error code. 2024-01-31 10:10:02 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
12ff5d4301 push back localazy update 2024-01-31 02:03:29 +00:00
Dan Percic
995332b1cf Merge branch 'RED-8167' into 'master'
RED-8167: fixed rectangle redaction label in edit dialog.

See merge request redactmanager/red-ui!277
2024-01-30 16:47:18 +01:00
Nicoleta Panaghiu
d9c30cd23a RED-8167: fixed rectangle redaction label in edit dialog. 2024-01-30 16:33:35 +02:00
Dan Percic
7bf07bf690 Merge branch 'RED-8354' into 'master'
RED-8354: fixed rerouting for application admins.

See merge request redactmanager/red-ui!276
2024-01-30 13:52:26 +01:00
Nicoleta Panaghiu
60c7793082 RED-8354: fixed rerouting for application admins. 2024-01-30 14:50:54 +02:00
Dan Percic
d1d5019cc2 Merge branch 'VM/RED-8284' into 'master'
RED-8284 - Drag & Drop for Import Redactions not working

Closes RED-8284

See merge request redactmanager/red-ui!275
2024-01-30 12:51:04 +01:00
Valentin Mihai
643d0f21d4 RED-8284 - Drag & Drop for Import Redactions not working 2024-01-30 13:33:08 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
4314108f56 push back localazy update 2024-01-30 02:03:28 +00:00
Dan Percic
89037fcd5c Merge branch 'VM/RED-8382' into 'master'
RED-8382 - Missing Restore/Hard Delete button for trashed dossier without owner

Closes RED-8382

See merge request redactmanager/red-ui!274
2024-01-29 14:52:11 +01:00
Valentin Mihai
a5a861cc18 RED-8382 - Missing Restore/Hard Delete button for trashed dossier without owner 2024-01-29 15:04:10 +02:00
Dan Percic
95665993c6 Merge branch 'VM/RED-8382' into 'master'
RED-8382 - Missing Restore/Hard Delete button for trashed dossier without owner

Closes RED-8382

See merge request redactmanager/red-ui!273
2024-01-29 13:27:59 +01:00
Valentin Mihai
9a10dcb499 RED-8382 - Missing Restore/Hard Delete button for trashed dossier without owner 2024-01-29 14:19:20 +02:00
Dan Percic
702aa2905a Merge branch 'VM/RED-8279' into 'master'
RED-8279 - Backend responds with outdated data in entityLog for applied resized recommendation

Closes RED-8279

See merge request redactmanager/red-ui!272
2024-01-29 13:07:05 +01:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
d810c7a27c push back localazy update 2024-01-28 02:03:23 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
eac62b5250 push back localazy update 2024-01-27 02:03:23 +00:00
Valentin Mihai
33e8ae435b RED-8279 - Backend responds with outdated data in entityLog for applied resized recommendation 2024-01-26 19:09:11 +02:00
Dan Percic
96a7084241 Merge branch 'RED-8375' into 'master'
Resolve RED-8375

Closes RED-8375

See merge request redactmanager/red-ui!270
2024-01-26 15:11:55 +01:00
Nicoleta Panaghiu
3e9636f69b RED-8375: fixed page indicator border. 2024-01-26 16:09:17 +02:00
Nicoleta Panaghiu
be25253ee7 RED-8375: fixed actions for documine. 2024-01-26 16:08:58 +02:00
Nicoleta Panaghiu
c0bd129b5c RED-8375: fixed watermark and border not appearing all the time. 2024-01-26 15:47:28 +02:00
Nicoleta Panaghiu
5e0c8f6c13 RED-8375: fixed manual redactions actions not available for excluded. 2024-01-26 15:44:22 +02:00
Dan Percic
07df8e8074 Merge branch 'RED-8288' into 'master'
RED-8288: removed false positive option for forced annotations.

See merge request redactmanager/red-ui!269
2024-01-25 12:32:02 +01:00
Nicoleta Panaghiu
8450973c0a RED-8288: removed false positive option for forced annotations. 2024-01-25 12:08:44 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
6e24927d97 push back localazy update 2024-01-25 02:03:40 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
2eeca8d9a1 push back localazy update 2024-01-24 02:03:53 +00:00
Dan Percic
7c2148e901 Merge branch 'RED-8320' into 'master'
RED-8320: updated edit dialog for imported redactions.

See merge request redactmanager/red-ui!268
2024-01-23 16:08:30 +01:00
Nicoleta Panaghiu
143241719a RED-8320: updated edit dialog for imported redactions. 2024-01-23 16:58:14 +02:00
Dan Percic
ef286355db Merge branch 'RED-8270' into 'master'
RED-8270: fixed actions not available for manually added hints.

See merge request redactmanager/red-ui!266
2024-01-23 11:46:49 +01:00
Dan Percic
5a4e4ded65 Merge branch 'VM/RED-8102' into 'master'
RED-8102 - Add indicator above workload in DocuMine when auto-analysis is disabled

Closes RED-8102

See merge request redactmanager/red-ui!267
2024-01-23 11:41:07 +01:00
Nicoleta Panaghiu
f51271521f RED-8270 & RED-8272 & RED-8261. 2024-01-23 11:02:40 +02:00
Valentin Mihai
1992a95d51 RED-8102 - Add indicator above workload in DocuMine when auto-analysis is disabled 2024-01-22 18:04:47 +02:00
Nicoleta Panaghiu
a1f8451ee6 RED-8270: prevent future bug. 2024-01-22 16:31:07 +02:00
Nicoleta Panaghiu
70dcc38503 RED-8270: fixed actions not available for manually added hints. 2024-01-22 15:42:32 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
df0e2c17c4 push back localazy update 2024-01-19 02:03:39 +00:00
Dan Percic
d336f3f365 Merge branch 'VM/RED-7980' into 'master'
RED-7980 - Not all unprocessed annotations are displayed correctly

Closes RED-7980

See merge request redactmanager/red-ui!265
2024-01-18 08:04:48 +01:00
Valentin Mihai
1c70610a06 RED-7980 - Not all unprocessed annotations are displayed correctly 2024-01-18 09:00:18 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
a733373a70 push back localazy update 2024-01-18 02:03:40 +00:00
Dan Percic
61f2a96547 Merge branch 'RED-8273' into 'master'
RED-8273: fixed redacted option not pre-selected in download dialog bug.

See merge request redactmanager/red-ui!264
2024-01-17 10:28:25 +01:00
Nicoleta Panaghiu
9e0bff9e2a RED-8273: fixed redacted option not pre-selected in download dialog bug. 2024-01-17 11:26:07 +02:00
Dan Percic
531edc547b Merge branch 'RED-8109' into 'master'
RED-8109: update common-ui.

See merge request redactmanager/red-ui!263
2024-01-17 09:43:39 +01:00
Nicoleta Panaghiu
dc1f13a04e RED-8109: update common-ui. 2024-01-17 10:42:36 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
84e1941589 push back localazy update 2024-01-17 02:03:36 +00:00
Dan Percic
7cac85405a Merge branch 'csp-updates' into 'master'
RED-8128 even more stupid

See merge request redactmanager/red-ui!262
2024-01-16 18:49:17 +01:00
Dan Percic
fd26b04b1c RED-8128 even more stupid 2024-01-16 19:45:24 +02:00
Dan Percic
f39fd40339 Merge branch 'csp-updates' into 'master'
RED-8128 stupid workaround

See merge request redactmanager/red-ui!261
2024-01-16 18:34:21 +01:00
Dan Percic
31d1553deb RED-8128 stupid workaround 2024-01-16 19:27:45 +02:00
Dan Percic
96593d708f Merge branch 'VM/RED-7903' into 'master'
RED-7903 - Show dummy redaction/hints while file is still processing

Closes RED-7903

See merge request redactmanager/red-ui!260
2024-01-16 16:27:49 +01:00
Valentin Mihai
e2b4f67561 RED-7903 - Show dummy redaction/hints while file is still processing 2024-01-16 16:22:52 +02:00
Dan Percic
71ca94d5b3 Merge branch 'RED-8209' into 'master'
RED-8209: fixed wrong error message upon password reset.

See merge request redactmanager/red-ui!259
2024-01-16 14:20:53 +01:00
Nicoleta Panaghiu
92bf6228a7 RED-8209: fixed wrong error message upon password reset. 2024-01-16 15:18:10 +02:00
Dan Percic
ee3dd12f80 Merge branch 'csp-updates' into 'master'
RED-8128 other fixes

See merge request redactmanager/red-ui!258
2024-01-16 14:01:12 +01:00
Dan Percic
9d7bf0e95c RED-8128 other fixes 2024-01-16 15:00:12 +02:00
Dan Percic
92e1e68b3a Merge branch 'csp-updates' into 'master'
RED-8128 fix conf path

See merge request redactmanager/red-ui!257
2024-01-16 12:25:00 +01:00
Dan Percic
74caac5d8a RED-8128 fix conf path 2024-01-16 13:23:57 +02:00
Dan Percic
2b68dbe2c8 Merge branch 'csp-updates' into 'master'
RED-8128 fix file permissions

See merge request redactmanager/red-ui!256
2024-01-16 12:17:03 +01:00
Dan Percic
b3dc99ae8b RED-8128 fix file permissions 2024-01-16 13:16:04 +02:00
Dan Percic
ca13ba1a67 Merge branch 'RED-8048' into 'master'
RED-8048: fixed disabled check icon for resize action.

See merge request redactmanager/red-ui!255
2024-01-16 12:14:48 +01:00
Nicoleta Panaghiu
07d3051107 RED-8048: fixed disabled check icon for resize action. 2024-01-16 13:13:47 +02:00
Dan Percic
0f71576bb3 Merge branch 'RED-8263' into 'master'
RED-8263: display actual values instead of placeholders in translations.

See merge request redactmanager/red-ui!254
2024-01-16 12:04:20 +01:00
Nicoleta Panaghiu
8b7eb04779 RED-8263: display actual values instead of placeholders in translations. 2024-01-16 12:59:39 +02:00
Dan Percic
274d16b6ad Merge branch 'csp-updates' into 'master'
RED-8128 & RED-7861add frame ancestors & pdftron allowed hosts

See merge request redactmanager/red-ui!253
2024-01-16 10:11:33 +01:00
Dan Percic
4725f24406 RED-8128 change frame ancestors to self 2024-01-15 20:11:34 +02:00
Dan Percic
34ca820f07 RED-8128 & RED-7861add frame ancestors & pdftron allowed hosts 2024-01-15 20:05:33 +02:00
Dan Percic
76f95c5eb6 Merge branch 'RED-7316' into 'master'
Resolve RED-7316

Closes RED-7316

See merge request redactmanager/red-ui!252
2024-01-15 10:29:08 +01:00
Nicoleta Panaghiu
1979a9f55d RED-7316: remove last console.log, hopefully 2024-01-15 11:27:23 +02:00
Dan Percic
394be2b2dd Merge branch 'VM/RED-8045' into 'master'
RED-8045 - Dossier template selection/filter at dossier dictionary comparison

Closes RED-8045

See merge request redactmanager/red-ui!251
2024-01-15 10:21:05 +01:00
Nicoleta Panaghiu
c0413f1fd9 RED-7316: cleanup. 2024-01-15 11:20:40 +02:00
Nicoleta Panaghiu
bf1eb887bb RED-7316: no need for explicit initialization inside runWithCleanup. 2024-01-15 11:10:28 +02:00
Nicoleta Panaghiu
35f3ca2fd4 RED-7316: fixed imported redaction draw bug. 2024-01-15 11:09:48 +02:00
Valentin Mihai
849b16a6f3 RED-8045 - Dossier template selection/filter at dossier dictionary comparison 2024-01-14 22:07:19 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
f614a3f0d4 push back localazy update 2024-01-13 02:03:28 +00:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
95d648d474 push back localazy update 2024-01-12 02:03:51 +00:00
Dan Percic
4a76e10751 Merge branch 'VM/RED-7880' into 'master'
RED-7880 - Incorrect Error Handling for Missing Type and Dictionary Display in Compare Mode

Closes RED-7880

See merge request redactmanager/red-ui!250
2024-01-11 15:23:39 +01:00
Valentin Mihai
4426a37dfd RED-7880 - Incorrect Error Handling for Missing Type and Dictionary Display in Compare Mode 2024-01-11 16:21:46 +02:00
Dan Percic
51ca27340e Merge branch 'RED-8234' into 'master'
RED-8234: fixed licenses total stats.

See merge request redactmanager/red-ui!249
2024-01-11 14:20:23 +01:00
Nicoleta Panaghiu
a2c91e2149 RED-8234: fixed licenses total stats. 2024-01-11 15:06:41 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
361d689f0c push back localazy update 2024-01-11 02:03:49 +00:00
Dan Percic
fb837c8a99 Merge branch 'VM/RED-8045' into 'master'
RED-8045 - Dossier template selection/filter at dossier dictionary comparison

Closes RED-8045

See merge request redactmanager/red-ui!248
2024-01-10 17:01:37 +01:00
Valentin Mihai
6563456d57 RED-8045 - Dossier template selection/filter at dossier dictionary comparison 2024-01-10 17:59:08 +02:00
Dan Percic
08ce6e4dcd Merge branch 'RED-8116' into 'master'
RED-8116: removed unnecessary multiple dossierTemplate API calls.

See merge request redactmanager/red-ui!247
2024-01-10 10:56:18 +01:00
Nicoleta Panaghiu
d5f0ab39d8 RED-8116: removed unnecessary multiple dossierTemplate API calls. 2024-01-09 16:08:56 +02:00
Dan Percic
f9490862dc Merge branch 'RED-8151' into 'master'
RED-8151: fixed maximum call stack error.

See merge request redactmanager/red-ui!246
2024-01-09 13:38:54 +01:00
Nicoleta Panaghiu
42eef62fa2 RED-8151: fixed maximum call stack error. 2024-01-09 14:37:23 +02:00
Dan Percic
f8a78c8238 Merge branch 'RED-8137' into 'master'
RED-8137: enabled actions on unprocessed annotations.

See merge request redactmanager/red-ui!245
2024-01-09 12:42:46 +01:00
Nicoleta Panaghiu
c3ae115898 RED-8137: enabled actions on unprocessed annotations. 2024-01-09 12:43:03 +02:00
Dan Percic
6ff5d515ac Merge branch 'VM/RED-7880' into 'master'
RED-7880 - Effective dictionary compare with dossier (template) missing the type

Closes RED-7880

See merge request redactmanager/red-ui!244
2024-01-08 16:20:48 +01:00
Valentin Mihai
63ac7497af RED-7880 - Effective dictionary compare with dossier (template) missing the type 2024-01-08 17:08:04 +02:00
Dan Percic
3d2eec6ef7 Merge branch 'VM/RED-8045' into 'master'
RED-8045 - Dossier template selection/filter at dossier dictionary comparison

Closes RED-8045

See merge request redactmanager/red-ui!243
2024-01-08 10:54:57 +01:00
Valentin Mihai
dc85025932 RED-8045 - fixed mr comments 2024-01-08 11:26:09 +02:00
Valentin Mihai
4953ed2e68 RED-8045 - Dossier template selection/filter at dossier dictionary comparison 2024-01-05 18:58:18 +02:00
Dan Percic
645285bfe6 Merge branch 'RED-8150' into 'master'
RED-8150: Adjust spacing in redact text dialog

Closes RED-8150

See merge request redactmanager/red-ui!242
2024-01-05 14:57:52 +01:00
Adina Țeudan
b5a6b211d8 RED-8150: Adjust spacing in redact text dialog 2024-01-05 15:44:33 +02:00
Dan Percic
478353c8f8 Merge branch 'RED-8164' into 'master'
RED-8164

See merge request redactmanager/red-ui!241
2024-01-05 12:14:06 +01:00
Nicoleta Panaghiu
7d72d6c755 RED-8164: fixed UsersAdmin stuck in infinite loop. 2024-01-05 13:08:53 +02:00
Dan Percic
333700073b Merge branch 'RED-8092' into 'master'
RED-8092: fixed revert when there is a pre-existing value.

See merge request redactmanager/red-ui!240
2024-01-03 14:54:23 +01:00
Nicoleta Panaghiu
9795c120b8 RED-8092: fixed revert when there is a pre-existing value. 2024-01-03 15:22:05 +02:00
Dan Percic
ed28fe911f Merge branch 'RED-8083' into 'master'
RED-8083: fixed reviewer cannot assign approver.

See merge request redactmanager/red-ui!238
2023-12-20 14:40:40 +01:00
Nicoleta Panaghiu
3ee11dd907 RED-8083: fixed reviewer cannot assign approver. 2023-12-20 15:31:28 +02:00
Nicoleta Panaghiu
d85c59e9ba Merge branch 'VM/RED-6960' into 'master'
RED-6960 - Enter should always confirm a modal window

Closes RED-6960

See merge request redactmanager/red-ui!237
2023-12-20 09:34:42 +01:00
Valentin Mihai
84986155dd RED-6960 - Enter should always confirm a modal window 2023-12-20 10:33:25 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
8fe443ba69 push back localazy update 2023-12-20 02:03:26 +00:00
Nicoleta Panaghiu
8e6d43283b Merge branch 'VM/RED-6960' into 'master'
RED-6960 - Enter should always confirm a modal window

Closes RED-6960

See merge request redactmanager/red-ui!236
2023-12-19 15:52:18 +01:00
Valentin Mihai
f9f899a636 RED-6960 - Enter should always confirm a modal window 2023-12-19 16:45:56 +02:00
Dan Percic
78d41402f1 Merge branch 'RED-8103' into 'master'
RED-8103: using the type display name and removed "".

See merge request redactmanager/red-ui!235
2023-12-19 12:34:40 +01:00
Nicoleta Panaghiu
0bc3b86d8d RED-8103: using the type display name and removed "". 2023-12-19 13:32:17 +02:00
Valentin-Gabriel Mihai
7454ee8e3e Merge branch 'RED-7762' into 'master'
RED-7762: fixed comment and empty field placeholders.

See merge request redactmanager/red-ui!234
2023-12-19 10:34:45 +01:00
Nicoleta Panaghiu
60664a56f2 RED-7762: fixed comment and empty field placeholders. 2023-12-19 11:32:39 +02:00
Valentin-Gabriel Mihai
3497b89fec Merge branch 'RED-8092' into 'master'
RED-8092: fixed revert for dossier attributes tab.

See merge request redactmanager/red-ui!233
2023-12-18 16:34:04 +01:00
Nicoleta Panaghiu
af068b3810 RED-8092: fixed revert for dossier attributes tab. 2023-12-18 17:30:55 +02:00
Dan Percic
79482b4da2 Merge branch 'RED-8075' into 'master'
RED-8075: fixed conflicting pop-up messages.

See merge request redactmanager/red-ui!232
2023-12-15 10:06:41 +01:00
Nicoleta Panaghiu
e80e6b9431 RED-8075: fixed conflicting pop-up messages. 2023-12-15 11:00:30 +02:00
Dan Percic
2d9efbeeb6 Merge branch 'VM/RED-7761' into 'master'
RED-7761 - Missing fields in Edit Dialog for Signature (redacted images)

Closes RED-7761

See merge request redactmanager/red-ui!231
2023-12-14 17:54:16 +01:00
Dan Percic
2b4a96c9cc Merge branch 'RED-7919' into 'master'
RED-7919: fixed calendar icon alignment.

See merge request redactmanager/red-ui!230
2023-12-14 17:24:47 +01:00
Valentin Mihai
2833029d65 RED-7761 - Missing fields in Edit Dialog for Signature (redacted images) 2023-12-14 17:14:48 +02:00
Nicoleta Panaghiu
ee0a5f7363 RED-7919: fixed calendar icon alignment. 2023-12-14 16:39:11 +02:00
Dan Percic
5834ccdf9d Merge branch 'RED-7912' into 'master'
RED-7912: sorted filters.

See merge request redactmanager/red-ui!229
2023-12-14 15:14:04 +01:00
Nicoleta Panaghiu
00467b6a01 RED-7912: sorted filters. 2023-12-14 16:03:57 +02:00
Valentin Mihai
9fafc203f5 Merge branch 'master' into VM/RED-7761 2023-12-14 14:29:26 +02:00
Dan Percic
f1c4748ba4 Merge branch 'RED-7691' into 'master'
RED-7691

See merge request redactmanager/red-ui!228
2023-12-14 11:50:07 +01:00
Nicoleta Panaghiu
ed349f0697 RED-7691: refactor code. 2023-12-14 12:43:06 +02:00
Nicoleta Panaghiu
4138f1b1e3 RED-7691: refactor code. 2023-12-14 12:33:48 +02:00
Nicoleta Panaghiu
f09172490a RED-7691: prevented double error toaster. 2023-12-14 11:46:25 +02:00
Dan Percic
97854c84db Merge branch 'RED-8073' into 'master'
RED-8073: show annotations without type in PDF.

See merge request redactmanager/red-ui!227
2023-12-13 13:20:11 +01:00
Nicoleta Panaghiu
023910ce34 RED-8073: show annotations without type in PDF. 2023-12-13 13:54:21 +02:00
Dan Percic
5d771913dd Merge branch 'VM/RED-8072' into 'master'
RED-8072 - Do not allow any annotations or annotation changes while auto-analysis is disabled

Closes RED-8072

See merge request redactmanager/red-ui!226
2023-12-13 11:34:56 +01:00
Valentin Mihai
52ea6fa92d RED-8072 - Do not allow any annotations or annotation changes while auto-analysis is disabled 2023-12-13 12:23:07 +02:00
Valentin Mihai
73408135be RED-7761 - Missing fields in Edit Dialog for Signature (redacted images) 2023-12-12 23:00:12 +02:00
Dan Percic
549f791d3c Merge branch 'RED-7691' into 'master'
RED-7691: fixed error message for invalid strings.

See merge request redactmanager/red-ui!225
2023-12-12 16:14:04 +01:00
Nicoleta Panaghiu
24d229edf5 RED-7691: fixed error message for invalid strings. 2023-12-12 16:03:39 +02:00
Dan Percic
19cf5fe9a0 Merge branch 'VM/RED-8072' into 'master'
RED-8072 - Do not allow any annotations or annotation changes while auto-analysis is disabled

Closes RED-8072

See merge request redactmanager/red-ui!224
2023-12-12 13:57:42 +01:00
Valentin Mihai
0215a6a516 RED-8072 - Do not allow any annotations or annotation changes while auto-analysis is disabled 2023-12-12 14:55:05 +02:00
Dan Percic
3a8f75bb95 Merge branch 'RED-7762' into 'master'
RED-7762: fixed unchanged placeholder.

Closes RED-7762

See merge request redactmanager/red-ui!223
2023-12-11 14:03:56 +01:00
Nicoleta Panaghiu
0b7dc23014 RED-7762: fixed unchanged placeholder. 2023-12-11 14:54:09 +02:00
Dan Percic
964395040f Merge branch 'hotfix/filename-component-log' into 'master'
RED-8055 Fix filename of exported component log json/xml

See merge request redactmanager/red-ui!222
2023-12-07 17:50:50 +01:00
Kresnadi Budisantoso
d1660355eb RED-8055 Fix filename of exported component log json/xml 2023-12-07 17:48:12 +01:00
Dan Percic
f57643f732 Merge branch 'VM/DM-588' into 'master'
DM-588 - Do not allow any annotations or annotation changes while auto-analysis is disabled

Closes DM-588

See merge request redactmanager/red-ui!220
2023-12-07 13:17:59 +01:00
Valentin Mihai
427dfa23e8 DM-588 - Do not allow any annotations or annotation changes while auto-analysis is disabled 2023-12-07 13:54:15 +02:00
Dan Percic
88d35436ad Merge branch 'VM/RED-7761' into 'master'
RED-7761 - Missing fields in Edit Dialog for Signature (redacted images)

Closes RED-7761

See merge request redactmanager/red-ui!219
2023-12-07 11:00:27 +01:00
Valentin Mihai
641f24e0c9 RED-7761 - removed also the "paragraph" field when "reason" is not available 2023-12-06 18:04:06 +02:00
Dan Percic
1ed6c956eb Merge branch 'VM/RED-7980' into 'master'
RED-7980 - Not all unprocessed annotations are displayed correctly

Closes RED-7980

See merge request redactmanager/red-ui!218
2023-12-06 16:20:07 +01:00
Valentin Mihai
5415677034 RED-7980 - update to use already existing "lastRelevantManualChange" variable 2023-12-06 17:19:14 +02:00
Valentin Mihai
7fcad33eb3 RED-7980 - Not all unprocessed annotations are displayed correctly 2023-12-06 17:11:27 +02:00
Dan Percic
af33a91941 Merge branch 'RED-7762' into 'master'
RED-7762: fixed asterisk and invalid form conditions.

See merge request redactmanager/red-ui!217
2023-12-06 11:38:14 +01:00
Nicoleta Panaghiu
5c5f2dcc51 RED-7762: fixed asterisk and invalid form conditions. 2023-12-06 12:36:07 +02:00
Dan Percic
d363da17fc Merge branch 'VM/RED-7761' into 'master'
RED-7761 - Missing fields in Edit Dialog for Signature (redacted images)

Closes RED-7761

See merge request redactmanager/red-ui!216
2023-12-06 10:02:49 +01:00
Valentin Mihai
54a5cdd9a1 RED-7761 - Missing fields in Edit Dialog for Signature (redacted images) 2023-12-05 17:34:30 +02:00
Dan Percic
31360e9845 Merge branch 'RED-3800-fix-tenant-switch' into 'master'
RED-3800 - fix tenant switch.

Closes RED-3800

See merge request redactmanager/red-ui!215
2023-12-04 14:37:49 +01:00
George
d144c90b04 RED-3800 - fix tenant switch. 2023-12-04 15:36:04 +02:00
Dan Percic
effe833971 Merge branch 'RED-3800-remove-tenant-references-in-routes' into 'master'
Resolve RED-3800 "Remove tenant references in routes"

Closes RED-3800

See merge request redactmanager/red-ui!214
2023-12-04 13:20:23 +01:00
George
a7dddf277c RED-8012 - fixed blank page when reloading. 2023-12-04 14:19:23 +02:00
George
2f443441f5 RED-3800 - fixed icon paths. 2023-12-04 13:52:47 +02:00
George
ea1c5f31c5 RED-3800 - remove active tenant references from routes. 2023-12-04 12:08:52 +02:00
Dan Percic
0a32b8f5bd Merge branch 'dan' into 'master'
RED-3800 ng update

See merge request redactmanager/red-ui!213
2023-12-01 09:32:33 +01:00
Dan Percic
db1edf162f RED-7990 fix rule based annotations cannot be resized 2023-11-30 15:47:13 +02:00
Dan Percic
17891f5579 RED-7989 update edit entity form 2023-11-30 15:06:02 +02:00
Dan Percic
885864fc1e DM-604 hide actions when file is done 2023-11-30 13:59:49 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
2718aa5a1c push back localazy update 2023-11-30 02:03:44 +00:00
Dan Percic
3b915d736c RED-3800 update other packages 2023-11-29 21:52:13 +02:00
Dan Percic
b2cc03be79 RED-3800 update material 2023-11-29 21:24:10 +02:00
Dan Percic
ac3d305279 RED-3800 ng update 2023-11-29 21:20:38 +02:00
Dan Percic
dd08cb950f Merge branch 'dan' into 'master'
RED-3800 fix update

See merge request redactmanager/red-ui!212
2023-11-29 18:08:39 +01:00
Dan Percic
15592a01af RED-3800 fix update 2023-11-29 19:04:32 +02:00
Dan Percic
ee6e4ad50d Merge branch 'dan' into 'master'
DM-604 bug fix for release

See merge request redactmanager/red-ui!211
2023-11-29 16:42:27 +01:00
Dan Percic
65dc06b980 Merge branch 'RED-7972' into 'master'
RED-7972: Updated labels

Closes RED-7972

See merge request redactmanager/red-ui!210
2023-11-29 16:30:12 +01:00
Adina Țeudan
e81ab56a4a RED-7972: Updated labels 2023-11-29 17:28:09 +02:00
Dan Percic
8d079410ea Merge remote-tracking branch 'origin/refactor-tenancy-using-base-ref' into dan 2023-11-29 17:27:59 +02:00
George
31c100d9bc RED-3800, readd project baseref config 2023-11-29 17:19:30 +02:00
George
b7a9b5c77c RED-3800, refactor multitenancy 2023-11-29 17:10:36 +02:00
Dan Percic
5f25da5d5d RED-3800 remove nx, prepare for ng 17 2023-11-29 17:06:10 +02:00
Dan Percic
a53d139687 Merge branch 'dan' into 'master'
DM-604 bug fix for release

See merge request redactmanager/red-ui!209
2023-11-29 14:34:09 +01:00
Dan Percic
5d82df9983 DM-604 bug fix for release 2023-11-29 13:52:25 +02:00
George Balanesc
9f72bd78f8 Merge branch 'VM/RED-7989' into 'master'
RED-7989 - Case Sensitive field not updated correctly in UI

Closes RED-7989

See merge request redactmanager/red-ui!208
2023-11-29 09:55:37 +01:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
51408302a9 push back localazy update 2023-11-29 02:03:38 +00:00
Valentin Mihai
1302c1b455 RED-7989 - Case Sensitive field not updated correctly in UI 2023-11-28 19:48:48 +02:00
Nicoleta Panaghiu
83495a7466 Merge branch 'VM/DM-598' into 'master'
DM-598 - Component values cannot be changed manually

Closes DM-598

See merge request redactmanager/red-ui!207
2023-11-28 13:08:29 +01:00
Valentin Mihai
0c83b39b8b DM-598 - Component values cannot be changed manually 2023-11-28 14:07:02 +02:00
Valentin-Gabriel Mihai
0da172106b Merge branch 'RED-7935' into 'master'
RED-7935: fixed internal server error.

See merge request redactmanager/red-ui!206
2023-11-28 12:55:53 +01:00
Nicoleta Panaghiu
2db9c50aa5 RED-7935: fixed internal server error. 2023-11-28 13:51:45 +02:00
Valentin-Gabriel Mihai
718e70f08c Merge branch 'RED-7762' into 'master'
RED-7762: changed type display value based on new requirements.

See merge request redactmanager/red-ui!205
2023-11-28 11:31:02 +01:00
Nicoleta Panaghiu
e8d8531304 RED-7762: changed type display value based on new requirements. 2023-11-28 12:28:51 +02:00
Valentin-Gabriel Mihai
aab19a383e Merge branch 'RED-7762' into 'master'
RED-7762: fields show 'unchanged' by default.

See merge request redactmanager/red-ui!204
2023-11-27 10:22:49 +01:00
Nicoleta Panaghiu
677d6732b0 RED-7762: fields show 'unchanged' by default. 2023-11-27 11:15:48 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
24bde55bb3 push back localazy update 2023-11-25 02:03:32 +00:00
Nicoleta Panaghiu
c89824f83a Merge branch 'VM/DM-598' into 'master'
DM-598 - Component values cannot be changed manually

Closes DM-598

See merge request redactmanager/red-ui!203
2023-11-24 11:46:38 +01:00
Valentin Mihai
0537706b9c DM-598 - Component values cannot be changed manually 2023-11-24 12:44:23 +02:00
Adina Teudan
b5c3d1e39d Merge branch 'DM-558' into 'master'
DM-558: Localazy integration for DM

Closes DM-558

See merge request redactmanager/red-ui!202
2023-11-24 09:44:03 +01:00
Adina Țeudan
095096e325 DM-558: Localazy integration for DM 2023-11-23 20:23:47 +02:00
Adina Teudan
876d2a2f27 Merge branch 'RED-7509' into 'master'
RED-7509: Scrollbar only for users list when editing dossier team

Closes RED-7509

See merge request redactmanager/red-ui!199
2023-11-23 18:43:03 +01:00
Nicoleta Panaghiu
67823cfc1d Merge branch 'VM/RED-7761' into 'master'
RED-7761 - Missing fields in Edit Dialog for Signature (redacted images)

Closes RED-7761

See merge request redactmanager/red-ui!200
2023-11-23 14:33:17 +01:00
Valentin Mihai
fe83a9c75a RED-7761 - removed reset reason method 2023-11-23 15:29:33 +02:00
Valentin Mihai
86c83311c7 RED-7761 - removed logs 2023-11-23 14:41:00 +02:00
Valentin Mihai
d45490ccaf RED-7761 - Missing fields in Edit Dialog for Signature (redacted images) 2023-11-23 14:40:03 +02:00
Adina Țeudan
df1ac952df RED-7509: Scrollbar only for users list when editing dossier team 2023-11-23 14:21:21 +02:00
Valentin-Gabriel Mihai
46182edb34 Merge branch 'RED-7692' into 'master'
RED-7692: Add linebreak if comment is too long

Closes RED-7692

See merge request redactmanager/red-ui!198
2023-11-23 12:46:12 +01:00
Adina Țeudan
4b84f35d59 RED-7692: Add linebreak if comment is too long 2023-11-23 13:43:08 +02:00
Valentin Mihai
3631df4619 RED-7761 - Missing fields in Edit Dialog for Signature (redacted images) 2023-11-22 18:52:27 +02:00
Valentin-Gabriel Mihai
a5ba313375 Merge branch 'RED-7853' into 'master'
RED-7853: Fixed lines not showing when only one month is displayed.

See merge request redactmanager/red-ui!197
2023-11-22 12:12:21 +01:00
Nicoleta Panaghiu
5f5322885a RED-7853: Fixed lines not showing when only one month is displayed. 2023-11-22 13:05:02 +02:00
Nicoleta Panaghiu
eff473ed48 Merge branch 'VM/DM-588' into 'master'
DM-588 - Do not allow any annotations or annotation changes while auto-analysis is disabled

Closes DM-588

See merge request redactmanager/red-ui!196
2023-11-22 09:41:56 +01:00
Valentin Mihai
212481f44f DM-588 - Do not allow any annotations or annotation changes while auto-analysis is disabled 2023-11-21 21:12:21 +02:00
Valentin-Gabriel Mihai
afc46ac7a7 Merge branch 'RED-7935' into 'master'
RED-7935: fixed cannot save force annotation.

See merge request redactmanager/red-ui!195
2023-11-21 14:47:03 +01:00
Nicoleta Panaghiu
f4b055bda2 RED-7935: fixed cannot save force annotation. 2023-11-21 14:17:43 +02:00
Valentin-Gabriel Mihai
f9c001230e Merge branch 'VM/RED-7887' into 'master'
RED-7887 - UI saves the last saved dictionary in compare and no longer updates...

Closes RED-7887

See merge request redactmanager/red-ui!194
2023-11-21 11:51:18 +01:00
Valentin Mihai
f08500b61b RED-7887 - UI saves the last saved dictionary in compare and no longer updates itself after selecting another template 2023-11-21 12:44:38 +02:00
Dan Percic
bcd9527696 Merge branch 'VM/RED-7903' into 'master'
RED-7903 - Show dummy redaction/hints while file is still processing

Closes RED-7903

See merge request redactmanager/red-ui!193
2023-11-20 08:40:44 +01:00
Valentin Mihai
46b5306aef RED-7903 - Show dummy redaction/hints while file is still processing 2023-11-17 13:00:55 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
7dd6dc14a4 push back localazy update 2023-11-17 02:03:38 +00:00
Dan Percic
5fe11a1475 Merge branch 'nicoleta' into 'master'
RED-3800: changed mutate to update.

See merge request redactmanager/red-ui!191
2023-11-16 16:20:05 +01:00
Dan Percic
8b433d732f Merge branch 'VM/RED-7930' into 'master'
RM-67: File actions not available when in full screen mode

Closes RED-7930

See merge request redactmanager/red-ui!192
2023-11-16 15:46:43 +01:00
Valentin Mihai
eeae76a06f RM-67: File actions not available when in full screen mode 2023-11-16 16:15:32 +02:00
Nicoleta Panaghiu
f0a72b7961 RED-3800: changed mutate to update. 2023-11-16 15:16:25 +02:00
Nicoleta Panaghiu
63fc8f0468 RED-3800: changed mutate to update. 2023-11-16 14:54:35 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
bb83b90ae0 push back localazy update 2023-11-16 02:03:31 +00:00
Dan Percic
90bb0e70ab Merge branch 'VM/RED-7634' into 'master'
RED-7634 - changed tooltips

Closes RED-7634

See merge request redactmanager/red-ui!190
2023-11-15 20:40:55 +01:00
Valentin Mihai
3667d586c4 RED-7634 - changed tooltips 2023-11-15 21:29:49 +02:00
Dan Percic
ea5fdb1a9e Merge branch 'VM/RED-7634' into 'master'
RED-7634 - added tooltips

Closes RED-7634

See merge request redactmanager/red-ui!189
2023-11-15 15:55:14 +01:00
Valentin Mihai
b4355cd0ba RED-7634 - added tooltips 2023-11-15 16:48:34 +02:00
Dan Percic
5248005e7a Merge branch 'RED-6234' into 'master'
RED-6234: Escape key aborts resize.

See merge request redactmanager/red-ui!186
2023-11-15 13:38:51 +01:00
Dan Percic
0535356ee9 Merge branch 'VM/RED-7634' into 'master'
RED-7634 - Hide "Skipped" button not working as expected

Closes RED-7634

See merge request redactmanager/red-ui!188
2023-11-15 13:32:34 +01:00
Valentin Mihai
034aa78842 RED-7634 - Hide "Skipped" button not working as expected 2023-11-15 14:29:03 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
2df87f4f16 push back localazy update 2023-11-15 02:03:50 +00:00
Dan Percic
4706a3d425 Merge branch 'RED-6435' into 'master'
RED-6435: Removed add to dict character limit

Closes RED-6435

See merge request redactmanager/red-ui!187
2023-11-14 14:25:11 +01:00
Adina Țeudan
6490fb8707 RED-6435: Removed add to dict character limit 2023-11-14 15:18:31 +02:00
Nicoleta Panaghiu
3193f28c69 RED-6234: Escape key aborts resize. 2023-11-14 15:00:55 +02:00
Dan Percic
37a3aaf0c0 Merge branch 'VM/RED-7880' into 'master'
RED-7880 - Effective dictionary compare with dossier (template) missing the type

Closes RED-7880

See merge request redactmanager/red-ui!185
2023-11-14 12:40:11 +01:00
Valentin Mihai
b29c95eb31 RED-7880 - Effective dictionary compare with dossier (template) missing the type 2023-11-14 13:31:07 +02:00
Dan Percic
9c325c8cfc Merge branch 'VM/RED-6960' into 'master'
RED-6960 - Enter should always confirm a modal window

Closes RED-6960

See merge request redactmanager/red-ui!184
2023-11-13 15:31:47 +01:00
Dan Percic
0be1856449 Merge branch 'VM/RED-7887' into 'master'
RED-7887 - UI saves the last saved dictionary in compare and no longer updates...

Closes RED-7887

See merge request redactmanager/red-ui!183
2023-11-13 15:31:23 +01:00
Valentin Mihai
ef662efa80 RED-6960 - update common ui 2023-11-13 13:27:28 +02:00
Valentin Mihai
c2020218c2 RED-6960 - Enter should always confirm a modal window 2023-11-13 13:24:27 +02:00
Valentin Mihai
93e1dcd1c1 RED-7887 - UI saves the last saved dictionary in compare and no longer updates itself after selecting another template 2023-11-11 16:33:58 +02:00
Dan Percic
5bcee3c5c4 Merge branch 'VM/DM-536' into 'master'
DM-536 - Extraction output bulk download for dossiers

Closes DM-536

See merge request redactmanager/red-ui!182
2023-11-10 19:33:22 +01:00
Valentin Mihai
533843caea DM-579 - Help Mode Link for Component Download 2023-11-10 20:29:11 +02:00
Valentin Mihai
e44a7a3ec4 DM-536 - Extraction output bulk download for dossiers 2023-11-10 20:09:15 +02:00
Dan Percic
d11700f8c4 Merge branch 'marius.schummer-master-patch-037e' into 'master'
DM-536 addition: Change tooltip for standard download button

See merge request redactmanager/red-ui!180
2023-11-09 17:03:05 +01:00
Marius Schummer
6ba0a5c712 DM-536 addition: Change tooltip for standard download button 2023-11-09 16:51:15 +01:00
Dan Percic
c4d31645ce Merge branch 'RED-7762' into 'master'
RED-7762: updated conditions based on specific annotation combinations.

See merge request redactmanager/red-ui!179
2023-11-09 13:03:55 +01:00
Nicoleta Panaghiu
9041ed9a0c RED-7762: updated conditions based on specific annotation combinations. 2023-11-09 13:49:16 +02:00
Christoph Schabert
372e6b887a Update .gitlab-ci.yml file 2023-11-09 10:24:46 +01:00
Christoph Schabert
d828e2c1aa Update .gitlab-ci.yml file 2023-11-09 10:06:48 +01:00
Christoph Schabert
cefa7889f8 Update .gitlab-ci.yml file 2023-11-09 10:02:13 +01:00
Christoph Schabert
174cfd6287 Update .gitlab-ci.yml file 2023-11-09 09:47:25 +01:00
Christoph Schabert
0948ca9168 Update .gitlab-ci.yml file 2023-11-09 09:37:51 +01:00
Christoph Schabert
6dd9539410 Update .gitlab-ci.yml file 2023-11-09 09:36:23 +01:00
Christoph Schabert
c0a197c3f4 Update .gitlab-ci.yml file 2023-11-09 09:34:50 +01:00
Christoph Schabert
8f7d43186b Update .gitlab-ci.yml file 2023-11-09 09:28:01 +01:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
b7da8ac00b push back localazy update 2023-11-09 02:04:06 +00:00
Dan Percic
f684d446e7 Merge branch 'RED-7890' into 'master'
RED-7890: Remove dict items sorting from UI

Closes RED-7890

See merge request redactmanager/red-ui!178
2023-11-08 10:34:54 +01:00
Adina Țeudan
52feb78eb2 RED-7890: Remove dict items sorting from UI 2023-11-08 11:27:38 +02:00
Dan Percic
aa8e59aefa Merge branch 'dan' into 'master'
Update entity log migration

See merge request redactmanager/red-ui!177
2023-11-08 09:45:21 +01:00
Dan Percic
bc947d2407 RED-3800 update watermark paddings 2023-11-08 10:23:30 +02:00
Dan Percic
11f5fe79cf RED-7619 fix entity log migration bugs 2023-11-08 10:23:05 +02:00
Dan Percic
605a06a7ec Merge branch 'marius.schummer-master-patch-64408' into 'master'
DM-556 Update translation for dict-based annotation label in workload for DocuMine

See merge request redactmanager/red-ui!175
2023-11-08 08:00:47 +01:00
Dan Percic
b292a88650 Merge branch 'RED-7890' into 'master'
RED-7890: Remove dict items sorting from UI

Closes RED-7890

See merge request redactmanager/red-ui!176
2023-11-07 16:28:26 +01:00
Adina Țeudan
b9e43535a9 RED-7890: Remove dict items sorting from UI 2023-11-07 16:27:56 +02:00
Dan Percic
54303e49eb Merge branch 'RED-6435' into 'master'
RED-6435: Cleanup unecessary code

Closes RED-6435

See merge request redactmanager/red-ui!174
2023-11-07 15:16:01 +01:00
Marius Schummer
52c8a2d393 DM-556 Update translation for dict-based annotation label in workload for DocuMine 2023-11-07 14:32:49 +01:00
Adina Țeudan
a398e95612 RED-6435: Cleanup unecessary code 2023-11-07 13:58:15 +02:00
Dan Percic
66fc7493c1 Merge branch 'RED-6435' into 'master'
RED-6435: Removed add to dict character limit

Closes RED-6435

See merge request redactmanager/red-ui!173
2023-11-07 12:52:44 +01:00
Adina Țeudan
0810cd4ae0 RED-6435: Removed add to dict character limit 2023-11-07 13:48:32 +02:00
Dan Percic
5fe11d1fdb Merge branch 'RED-7380' into 'master'
RED-7380: Remove _interface from dossier permissions update request

Closes RED-7380

See merge request redactmanager/red-ui!172
2023-11-07 12:45:13 +01:00
Adina Țeudan
7bac83cac6 RED-7380: Remove _interface from dossier permissions update request 2023-11-07 13:44:12 +02:00
Dan Percic
407a6d67cd Merge branch 'VM/DM-536' into 'master'
DM-536

Closes DM-536

See merge request redactmanager/red-ui!171
2023-11-07 12:39:56 +01:00
Valentin Mihai
bcef03b362 DM-536 - Extraction output bulk download for dossiers 2023-11-07 13:23:22 +02:00
Valentin Mihai
ac1c297eaa Merge branch 'master' into VM/DM-536 2023-11-06 14:22:25 +02:00
Dan Percic
5472ff127b Merge branch 'VM/RED-7761' into 'master'
RED-7761 - Missing fields in Edit Dialog for Signature (redacted images)

Closes RED-7761

See merge request redactmanager/red-ui!177
2023-11-06 12:47:03 +01:00
Valentin Mihai
03f5c9c90f RED-7761 - Missing fields in Edit Dialog for Signature (redacted images) 2023-11-06 13:43:17 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
f56d0e5542 push back localazy update 2023-11-06 10:47:34 +00:00
Dan Percic
25446702df Merge branch 'RED-7550-2' into 'master'
RED-7550: updated canEdit conditions.

See merge request redactmanager/red-ui!176
2023-11-02 14:58:31 +01:00
Nicoleta Panaghiu
693553627d RED-7550: cleanup. 2023-11-02 15:57:21 +02:00
Nicoleta Panaghiu
0e5e8f5cc4 RED-7550: updated canEdit conditions. 2023-11-02 15:32:48 +02:00
Dan Percic
be109653e8 Merge branch 'RED-3800' into 'master'
Resolve RED-3800

Closes RED-3800

See merge request redactmanager/red-ui!175
2023-11-01 19:17:04 +01:00
Adina Țeudan
24f5d29071 RED-3800: common-ui update 2023-11-01 18:34:09 +02:00
Adina Țeudan
d7383009d4 RED-3800: Moved pagination component to common-ui 2023-11-01 18:32:48 +02:00
Valentin Mihai
c426739233 DM-536 - Extraction output bulk download for dossiers 2023-11-01 17:26:49 +02:00
Dan Percic
3437622b95 Merge branch 'RED-7605' into 'master'
RED-7605: changed the way selectedText is retrieved.

See merge request redactmanager/red-ui!174
2023-11-01 15:16:06 +01:00
Nicoleta Panaghiu
5cfaaf70a5 RED-7605: changed the way selectedText is retrieved. 2023-11-01 16:13:33 +02:00
Dan Percic
423059f11a Merge branch 'RED-7858' into 'master'
RED-7858: Remove Email Report button in License Information screen

Closes RED-7858

See merge request redactmanager/red-ui!173
2023-11-01 09:45:48 +01:00
Dan Percic
cebc18b776 Merge branch 'RED-7856' into 'master'
RED-7856: Sort dossier states stats by rank

Closes RED-7856

See merge request redactmanager/red-ui!172
2023-11-01 09:45:28 +01:00
Dan Percic
51e77d6344 Merge branch 'DM-540' into 'master'
DM-540: Check for roles before main guard

Closes DM-540

See merge request redactmanager/red-ui!171
2023-11-01 09:44:44 +01:00
Adina Țeudan
181fcbf6c4 RED-7858: Remove Email Report button in License Information screen 2023-11-01 01:36:07 +02:00
Adina Țeudan
19a47bccec RED-7856: Sort dossier states stats by rank 2023-11-01 01:33:36 +02:00
Adina Țeudan
25c27c66c7 DM-540: Check for roles before main guard 2023-11-01 00:59:35 +02:00
Christoph Schabert
946bc87198 Update .gitlab-ci.yml file 2023-10-31 15:01:06 +01:00
Christoph Schabert
ec990d2dd1 Update .gitlab-ci.yml file 2023-10-31 12:17:52 +01:00
Christoph Schabert
57aa62d68e Update .gitlab-ci.yml file 2023-10-31 12:16:58 +01:00
Dan Percic
fc211daf25 Merge branch 'dan' into 'master'
Migrate to Entity Log

See merge request redactmanager/red-ui!168
2023-10-31 09:31:46 +01:00
Dan Percic
70c76ee8ae RED-7619 update translations 2023-10-31 10:25:53 +02:00
Dan Percic
6cac3f94a2 RED-7619 update dockerfile 2023-10-31 10:25:53 +02:00
Dan Percic
f2e2a5ba1a RED-7619 I think its ready? 2023-10-31 10:25:53 +02:00
Dan Percic
7d141c5b23 RED-7619 update annotation wrapper 2023-10-31 10:25:53 +02:00
Dan Percic
ffa9a5830f RED-7619 remove old super type logic, add new 2023-10-31 10:25:53 +02:00
Dan Percic
e40a975ac3 RED-7619 remove unused dialog 2023-10-31 10:25:53 +02:00
Dan Percic
d31d57a2ca RED-7619 remove other useless stuff 2023-10-31 10:25:53 +02:00
Dan Percic
871f0feac1 RED-7619 remove useless suggestions. god this fel good 2023-10-31 10:25:53 +02:00
Dan Percic
94ba0e5470 RED-7619 little cleanup 2023-10-31 10:25:53 +02:00
Dan Percic
c94ef48844 RED-7619 wip migration to entity log 2023-10-31 10:25:53 +02:00
Dan Percic
e3463907f6 Merge branch 'VM/RED-7023' into 'master'
RED-7023

Closes RED-7023

See merge request redactmanager/red-ui!170
2023-10-31 09:07:17 +01:00
Valentin Mihai
9d8a9c04ad RED-7023 - Option to compare (effective) dossier dictionary with template dictionary 2023-10-31 00:08:43 +02:00
Valentin Mihai
9bc52de57d DM-538 - set includeDetails param to false for export xml request 2023-10-30 20:57:56 +02:00
Dan Percic
ae35280c9e Merge branch 'VM/RED-7673' into 'master'
RED-7673 - Resize accept and decline actions not available in the document viewer

Closes RED-7673

See merge request redactmanager/red-ui!167
2023-10-30 13:49:17 +01:00
Valentin Mihai
30058cdb5a RED-7673 - deselect annotations only if multi select mode is not active 2023-10-30 14:47:12 +02:00
Valentin Mihai
871ff5759e RED-7673 - deselected annotation when page is changed instead of updating the actions with an empty list 2023-10-27 16:23:43 +03:00
Valentin Mihai
6923a00caf RED-7673 - Resize accept and decline actions not available in the document viewer 2023-10-27 14:37:49 +03:00
Dan Percic
092b8c2b28 Merge branch 'VM/RED-7023' into 'master'
RED-7023 - Option to compare (effective) dossier dictionary with template dictionary

Closes RED-7023

See merge request redactmanager/red-ui!166
2023-10-27 12:33:33 +02:00
Valentin Mihai
1f6e5498bd RED-7023 - Option to compare (effective) dossier dictionary with template dictionary 2023-10-26 20:55:11 +03:00
Dan Percic
884acd3741 Merge branch 'VM/DM-538' into 'master'
DM-538 - Components download should return result with includeDetails set to false

Closes DM-538

See merge request redactmanager/red-ui!165
2023-10-26 11:19:30 +02:00
Valentin Mihai
be1541a67b DM-538 - Components download should return result with includeDetails set to false 2023-10-26 12:10:11 +03:00
Dan Percic
2bb7461e5b Merge branch 'VM/DM-527' into 'master'
DM-527 - Save Button does not save new member in Edit Dossier

Closes DM-527

See merge request redactmanager/red-ui!164
2023-10-26 10:11:17 +02:00
Valentin Mihai
24963d18f7 DM-527 - Save Button does not save new member in Edit Dossier 2023-10-25 22:13:08 +03:00
Dan Percic
a0cbba7621 Merge branch 'VM/DM-538' into 'master'
DM-538 - Components download returns wrong output

Closes DM-538

See merge request redactmanager/red-ui!162
2023-10-25 12:48:05 +02:00
Valentin Mihai
f225457c35 DM-538 - Components download returns wrong output 2023-10-25 12:59:39 +03:00
Dan Percic
0338b9215d Merge branch 'DM-341' into 'master'
DM-341: Adapt columns of dossier CSV export

Closes DM-341

See merge request redactmanager/red-ui!160
2023-10-24 23:23:43 +02:00
Adina Țeudan
d4cedeb836 DM-341: Adapt columns of dossier CSV export 2023-10-25 00:15:01 +03:00
Dan Percic
604c7bdff9 Merge branch 'VM/DM-545' into 'master'
DM-535 - Components without references not displayed in Component View

Closes DM-545

See merge request redactmanager/red-ui!159
2023-10-24 17:11:42 +02:00
Dan Percic
b655864c84 Merge branch 'VM/RED-7673' into 'master'
RED-7673 - Resize accept and decline actions not available in the document viewer

Closes RED-7673

See merge request redactmanager/red-ui!158
2023-10-24 17:11:04 +02:00
Valentin Mihai
abea40707e DM-535 - Components without references not displayed in Component View 2023-10-24 18:09:35 +03:00
Valentin Mihai
f876696406 RED-7673 - downgraded webviewer version because the annotation actions are not displayed anymore 2023-10-24 16:02:45 +03:00
Dan Percic
c58752d001 Merge branch 'VM/RED-7023' into 'master'
RED-7023 - Option to compare (effective) dossier dictionary with template dictionary

Closes RED-7023

See merge request redactmanager/red-ui!157
2023-10-24 11:24:43 +02:00
Valentin Mihai
3be19259b3 RED-7023 - Option to compare (effective) dossier dictionary with template dictionary 2023-10-24 11:40:33 +03:00
Dan Percic
9b55aed3b0 Merge branch 'RED-3800' into 'master'
RED-3800: Manual localazy sync, fixed keys fetch pagination

Closes RED-3800

See merge request redactmanager/red-ui!156
2023-10-23 23:10:12 +02:00
Adina Țeudan
1ba9caf5fe RED-3800: Manual localazy sync, fixed keys fetch pagination 2023-10-24 00:04:53 +03:00
Dan Percic
ea882511b5 Merge branch 'VM/DM-535' into 'master'
DM-535 - Components without references not displayed in Component View

Closes DM-535

See merge request redactmanager/red-ui!155
2023-10-23 22:57:15 +02:00
Valentin Mihai
3a0b5f415b DM-535 - Components without references not displayed in Component View 2023-10-23 23:14:00 +03:00
Dan Percic
a8e116e167 Merge branch 'dan' into 'master'
RED-7765 ignore missing types if redaction log entry is hidden

See merge request redactmanager/red-ui!154
2023-10-23 16:15:46 +02:00
Dan Percic
80c85e0f95 RED-7765 ignore missing types if redaction log entry is hidden 2023-10-23 17:13:40 +03:00
Valentin Mihai
72407fc2f6 Merge branch 'master' into VM/RED-7673 2023-10-23 11:38:37 +03:00
Dan Percic
6da45310e8 Merge branch 'RED-6893' into 'master'
RED-6893: Handled generic errors.

See merge request redactmanager/red-ui!153
2023-10-20 14:39:35 +02:00
Nicoleta Panaghiu
d60a1fc290 RED-6893: Handled generic errors. 2023-10-20 15:38:08 +03:00
Dan Percic
edb48493f1 Merge branch 'RED-7774' into 'master'
Resolve RED-7774

Closes RED-7774

See merge request redactmanager/red-ui!152
2023-10-20 14:35:49 +02:00
Adina Țeudan
f0655902a5 RED-7774: Dict label getter into observable 2023-10-20 15:34:05 +03:00
Adina Țeudan
51628e517e RED-7774: Redact text validators 2023-10-20 15:29:35 +03:00
Timo Bejan
55ad9c22ae Merge branch 'RED-7790' into 'master'
RED-7790: Added tooltip and a fix

Closes RED-7790

See merge request redactmanager/red-ui!151
2023-10-19 21:28:10 +02:00
Adina Țeudan
c7e284e649 RED-7790: Added tooltip and a fix 2023-10-19 22:27:16 +03:00
Timo Bejan
3356cbe4e0 Merge branch 'RED-7790' into 'master'
RED-7790: File attributes editing: take into account Read-Only setting

Closes RED-7790

See merge request redactmanager/red-ui!150
2023-10-19 21:21:11 +02:00
Adina Țeudan
5f827122aa RED-7790: File attributes editing: take into account Read-Only setting 2023-10-19 22:18:58 +03:00
Adina Teudan
2aa59c4e3c Merge branch 'RED-7783' into 'master'
RED-7783: Fixed numeric and date file attrs

Closes RED-7783

See merge request redactmanager/red-ui!149
2023-10-19 21:05:09 +02:00
Adina Țeudan
769a9085c9 RED-7783: Fixed numeric and date file attrs 2023-10-19 21:33:24 +03:00
Dan Percic
1ff1ab1133 Merge branch 'DM-516' into 'master'
DM-516: Fixed breadcrumbs

Closes DM-516

See merge request redactmanager/red-ui!148
2023-10-19 17:33:00 +02:00
Adina Țeudan
4c9a6651bc DM-516: Fixed breadcrumbs 2023-10-19 18:29:56 +03:00
Dan Percic
aa383781f9 Merge branch 'VM/RED-7023' into 'master'
RED-7023 - Option to compare (effective) dossier dictionary with template dictionary

Closes RED-7023

See merge request redactmanager/red-ui!147
2023-10-19 16:13:35 +02:00
Valentin Mihai
5f7717e9af RED-7023 - Option to compare (effective) dossier dictionary with template dictionary 2023-10-19 17:09:22 +03:00
Dan Percic
ec6cb62339 Merge branch 'RED-7683' into 'master'
RED-7683: Reset last dossier template in user attrs if doesn't exist

Closes RED-7683

See merge request redactmanager/red-ui!146
2023-10-19 15:22:53 +02:00
Adina Țeudan
c2e9383a55 RED-7683: Reset last dossier template in user attrs if doesn't exist 2023-10-19 16:17:48 +03:00
Dan Percic
d2782f95e0 Merge branch 'dan' into 'master'
Some updates

See merge request redactmanager/red-ui!145
2023-10-18 12:22:12 +02:00
Dan Percic
7d6d63f277 RED-3800 some updates 2023-10-17 21:25:50 +03:00
Dan Percic
310cc69fdc RED-3800 update angular 2023-10-17 21:25:25 +03:00
Dan Percic
d758be1d54 RED-3800 update angular 2023-10-17 21:13:33 +03:00
Dan Percic
d57fe2e8ec RED-3800: nx updates 2023-10-17 21:13:03 +03:00
Dan Percic
9f1b1f9220 Merge branch 'VM/RED-7023' into 'master'
RED-7023 - Option to compare (effective) dossier dictionary with template dictionary

Closes RED-7023

See merge request redactmanager/red-ui!144
2023-10-17 17:25:54 +02:00
Valentin Mihai
1a21dcd286 RED-7023 - Option to compare (effective) dossier dictionary with template dictionary 2023-10-17 16:20:25 +03:00
Dan Percic
44de3b09dd Merge branch 'VM/RED-7421' into 'master'
RED-7421 - Unassigned file cannot be moved back from "under approval" to "under review."

Closes RED-7421

See merge request redactmanager/red-ui!143
2023-10-16 17:30:04 +02:00
Valentin Mihai
c86abae357 RED-7421 - Unassigned file cannot be moved back from "under approval" to "under review." 2023-10-16 18:28:09 +03:00
Dan Percic
50da1026b1 Merge branch 'VM/DM-480' into 'master'
DM-480 - Missing help mode link: exclude pages

Closes DM-480

See merge request redactmanager/red-ui!142
2023-10-16 10:55:24 +02:00
Valentin Mihai
a09d176cb5 DM-480 - Missing help mode link: exclude pages 2023-10-13 22:14:32 +03:00
Dan Percic
a1b1111c0c Merge branch 'VM/RED-7756' into 'master'
RED-7756 - Missing redirect to login page when trying to access tenant without being logged-in

Closes RED-7756

See merge request redactmanager/red-ui!141
2023-10-13 19:02:11 +02:00
Valentin Mihai
ebac60b314 RED-7756 - Missing redirect to login page when trying to access tenant without being logged-in 2023-10-13 20:00:10 +03:00
Dan Percic
99701c7cd2 Merge branch 'VM/RED-7678' into 'master'
RED-7678 - In-Place editing fields in Workflow View not aligned correctly

Closes RED-7678

See merge request redactmanager/red-ui!140
2023-10-13 13:46:24 +02:00
Valentin Mihai
165f171b92 RED-7678 - In-Place editing fields in Workflow View not aligned correctly 2023-10-13 14:43:43 +03:00
Dan Percic
ac4860081b Merge branch 'RED-7754' into 'master'
RED-7754: Fixed navigation after closing edit.

See merge request redactmanager/red-ui!139
2023-10-13 12:18:03 +02:00
Nicoleta Panaghiu
d4160074e5 RED-7754: Fixed navigation after closing edit. 2023-10-13 13:16:56 +03:00
Dan Percic
cb843ece0f Merge branch 'RED-7605' into 'master'
RED-7605: quick fix.

See merge request redactmanager/red-ui!138
2023-10-13 10:55:30 +02:00
Nicoleta Panaghiu
fdd024f65d RED-7605: quick fix. 2023-10-13 11:53:52 +03:00
Dan Percic
d23816a514 Merge branch 'RED-7605' into 'master'
RED-7605: removed word duplicates.

See merge request redactmanager/red-ui!137
2023-10-13 09:40:02 +02:00
Nicoleta Panaghiu
8c307501fa RED-7605: removed word duplicates. 2023-10-13 10:38:03 +03:00
Dan Percic
bac940d4b9 Merge branch 'RED-3800' into 'master'
RED-3800: License UI fixes

See merge request redactmanager/red-ui!136
2023-10-11 11:21:34 +02:00
Adina Țeudan
b1736bae53 RED-3800: License UI fixes 2023-10-11 11:53:14 +03:00
Dan Percic
bb882178f2 Merge branch 'VM/RED-7699' into 'master'
VM/RED-7699

Closes RED-7699

See merge request redactmanager/red-ui!135
2023-10-10 15:49:11 +02:00
Valentin Mihai
00a5b260a4 (no branch):
RED-7699 - Hint types in Edit Dossier effective dictionary list
2023-10-10 16:26:56 +03:00
Valentin Mihai
6dc613e0f5 RED-7673 - Resize accept and decline actions not available in the document viewer 2023-10-09 21:38:15 +03:00
Dan Percic
878492deea Merge branch 'kbudisantoso/hotfix-show-component-rules-editor-if-evnvar' into 'master'
Update admin-side-nav.component.ts to show component rules editor also if the...

See merge request redactmanager/red-ui!134
2023-10-09 12:35:28 +02:00
Kresnadi Budisantoso
f257f3f3df Update admin-side-nav.component.ts to show component rules editor also if the respective environment variable is set. 2023-10-09 12:17:08 +02:00
Dan Percic
e220c1436f Merge branch 'VM/RED-7699' into 'master'
RED-7699 - Hint types in Edit Dossier effective dictionary list

Closes RED-7699

See merge request redactmanager/red-ui!132
2023-10-09 11:21:28 +02:00
Timo Bejan
ac6246ada9 Merge branch 'RED-7641' into 'master'
RED-7641: License view structure and layout improvements

Closes RED-7641

See merge request redactmanager/red-ui!133
2023-10-07 09:45:43 +02:00
Adina Țeudan
248165d3d4 RED-7641: License view structure and layout improvements 2023-10-07 10:36:10 +03:00
Valentin Mihai
bb8492484d RED-7699 - Hint types in Edit Dossier effective dictionary list 2023-10-06 17:44:52 +03:00
Dan Percic
42b98dfa39 Merge branch 'VM/RED-7643' into 'master'
RED-7673 - Resize accept and decline actions not available in the document viewer

Closes RED-7643

See merge request redactmanager/red-ui!131
2023-10-06 15:53:46 +02:00
Valentin Mihai
30c4d46486 RED-7673 - Resize accept and decline actions not available in the document viewer 2023-10-06 16:50:14 +03:00
Dan Percic
43123ff7bd Merge branch 'VM/DM-508' into 'master'
DM-508 - Replace RSSResponse with new ComponentLog in UI

Closes DM-508

See merge request redactmanager/red-ui!122
2023-10-06 12:17:29 +02:00
Valentin Mihai
3c42874d59 Merge branch 'master' into VM/DM-508 2023-10-06 13:13:31 +03:00
Valentin Mihai
eb266fc565 DM-508 - update to use the new API 2023-10-06 13:12:52 +03:00
Timo Bejan
de355ad080 Merge branch 'RED-7684' into 'master'
RED-7684: Convert line endings in rule editors to LF

Closes RED-7684

See merge request redactmanager/red-ui!130
2023-10-06 08:53:49 +02:00
Timo Bejan
126b6590e6 Merge branch 'RED-7387' into 'master'
RED-7387: Custom date adapter

Closes RED-7387

See merge request redactmanager/red-ui!129
2023-10-06 08:53:38 +02:00
Adina Țeudan
29b97002dd RED-7684: Convert line endings in rule editors to LF 2023-10-05 20:52:46 +03:00
Adina Țeudan
1b5d0942bd RED-7387: Custom date adapter 2023-10-05 19:41:20 +03:00
Timo Bejan
ed881ceee4 Merge branch 'RED-7512' into 'master'
RED-7512: Fixed switching workspaces

Closes RED-7512

See merge request redactmanager/red-ui!128
2023-10-05 16:01:17 +02:00
Adina Țeudan
31340aceda RED-7512: common-ui 2023-10-05 16:54:47 +03:00
Adina Țeudan
210170be2d RED-7512: Fixed switching workspaces 2023-10-05 16:44:54 +03:00
Dan Percic
59723cc7d1 Merge branch 'RED-7649' into 'master'
RED-7649: Removed character limits on fields.

See merge request redactmanager/red-ui!127
2023-10-05 14:29:04 +02:00
Nicoleta Panaghiu
a53db1b489 RED-7649: Removed character limits on fields. 2023-10-05 15:26:41 +03:00
Dan Percic
1eb4e31066 Merge branch 'VM/RED-7699' into 'master'
RED-7699 - Hint types in Edit Dossier effective dictionary list

Closes RED-7699

See merge request redactmanager/red-ui!126
2023-10-04 22:28:43 +02:00
Valentin Mihai
d133070e00 RED-7699 - Hint types in Edit Dossier effective dictionary list 2023-10-04 23:23:01 +03:00
Dan Percic
b7432d19a5 Merge branch 'RED-7605' into 'master'
RED-7605: fixed search again.

See merge request redactmanager/red-ui!125
2023-10-04 14:15:55 +02:00
Nicoleta Panaghiu
9d41274ff5 RED-7605: fixed search again. 2023-10-04 15:14:38 +03:00
Dan Percic
8bf0fd0cef Merge branch 'VM/RED-7421' into 'master'
RED-7421 - Unassigned file cannot be moved back from "under approval" to "under review."

Closes RED-7421

See merge request redactmanager/red-ui!124
2023-10-03 17:06:56 +02:00
Valentin Mihai
5a52a7aa1e RED-7421 - Unassigned file cannot be moved back from "under approval" to "under review." 2023-10-03 17:57:20 +03:00
Valentin Mihai
80fa240731 Merge branch 'master' into VM/DM-508 2023-10-03 16:39:56 +03:00
Dan Percic
e231f5c3c2 Merge branch 'VM/RED-7673' into 'master'
RED-7673 - Resize accept and decline actions not available in the document viewer

Closes RED-7673

See merge request redactmanager/red-ui!123
2023-10-03 14:27:43 +02:00
Valentin Mihai
677c8db116 RED-7673 - Resize accept and decline actions not available in the document viewer 2023-10-03 14:20:49 +03:00
Valentin Mihai
9fe3fc39ed Merge branch 'master' into VM/DM-508 2023-10-02 16:02:45 +03:00
Valentin Mihai
d260bba488 DM-508 - Replace RSSResponse with new ComponentLog in UI 2023-10-02 16:02:04 +03:00
Dan Percic
b662804445 Merge branch 'RED-7681' into 'master'
RED-7681: Fixed checkbox & toggle styles, added a console log

Closes RED-7681

See merge request redactmanager/red-ui!121
2023-10-02 14:58:44 +02:00
Adina Țeudan
04a514463d RED-7681: Fixed checkbox & toggle styles, added a console log 2023-10-02 15:33:29 +03:00
Dan Percic
33e4c45422 Merge branch 'RED-7649' into 'master'
RED-7649: Added toaster error messages and length limits to fields.

See merge request redactmanager/red-ui!120
2023-09-29 14:01:36 +02:00
Nicoleta Panaghiu
73699a4eea RED-7649: Added toaster error messages and length limits to fields. 2023-09-29 14:41:12 +03:00
Dan Percic
2c0033b8e1 Merge branch 'RED-7605' into 'master'
RED-7605: Fixed search again + esc only on document focused.

See merge request redactmanager/red-ui!119
2023-09-28 16:38:34 +02:00
Nicoleta Panaghiu
127ce75789 RED-7605: Fixed search again + esc only on document focused. 2023-09-28 17:36:29 +03:00
Dan Percic
6478111524 Merge branch 'RED-7641' into 'master'
RED-7641: Fixed weird scrollbars in license screen

Closes RED-7641

See merge request redactmanager/red-ui!118
2023-09-28 14:59:24 +02:00
Adina Țeudan
0be4819e78 RED-7641: Fixed weird scrollbars in license screen 2023-09-28 15:56:00 +03:00
Timo Bejan
1d6915c850 Merge branch 'documine-prod-fix' into 'master'
impersonate fix

See merge request redactmanager/red-ui!117
2023-09-28 11:14:30 +02:00
Timo Bejan
c11d1915a2 impersonate fix 2023-09-28 12:00:04 +03:00
Valentin Mihai
b970838d52 DM-508 - WIP on replacing RSSResponse with new ComponentLog 2023-09-27 21:25:00 +03:00
Dan Percic
bb2a899da3 Merge branch 'RED-3800' into 'master'
RED-3800: Manual Localazy sync

Closes RED-3800

See merge request redactmanager/red-ui!116
2023-09-27 16:37:44 +02:00
Adina Țeudan
dea8f6a082 RED-3800: Manual Localazy sync 2023-09-27 17:35:12 +03:00
Dan Percic
63164da2b8 Merge branch 'RED-7641' into 'master'
Resolve RED-7641

Closes RED-7641

See merge request redactmanager/red-ui!115
2023-09-27 16:16:16 +02:00
Adina Țeudan
485ce08d99 RED-7641: Fixed current month not being displayed 2023-09-27 17:01:02 +03:00
Adina Țeudan
b97a8dc1f9 RED-7641: Align axis grid lines 2023-09-27 15:06:32 +03:00
Timo Bejan
4247b00894 Merge branch 'RED-7641' into 'master'
RED-7641: Fix (oops, uncommited changes)

Closes RED-7641

See merge request redactmanager/red-ui!114
2023-09-26 18:36:35 +02:00
Adina Țeudan
5be8409711 RED-7641: Fix (oops, uncommited changes) 2023-09-26 19:33:31 +03:00
Timo Bejan
3d5df36321 Merge branch 'RED-7641' into 'master'
Resolve RED-7641

Closes RED-7641

See merge request redactmanager/red-ui!113
2023-09-26 18:17:19 +02:00
Adina Țeudan
6ed6c9a662 RED-7641: Update license view screen 2023-09-26 19:01:27 +03:00
Adina Țeudan
5e72b489d9 RED-7641: License view layout fixes 2023-09-26 16:50:29 +03:00
Dan Percic
0c586453da Merge branch 'VM/RED-7421' into 'master'
RED-7421 - Unassigned file cannot be moved back from "under approval" to "under review."

Closes RED-7421

See merge request redactmanager/red-ui!112
2023-09-26 08:57:12 +02:00
Valentin Mihai
2b56f71023 RED-7421 - Unassigned file cannot be moved back from "under approval" to "under review." 2023-09-25 22:38:03 +03:00
Adina Teudan
d853c781a7 Merge branch 'dan' into 'master'
RED-3800 fix infinite spinner on info route

See merge request redactmanager/red-ui!111
2023-09-25 17:39:13 +02:00
Dan Percic
fb377926d4 RED-3800 fix infinite spinner on info route 2023-09-25 18:09:11 +03:00
Dan Percic
c32081ba95 Merge branch 'nicoleta' into 'master'
RED-3800: cleanup

See merge request redactmanager/red-ui!110
2023-09-25 16:57:32 +02:00
Nicoleta Panaghiu
0fcd19d63e RED-3800: cleanup 2023-09-25 17:55:18 +03:00
Dan Percic
08dd2b3dde Merge branch 'RED-7571' into 'master'
RED-7571: Syntax highlighting now matches keywords with hyphens

Closes RED-7571

See merge request redactmanager/red-ui!109
2023-09-25 16:22:57 +02:00
Dan Percic
86e20cea3a Merge branch 'RED-7584' into 'master'
RED-7584: Removed padding and greyed out disabled select.

See merge request redactmanager/red-ui!108
2023-09-25 16:21:54 +02:00
Adina Țeudan
ac861d737c RED-7571: Syntax highlighting now matches keywords with hyphens 2023-09-25 17:21:46 +03:00
Nicoleta Panaghiu
37b5b9f6d7 RED-7584: Removed padding and greyed out disabled select. 2023-09-25 17:19:19 +03:00
Dan Percic
6d3ba94b74 Merge branch 'VM/RED-7610' into 'master'
RED-7610 - Back button in Download view does not work correctly (RM & DM)

Closes RED-7610

See merge request redactmanager/red-ui!106
2023-09-25 14:38:30 +02:00
Valentin Mihai
69b38170fe RED-7610 - removed setInterval 2023-09-25 15:36:53 +03:00
Dan Percic
c862c761ff Merge branch 'RED-7605' into 'master'
RED-7605: fixed search for marked word.

See merge request redactmanager/red-ui!107
2023-09-25 14:16:40 +02:00
Nicoleta Panaghiu
8149d6cae5 RED-7605: fixed search for marked word. 2023-09-25 15:12:54 +03:00
Dan Percic
70066243e2 Merge branch 'RED-3800' into 'master'
RED-3800: Redo HasScrollbar directive

Closes RED-3800

See merge request redactmanager/red-ui!105
2023-09-24 11:23:44 +02:00
Adina Țeudan
1278f9bee1 RED-3800: Redo HasScrollbar directive 2023-09-24 12:20:34 +03:00
Valentin Mihai
c6550bc531 RED-7610 - Back button in Download view does not work correctly (RM & DM) 2023-09-23 00:00:59 +02:00
Dan Percic
8649a026ee Merge branch 'RED-6768' into 'master'
RED-6768: Reload thumbnails when load all annotations enabled

Closes RED-6768

See merge request redactmanager/red-ui!104
2023-09-22 12:11:50 +02:00
Adina Țeudan
0a8a8afb97 RED-6768: Reload thumbnails when load all annotations enabled 2023-09-22 13:05:11 +03:00
Christoph Schabert
f7daaaa164 Update .gitlab-ci.yml file 2023-09-22 10:18:31 +02:00
Christoph Schabert
890ad49d62 Update .gitlab-ci.yml file 2023-09-22 10:18:09 +02:00
Christoph Schabert
36832584de Update .gitlab-ci.yml file 2023-09-22 10:11:02 +02:00
Dan Percic
5d48e1d004 Merge branch 'RED-3800' into 'master'
RED-3800: Improved main resolver / skeleton / loading / redirecting

Closes RED-3800

See merge request redactmanager/red-ui!102
2023-09-21 17:39:16 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
175823dce6 push back localazy update 2023-09-21 15:31:27 +00:00
Adina Țeudan
d2c734b9a9 RED-3800: Improved main resolver / skeleton / loading / redirecting 2023-09-21 18:30:40 +03:00
Christoph Schabert
f717775f24 Update .gitlab-ci.yml file 2023-09-21 11:59:38 +02:00
Dan Percic
2be891c6d3 Merge branch 'dan' into 'master'
RED-7421 show correct user options in assign dialog

See merge request redactmanager/red-ui!101
2023-09-21 10:15:35 +02:00
Dan Percic
ccd5900e73 RED-7421 show correct user options in assign dialog 2023-09-21 11:13:59 +03:00
Dan Percic
cee4fea221 Merge branch 'RED-7562' into 'master'
RED-7562: Disabled the other tabs as well.

See merge request redactmanager/red-ui!100
2023-09-21 09:47:02 +02:00
Nicoleta Panaghiu
2a23925974 RED-7562: Disabled the other tabs as well. 2023-09-21 10:45:41 +03:00
Dan Percic
9166786074 Merge branch 'RED-7571' into 'master'
Resolve RED-7571

Closes RED-7571

See merge request redactmanager/red-ui!99
2023-09-21 08:29:00 +02:00
Adina Țeudan
c2d31e3a65 RED-7571: Highlight and autocomplete drools keywords 2023-09-21 00:27:43 +03:00
Adina Țeudan
3b6122f6aa RED-7571: Refactor duplicate code in rules screens 2023-09-21 00:13:28 +03:00
Dan Percic
52e74ec9aa Merge branch 'VM/RED-6712' into 'master'
RED-6712 - Add in-place editing to the primary attribute in file list

Closes RED-6712

See merge request redactmanager/red-ui!98
2023-09-20 12:41:32 +02:00
Valentin Mihai
1948168d43 RED-6712 - Add in-place editing to the primary attribute in file list 2023-09-20 12:39:07 +02:00
Dan Percic
2cc58508e1 Merge branch 'RED-7589' into 'master'
RED-7589: Fixed height for add hint dialog.

See merge request redactmanager/red-ui!97
2023-09-20 12:30:23 +02:00
Nicoleta Panaghiu
e2a50c3980 RED-7589: Fixed height for add hint dialog. 2023-09-20 13:28:36 +03:00
Dan Percic
f9fa0cfd08 Merge branch 'VM/RED-7521' into 'master'
RED-7521 - “New file attribute” button, the "Edit file attribute" and "Delete...

Closes RED-7521

See merge request redactmanager/red-ui!96
2023-09-20 12:17:36 +02:00
Valentin Mihai
00fbdf2cde RED-7521 - “New file attribute” button, the "Edit file attribute" and "Delete file attribute" icons are missing in the file attribute settings 2023-09-20 12:08:32 +02:00
Dan Percic
61159614ea Merge branch 'VM/RED-7349' into 'master'
RED-7349 - Auto-search in dictionary editor should not interfere with user input

Closes RED-7349

See merge request redactmanager/red-ui!95
2023-09-20 10:59:52 +02:00
Valentin Mihai
c1332b1ab1 RED-7349 - Auto-search in dictionary editor should not interfere with user input 2023-09-20 10:55:46 +02:00
Dan Percic
d7b2943ecf Merge branch 'RED-7605' into 'master'
RED-7605: Fixed search.

See merge request redactmanager/red-ui!94
2023-09-20 10:55:30 +02:00
Nicoleta Panaghiu
e318ca2b3d RED-7605: Fixed search. 2023-09-20 11:51:38 +03:00
Dan Percic
f578c0facb Merge branch 'RED-7562' into 'master'
RED-7562: Disabled dictionary tab for dossierDictionaryOnly.

See merge request redactmanager/red-ui!93
2023-09-19 17:00:55 +02:00
Nicoleta Panaghiu
a7f393c5c2 RED-7562: Disabled dictionary tab for dossierDictionaryOnly. 2023-09-19 17:19:26 +03:00
Dan Percic
36c8369a0b Merge branch 'VM/RED-7549' into 'master'
RED-7549 - fixed "Scroll Bar should be displayed correctly"

Closes RED-7549

See merge request redactmanager/red-ui!92
2023-09-19 12:52:41 +02:00
Valentin Mihai
6474b48630 RED-7549 - fixed "Scroll Bar should be displayed correctly" 2023-09-19 13:32:43 +03:00
Dan Percic
77a1491546 Merge branch 'RED-7605' into 'master'
RED-7605: Fixed ctrl+f and f not working properly.

See merge request redactmanager/red-ui!91
2023-09-19 10:42:07 +02:00
Nicoleta Panaghiu
ce6d5838d5 RED-7605: Fixed ctrl+f and f not working properly. 2023-09-19 11:38:08 +03:00
Dan Percic
654cb50c2d Merge branch 'VM/DM-451' into 'master'
DM-451 - Clicking the 'Back' button does not lead to navigating to the previous page

Closes DM-451

See merge request redactmanager/red-ui!90
2023-09-18 16:49:41 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
80443fd8ed push back localazy update 2023-09-18 14:48:50 +00:00
Valentin Mihai
b31c863a38 DM-451 - Clicking the 'Back' button does not lead to navigating to the previous page 2023-09-18 17:48:04 +03:00
Dan Percic
19969f3eae Merge branch 'RED-7550' into 'master'
RED-7550: Fixed text

See merge request redactmanager/red-ui!89
2023-09-18 16:47:37 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
251cbe6ac0 push back localazy update 2023-09-18 14:47:19 +00:00
Nicoleta Panaghiu
d9ebd1aa0a RED-7550: Fixed text 2023-09-18 17:46:47 +03:00
Dan Percic
c9de81b82f Merge branch 'RED-7550' into 'master'
Resolve RED-7550

Closes RED-7550

See merge request redactmanager/red-ui!88
2023-09-18 16:41:23 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
5d3ae273c4 push back localazy update 2023-09-18 14:40:19 +00:00
Nicoleta Panaghiu
ddaa4cf7f3 RED-7550: Bulk edit dialog. 2023-09-18 17:37:02 +03:00
Nicoleta Panaghiu
5d90277680 Merge branch 'master' into RED-7550
# Conflicts:
#	apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.html
2023-09-18 17:05:01 +03:00
Dan Percic
70156e7960 Merge branch 'dan' into 'master'
RED-7554 update translations

See merge request redactmanager/red-ui!87
2023-09-18 13:39:35 +02:00
Dan Percic
85f564a06a RED-7554 update translations 2023-09-18 14:36:36 +03:00
Dan Percic
ee323df38d Merge branch 'DM-424-1' into 'master'
DM-424, disregard config flag for rule editor accesibility

Closes DM-424

See merge request redactmanager/red-ui!86
2023-09-18 09:16:27 +02:00
George
ef22ea5953 DM-424, disregard config flag for rule editor accesibility 2023-09-18 10:15:31 +03:00
Dan Percic
46577a81b4 Merge branch 'dan' into 'master'
RED-7612 Fix annotations selected when file is opened

See merge request redactmanager/red-ui!85
2023-09-15 18:21:59 +02:00
Dan Percic
ae2797f2b8 RED-7612 fix annotations selected when opened file 2023-09-15 19:10:03 +03:00
Dan Percic
6affd59ca9 DM-473 no line breaks or hyphens removal needed 2023-09-15 18:06:42 +03:00
Dan Percic
1c61989cfb Merge branch 'DM-424-1' into 'master'
DM-424, replace query param with route param

Closes DM-424

See merge request redactmanager/red-ui!84
2023-09-15 13:56:37 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
a967793377 push back localazy update 2023-09-15 11:56:11 +00:00
George
138a2c7f03 DM-424, replace query param with route param 2023-09-15 14:55:01 +03:00
Dan Percic
41d5c7f57e Merge branch 'dan' into 'master'
DM-414 fix save button not enabled

See merge request redactmanager/red-ui!82
2023-09-15 13:45:52 +02:00
Dan Percic
5be720bc7e DM-473 revert to original behaviour 2023-09-15 14:43:07 +03:00
Dan Percic
ccacad4caf Merge branch 'DM-424-1' into 'master'
DM-424, add component rules screen, update title for entity rule screen, adapt...

Closes DM-424

See merge request redactmanager/red-ui!83
2023-09-15 13:09:34 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
91fce725ce push back localazy update 2023-09-15 11:09:09 +00:00
George
26dd9567fb DM-424, add component rules screen, update title for entity rule screen, adapt api flags to reflect changes 2023-09-15 14:06:36 +03:00
Dan Percic
258a304b94 use \n as line break 2023-09-15 13:53:31 +03:00
Dan Percic
e73138a66f Merge branch 'dan' into 'master'
DM-414 fix save button not enabled

See merge request redactmanager/red-ui!81
2023-09-15 12:44:01 +02:00
Dan Percic
33e0ba3d57 update node version 2023-09-15 13:43:13 +03:00
Dan Percic
6f94b1198a fix text formatting for multiline redactions 2023-09-15 13:42:09 +03:00
Nicoleta Panaghiu
ca2084d9c3 Merge branch 'master' into RED-7550 2023-09-15 13:24:28 +03:00
Dan Percic
8f9fff4d24 Merge branch 'master-patch-9d81' into 'master'
DM-325 Changed tooltips for going back to previous workflow step

See merge request redactmanager/red-ui!79
2023-09-15 10:17:25 +02:00
Adina Teudan
6b8dc11fda Merge branch 'DM-412' into 'master'
DM-412: Apply bulk delete permissions in pdf actions service

Closes DM-412

See merge request redactmanager/red-ui!80
2023-09-14 19:24:38 +02:00
Adina Țeudan
67c8193086 DM-412: Apply bulk delete permissions in pdf actions service 2023-09-14 20:13:07 +03:00
Marius Schummer
159e5c52cb DM-325 Changed tooltips for going back to previous workflow step 2023-09-14 17:14:13 +02:00
Nicoleta Panaghiu
f3177c0f65 Merge branch 'master' into RED-7550
# Conflicts:
#	apps/red-ui/src/app/modules/file-preview/services/annotation-actions.service.ts
#	apps/red-ui/src/assets/i18n/redact/en.json
2023-09-14 18:05:16 +03:00
Dan Percic
a0452d528b Merge branch 'VM/DM-358' into 'master'
DM-358 - Implement Help Mode-IDs for DocuMine

Closes DM-358

See merge request redactmanager/red-ui!78
2023-09-14 14:48:08 +02:00
Valentin Mihai
5ba6eb38ab DM-358 - Implement Help Mode-IDs for DocuMine 2023-09-14 15:47:02 +03:00
Dan Percic
e116737c7e Merge branch 'dan' into 'master'
DM-414 fix save button not enabled

See merge request redactmanager/red-ui!77
2023-09-14 13:42:16 +02:00
Dan Percic
7cb9c3604a DM-414 fix save button not enabled 2023-09-14 14:39:15 +03:00
Dan Percic
6fa0a7860c Merge branch 'DM-413' into 'master'
DM-413: Added more padding and fixed comment adding functionality.

See merge request redactmanager/red-ui!74
2023-09-14 10:00:26 +02:00
Dan Percic
114f52dd71 Merge branch 'VM/RED-7588' into 'master'
RED-7588 - Improve the behavior of the add-to-dict text edit in new dialog

Closes RED-7588

See merge request redactmanager/red-ui!76
2023-09-14 09:52:13 +02:00
Dan Percic
b32f62021a Merge branch 'VM/RED-7549' into 'master'
RED-7549 - Bulk delete action dialog

Closes RED-7549

See merge request redactmanager/red-ui!75
2023-09-14 09:51:20 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
471463f897 push back localazy update 2023-09-13 21:53:38 +00:00
Valentin Mihai
d787943363 RED-7588 - Improve the behavior of the add-to-dict text edit in new dialog 2023-09-14 00:52:50 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
75e570082f push back localazy update 2023-09-13 19:30:09 +00:00
Valentin Mihai
c6589b9f22 RED-7549 - Bulk delete action dialog 2023-09-13 22:28:25 +03:00
Nicoleta Panaghiu
284f513526 Merge branch 'master' into RED-7550 2023-09-13 16:33:14 +03:00
Nicoleta Panaghiu
be8cf1d2da DM-413: Added more padding and fixed comment adding functionality. 2023-09-13 16:31:30 +03:00
George Balanesc
51ccc63d34 Merge branch 'RED-7067' into 'master'
RED-7067, keep disabled state in case initial processing finishes before ocr queue

Closes RED-7067

See merge request redactmanager/red-ui!73
2023-09-13 12:14:39 +02:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
a96f6fd0ec push back localazy update 2023-09-13 10:01:36 +00:00
George
f7f9d60953 RED-7067, keep disabled state in case initial processing finishes before ocr queue 2023-09-13 13:00:48 +03:00
Christoph Schabert
7e2163180a Update .gitlab-ci.yml file 2023-09-13 11:57:06 +02:00
Christoph Schabert
cdcf86dbb6 Update .gitlab-ci.yml file 2023-09-13 11:56:09 +02:00
Christoph Schabert
9be9e2b6db Update .gitlab-ci.yml file 2023-09-13 11:55:30 +02:00
George Balanesc
2eecefa8f5 Merge branch 'dan' into 'master'
update common-ui

See merge request redactmanager/red-ui!72
2023-09-13 11:24:25 +02:00
Dan Percic
29b9f56676 update common-ui 2023-09-13 12:21:58 +03:00
Dan Percic
ab2962d6a2 Merge branch 'master-patch-cee6' into 'master'
DM-450: Corrections to copyright and EULA notices in License View

See merge request redactmanager/red-ui!69
2023-09-13 11:14:06 +02:00
Christoph Schabert
52ff9257ac Merge branch 'localayz-fix' into 'master'
localazy fix

See merge request redactmanager/red-ui!71
2023-09-13 09:43:33 +02:00
Timo Bejan
1fe19c8658 localazy fix 2023-09-13 09:09:50 +03:00
Timo Bejan
1e24db86ee Merge branch 'RED-7497' into 'master'
RED-7497: Localazy integration

See merge request redactmanager/red-ui!52
2023-09-13 08:03:08 +02:00
Marius Schummer
bdd3b35366 DM-450:
- Remove IQSER from Copyright Claim (RM + DM)
- correct EULA notice (RM)
2023-09-12 17:19:10 +02:00
Nicoleta Panaghiu
77a8f36878 RED-7550: wip 2023-09-12 15:47:08 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
300bfd2d98 push back localazy update 2023-09-12 10:17:02 +00:00
Adina Țeudan
c0ff902f69 Merge master into RED-7497 2023-09-12 13:15:30 +03:00
Adina Țeudan
5ce9417072 RED-7497: Fixed de translation file 2023-09-12 13:09:09 +03:00
Dan Percic
aa53e14afc Merge branch 'VM/DM-422' into 'master'
DM-422 - Remove remaining reason/legal basis fields

Closes DM-422

See merge request redactmanager/red-ui!68
2023-09-12 10:55:08 +02:00
Valentin Mihai
49b9e98230 DM-422 - Remove remaining reason/legal basis fields 2023-09-12 11:52:40 +03:00
project_703_bot_497bb7eb186ca592c63b3e50cd5c69e1
3d3e889047 push back localazy update 2023-09-12 06:58:32 +00:00
Christoph Schabert
05cff04049 Update .gitlab-ci.yml file 2023-09-12 08:51:53 +02:00
Christoph Schabert
c57260a131 Update .gitlab-ci.yml file 2023-09-12 08:47:36 +02:00
Christoph Schabert
38741425e2 Update .gitlab-ci.yml file 2023-09-12 08:41:18 +02:00
Christoph Schabert
9ff8d0631b Update .gitlab-ci.yml file 2023-09-12 08:36:28 +02:00
Christoph Schabert
498c76a9f6 Update .gitlab-ci.yml file 2023-09-12 08:31:28 +02:00
Dan Percic
b7be0e916a Merge branch 'DM-412' into 'master'
DM-412: Documine bulk delete

Closes DM-412

See merge request redactmanager/red-ui!67
2023-09-12 08:24:52 +02:00
Adina Țeudan
c61fb91200 DM-412: Cleanup translations 2023-09-11 23:51:11 +03:00
Adina Țeudan
149a900a4d DM-412: Documine bulk delete 2023-09-11 23:48:48 +03:00
Dan Percic
1c5d8a340c Merge branch 'VM/DM-426' into 'master'
DM-426 - Enable layout grid button needs two clicks in new file

Closes DM-426

See merge request redactmanager/red-ui!66
2023-09-11 17:05:02 +02:00
Valentin Mihai
6c0996b0a3 DM-426 - Enable layout grid button needs two clicks in new file 2023-09-11 18:03:02 +03:00
Dan Percic
962879d755 Merge branch 'DM-413' into 'master'
DM-413: Added padding and scroll-bar.

See merge request redactmanager/red-ui!65
2023-09-11 15:42:27 +02:00
Nicoleta Panaghiu
094dd4a3d2 DM-413: Added padding and scroll-bar. 2023-09-11 16:41:14 +03:00
Dan Percic
79d4cb1b8e Merge branch 'DM-424/408' into 'master'
DM-424, add component rule screen + deps. DM-408, fix translations, close...

Closes DM-424

See merge request redactmanager/red-ui!64
2023-09-11 15:23:52 +02:00
George
9248c756a0 DM-424, add component rule screen + deps. DM-408, fix translations, close problems view when typing or saving. 2023-09-11 16:17:24 +03:00
Dan Percic
caa8746a7f Merge branch 'VM/DM-422' into 'master'
DM-422 - Move the colon from after “section” to after “matched”

Closes DM-422

See merge request redactmanager/red-ui!63
2023-09-11 13:41:22 +02:00
Valentin Mihai
97cff35e86 DM-422 - Move the colon from after “section” to after “matched” 2023-09-11 14:38:11 +03:00
Dan Percic
2481b3cc12 Merge branch 'VM/DM-358' into 'master'
DM-358 - updated border color

Closes DM-358

See merge request redactmanager/red-ui!62
2023-09-11 13:18:07 +02:00
Dan Percic
1b9dabb5d4 Merge branch 'VM/DM-417' into 'master'
DM-417 - updated 'error' and ' success' toast colors to be always red and green, no matter the app

See merge request redactmanager/red-ui!61
2023-09-11 13:14:00 +02:00
Valentin Mihai
ee3d8dc2fe DM-358 - updated border color 2023-09-11 14:08:17 +03:00
Valentin Mihai
c124668299 DM-417 - updated 'error' and ' success' toast colors to be always red and green, no matter the app 2023-09-11 13:16:25 +03:00
Dan Percic
a2f534fc85 Merge branch 'DM-408' into 'master'
DM-408, remove errors when reverting

Closes DM-408

See merge request redactmanager/red-ui!60
2023-09-08 16:27:00 +02:00
George
86c9b034ca DM-408, remove errors when reverting 2023-09-08 17:25:56 +03:00
Dan Percic
74fffe049d Merge branch 'VM/DM-422' into 'master'
DM-422 - Remove remaining reason/legal basis fields

Closes DM-422

See merge request redactmanager/red-ui!59
2023-09-08 15:50:22 +02:00
Valentin Mihai
8b4fd7736e DM-422 - Remove remaining reason/legal basis fields 2023-09-08 16:47:50 +03:00
Dan Percic
2403228a1a Merge branch 'VM/DM-358' into 'master'
DM-358

Closes DM-358

See merge request redactmanager/red-ui!58
2023-09-08 15:11:31 +02:00
Valentin Mihai
8430fbfd39 DM-358 - update common ui 2023-09-08 16:07:41 +03:00
Valentin Mihai
1dad9f4b40 Merge branch 'master' into VM/DM-358 2023-09-08 15:51:00 +03:00
Valentin Mihai
5eb5bfed24 DM-358 - set some keys depending on user roles 2023-09-08 15:49:38 +03:00
Dan Percic
ef884026c5 Merge branch 'DM-408' into 'master'
DM-408, add errors next to save button.

Closes DM-408

See merge request redactmanager/red-ui!57
2023-09-08 09:52:52 +02:00
George
7f029da676 DM-408, add errors next to save button. 2023-09-08 10:51:44 +03:00
Dan Percic
26cb5743f8 Merge branch 'DM-414' into 'master'
DM-414: Base dialog change detection

Closes DM-414

See merge request redactmanager/red-ui!56
2023-09-08 07:10:43 +02:00
Valentin Mihai
bc6fe3e2fa DM-358 - update common ui 2023-09-07 23:15:56 +03:00
Adina Țeudan
284c317936 DM-414: Base dialog change detection 2023-09-07 21:06:49 +03:00
Valentin Mihai
44502ea400 Merge branch 'master' into VM/DM-358 2023-09-07 19:24:46 +03:00
Valentin Mihai
c1726b8472 DM-358 - added all keys 2023-09-07 19:24:10 +03:00
Dan Percic
c0000bb60e Merge branch 'DM-370' into 'master'
Resolve DM-370

Closes DM-370

See merge request redactmanager/red-ui!55
2023-09-07 15:20:14 +02:00
Nicoleta Panaghiu
96c16f3832 DM-370: Fixed assign notifications not showing. 2023-09-07 16:16:21 +03:00
Nicoleta Panaghiu
b4892afff5 Merge branch 'master' into DM-370 2023-09-07 15:37:00 +03:00
Dan Percic
7d2613aba5 Merge branch 'DM-413' into 'master'
DM-413: Fixed edit button on sidebar.

See merge request redactmanager/red-ui!54
2023-09-07 13:55:57 +02:00
Nicoleta Panaghiu
47f5a4bc76 DM-413: Fixed edit button on sidebar. 2023-09-07 14:53:38 +03:00
Valentin Mihai
b170f0dffb Merge branch 'master' into VM/DM-358 2023-09-06 18:54:01 +03:00
Valentin Mihai
d7a89c393d DM-358 - WIP on implementing Help Mode-IDs for DocuMine 2023-09-06 18:53:39 +03:00
Dan Percic
9c153db8ba Merge branch 'DM-413' into 'master'
DM-413: enabled bulk edit only for skipped and annotations.

See merge request redactmanager/red-ui!53
2023-09-06 16:31:00 +02:00
Nicoleta Panaghiu
841cf2e50c DM-413: enabled bulk edit only for skipped and annotations. 2023-09-06 17:29:11 +03:00
Adina Țeudan
75d2c9c869 RED-7497: Localazy scripts
Update .gitlab-ci.yml file
Update .gitlab-ci.yml file
Update .gitlab-ci.yml file
Update .gitlab-ci.yml file
Update .gitlab-ci.yml file
localazy script

Update .gitlab-ci.yml file
Update .gitlab-ci.yml file
RED-7497: TS compile error

localazy debug

RED-7497: file import path

localazy test

localazy test

localazy test

localazy test

localazy test

localazy test
2023-09-06 12:45:51 +03:00
Dan Percic
8b5558b743 Merge branch 'DM-408' into 'master'
DM-408, add error highlighting for rule edits

Closes DM-408

See merge request redactmanager/red-ui!50
2023-09-05 21:07:23 +02:00
George
00dd7963c9 DM-408, add error highlighting for rule edits 2023-09-05 19:43:20 +03:00
Nicoleta Panaghiu
dad25c7c2e DM-370: added documine condition 2023-09-05 18:27:26 +03:00
Nicoleta Panaghiu
c2e382ec73 DM-370: wip 2023-09-05 18:23:03 +03:00
Valentin Mihai
3c1122fa99 DM-358 - WIP on implementing Help Mode-IDs for DocuMine 2023-09-05 17:35:33 +03:00
Dan Percic
9ebc5623fe Merge branch 'dan' into 'master'
RED-7523 add value/classification to rectangles

See merge request redactmanager/red-ui!49
2023-09-05 10:42:33 +02:00
Dan Percic
11f0487f78 DM-384 hide layout grid button based on permissions 2023-09-05 11:40:17 +03:00
Dan Percic
a463d92450 Merge branch 'dan' into 'master'
RED-7523 add value/classification to rectangles

See merge request redactmanager/red-ui!48
2023-09-05 10:27:54 +02:00
Dan Percic
3466451230 RED-7155 hide redacted text when is rectangle resize 2023-09-05 11:22:40 +03:00
Dan Percic
217a08f98d RED-7523 add value/classification to rectangles 2023-09-05 09:30:24 +03:00
Dan Percic
4aae9569af Merge branch 'RED-7528' into 'master'
RED-7528: Fixed documents jumping around on drag&drop.

See merge request redactmanager/red-ui!47
2023-09-04 10:03:59 +02:00
Nicoleta Panaghiu
6078344613 RED-7528: update common ui 2023-09-04 11:03:24 +03:00
Nicoleta Panaghiu
fa49bab543 RED-7528: Fixed documents jumping around on drag&drop. 2023-09-04 10:57:55 +03:00
Dan Percic
23954d57af Merge branch 'DM-399' into 'master'
DM-399: Added header and warning to rules editor screen.

See merge request redactmanager/red-ui!46
2023-09-01 15:42:33 +02:00
Nicoleta Panaghiu
a3975d9db1 DM-399: Added header and warning to rules editor screen. 2023-09-01 16:40:32 +03:00
Dan Percic
337654eb1c Merge branch 'RED-7275' into 'master'
RED-7275: Fixed enter.

See merge request redactmanager/red-ui!45
2023-09-01 14:47:42 +02:00
Nicoleta Panaghiu
ac102dab4e RED-7275: Fixed enter. 2023-09-01 15:43:27 +03:00
Dan Percic
340916b8b8 Merge branch 'RED-7524' into 'master'
RED-7524, add inline editing to selected  text in redact dialog

Closes RED-7524

See merge request redactmanager/red-ui!44
2023-08-31 21:46:13 +02:00
George
f3cf8cde08 RED-7524, add inline editing to selected text in redact dialog 2023-08-31 22:41:56 +03:00
Dan Percic
a84b14f17a Merge branch 'RED-7487' into 'master'
RED-7487, deduplicate dossier_redaction dictionary in redact text dialog

Closes RED-7487

See merge request redactmanager/red-ui!43
2023-08-31 11:11:08 +02:00
George
fe8b9f533a RED-7487, deduplicate dossier_redaction dictionary in redact text dialog 2023-08-31 12:04:28 +03:00
Dan Percic
2b5667dc29 Merge branch 'dan' into 'master'
RED-7155 fix resize recommendations

See merge request redactmanager/red-ui!42
2023-08-31 10:28:18 +02:00
Dan Percic
cf6cbb92da RED-7155 fix resize recommendations 2023-08-31 11:26:27 +03:00
Dan Percic
c0084258b0 Merge branch 'dan' into 'master'
RED-7393 update logo color

See merge request redactmanager/red-ui!37
2023-08-30 20:25:51 +02:00
Dan Percic
429ade02de update common ui 2023-08-30 21:23:30 +03:00
Dan Percic
983c7144d9 RED-7397 fix resizing issues 2023-08-30 20:25:33 +03:00
Dan Percic
991dfae106 update common ui 2023-08-30 10:10:46 +03:00
Dan Percic
fc3d3cb87e RED-7155 update resize redactions dialog 2023-08-30 10:09:47 +03:00
Dan Percic
5a3ec3c636 Merge branch 'DM-370' into 'master'
DM-370: Filtered out ASSIGN_REVIEWER notification.

See merge request redactmanager/red-ui!40
2023-08-30 09:00:24 +02:00
Dan Percic
cbba7a1e12 RED-7393 update logo color 2023-08-30 08:50:15 +03:00
Dan Percic
75e91e7d1b Merge branch 'master-patch-d25b' into 'master'
DM-397: Changed labels that wrongly contained "Component" to "Annotation"

See merge request redactmanager/red-ui!41
2023-08-30 07:46:15 +02:00
Marius Schummer
df21b00e4a Correction of mistakenly changed label 2023-08-29 18:36:43 +02:00
Marius Schummer
f40a82b8a0 DM-397: Changed labels that wrongly contained "Component" to "Annotation" 2023-08-29 18:31:31 +02:00
Timo Bejan
57679e4785 Merge branch 'basf-fix' into 'master'
Table extraction visibile for all with red-get-tables role

See merge request redactmanager/red-ui!39
2023-08-29 13:22:38 +02:00
Nicoleta Panaghiu
5844e656c3 DM-370: Filtered out ASSIGN_REVIEWER notification. 2023-08-29 14:00:01 +03:00
Timo Bejan
fbc886b4d5 table extraction visibile for all with red-get-tables role 2023-08-29 12:55:11 +03:00
Dan Percic
a5fbf0975e Merge branch 'RED-7275' into 'master'
RED-7275: Fixed date cannot be set.

See merge request redactmanager/red-ui!38
2023-08-29 09:56:17 +02:00
Nicoleta Panaghiu
085c26fbc5 RED-7275: Fixed date cannot be set. 2023-08-29 10:50:00 +03:00
Dan Percic
6daa827a57 Merge branch 'RED-7325' into 'master'
RED-7325 filter current user from assign approver dialog

See merge request redactmanager/red-ui!36
2023-08-28 10:13:19 +02:00
Dan Percic
8edc7da20b RED-7325 filter current user from assign approver dialog 2023-08-28 10:57:19 +03:00
Dan Percic
dfa13ddcf3 Merge branch 'RED-7397' into 'master'
Merge RED-7397 into master

See merge request redactmanager/red-ui!35
2023-08-28 09:27:58 +02:00
Dan Percic
d8a0e6078f update common-ui 2023-08-28 10:26:41 +03:00
Dan Percic
e9f9420bba Merge branch 'RED-7069-related' into 'master'
Resolve RED-7069 "Related"

Closes RED-7069

See merge request redactmanager/red-ui!34
2023-08-28 09:23:03 +02:00
Dan Percic
93ac1f2b8b commit changes made while testing 2023-08-28 09:54:48 +03:00
Dan Percic
e68811863d some updates 2023-08-26 00:23:45 +03:00
Dan Percic
36d9edc5b6 other updates 2023-08-26 00:06:41 +03:00
Dan Percic
ed42348df9 update common-ui 2023-08-25 23:28:07 +03:00
Dan Percic
3f4a0d739c update dependencies 2023-08-25 23:27:24 +03:00
George
1c0866059a RED-7513, allow editing of section when reason is not changed. 2023-08-25 17:32:03 +03:00
George
658f7d9ea5 RED-7504, filter out system managed types. 2023-08-25 17:31:24 +03:00
Adina Țeudan
514fa0fc20 RED-3800: Updated common-ui 2023-08-23 18:18:39 +03:00
Nicoleta Panaghiu
18197c7e3f DM-339: Fixed red border not disappearing. 2023-08-23 14:26:35 +03:00
Nicoleta Panaghiu
14914b10b2 DM-339: Changed component to extraction. 2023-08-23 10:37:15 +03:00
Valentin Mihai
b2b1129590 RED-6801 - Effective dossier dictionary in Dossier Settings 2023-08-19 13:24:19 +03:00
Valentin Mihai
2e42d491b3 Merge remote-tracking branch 'origin/master' 2023-08-18 16:59:07 +03:00
Valentin Mihai
9726e11679 RED-7342 - Enable Auto-Expand Filter does not work for workloads filter 2023-08-18 16:58:54 +03:00
Nicoleta Panaghiu
deecb3c1cc RED-7242: Fixed refresh error on trash screen. 2023-08-18 16:56:17 +03:00
Dan Percic
a50d7030f3 fix some documine issues 2023-08-18 16:32:35 +03:00
Dan Percic
a28b233d5f try fix build 2023-08-18 14:44:31 +03:00
Nicoleta Panaghiu
4cca571527 DM-339: Reintroduced the 'Exclude pages' function. 2023-08-18 14:23:09 +03:00
Nicoleta Panaghiu
426526125e RED-6790: Fixed 'Load all annotations' button disappearing. 2023-08-18 12:47:00 +03:00
Nicoleta Panaghiu
2e65666a16 RED-7275: Fixed calendar icon. 2023-08-18 12:10:31 +03:00
George
7dca7b6b80 Fix checkboxes jumping up and theming. 2023-08-18 11:53:04 +03:00
Dan Percic
d049335309 keep hidden annotations hidden 2023-08-18 11:22:08 +03:00
Dan Percic
f25c7ac3e7 Merge remote-tracking branch 'origin/RED-7069' 2023-08-18 11:01:03 +03:00
George
dee37cfab2 RED-7069, treat ai/rule based redactions same as dict based, include ocr prefill for ocr hints. 2023-08-18 10:57:06 +03:00
Nicoleta Panaghiu
fe5f63b5c4 RED-7214: Fixed filter bugs. 2023-08-18 10:54:28 +03:00
Dan Percic
500a97c286 DM when adding a dict request add to all dossiers 2023-08-17 20:01:11 +03:00
Dan Percic
b33a5fb355 DM-388 display enable auto analysis in DM 2023-08-17 19:43:55 +03:00
Dan Percic
5c1e0f1d60 Merge remote-tracking branch 'origin/master' 2023-08-17 18:24:09 +03:00
Dan Percic
da97ca61d3 fix rule editor env var 2023-08-17 18:23:58 +03:00
Adina Țeudan
d3cdeedabc RED-7204: Allow for negative values for 2023-08-17 18:18:06 +03:00
Timo Bejan
e271f5b2c2 layout grid fix 2023-08-17 17:57:56 +03:00
Timo Bejan
0d9a1b35f0 revert file 2023-08-17 17:49:33 +03:00
Timo Bejan
5227015bb7 Update .gitlab-ci.yml 2023-08-17 16:47:33 +02:00
George
75c4d111a0 Change title translations to use param, dont reload if no changes. 2023-08-17 17:46:55 +03:00
George
20722dbd3d RED-7069, fix issues, test type filtering, improvements. 2023-08-17 17:30:06 +03:00
Timo Bejan
688157f39f updated dockerfile for images from knecon nexus 2023-08-17 17:18:50 +03:00
Dan Percic
bdcbe8c2b3 DM-385 hide tables button 2023-08-17 16:58:44 +03:00
Dan Percic
a7336cfdce DM-385 fix preferences 2023-08-17 16:26:48 +03:00
Dan Percic
d31e07808c DM-381 fix svgs 2023-08-17 16:02:12 +03:00
Dan Percic
d8df1db98f remove console log 2023-08-17 15:32:33 +03:00
Dan Percic
5af2141f7b skip caches for config 2023-08-17 15:32:14 +03:00
Dan Percic
6ec1bc3740 view raw config 2023-08-17 15:12:21 +03:00
Dan Percic
c4fa9c946a fix undefined error 2023-08-17 14:46:31 +03:00
Dan Percic
0201337868 Merge branch 'DM-379' 2023-08-17 14:45:16 +03:00
George
5d28d4ad3f DM-383, theme spinner. 2023-08-17 14:43:31 +03:00
Nicoleta Panaghiu
f467502fa3 Merge remote-tracking branch 'origin/master' 2023-08-17 14:40:18 +03:00
Nicoleta Panaghiu
21bd4a6b6d RED-7347: Fixed height dialogs. 2023-08-17 14:39:30 +03:00
Dan Percic
217d8a0d7a wip env for rule editor 2023-08-17 13:50:42 +03:00
Valentin Mihai
4aa8f90df9 RED-6801 - Effective dossier dictionary in Dossier Settings 2023-08-16 22:15:40 +03:00
Timo Bejan
fb0214bec0 Merge branch 'DocuMine-hidden-layers' into 'master'
RED-7158-2 layer service

See merge request redactmanager/red-ui!33
2023-08-16 16:18:15 +02:00
Timo Bejan
cfc2923b55 fix attempt for docker 2023-08-16 17:17:56 +03:00
Timo Bejan
53ed27fe29 fix attempt for docker 2023-08-16 17:12:40 +03:00
Nicoleta Panaghiu
cba58458e7 RED-6841: Removed stuff related to suggestions. 2023-08-16 15:00:26 +03:00
Timo Bejan
5f252583f6 RED-7158-2 layer service 2023-08-16 13:53:49 +03:00
Dan Percic
c7aae79093 DM-372 fix add dossier report types 2023-08-16 11:52:53 +03:00
Dan Percic
e5585290d0 RED-7155 & DM-344 update resize dialog 2023-08-16 11:23:41 +03:00
Adina Țeudan
c3868d6a17 RED-7269: Navigate to new router link after dossier template change 2023-08-16 03:02:03 +03:00
Adina Țeudan
e92d896584 RED-7348: Fix wrapping of checkbox label 2023-08-16 02:37:51 +03:00
Adina Țeudan
ac238d0f5f RED-7204: Show License Information depending on license features 2023-08-16 02:18:51 +03:00
Dan Percic
bd2f37c5c2 DM-377 fix undefined dictionary 2023-08-14 16:55:36 +03:00
Dan Percic
d6dc976992 DM-376 change ruleNumber to ruleIdentifier 2023-08-14 15:02:13 +03:00
Dan Percic
b5acb457fa fix dossier template navigation for incomplete templates 2023-08-14 14:16:51 +03:00
Dan Percic
f34e61224c DM-368 pre-select first report type on documine 2023-08-11 19:24:56 +03:00
Dan Percic
5f825a967e Fix padding & enable rule editor for documine 2023-08-11 16:18:28 +03:00
Nicoleta Panaghiu
acadaab4f7 RED-7392: Fixed navigation. 2023-08-11 12:51:12 +03:00
Dan Percic
5ff645dec8 RED-7081 update upload settings padding 2023-08-10 18:14:17 +03:00
Dan Percic
2623992082 convert string to boolean 2023-08-10 18:06:58 +03:00
Nicoleta Panaghiu
240f08493c RED-6973 & RED-6382 2023-08-10 15:54:09 +03:00
George
6da253d0f8 RED-7069, filter types. 2023-08-10 14:02:21 +03:00
Valentin Mihai
9fb08bde8f RED-7041 - filtered types by the new rules 2023-08-10 13:16:28 +03:00
Dan Percic
24092713cd DM-368 allow empty download content 2023-08-09 19:57:30 +03:00
Dan Percic
bea8e6e8a4 RED-7081 & RED-7005 add upload settings for dossier templates 2023-08-09 19:50:57 +03:00
Dan Percic
254b7f66ce fix tenants orientation in menu 2023-08-09 19:07:17 +03:00
Valentin Mihai
93fa8c6091 RED-7369 - Remove "Display suggestions in document preview" from user preferences 2023-08-09 15:47:35 +03:00
Valentin Mihai
e251c29af8 RED-6956 - Document Info is open when I re-visit a document 2023-08-09 13:00:25 +03:00
Valentin Mihai
d2cce57319 RED-6801 - Effective dossier dictionary in Dossier Settings 2023-08-08 14:29:01 +03:00
Dan Percic
a75e7a3960 DM-363 update permissions for documine 2023-08-08 11:35:40 +03:00
Dan Percic
e373d13e14 remove emails from stored tenants 2023-08-08 11:28:58 +03:00
Dan Percic
c831e29fe4 DM-366 fix tooltip nbsp 2023-08-07 15:25:23 +03:00
Valentin Mihai
9bb8949d9c RED-6801 - WIP on fixing found bugs 2023-08-04 22:41:03 +03:00
Valentin Mihai
769d4a8a27 RED-7041 - Take into consideration if entity type only has dossier dictionaries 2023-08-04 16:14:10 +03:00
Dan Percic
09bb4be199 start spinner when getting tables 2023-08-04 11:24:08 +03:00
Dan Percic
086ccb6f95 DM-364 & DM-363 use IS_DOCUMINE & change dossier permissions 2023-08-03 17:53:28 +03:00
George
a7d1eb115a RED-7115, add option for marking recommandations as false positives in dossier, update common-ui. 2023-08-03 17:06:28 +03:00
George
fc4757eabb RED-7115, update common-ui. 2023-08-03 16:23:41 +03:00
Adina Țeudan
fb9c2e8e8a RED-3800: Moved some icons to common-ui 2023-08-03 16:19:17 +03:00
George
fd7093524f RED-7069, removed scope select. Fix some bugs. 2023-08-03 15:32:09 +03:00
George
c39f3087fa RED-7115, update remove redaction dialog. 2023-08-03 14:35:26 +03:00
Adina Țeudan
db45d2e8b9 RED-3800: Update common-ui 2023-08-02 21:30:54 +03:00
Adina Țeudan
ac8d98a0d4 RED-3800: Update common-ui 2023-08-02 20:55:38 +03:00
George
62e60b253a RED-7155, add redact recommandation modal. 2023-08-02 18:05:44 +03:00
Dan Percic
599507e262 small update 2023-08-02 17:45:36 +03:00
Dan Percic
bd7b2c8d08 change color if experimental 2023-08-02 17:40:33 +03:00
Valentin Mihai
14d967fa7d DM-327 - updated icon color 2023-08-02 17:39:06 +03:00
Dan Percic
3fa7b364a6 Update get tables feature 2023-08-02 17:16:00 +03:00
Valentin Mihai
4c856671e7 Merge remote-tracking branch 'origin/master' 2023-08-02 17:06:52 +03:00
Valentin Mihai
848720b39a RED-7041 - Take into consideration if entity type only has dossier dictionaries 2023-08-02 17:06:47 +03:00
Adina Țeudan
fb43fb17d6 RED-3800: Update common-ui 2023-08-02 15:58:36 +03:00
Dan Percic
a2c4d68b80 Add get tables features 2023-08-02 14:11:44 +03:00
George
40d0dbd6c0 RED-7266, fix loading when switching from archive tab. 2023-08-02 12:40:19 +03:00
George
de55f6c392 RED-7266, stop loading when archive screen has initialized. 2023-08-01 14:34:42 +03:00
Valentin Mihai
4ca6e05b9f DM-327 - Adaptable size of Component Edit value fields 2023-07-31 20:19:14 +03:00
Valentin Mihai
58949e0596 DM-360 - skip ocr filter 2023-07-28 16:55:55 +03:00
Nicoleta Panaghiu
59fa4cdbdb RED-7246: Fixed redact rectangle button has no effect. 2023-07-28 15:33:23 +03:00
George
9baa562300 RED-7069, use dictop type in displaying options. 2023-07-28 15:06:05 +03:00
Timo Bejan
48e5bf5716 Merge branch 'master-patch-5a0e' into 'master'
RED-7205: Changed label for tenant selection in menu to "Switch account"

See merge request redactmanager/red-ui!31
2023-07-28 13:56:24 +02:00
George
96760a850c RED-7069, replace buttons. RED-7279, change notification texts. 2023-07-28 14:02:26 +03:00
Nicoleta Panaghiu
3be3a6bff7 DM-350: Adapted the product name in error messages. 2023-07-28 12:59:27 +03:00
Valentin Mihai
5b877593d9 DM-337 - added translation params for title 2023-07-28 12:35:46 +03:00
George
5e0ca8a82a CM-343, add edit annotation dialog. Fix 7069 related bugs. 2023-07-28 00:20:48 +03:00
Valentin Mihai
ae4af92307 DM-337 - Add/Remove annotations dialog in DocuMine 2023-07-27 22:06:46 +03:00
Valentin Mihai
6bd2ea477b DM-360 - Remove OCR workload in document and Stop auto-analysis button 2023-07-27 20:07:25 +03:00
George
62fe3fb048 RED-7069, fix reading from undefined. 2023-07-27 19:03:36 +03:00
George
95d83d3b6d RED-7069, update commonui. 2023-07-27 18:34:26 +03:00
George
293366dc84 RED-7069, add unified edit dialog. 2023-07-27 18:34:26 +03:00
George
7cc0f4e551 RED-7069, prepopulate relevent info, load reasons, and types. WORK IN PROGRESS. 2023-07-27 18:34:26 +03:00
Valentin Mihai
41bf95d3a6 RED-6774 - filtered out types without hasDictionary = true 2023-07-27 14:41:26 +03:00
Valentin Mihai
8c695e4b54 DM-327 - copied translations 2023-07-26 18:54:07 +03:00
Valentin Mihai
5989bcb1b6 RED-6774 - fixed "cannot add hint here any longer" and hint types 2023-07-26 16:33:02 +03:00
Valentin Mihai
fd9d1e06d5 RED-6774 - added change legal basis, recategorize, resize and force actions for reviewer 2023-07-26 15:27:08 +03:00
Nicoleta Panaghiu
ec307c8bd2 DM-333: Filtered default colors on documine. 2023-07-26 15:19:11 +03:00
Marius Schummer
4c55ea64b0 Changed label for tenant selection in menu to "Switch account" 2023-07-26 13:50:27 +02:00
George
9ce22246a6 DM-355, capitalize component view preference. 2023-07-26 12:18:29 +03:00
Nicoleta Panaghiu
8ea1b00b61 DM-333: Removed more RedactManager-only features. 2023-07-26 11:42:00 +03:00
Timo Bejan
14d3582bc6 Merge branch 'master-patch-9e7c' into 'master'
RED-7205: Change translation files to use "workspace" for tenant

See merge request redactmanager/red-ui!30
2023-07-26 10:09:29 +02:00
Valentin Mihai
7612de56dd RED-7155 - save and abort actions no more available when there is no change when resize 2023-07-25 22:43:28 +03:00
Valentin Mihai
860c989a44 RED-7155 - added back "apply to all dossiers" checkbox 2023-07-25 20:23:31 +03:00
Marius Schummer
08393f5f5a Update 2 files
- /apps/red-ui/src/assets/i18n/redact/en.json
- /apps/red-ui/src/assets/i18n/scm/en.json
2023-07-25 16:38:24 +02:00
Valentin Mihai
11cd73e3bd DM-337 - Add/Remove annotations dialog in DocuMine 2023-07-25 15:30:59 +03:00
Valentin Mihai
38469c392d RED-6774 - updated disabled method for add hint dialog 2023-07-25 15:09:50 +03:00
Nicoleta Panaghiu
8a20d8ef93 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts
2023-07-25 12:09:04 +03:00
Valentin Mihai
de106381fc RED-7155 - removed "apply to all dossiers" option from resize dialog 2023-07-25 12:03:59 +03:00
Valentin Mihai
03ed172f80 DM-344 - Resize annotation dialog in DocuMine 2023-07-25 00:31:34 +03:00
Valentin Mihai
6add8982df Merge branch 'VM/RED-7155' 2023-07-24 23:46:48 +03:00
Valentin Mihai
cc7c95b795 RED-7155 - update common ui 2023-07-24 23:45:14 +03:00
Valentin Mihai
e963e47709 RED-7155 - Resize redaction/hint dialogs 2023-07-24 23:44:18 +03:00
Valentin Mihai
6ad01fe77c DM-337 - update common ui 2023-07-24 18:39:56 +03:00
George
94f36a1494 RED-6778, add dossier only toggle. 2023-07-24 17:49:03 +03:00
Nicoleta Panaghiu
344f862073 DM-333: Changes in Dossier Template modal. 2023-07-24 15:55:56 +03:00
Nicoleta Panaghiu
f10ad4deff DM-333: Changes in Dossier Template. 2023-07-24 15:52:28 +03:00
Nicoleta Panaghiu
b84d808367 DM-333: Changes in Dossier dialog. 2023-07-24 15:11:42 +03:00
George
62dc457476 CM-355, change modal texts, update common-ui. 2023-07-24 12:53:20 +03:00
George
990c52ad6d RED-7200, rewrite loading service with signals, specifically call stop when needed, remove catch all stop from composite guard postcheck. Update common-ui. 2023-07-24 11:33:57 +03:00
Valentin Mihai
d916015786 RED-7155 - Resize redaction/hint dialogs 2023-07-24 04:50:51 +03:00
Valentin Mihai
9a20b6dbce Merge branch 'VM/DM-337' 2023-07-24 00:47:25 +03:00
Valentin Mihai
9806149dff DM-337 - Add/Remove annotations dialog in DocuMine 2023-07-24 00:46:54 +03:00
Valentin Mihai
fab49ae183 Merge branch 'master' into VM/DM-337 2023-07-23 12:56:16 +03:00
Valentin Mihai
f49c9ea485 RED-6774 - split AddHint and RedactText actions in two separate dialogs 2023-07-22 23:24:01 +03:00
Valentin Mihai
66bc6a8437 Merge branch 'master' into VM/DM-337 2023-07-21 15:39:07 +03:00
Valentin Mihai
d6f6123567 DM-337 - WIP on Add/Remove annotations dialog in DocuMine 2023-07-21 15:38:45 +03:00
Dan Percic
2cf40dfdbf RED-7052 increase last checked offset value 2023-07-21 12:56:06 +03:00
Dan Percic
9ad3ccbd44 RED-7138 fix download dialog closing 2023-07-21 11:18:42 +03:00
Nicoleta Panaghiu
a54d61ee29 RED-6382 & RED-6973 2023-07-20 15:55:52 +03:00
George
c667e08a4f DM-340, change assigned as reviewer as well. 2023-07-20 12:35:15 +03:00
Adina Țeudan
627da2e7af RED-7113: Analysis capacity metrics in License Information 2023-07-20 00:45:04 +03:00
Adina Țeudan
031b362951 RED-7113: Small license service refactor 2023-07-20 00:41:06 +03:00
Valentin Mihai
98dd16ca0d Merge branch 'VM/RED-6801' 2023-07-19 22:52:09 +03:00
Valentin Mihai
fa4238b06c Merge branch 'master' into VM/RED-6801 2023-07-19 22:41:00 +03:00
Valentin Mihai
6531ec1fd3 RED-6801 - Effective dossier dictionary in Dossier Settings 2023-07-19 22:40:35 +03:00
Adina Țeudan
858809a80e RED-6830: Fixes for license information 2023-07-19 19:29:40 +03:00
Dan Percic
7995c72fe5 RED-7051 & RED-7138 scroll page indicators & hide chip focus 2023-07-19 16:11:22 +03:00
Nicoleta Panaghiu
d0e06bd6a9 RED-6382: Fixed ctrl+click functionality. 2023-07-19 14:39:40 +03:00
George
a5f3747c02 DM-336, change workload icons and web-viewer add annotation icon. 2023-07-19 12:37:53 +03:00
Dan Percic
95d0d1edf8 Icons updates 2023-07-19 12:31:51 +03:00
Valentin Mihai
a23a3691cf Merge branch 'master' into VM/RED-6801 2023-07-18 22:18:43 +03:00
Valentin Mihai
ca02cf46b5 RED-6801 - Effective dossier dictionary in Dossier Settings 2023-07-18 22:18:18 +03:00
George
291a610d16 DM-338, change status descriptions, fix last assignee being always empty on done step. 2023-07-18 18:46:11 +03:00
Valentin Mihai
7a729ae2a3 Merge branch 'master' into VM/RED-6801 2023-07-18 18:38:04 +03:00
Nicoleta Panaghiu
302b760195 RED-6973: Cleanup 2023-07-18 18:24:11 +03:00
George
bf83962d05 CM-323, remove the reliance on rss role, base access on granular watermark.read permission. 2023-07-18 17:24:03 +03:00
George
2a2cf3047a DM-340, change notification texts, hide rss specifics. 2023-07-18 16:52:09 +03:00
Dan Percic
199d2ec0a2 DM-315 add documine logo 2023-07-18 16:44:24 +03:00
George
3e23306712 DM-336, rename manual comonents, update toastr texts to match, refactor add manual redaction dialog. 2023-07-18 16:03:26 +03:00
Dan Percic
1d914e495a RED-7138 fix download options 2023-07-18 15:30:27 +03:00
George
6d0d270feb DM-336, rename stuff. 2023-07-18 15:15:08 +03:00
Valentin Mihai
9dfddc4a05 RED-7020 - Remove Edit Dossier Dictionary dialog 2023-07-18 15:06:44 +03:00
Dan Percic
13fa8ee22a RED-6713 fix app name font size 2023-07-18 11:49:08 +03:00
George
c84918ab9b RED-7116, change redirect so it wouldnt cause a loop, prevent double navigations. 2023-07-18 11:25:40 +03:00
Valentin Mihai
e6108be4b8 Merge remote-tracking branch 'origin/master' 2023-07-17 20:22:19 +03:00
Valentin Mihai
bda7412449 RED-6774 - remove dossier template request 2023-07-17 20:22:09 +03:00
Dan Percic
f99af18e85 RED-7051 2023-07-17 18:02:27 +03:00
George
19a93e57ee RED-7116, update commonui. 2023-07-17 17:32:29 +03:00
Nicoleta Panaghiu
7a8fb389b7 RED-6973: Fixed enter not submitting the form. 2023-07-17 17:29:04 +03:00
Dan Percic
45a36b8fb3 RED-6713 & RED-7138 2023-07-17 17:13:33 +03:00
Kevin Tumma
2de1f162b6 Merge branch 'renovate/configure' into 'master'
Configure Renovate

See merge request redactmanager/red-ui!6
2023-07-17 15:32:51 +02:00
George
095e84907d RED-7120, update common ui. 2023-07-17 14:25:42 +03:00
Nicoleta Panaghiu
f0cb21c706 RED-6382: Fixed edit file attribute sizing. 2023-07-17 14:03:54 +03:00
Valentin Mihai
37ee771a1e RED-6774 - REVIEWERS should no longer send requests 2023-07-16 22:36:09 +03:00
Valentin Mihai
831ced7ac9 Merge remote-tracking branch 'origin/master' 2023-07-16 22:19:57 +03:00
Valentin Mihai
94f4b50f49 RED-6774 - added types for "manual hint only here" 2023-07-16 22:19:00 +03:00
Kevin Tumma
784853ad99 Add renovate.json 2023-07-14 09:05:21 +00:00
George
7f67396e0e DM-323, hide watermark related settings for DocuMine. 2023-07-13 16:43:12 +03:00
George
0648f69a2f DM-328, add modal checkbox and preference toggle for opening modal by default for DocuMine. 2023-07-13 14:30:23 +03:00
George
25cb4abad4 DM-322, hide redaction preview color in download modal for DocuMine. 2023-07-12 18:30:56 +03:00
Nicoleta Panaghiu
2253905a64 RED-6973: Disabled simultaneous in-place editing. 2023-07-12 14:38:45 +03:00
Adina Țeudan
d6e879b563 RED-6830: Updates to storage usage chart 2023-07-10 23:02:45 +03:00
Valentin Mihai
10dbc193b3 Merge branch 'master' into VM/RED-6801 2023-07-10 15:40:01 +03:00
Valentin Mihai
dd6d41a967 RED-7041 - Take into consideration if entity type only has dossier dictionaries 2023-07-10 15:22:10 +03:00
Dan Percic
3f55a466f2 RED-6713: always show switch accounts 2023-07-10 12:57:50 +03:00
Valentin Mihai
cf655c0c5c Merge branch 'master' into VM/RED-6801 2023-07-10 11:28:57 +03:00
Valentin Mihai
01cf471315 RED-7020 - Remove Edit Dossier Dictionary dialog 2023-07-09 23:11:11 +03:00
Valentin Mihai
79daeb9178 RED-6774 - updated redact/remove endpoints and permissions for users that are not approvers 2023-07-09 22:59:07 +03:00
Valentin Mihai
97fa06ef7e RED-6774 - fixed remove redaction issues 2023-07-08 21:26:24 +03:00
Nicoleta Panaghiu
af3ceccac2 RED-6382: Fix edit value in the workflow view. 2023-07-07 21:01:29 +03:00
Dan Percic
b22e47cec3 RED-6680 fix annotation deselecting while selected 2023-07-07 19:56:12 +03:00
Dan Percic
a93527e963 RED-6892 deselect text when redaction added 2023-07-07 19:23:25 +03:00
Dan Percic
d72d865ad8 RED-3800 add disable stop propagation 2023-07-07 18:20:07 +03:00
Dan Percic
8bc9267058 RED-6713 fix switch accounts button 2023-07-07 17:03:47 +03:00
Dan Percic
5d952332c7 RED-6713 fix pdf viewer visibility 2023-07-07 16:56:05 +03:00
Dan Percic
1ab46577f3 RED-6922 fix selected text delay 2023-07-07 16:00:34 +03:00
Valentin Mihai
cea0b23b86 Merge remote-tracking branch 'origin/master' 2023-07-07 15:31:32 +03:00
Valentin Mihai
b1ed081895 RED-6774 - fixed add hint issues 2023-07-07 15:28:44 +03:00
Dan Percic
72130128dc RED-6713 fix page refresh loop 2023-07-07 15:13:42 +03:00
Dan Percic
e473db9c16 RED-3800 update config & common-ui 2023-07-07 13:25:03 +03:00
Dan Percic
0c0d72aef1 RED-7054 fix not found http errors 2023-07-07 12:08:19 +03:00
Valentin Mihai
f20f7d3801 RED-6774 - fixed redact text issues 2023-07-06 17:43:13 +03:00
Dan Percic
0d109b0066 RED-6713 load licenses in if logged in guard 2023-07-06 17:38:07 +03:00
Dan Percic
a39451dd8d RED-6713 add logger 2023-07-06 17:09:00 +03:00
Dan Percic
ac06f8b89f RED-6713 view login url 2023-07-06 17:04:02 +03:00
Dan Percic
f590b0d18c DM-311 update tooltips for rss 2023-07-06 16:08:36 +03:00
Dan Percic
2355fe0375 RED-6713 try fix filter service imports 2023-07-06 14:21:46 +03:00
Dan Percic
269bd94cfe RED-6713: update tenants handling 2023-07-06 13:12:40 +03:00
Adina Țeudan
62bd383b88 RED-6830: Don't display data for future months in license view 2023-07-05 13:54:01 +03:00
Valentin Mihai
744d18138e RED-6829 - INC15516657: Performance issues 2023-07-04 17:14:09 +03:00
Valentin Mihai
a7001188ac RED-6801 - WIP on Effective dossier dictionary in Dossier Settings 2023-07-04 16:26:50 +03:00
Valentin Mihai
9816cc0ec2 RED-6801 - update common ui 2023-07-04 16:25:52 +03:00
Nicoleta Panaghiu
47038cd568 RED-7036: Fixed new file isn't opened on page 1. 2023-07-04 16:02:02 +03:00
Adina Țeudan
99bbba77ba DM-317: Added missing translations 2023-06-30 12:23:00 +03:00
Adina Țeudan
c8745f048d RED-6830: License information with graphjs 2023-06-29 16:23:50 +03:00
Valentin Mihai
76b5755d5e Merge remote-tracking branch 'origin/master' 2023-06-29 11:46:26 +03:00
Valentin Mihai
4a31ab2804 RED-6774 - added back 'redaction' and 'false-positive' keys 2023-06-29 11:46:11 +03:00
Valentin Mihai
1a3005346f RED-6774 - added bac 'redaction' and 'false-positive' keys 2023-06-29 11:42:25 +03:00
Valentin Mihai
403d3e849f RED-6774 - fixed comments 2023-06-28 18:30:52 +03:00
Dan Percic
a39eb1fa65 DM-311 update common-ui 2023-06-27 20:24:01 +03:00
Dan Percic
2dca5bf3f5 DM-311 simple workflow 2023-06-27 20:23:25 +03:00
Dan Percic
e4c355cb0a DM-315 change favicon for rss 2023-06-27 20:23:25 +03:00
Adina Țeudan
032da21638 RED-6830: show storage usage details 2023-06-27 14:59:54 +03:00
Valentin Mihai
c864f0966a RED-6774 - updated body for recategorize images request 2023-06-27 14:09:17 +03:00
Adina Țeudan
ecf4c65635 RED-6857: Don't send request after closing new file attr dialog 2023-06-27 12:06:48 +03:00
Adina Țeudan
498aff6116 RED-3800: Update common-ui 2023-06-27 11:58:13 +03:00
Adina Țeudan
6d1fc7e695 RED-7011: Update common-ui 2023-06-27 11:56:03 +03:00
Timo Bejan
e5e029643d RED-6686 - build hash fix 2023-06-27 02:48:45 +03:00
Timo Bejan
e36357bad5 RED-6686 version path fix 2023-06-27 02:42:01 +03:00
Timo Bejan
d32db58f24 RED-6686 simplified build 2023-06-27 02:31:11 +03:00
Timo Bejan
e46890aac8 RED-6686 simplified build 2023-06-27 02:26:50 +03:00
Timo Bejan
2ba759c325 RED-6686 simplified build 2023-06-27 02:22:52 +03:00
Timo Bejan
53b59d354d RED-6686 simplified build 2023-06-27 02:22:52 +03:00
Adina Țeudan
53c6e8a5b3 RED-7011: Allow arrow up / down in textareas (spotlight search issue)) 2023-06-27 02:09:55 +03:00
Timo Bejan
61877840c2 RED-6686 version test 2023-06-27 02:08:20 +03:00
Timo Bejan
90fcd18043 RED-6686 removed console log 2023-06-27 02:07:30 +03:00
Timo Bejan
210f9a9b7d RED-6686 removed console log 2023-06-27 02:03:38 +03:00
Timo Bejan
5cf394aa61 RED-6686 jq removed 2023-06-27 02:02:21 +03:00
Timo Bejan
c19e778365 RED-6686 version fix 2023-06-27 01:58:27 +03:00
Timo Bejan
356ce4f1e0 RED-6686 version fix 2023-06-27 01:53:59 +03:00
Timo Bejan
bc291c5db0 RED-6686 version fix 2023-06-27 01:40:03 +03:00
Timo Bejan
f5f5386339 RED-6686 version fix 2023-06-27 01:23:13 +03:00
Timo Bejan
9ad47a8f61 RED-6686 version fix 2023-06-27 01:21:42 +03:00
Timo Bejan
d18fa633a8 RED-6686 updated commons ui 2023-06-27 01:13:28 +03:00
Timo Bejan
591d334581 Merge branch 'RED-6686' into 'master'
RED-6686 - do not merge

See merge request redactmanager/red-ui!4
2023-06-26 22:03:45 +02:00
Timo Bejan
fe4e49751f RED-6686 - do not merge 2023-06-26 22:03:45 +02:00
Adina Țeudan
d66d548d42 RED-4590: Refactor - table item component for dossier attributes listing 2023-06-26 18:12:19 +03:00
Dan Percic
fb2565d6c4 RED-3800 update common-ui 2023-06-26 17:08:55 +03:00
Dan Percic
a512a68956 DM-314 use display name of annotations 2023-06-26 17:08:28 +03:00
Dan Percic
e7924dcce0 DM-313 remove document version for rss 2023-06-26 17:08:28 +03:00
Dan Percic
15aacabd62 DM-312 remove rectangle button from toolbar 2023-06-26 17:08:28 +03:00
Adina Țeudan
f1b0d27a67 RED-4590: Refactor annotation permissions - fix sonar cube issues 2023-06-26 16:23:05 +03:00
George
24c06a868c RED-6802, fixed the notification not showing up. 2023-06-23 16:05:46 +03:00
Valentin Mihai
2a8642efbd RED-6774 - removed old code for annotation remove 2023-06-23 15:31:13 +03:00
Timo Bejan
8ec9881905 version based on git hash 2023-06-22 23:04:48 +03:00
Adina Țeudan
c598b8e572 RED-3800: Update common-ui 2023-06-22 18:50:32 +03:00
Adina Țeudan
db7a8fab33 RED-6889: Fixed license view 2023-06-22 18:49:01 +03:00
George
c9c124bf7a RED-6802, fixed notification not appearing if emitted quickly. 2023-06-21 19:31:12 +03:00
Dan Percic
40010b8912 RED-3800 try get version 4 2023-06-21 13:47:49 +03:00
Dan Percic
8c999af015 RED-3800 try get version 3 2023-06-21 13:27:03 +03:00
Dan Percic
a404c8924c RED-3800 try get version 2 2023-06-21 13:19:36 +03:00
Dan Percic
ed9fb79d7c RED-3800 try get version 2023-06-21 13:07:50 +03:00
Christoph Schabert
e590ca791f Update file Dockerfile 2023-06-21 11:58:33 +02:00
Christoph Schabert
4a63b7074f Update file Dockerfile 2023-06-21 11:53:51 +02:00
Dan Percic
88a0029280 RED-3800 try get successful build x2 2023-06-21 12:07:29 +03:00
Dan Percic
c550519c0a RED-3800 try get a successful build 2023-06-21 11:43:59 +03:00
Valentin Mihai
a8b93f2659 RED-6774 - update version 2023-06-21 10:57:25 +03:00
Valentin Mihai
b9cb826e5c RED-6774 - update common ui 2023-06-21 00:52:35 +03:00
Valentin Mihai
f0c3196d5c RED-6774 - update common ui 2023-06-21 00:50:02 +03:00
Valentin Mihai
52e1c9f38b RED-6775 - update common ui 2023-06-21 00:22:29 +03:00
Valentin Mihai
c5970110ac RED-6775 - update common ui 2023-06-21 00:14:33 +03:00
Valentin Mihai
cabc3fb15b Merge branch 'VM/RED-6774' 2023-06-21 00:12:16 +03:00
Valentin Mihai
3ff33b5701 Merge branch 'master' into VM/RED-6774 2023-06-21 00:11:22 +03:00
Valentin Mihai
14139ab405 RED-6774 - added "Apply to all dossiers" extra option for detailed options component 2023-06-21 00:11:00 +03:00
Dan Percic
ac9803b3c0 RED-6917 update version 2023-06-20 18:45:03 +03:00
Dan Percic
7bc282913b RED-6917: Fix page navigation while search is active 2023-06-20 18:37:47 +03:00
Valentin Mihai
219b37f797 Merge branch 'master' into VM/RED-6774 2023-06-20 18:02:41 +03:00
Valentin Mihai
bf4b8cba33 RED-6774 - checked file permissions for each dialog operation 2023-06-20 18:02:20 +03:00
Nicoleta Panaghiu
40c5a9cd22 RED-6865: Added setting for default dossier template manipulation. 2023-06-20 17:35:32 +03:00
Nicoleta Panaghiu
3e128e9e65 RED-6472: remove console.error and ignore deleted files. 2023-06-20 15:41:53 +03:00
George
119c2ae858 RED-6784, remove trailing comma in entrypoint sh, configure default value and fallback, bump version. 2023-06-20 14:56:06 +03:00
Valentin Mihai
3e9ae643e1 Merge branch 'master' into VM/RED-6774 2023-06-20 14:48:31 +03:00
Valentin Mihai
ba944b1f8c RED-6774 - update common ui 2023-06-20 14:48:20 +03:00
George
59652e79da RED-6784, add environment variable to control watermark page format. 2023-06-20 12:21:48 +03:00
Valentin Mihai
6bf476a575 Merge branch 'master' into VM/RED-6774 2023-06-19 17:33:51 +03:00
Dan Percic
813f13adf7 RED-3800 try fix version 2 2023-06-19 15:56:37 +03:00
Dan Percic
c21f5e27ae RED-3800 try fix version 2023-06-19 15:51:50 +03:00
Dan Percic
8d15fb07ea RED-6922 remove ngZone.run from event listeners 2023-06-19 13:02:25 +03:00
Valentin Mihai
f0ae6b659f RED-6774 - updates for remove here, remove in dossier and set as false positive 2023-06-19 11:42:31 +03:00
Valentin Mihai
2d76b6c1eb RED-6774 - updated dialog logic to be able to redact and add hints 2023-06-19 07:45:26 +03:00
Valentin Mihai
8f26b3bffc Merge branch 'master' into VM/RED-6774 2023-06-18 22:39:43 +03:00
Valentin Mihai
6ade5eeba1 RED-6774 - update common ui 2023-06-18 22:38:52 +03:00
Valentin Mihai
9a967c0c0d RED-6774 - added remove dialog 2023-06-18 22:36:51 +03:00
Valentin Mihai
8d468bf2bc RED-6774 - update common ui 2023-06-16 22:10:48 +03:00
Valentin Mihai
337861971c RED-6774 - update common ui 2023-06-16 22:09:32 +03:00
Valentin Mihai
0350eb4124 RED-6774 - added redact dialog 2023-06-16 22:06:52 +03:00
Dan Percic
aeebd0a5f7 RED-3800 run update view mode on view mode change 2023-06-16 21:40:04 +03:00
Dan Percic
a942939af0 RED-6680: remove double ngzone run 2023-06-16 19:32:41 +03:00
Dan Percic
bee3d1b76d RED-6890 fix remove only here dialog 2023-06-16 19:08:48 +03:00
Dan Percic
1c23c22c7e RED-6892: fix selected text event args 2023-06-16 18:47:53 +03:00
Dan Percic
d6ba014471 RED-6713 lint fix 2023-06-16 18:30:12 +03:00
Dan Percic
d12b5cd76d RED-6713: change switch accounts flow 2023-06-16 18:29:39 +03:00
Dan Percic
6e1d7c1747 Merge remote-tracking branch 'origin/master' 2023-06-16 17:24:25 +03:00
George
a72a390cd4 RED-6802, make disconnect notification appear after 3 seconds of offline time. 2023-06-16 13:11:35 +03:00
Dan Percic
5baad2140f RED-3800 ng update 2023-06-15 11:32:14 +03:00
Dan Percic
b885dd5aa8 RED-3800 update nx 2023-06-15 11:13:55 +03:00
Dan Percic
cc789aabf0 RED-3800 small rename 2023-06-15 11:10:47 +03:00
George
532ee9fa06 RED-6910, fix adding causing deleting of current items. 2023-06-14 19:13:56 +03:00
Nicoleta Panaghiu
984708bac3 RED-6382: Added file attribute edit in workflow view. 2023-06-14 16:21:10 +03:00
George
95f4b4f645 RED-6763, fixed workflow item spinner being cut off. 2023-06-14 14:38:33 +03:00
Dan Percic
04cc33b18e RED-6829: update pdf event listeners to run in ng zone 2023-06-12 01:06:40 +03:00
Dan Percic
f3e7811523 RED-6829: run in ng zone 2023-06-11 02:06:18 +03:00
Dan Percic
e89d317fa0 RED-6829: remove other observables 2023-06-11 01:11:22 +03:00
Dan Percic
58976f24d8 RED-6829: remove some observables 2023-06-10 22:58:17 +03:00
Dan Percic
bf0685339a RED-6829: update file data service 2023-06-09 23:37:01 +03:00
Dan Percic
e083fa5eb4 RED-6829: remove redactionLogEntry class 2023-06-09 20:13:36 +03:00
Dan Percic
2601822a32 RED-6829: view modes to signals 2023-06-09 20:13:36 +03:00
George
e7e6ab3e66 RED-6763, fix wobbly spinner. 2023-06-09 19:26:47 +03:00
George
8ddc5de3e9 RED-6802, fixed the reconnect notification changing rapidly. 2023-06-09 17:13:31 +03:00
Dan Percic
8810ae218d RED-3800: fix keycloak query params removal 2023-06-09 16:13:57 +03:00
Valentin Mihai
1505dac3ac RED-6012 - fixed the text alignment based on its position and orientation 2023-06-09 14:01:04 +02:00
Valentin Mihai
cf61b271b2 RED-6012 - removed duplicated properties 2023-06-08 13:15:59 +02:00
Valentin Mihai
4fd6774622 RED-5912 - Suggestions make redactions disappear in PREVIEW mode 2023-06-06 18:54:37 +02:00
George
7da45afb99 RED-6784, replaced letter doc with A4. 2023-06-02 17:57:06 +03:00
Dan Percic
6be8474c7f RED-6713: sort tenants 2023-06-02 17:12:05 +03:00
Christoph Schabert
ca0a80cf4e Merge branch 'RED-6686' into 'master'
RED-3800 sample PR

Closes RED-6686

See merge request redactmanager/red-ui!2
2023-06-02 13:31:59 +02:00
Christoph Schabert
ac13863ca0 Update .gitlab-ci.yml file 2023-06-02 11:49:03 +02:00
Christoph Schabert
27d47826f1 Update .gitlab-ci.yml file 2023-06-02 11:44:39 +02:00
Dan Percic
f98edcaca6 RED-6713: store tenant with username or email 2023-06-02 12:18:33 +03:00
Kevin Tumma
8be2955bcb Update .gitlab-ci.yml file 2023-06-02 10:03:17 +02:00
Kevin Tumma
297cbf9668 Test 2023-06-02 09:59:17 +02:00
Timo Bejan
200b5a2bf2 RED-3800 sample PR 2023-06-02 10:45:03 +03:00
Timo Bejan
d8226d84b5 Merge branch 'RED-6686' into 'master'
RED-3800 fixed paths and build

Closes RED-6686

See merge request redactmanager/ui!1
2023-06-02 09:42:11 +02:00
Timo Bejan
f143323a9f RED-3800 fixed paths and build 2023-06-02 10:40:47 +03:00
Adina Țeudan
314b8657f5 RED-6343: Shift+click selection in table (anywhere on list item) 2023-06-02 00:08:16 +03:00
Adina Țeudan
4bf9faaa47 RED-6791: Correct labels of hidden elements settings 2023-06-01 21:48:45 +03:00
Adina Țeudan
2126638dc7 RED-5874: Material upgrade - fixes 2023-06-01 21:45:03 +03:00
Adina Teudan
f985ea7f0c RED-5875: Material upgrade - fixes 2023-06-01 21:21:41 +03:00
Timo Bejan
d9412e88c0 Update file Dockerfile 2023-06-01 13:26:24 +02:00
Timo Bejan
f58e66be5c Update file Dockerfile 2023-06-01 13:23:35 +02:00
Timo Bejan
f2e1e579a1 Update file version.properties 2023-06-01 13:14:45 +02:00
Christoph Schabert
7a402758ff Update file .gitlab-ci.yml 2023-06-01 12:42:40 +02:00
Christoph Schabert
f4a147536c Update 8 files
- /bamboo-specs/src/main/java/buildjob/PlanSpec.java
- /bamboo-specs/src/main/resources/scripts/build.sh
- /bamboo-specs/src/test/java/buildjob/PlanSpecTest.java
- /bamboo-specs/.gitignore
- /bamboo-specs/pom.xml
- /versions.sh
- /docker/.gitlab-ci.yml
- /.gitmodules
2023-06-01 12:41:19 +02:00
Atlassian Bamboo
679b240889 chore(release) 2023-05-31 23:36:59 +02:00
Dan Percic
f41a4de724 RED-3800: update other deps 2023-06-01 00:34:36 +03:00
Dan Percic
61c090b96c RED-3800: migrate nx 2023-06-01 00:05:41 +03:00
Dan Percic
508ae29317 RED-3800: material v16 2023-06-01 00:05:25 +03:00
Dan Percic
987374959f Merge remote-tracking branch 'origin/RED-5875' 2023-05-31 23:54:21 +03:00
Adina Țeudan
851b165f7b RED-5875: Material upgrade - dark theme, other fixes 2023-05-31 23:36:49 +03:00
Adina Țeudan
f555ff2bcc RED-5875: Material upgrade - tooltip letter spacing 2023-05-31 00:42:37 +03:00
Adina Țeudan
a8ef7a16a1 RED-5875: Material upgrade - buttons: user button 2023-05-31 00:38:12 +03:00
Adina Țeudan
f64ddd009b RED-5875: Material upgrade - buttons: chevron button 2023-05-31 00:08:17 +03:00
Adina Țeudan
3e09243c27 RED-5875: Material upgrade - buttons: circle button 2023-05-30 23:28:06 +03:00
Adina Țeudan
d630c29916 RED-5875: Material upgrade - buttons: icon button 2023-05-30 21:48:05 +03:00
Atlassian Bamboo
23685bab07 chore(release) 2023-05-30 17:10:09 +02:00
Valentin Mihai
c4ab01ac9d RED-6012 - disabled alignment when all form is disabled 2023-05-30 17:08:03 +02:00
Adina Țeudan
fc22cd176e RED-5875: Material upgrade - slide toggle 2023-05-30 16:02:17 +03:00
Atlassian Bamboo
172fa9f1b4 chore(release) 2023-05-30 10:51:18 +02:00
Valentin Mihai
a7c299240e RED-5912 - filtered recategorize image suggestions on workload in preview 2023-05-30 10:49:48 +02:00
Adina Țeudan
f581b83878 RED-5875: Material upgrade - menu trigger 2023-05-29 23:23:36 +03:00
Adina Țeudan
96ecf0694c RED-5875: Material upgrade - progress bar 2023-05-29 23:22:03 +03:00
Adina Țeudan
07393503d2 RED-5875: Material upgrade - spinner 2023-05-29 22:21:10 +03:00
Adina Țeudan
f8fc7a753c RED-5875: Material upgrade - slider 2023-05-29 22:11:11 +03:00
Adina Țeudan
51ecce60a8 RED-5875: Material upgrade - checkbox 2023-05-29 21:32:44 +03:00
Atlassian Bamboo
829bcea380 chore(release) 2023-05-29 16:57:18 +02:00
Valentin Mihai
b01d3851fe RED-5912 - Suggestions make redactions disappear in PREVIEW mode 2023-05-29 16:55:54 +02:00
Atlassian Bamboo
b8d6d36f17 chore(release) 2023-05-29 15:48:09 +02:00
Valentin Mihai
4f9f5e20b4 RED-6782 - Checkbox for overlapping elements removal 2023-05-29 15:42:02 +02:00
Atlassian Bamboo
37ec802a9a chore(release) 2023-05-26 16:53:50 +02:00
George
8fb36e1d31 RED-6786, made saving faster. 2023-05-26 17:52:00 +03:00
Atlassian Bamboo
3e4f6026f9 chore(release) 2023-05-26 00:22:04 +02:00
Dan Percic
b5b5d5095c RED-6786: faster dictionary saving 2023-05-26 01:20:33 +03:00
Atlassian Bamboo
ec91aa27e7 chore(release) 2023-05-25 23:24:31 +02:00
Dan Percic
c68e92f726 RED-6786: faster text editor 2023-05-26 00:07:16 +03:00
Atlassian Bamboo
4fc7fa40d8 chore(release) 2023-05-25 20:05:24 +02:00
Dan Percic
8848daf247 RED-6713 remove spacer if not logged out 2023-05-25 21:03:51 +03:00
Dan Percic
4e1b7afb46 RED-6713 lint fix 2023-05-25 20:59:30 +03:00
Atlassian Bamboo
b6dd8243b8 chore(release) 2023-05-25 19:54:22 +02:00
Dan Percic
b1b2889564 RED-6713: fix headings & dont remove tenant on logout 2023-05-25 20:52:29 +03:00
Atlassian Bamboo
166d39d7f7 chore(release) 2023-05-25 18:40:40 +02:00
George
6744f7fed6 RED-6786, fix editor sluggishness, refactor save method. 2023-05-25 19:38:45 +03:00
Atlassian Bamboo
a649a3123f chore(release) 2023-05-24 18:44:36 +02:00
Dan Percic
db6eefbee7 RED-6786: fix editor performance issue 2023-05-24 19:42:59 +03:00
Atlassian Bamboo
d73b460e82 chore(release) 2023-05-24 18:11:07 +02:00
Dan Percic
1aad88e2d0 RED-6713: remove username from query params 2023-05-24 19:09:40 +03:00
Atlassian Bamboo
a5368f2957 chore(release) 2023-05-24 17:45:25 +02:00
Dan Percic
79d6f05397 RED-6713: add login hint 2023-05-24 18:43:59 +03:00
Dan Percic
e576dc9621 RED-6713: remove stored tenant on logout 2023-05-24 14:26:20 +03:00
Dan Percic
79c3356086 RED-6733: fix missing checkbox 2023-05-24 13:31:48 +03:00
Atlassian Bamboo
f799b6bf69 chore(release) 2023-05-24 00:36:31 +02:00
Dan Percic
bf41ec9bf9 RED-6813: check for undefined 2023-05-24 01:34:59 +03:00
Atlassian Bamboo
f7f8ef5752 chore(release) 2023-05-23 21:25:59 +02:00
Valentin Mihai
b520f9f43b RED-6012 - removed commented code 2023-05-23 22:24:05 +03:00
Valentin Mihai
f5ad51b258 Merge branch 'VM/RED-6012' 2023-05-23 22:21:21 +03:00
1169 changed files with 36141 additions and 28162 deletions

View File

@ -1,5 +0,0 @@
PMRA Document Number,GAP Active Ingredient,Regulatory Utility,Document Comment,SIC Number,Protocol Number,Protocol Number,Data Evaluation Record,Audience,Original Retirement Date,Regulatory Released,Regulatory Authority,Regulatory Authority (legacy to remove),Source Owner,Legacy Primary OECD Code,Legacy Source Organisation,Regulator Comments,Contains Registered Composition?,File Name,FTP Source Location,Submission Format Needed,Legacy Report Number,Sales Unit,Address,ANVISA Process Number,Source Number,Legacy Migration Path,Review Completion Date,Registration Number,Agency Dossier Registration Type,Submission Version,Media Comments,Literature Citation,Document Language,Notes,Study Location,Materials,Approver,Subtype,Test Facility,Is Latest Version,Consumer,Classification,Guideline,TRP Type,Legacy System Date,Function,Artist,Document Title,PI Number,Legacy Version Description,PI Number,Incoming from,Annotations (Unresolved),Work To Date,Copyright Clearance Obtained?,Summary Type,Annotations (Claim Links),Latest Source Minor Version,Regulatory Category,SYN Letter Number,Work From Date,Product,Version Creation Date,Governance Committee,Test Facility (legacy to remove),Regulatory Finalization Date,Imported file?,Status,Information Tracking Submission Package,Approval Type,Media Description,Duration,Legacy System,Archive Date,Exporting country,Regulatory Tracking Number,Annotations (Anchors),Information Tracking,Document Number,GAP Usage Information,Report Number,Legacy Reg Document Number,Legal Representative 2,Registering Company,File Created By,Legacy EPA Decision Code,Meeting Minutes,Product Safety Finalization Date,Report Type,Archived Date,Legacy Other PMRA Data Codes,Template Document Type,Color Space,Legal Representative 1,Document Author,CrossLink,Annotations (Notes),Suggested Links,Assessment Type,Legacy Species Commodity,TK Number,Legacy Test Facilities,Planned Completion Date,PRF Number,Registration Item Country,Legacy Target Species,Legacy Owning Organisation,Archive Number,Protocol Type,Submission Output Format,Submission Date,Coordinator,Regulatory Reporting Date,Annotations (Lines),Field Trial Number,Batch Number,Legacy Version Number,External ID,Author Names,Sponsor Organisation (legacy to remove),Literature Type,Sponsor Organisation,Legacy Crop Host,Document Edition,Agreement Expiry Date,TRP Usage,Legacy EPA Submission Type,Security Classification,Source Document Name,Syngenta Address,Outgoing to (legacy to remove),Link Status,Legacy System Document ID,Copyright,PMRA Registration Number,Annotations (All),SU,Source Vault Name,Latest Source Major Version,Legacy Other OECD Codes,Version Created By,Subarea,Reviewer,Owning Organisation (legacy to remove),Project,Viewer,Regulatory Territory,Lifecycle,Claims,Bound Source Minor Version,Global ID,Legacy Regulatory Authorities,Outgoing to,Additional Information,Year,Organism,File Last Modified By,Requires Attachment of a Signature Page?,Source Binding Rule,Destination country,Cross-Reference Submission Number,Name,Issue Topic,Pages,Type,Reason for Retiring,Rule,Type of Review,Original Finalization Date,Trade Name,Transmittal Document,Pages OCR'ed (%),Legacy Object ID(s),Protocol Number,Last Modified By,Annotations (Approved Links),Request Type,Binder,Author,Last Modified Date,Non-English Document Title,Media Location,Created By,Editor,Owner,CRO Report Number,Format,Legacy Discipline,Major Version Number,Created From,Active Ingredients,Archive Location,EPA Registration Number,Retirement Date,Annotations (Links),TRP Document,Finalization Date,Legacy Task Number,Legal Details,OCR Requested,Global Version ID,Publicly Published,Document Date,MRID Number,Legacy Reg Topic,Requires Review and Approval?,Annotations (Auto Links),Subareas,Product Safety Reporting Date,Media Title,Minor Version Number,Legacy Primary PMRA Data Code,Requestor,Owning Organisation,Zone,File Last Modified Date,Contact Person,File Created Date,Amendment Justification,CDPR Number,Legacy EPA Submission Date,Supports Agency Dossier,Field Trial Year,Reason for Un-retiring,TRP Topic,Bound Source Major Version,Keywords,Legacy Author Name(s),Export File Name,Size,Source Link,This content is a translation?,Quality Assurance Standard,Legacy Fed Reg Number,Checksum,Created Date,Annotations (Resolved),User Task,Review Start Date,test list,Incoming from (legacy to remove),Rendition Profile,Path,URL
,,Country Specific,,,,,No,,,Yes,,,,,Syngenta,,,Lambda-cyhalothrin - EU AIR5 - Document A - Statement of the context in which the dossier is submit.doc,,,,,,,,,,,,,,,English,,,PP321,,Authority Form / Document,,TRUE,"All Internal Users, Syngenta Read Only Restricted, Syngenta Read Only Non Restricted",,,,16/07/2019,,,Lambda-cyhalothrin - EU AIR5 - Document A - Statement of the context in which the dossier is submitted,PI0015818,,,,0,,,,0,,,,,,26/03/2020 14:06 CET,,Syngenta Crop Protection AG (Switzerland),,No,Final,,,,,SmartDoc - EAME,,,,0,IT-624180,VV-731623,,N/A,PP321_12074,,,,,,,,,,,,,B Sochard,No,0,0,,,,,,,,,,,,,,,,0,,,1.0|CURRENT,090100b881afdd91,,Syngenta Crop Protection AG (Switzerland),,Syngenta Crop Protection AG,,Original,,,,Internal Use Only,,,ETL_blank,,090100b881afdd91,,,0,,,,,Berangere Sochard,,,Syngenta Crop Protection AG (Switzerland),,,European Union,General Lifecycle,,,40037_850361,,ETL_blank,,,,,,,,,Lambda-cyhalothrin - EU AIR5 - Document A - Statement of the context in which the dossier is submit,,2,Registration Supporting Documentation,,,,,,No,,090100b881afdd91 (cv),,CP Vault Support,0,,No,,24/02/2021 15:20 CET,,,Vault Migration,"Global Reg Ops, NA Reg Ops, PS Ops, EAME Reg Ops, Syngenta Business Administrator, Berangere Sochard, Simon Baker, Lily Williams, Clive Boxwell, Paul Parsons, Richard MacKenzie, Dan Pickford, Laurence Hand",Vault Migration,,application/msword,Regulatory,2,,PP321,,,,0,No,,PI0015818,,No,40037_850361_1958105,No,01/09/2020,,Regulatory,No,0,,,,0,,,Syngenta Crop Protection AG,,,,,,,,,,,,,,Sochard Berangere,,49152,,No,,,86d75e5da397fdadcd332f92234a4f62,29/11/2019 08:51 CET,0,,,,,,Lambda-cyhalothrin - EU AIR5 - Document A - Statement of the.pdf,
,,Country Specific,,,,,No,,,Yes,,,,,Syngenta,,,Lambda-cyhalothrin - EU AIR5 - MCA Section 5 - Toxicology (1).docx,,,,,,,,,,,,,,,English,,,PP321,,Summary / Overview,,TRUE,"All Internal Users, Syngenta Read Only Non Restricted, Syngenta Read Only Restricted",,,,16/07/2019,,,Lambda-cyhalothrin - EU AIR5 - MCA Section 5 - Toxicology,PI0015818,,,,0,,,OECD Tier 2 Summary,0,,,,,,17/02/2021 22:02 CET,,Syngenta Crop Protection AG (Switzerland),,Yes,Draft,,,,,SmartDoc - EAME,,,,0,IT-615930,VV-729845,,N/A,PP321_12086,,,Syngenta,,,,,,,,,,S Lloyd,No,0,0,,,,,,,,,,,,,,,,0,,,1.0|CURRENT,090100b881afde22,,Syngenta Crop Protection AG (Switzerland),,Syngenta Crop Protection AG,,Original,,,,Internal Use Only,,,,,090100b881afde22,,,0,,,,,Sonia Ellis,,,Syngenta Crop Protection AG (Switzerland),,,European Union,General Lifecycle,,,40037_848583,,,,,,Ellis Sonia (ext) GBGU,,,,,Lambda-cyhalothrin - EU AIR5 - MCA Section 5 - Toxicology,,893,Summary / Assessment,,,,,,No,,090100b881afde22 (cv),,CP Vault Support,0,,No,Syngenta,24/02/2021 15:20 CET,,,Vault Migration,"EAME Reg Ops, Syngenta Business Administrator, PS Ops, NA Reg Ops, Global Reg Ops, Berangere Sochard, Simon Baker, Lily Williams, Clive Boxwell, Paul Parsons, Richard MacKenzie, Dan Pickford, Laurence Hand, Claire McCombie, Elaine Buss",Vault Migration,,application/vnd.openxmlformats-officedocument.wordprocessingml.document,Toxicology,3,,PP321,,,,0,No,,PI0015818,,No,40037_848583_2033983,No,01/09/2020,,Tox,No,0,,,,1,,,Syngenta Crop Protection AG,,17/02/2021 21:35 CET,,04/09/2020 14:34 CEST,,,,,,,,,VV-729845,Lloyd Sara,,5089990,,No,,,3b13f57d1244e77844eba73ce0ae9813,29/11/2019 08:47 CET,0,,,,,,Lambda-cyhalothrin - EU AIR5 - MCA Section 5 - Toxicology.pdf,
,,Country Specific,,,,,No,,,Yes,,,,,Syngenta,,,Lambda-cyhalothrin - EU AIR5 - LCA Section 5 Reference List (1).doc,,,,,,,,,,,,,,,English,,,PP321,,Summary / Overview,,TRUE,"All Internal Users, Syngenta Read Only Restricted, Syngenta Read Only Non Restricted",,,,16/07/2019,,,Lambda-cyhalothrin - EU AIR5 - LCA Section 5 Reference List,PI0015818,,,,0,,,OECD Tier 1 Summary,0,,,,,,12/09/2020 15:48 CEST,,Syngenta Crop Protection AG (Switzerland),,Yes,Final,,,,,SmartDoc - EAME,,,,0,IT-615436,VV-729844,,N/A,PP321_12084,,,,,,,,,,,,,S Ellis,No,0,0,,,,,,,,,,,,,,,,0,,,1.0|CURRENT,090100b881afde20,,Syngenta Crop Protection AG (Switzerland),,Syngenta Crop Protection AG,,Original,,,,Internal Use Only,,,,,090100b881afde20,,,0,,,,,Sonia Ellis,,,Syngenta Crop Protection AG (Switzerland),,,European Union,General Lifecycle,,,40037_848582,,,,,,,,,,,Lambda-cyhalothrin - EU AIR5 - LCA Section 5 Reference List,,147,Summary / Assessment,,,,,,No,,090100b881afde20 (cv),,CP Vault Support,0,,No,,24/02/2021 15:20 CET,,,Vault Migration,"NA Reg Ops, Global Reg Ops, EAME Reg Ops, PS Ops, Syngenta Business Administrator, Berangere Sochard, Paul Parsons",Vault Migration,,application/msword,Toxicology,2,,PP321,,,,0,No,,PI0015818,,No,40037_848582_2001744,No,01/09/2020,,Tox,No,0,,,,0,,,Syngenta Crop Protection AG,,,,,,,,,,,,,,Ellis Sonia,,651264,,No,,,eb0fdf698b528b67f54635395ec7fb52,29/11/2019 08:47 CET,0,,,,,,Lambda-cyhalothrin - EU AIR5 - LCA Section 5 Reference List.pdf,
,,Country Specific,,,,,No,,,Yes,,,,,Syngenta,,,Lambda-cyhalothrin - EU AIR5 - LCA Section 4 Reference List (5).doc,,,,,,,,,,,,,,,English,,,PP321,,Summary / Overview,,TRUE,"All Internal Users, Syngenta Read Only Restricted, Syngenta Read Only Non Restricted",,,,16/07/2019,,,Lambda-cyhalothrin - EU AIR5 - LCA Section 4 Reference List,PI0015818,,,,0,,,OECD Tier 1 Summary,0,,,,,,21/09/2020 15:21 CEST,,Syngenta Crop Protection AG (Switzerland),,Yes,Final,,,,,SmartDoc - EAME,,,,0,IT-618210,VV-729843,,N/A,PP321_12083,,,,,,,,,,,,,S Ellis,No,0,0,,,,,,,,,,,,,,,,0,,,1.0|CURRENT,090100b881afde1f,,Syngenta Crop Protection AG (Switzerland),,Syngenta Crop Protection AG,,Original,,,,Internal Use Only,,,,,090100b881afde1f,,,0,,,,,Sonia Ellis,,,Syngenta Crop Protection AG (Switzerland),,,European Union,General Lifecycle,,,40037_848581,,,,,,,,,,,Lambda-cyhalothrin - EU AIR5 - LCA Section 4 Reference List,,151,Summary / Assessment,,,,,,No,,090100b881afde1f (cv),,CP Vault Support,0,,No,,24/02/2021 15:20 CET,,,Vault Migration,"EAME Reg Ops, Global Reg Ops, PS Ops, Syngenta Business Administrator, NA Reg Ops, Berangere Sochard, Melanie Bottoms, Dan Pickford, Lynda Farrelly",Vault Migration,,application/msword,Chemistry - Regulatory,2,,PP321,,,,0,No,,PI0015818,,No,40037_848581_2003177,No,01/09/2020,,Chem - Analytical Methods,No,0,,,,0,,,Syngenta Crop Protection AG,,,,,,,,,,,,,,Ellis Sonia,,699392,,No,,,2c476f477f6e2b55ecb537683f5d1cee,29/11/2019 08:47 CET,0,,,,,,Lambda-cyhalothrin - EU AIR5 - LCA Section 4 Reference List.pdf,
1 PMRA Document Number GAP Active Ingredient Regulatory Utility Document Comment SIC Number Protocol Number Protocol Number Data Evaluation Record Audience Original Retirement Date Regulatory Released Regulatory Authority Regulatory Authority (legacy to remove) Source Owner Legacy Primary OECD Code Legacy Source Organisation Regulator Comments Contains Registered Composition? File Name FTP Source Location Submission Format Needed Legacy Report Number Sales Unit Address ANVISA Process Number Source Number Legacy Migration Path Review Completion Date Registration Number Agency Dossier Registration Type Submission Version Media Comments Literature Citation Document Language Notes Study Location Materials Approver Subtype Test Facility Is Latest Version Consumer Classification Guideline TRP Type Legacy System Date Function Artist Document Title PI Number Legacy Version Description PI Number Incoming from Annotations (Unresolved) Work To Date Copyright Clearance Obtained? Summary Type Annotations (Claim Links) Latest Source Minor Version Regulatory Category SYN Letter Number Work From Date Product Version Creation Date Governance Committee Test Facility (legacy to remove) Regulatory Finalization Date Imported file? Status Information Tracking Submission Package Approval Type Media Description Duration Legacy System Archive Date Exporting country Regulatory Tracking Number Annotations (Anchors) Information Tracking Document Number GAP Usage Information Report Number Legacy Reg Document Number Legal Representative 2 Registering Company File Created By Legacy EPA Decision Code Meeting Minutes Product Safety Finalization Date Report Type Archived Date Legacy Other PMRA Data Codes Template Document Type Color Space Legal Representative 1 Document Author CrossLink Annotations (Notes) Suggested Links Assessment Type Legacy Species Commodity TK Number Legacy Test Facilities Planned Completion Date PRF Number Registration Item Country Legacy Target Species Legacy Owning Organisation Archive Number Protocol Type Submission Output Format Submission Date Coordinator Regulatory Reporting Date Annotations (Lines) Field Trial Number Batch Number Legacy Version Number External ID Author Names Sponsor Organisation (legacy to remove) Literature Type Sponsor Organisation Legacy Crop Host Document Edition Agreement Expiry Date TRP Usage Legacy EPA Submission Type Security Classification Source Document Name Syngenta Address Outgoing to (legacy to remove) Link Status Legacy System Document ID Copyright PMRA Registration Number Annotations (All) SU Source Vault Name Latest Source Major Version Legacy Other OECD Codes Version Created By Subarea Reviewer Owning Organisation (legacy to remove) Project Viewer Regulatory Territory Lifecycle Claims Bound Source Minor Version Global ID Legacy Regulatory Authorities Outgoing to Additional Information Year Organism File Last Modified By Requires Attachment of a Signature Page? Source Binding Rule Destination country Cross-Reference Submission Number Name Issue Topic Pages Type Reason for Retiring Rule Type of Review Original Finalization Date Trade Name Transmittal Document Pages OCR'ed (%) Legacy Object ID(s) Protocol Number Last Modified By Annotations (Approved Links) Request Type Binder Author Last Modified Date Non-English Document Title Media Location Created By Editor Owner CRO Report Number Format Legacy Discipline Major Version Number Created From Active Ingredients Archive Location EPA Registration Number Retirement Date Annotations (Links) TRP Document Finalization Date Legacy Task Number Legal Details OCR Requested Global Version ID Publicly Published Document Date MRID Number Legacy Reg Topic Requires Review and Approval? Annotations (Auto Links) Subareas Product Safety Reporting Date Media Title Minor Version Number Legacy Primary PMRA Data Code Requestor Owning Organisation Zone File Last Modified Date Contact Person File Created Date Amendment Justification CDPR Number Legacy EPA Submission Date Supports Agency Dossier Field Trial Year Reason for Un-retiring TRP Topic Bound Source Major Version Keywords Legacy Author Name(s) Export File Name Size Source Link This content is a translation? Quality Assurance Standard Legacy Fed Reg Number Checksum Created Date Annotations (Resolved) User Task Review Start Date test list Incoming from (legacy to remove) Rendition Profile Path URL
2 Country Specific No Yes Syngenta Lambda-cyhalothrin - EU AIR5 - Document A - Statement of the context in which the dossier is submit.doc English PP321 Authority Form / Document TRUE All Internal Users, Syngenta Read Only Restricted, Syngenta Read Only Non Restricted 16/07/2019 Lambda-cyhalothrin - EU AIR5 - Document A - Statement of the context in which the dossier is submitted PI0015818 0 0 26/03/2020 14:06 CET Syngenta Crop Protection AG (Switzerland) No Final SmartDoc - EAME 0 IT-624180 VV-731623 N/A PP321_12074 B Sochard No 0 0 0 1.0|CURRENT 090100b881afdd91 Syngenta Crop Protection AG (Switzerland) Syngenta Crop Protection AG Original Internal Use Only ETL_blank 090100b881afdd91 0 Berangere Sochard Syngenta Crop Protection AG (Switzerland) European Union General Lifecycle 40037_850361 ETL_blank Lambda-cyhalothrin - EU AIR5 - Document A - Statement of the context in which the dossier is submit 2 Registration Supporting Documentation No 090100b881afdd91 (cv) CP Vault Support 0 No 24/02/2021 15:20 CET Vault Migration Global Reg Ops, NA Reg Ops, PS Ops, EAME Reg Ops, Syngenta Business Administrator, Berangere Sochard, Simon Baker, Lily Williams, Clive Boxwell, Paul Parsons, Richard MacKenzie, Dan Pickford, Laurence Hand Vault Migration application/msword Regulatory 2 PP321 0 No PI0015818 No 40037_850361_1958105 No 01/09/2020 Regulatory No 0 0 Syngenta Crop Protection AG Sochard Berangere 49152 No 86d75e5da397fdadcd332f92234a4f62 29/11/2019 08:51 CET 0 Lambda-cyhalothrin - EU AIR5 - Document A - Statement of the.pdf
3 Country Specific No Yes Syngenta Lambda-cyhalothrin - EU AIR5 - MCA Section 5 - Toxicology (1).docx English PP321 Summary / Overview TRUE All Internal Users, Syngenta Read Only Non Restricted, Syngenta Read Only Restricted 16/07/2019 Lambda-cyhalothrin - EU AIR5 - MCA Section 5 - Toxicology PI0015818 0 OECD Tier 2 Summary 0 17/02/2021 22:02 CET Syngenta Crop Protection AG (Switzerland) Yes Draft SmartDoc - EAME 0 IT-615930 VV-729845 N/A PP321_12086 Syngenta S Lloyd No 0 0 0 1.0|CURRENT 090100b881afde22 Syngenta Crop Protection AG (Switzerland) Syngenta Crop Protection AG Original Internal Use Only 090100b881afde22 0 Sonia Ellis Syngenta Crop Protection AG (Switzerland) European Union General Lifecycle 40037_848583 Ellis Sonia (ext) GBGU Lambda-cyhalothrin - EU AIR5 - MCA Section 5 - Toxicology 893 Summary / Assessment No 090100b881afde22 (cv) CP Vault Support 0 No Syngenta 24/02/2021 15:20 CET Vault Migration EAME Reg Ops, Syngenta Business Administrator, PS Ops, NA Reg Ops, Global Reg Ops, Berangere Sochard, Simon Baker, Lily Williams, Clive Boxwell, Paul Parsons, Richard MacKenzie, Dan Pickford, Laurence Hand, Claire McCombie, Elaine Buss Vault Migration application/vnd.openxmlformats-officedocument.wordprocessingml.document Toxicology 3 PP321 0 No PI0015818 No 40037_848583_2033983 No 01/09/2020 Tox No 0 1 Syngenta Crop Protection AG 17/02/2021 21:35 CET 04/09/2020 14:34 CEST VV-729845 Lloyd Sara 5089990 No 3b13f57d1244e77844eba73ce0ae9813 29/11/2019 08:47 CET 0 Lambda-cyhalothrin - EU AIR5 - MCA Section 5 - Toxicology.pdf
4 Country Specific No Yes Syngenta Lambda-cyhalothrin - EU AIR5 - LCA Section 5 Reference List (1).doc English PP321 Summary / Overview TRUE All Internal Users, Syngenta Read Only Restricted, Syngenta Read Only Non Restricted 16/07/2019 Lambda-cyhalothrin - EU AIR5 - LCA Section 5 Reference List PI0015818 0 OECD Tier 1 Summary 0 12/09/2020 15:48 CEST Syngenta Crop Protection AG (Switzerland) Yes Final SmartDoc - EAME 0 IT-615436 VV-729844 N/A PP321_12084 S Ellis No 0 0 0 1.0|CURRENT 090100b881afde20 Syngenta Crop Protection AG (Switzerland) Syngenta Crop Protection AG Original Internal Use Only 090100b881afde20 0 Sonia Ellis Syngenta Crop Protection AG (Switzerland) European Union General Lifecycle 40037_848582 Lambda-cyhalothrin - EU AIR5 - LCA Section 5 Reference List 147 Summary / Assessment No 090100b881afde20 (cv) CP Vault Support 0 No 24/02/2021 15:20 CET Vault Migration NA Reg Ops, Global Reg Ops, EAME Reg Ops, PS Ops, Syngenta Business Administrator, Berangere Sochard, Paul Parsons Vault Migration application/msword Toxicology 2 PP321 0 No PI0015818 No 40037_848582_2001744 No 01/09/2020 Tox No 0 0 Syngenta Crop Protection AG Ellis Sonia 651264 No eb0fdf698b528b67f54635395ec7fb52 29/11/2019 08:47 CET 0 Lambda-cyhalothrin - EU AIR5 - LCA Section 5 Reference List.pdf
5 Country Specific No Yes Syngenta Lambda-cyhalothrin - EU AIR5 - LCA Section 4 Reference List (5).doc English PP321 Summary / Overview TRUE All Internal Users, Syngenta Read Only Restricted, Syngenta Read Only Non Restricted 16/07/2019 Lambda-cyhalothrin - EU AIR5 - LCA Section 4 Reference List PI0015818 0 OECD Tier 1 Summary 0 21/09/2020 15:21 CEST Syngenta Crop Protection AG (Switzerland) Yes Final SmartDoc - EAME 0 IT-618210 VV-729843 N/A PP321_12083 S Ellis No 0 0 0 1.0|CURRENT 090100b881afde1f Syngenta Crop Protection AG (Switzerland) Syngenta Crop Protection AG Original Internal Use Only 090100b881afde1f 0 Sonia Ellis Syngenta Crop Protection AG (Switzerland) European Union General Lifecycle 40037_848581 Lambda-cyhalothrin - EU AIR5 - LCA Section 4 Reference List 151 Summary / Assessment No 090100b881afde1f (cv) CP Vault Support 0 No 24/02/2021 15:20 CET Vault Migration EAME Reg Ops, Global Reg Ops, PS Ops, Syngenta Business Administrator, NA Reg Ops, Berangere Sochard, Melanie Bottoms, Dan Pickford, Lynda Farrelly Vault Migration application/msword Chemistry - Regulatory 2 PP321 0 No PI0015818 No 40037_848581_2003177 No 01/09/2020 Chem - Analytical Methods No 0 0 Syngenta Crop Protection AG Ellis Sonia 699392 No 2c476f477f6e2b55ecb537683f5d1cee 29/11/2019 08:47 CET 0 Lambda-cyhalothrin - EU AIR5 - LCA Section 4 Reference List.pdf

View File

@ -1,3 +1,14 @@
node_modules/
.idea/
dist/
.angular
.husky
.editorconfig
.dockerignore
.eslintignore
.eslintrc.json
.gitignore
.prettierignore
.prettierrc
renovate.json
Running

View File

@ -19,7 +19,7 @@ ij_typescript_use_double_quotes = false
ij_typescript_enforce_trailing_comma = keep
ij_typescript_spaces_within_imports = true
[{*.json, .prettierrc, .eslintrc}]
[{*.json,.prettierrc,.eslintrc}]
indent_size = 2
tab_width = 2
ij_json_array_wrapping = off

View File

@ -5,3 +5,6 @@ dist
coverage
node_modules
bamboo-specs
docker
paligo-styles
paligo-theme

View File

@ -1,46 +1,10 @@
{
"root": true,
"ignorePatterns": ["**/*"],
"plugins": ["@nx"],
"overrides": [
{
"files": ["*.ts"],
"rules": {
"@nx/enforce-module-boundaries": [
"error",
{
"enforceBuildableLibDependency": true,
"allow": [
"@services/**",
"@components/**",
"@guards/**",
"@users/**",
"@i18n/**",
"@utils/**",
"@models/**",
"@environments/**",
"@shared/**",
"@upload-download/**",
"@translations/**"
],
"depConstraints": [
{
"sourceTag": "*",
"onlyDependOnLibsWithTags": ["*"]
}
]
}
]
}
},
{
"files": ["*.ts"],
"extends": ["plugin:@nx/typescript"]
},
{
"files": ["*.ts"],
"extends": [
"plugin:@nx/angular",
"eslint:recommended",
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates",
@ -51,7 +15,8 @@
"project": "./tsconfig.json"
},
"rules": {
"rxjs/no-ignored-subscription": "error",
"rxjs/no-ignored-subscription": "warn",
"@angular-eslint/prefer-standalone": "off",
"@angular-eslint/no-conflicting-lifecycle": "error",
"@angular-eslint/no-host-metadata-property": "error",
"@angular-eslint/no-input-rename": "error",
@ -73,13 +38,13 @@
"@typescript-eslint/indent": "off",
"@typescript-eslint/lines-between-class-members": "off",
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/explicit-member-accessibility": [
"error",
{
"accessibility": "no-public"
}
],
"@typescript-eslint/member-ordering": "warn",
"@typescript-eslint/naming-convention": [
"error",
{
@ -101,7 +66,7 @@
"selector": "memberLike",
"modifiers": ["protected"],
"format": ["camelCase"],
"leadingUnderscore": "require"
"leadingUnderscore": "allow"
},
{
"selector": "memberLike",
@ -133,6 +98,108 @@
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/unbound-method": "off",
"@typescript-eslint/restrict-template-expressions": "off",
"@typescript-eslint/member-ordering": [
"warn",
{
"default": [
"signature",
"call-signature",
"#private-static-field",
"private-static-field",
"protected-static-field",
"public-static-field",
"#private-instance-field",
"private-instance-field",
"protected-instance-field",
"public-instance-field",
"private-decorated-field",
"protected-decorated-field",
"public-decorated-field",
"protected-abstract-field",
"public-abstract-field",
"#private-field",
"private-field",
"protected-field",
"public-field",
"static-field",
"instance-field",
"abstract-field",
"decorated-field",
"field",
"static-initialization",
"public-constructor",
"protected-constructor",
"private-constructor",
"constructor",
"public-static-get",
"protected-static-get",
"private-static-get",
"#private-static-get",
"public-decorated-get",
"protected-decorated-get",
"private-decorated-get",
"public-instance-get",
"protected-instance-get",
"private-instance-get",
"#private-instance-get",
"public-abstract-get",
"protected-abstract-get",
"public-get",
"protected-get",
"private-get",
"#private-get",
"static-get",
"instance-get",
"abstract-get",
"decorated-get",
"get",
"public-static-set",
"protected-static-set",
"private-static-set",
"#private-static-set",
"public-decorated-set",
"protected-decorated-set",
"private-decorated-set",
"public-instance-set",
"protected-instance-set",
"private-instance-set",
"#private-instance-set",
"public-abstract-set",
"protected-abstract-set",
"public-set",
"protected-set",
"private-set",
"#private-set",
"static-set",
"instance-set",
"abstract-set",
"decorated-set",
"set",
"public-static-method",
"protected-static-method",
"private-static-method",
"#private-static-method",
"public-decorated-method",
"protected-decorated-method",
"private-decorated-method",
"public-instance-method",
"protected-instance-method",
"private-instance-method",
"#private-instance-method",
"public-abstract-method",
"protected-abstract-method",
"public-method",
"protected-method",
"private-method",
"#private-method",
"static-method",
"instance-method",
"abstract-method",
"decorated-method",
"method"
]
}
],
"arrow-body-style": "error",
"arrow-parens": ["error", "as-needed"],
"constructor-super": "error",
@ -182,7 +249,7 @@
},
{
"files": ["*.html"],
"extends": ["plugin:@nx/angular-template", "plugin:@angular-eslint/template/recommended"]
"extends": ["plugin:@angular-eslint/template/recommended"]
},
{
"files": ["*.html"],

3
.gitignore vendored
View File

@ -18,6 +18,7 @@
*.launch
.settings/
*.sublime-workspace
redaction.iml
# IDE - VSCode
.vscode/*
@ -41,9 +42,9 @@ testem.log
.DS_Store
Thumbs.db
version.properties
paligo-styles/style.css*
migrations.json
*.iml
/.nx/

63
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,63 @@
variables:
GIT_SUBMODULE_STRATEGY: recursive
GIT_SUBMODULE_FORCE_HTTPS: 'true'
PROJECT: red-ui
DOCKERFILELOCATION: 'docker/$PROJECT/Dockerfile'
include:
- project: 'gitlab/gitlab'
ref: 'main'
file: 'ci-templates/docker_build_nexus_v2.yml'
rules:
- if: $CI_PIPELINE_SOURCE != "schedule"
sonarqube:
stage: test
image:
name: sonarsource/sonar-scanner-cli:11.1
entrypoint:
- ''
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"
GIT_DEPTH: '0'
cache:
key: "${CI_JOB_NAME}"
paths:
- ".sonar/cache"
script:
- sonar-scanner
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH"
- if: "$CI_COMMIT_BRANCH =~ /^release/"
localazy update:
image: node:20.5
cache:
- key:
files:
- yarn.lock
paths:
- .yarn-cache/
script:
# - git config user.email "${CI_EMAIL}"
# - git config user.name "${CI_USERNAME}"
# - git remote add gitlab_origin https://${CI_USERNAME}:${CI_ACCESS_TOKEN}@gitlab.knecon.com/redactmanager/red-ui.git
- git push https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.knecon.com/redactmanager/red-ui.git
- cd tools/localazy
- yarn install --cache-folder .yarn-cache
- yarn start
- cd ../..
- git add .
- |-
CHANGES=$(git status --porcelain | wc -l)
if [ "$CHANGES" -gt "0" ]
then
git status
git commit -m "push back localazy update"
git push gitlab_origin HEAD:${CI_COMMIT_REF_NAME}
# git push https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.knecon.com/redactmanager/red-ui.git
# git push
fi
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "libs/common-ui"]
path = libs/common-ui
url = ssh://git@git.iqser.com:2222/sl/common-ui.git
url = ../../fforesight/shared-ui-libraries/common-ui.git

View File

@ -2,13 +2,12 @@
### To Create a new Stack in rancher check [this Wiki page](https://wiki.iqser.com/pages/viewpage.action?spaceKey=RED&title=Work+with+kubectl)
## Code style
# Dependencies update guide
* When updating @pdftron/webviewer, make sure to change the version also in the angular.json and everywhere where the path to /assets/wv-recources is used
* Make sure the keycloak.js version is the same with the keycloak version from helm chart
* Always use `trackBy` in `*ngFor` loops (see shorthand below)
```typescript
readonly trackBy = trackByFactory();
```
* Don't use `setInterval` without calling `clearInterval` in `ngOnDestroy`
## Code style
* Don't use `setInterval` without calling `clearInterval` in `ngOnDestroy` or in `destroyRef.onDestroy(() => clearInterval(intervalId))`
* Never call getters in HTML templates
## Keycloak Staging Config

133
angular.json Normal file
View File

@ -0,0 +1,133 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"cli": {
"packageManager": "yarn",
"schematicCollections": ["@angular-eslint/schematics"],
"analytics": "2bccdff1-3aff-4f10-b233-211065aa25d9"
},
"newProjectRoot": "projects",
"projects": {
"red-ui": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss",
"skipTests": true
},
"@schematics/angular:class": {
"skipTests": true
},
"@schematics/angular:directive": {
"skipTests": true
},
"@schematics/angular:guard": {
"skipTests": true
},
"@schematics/angular:pipe": {
"skipTests": true
},
"@schematics/angular:service": {
"skipTests": true
}
},
"root": "",
"sourceRoot": "apps/red-ui/src",
"prefix": "redaction",
"targets": {
"build": {
"builder": "@angular/build:application",
"options": {
"outputPath": {
"base": "dist/apps/red-ui"
},
"index": "apps/red-ui/src/index.html",
"polyfills": ["apps/red-ui/src/polyfills.ts"],
"tsConfig": "tsconfig.json",
"baseHref": "/ui/",
"assets": [
"apps/red-ui/src/favicon.ico",
{
"glob": "**/*",
"input": "node_modules/@pdftron/webviewer/public/",
"output": "/assets/wv-resources/11.1.0/"
},
{
"glob": "**/*",
"input": "apps/red-ui/src/assets/",
"output": "/assets/"
},
{
"glob": "**/*",
"input": "libs/common-ui/src/assets/",
"output": "/assets/"
},
{
"glob": "**/*",
"input": "node_modules/monaco-editor",
"output": "/assets/monaco-editor/"
},
"apps/red-ui/src/manifest.webmanifest"
],
"styles": ["apps/red-ui/src/styles.scss", "libs/common-ui/src/assets/styles/common-styles.scss"],
"stylePreprocessorOptions": {
"includePaths": ["./apps/red-ui/src/assets/styles", "./libs/common-ui/src/assets/styles"]
},
"scripts": ["node_modules/chart.js/auto/auto.cjs"],
"extractLicenses": false,
"sourceMap": true,
"optimization": false,
"namedChunks": true,
"browser": "apps/red-ui/src/main.ts"
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "apps/red-ui/src/environments/environment.ts",
"with": "apps/red-ui/src/environments/environment.prod.ts"
}
],
"optimization": {
"scripts": true,
"styles": {
"minify": true,
"inlineCritical": false
},
"fonts": true
},
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"extractLicenses": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "20kb"
}
],
"serviceWorker": "ngsw-config.json"
}
}
},
"serve": {
"builder": "@angular/build:dev-server",
"options": {
"buildTarget": "red-ui:build"
},
"configurations": {
"production": {
"buildTarget": "red-ui:build:production"
}
}
}
}
}
}
}

View File

@ -1,22 +0,0 @@
{
"extends": ["../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["**/*.ts"],
"parser": "@typescript-eslint/parser",
"extends": ["plugin:@typescript-eslint/recommended"],
"rules": {
"@typescript-eslint/no-unsafe-return": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/unbound-method": "off",
"@typescript-eslint/no-misused-promises": "off",
"@typescript-eslint/no-floating-promises": "off"
}
}
]
}

View File

@ -1,26 +0,0 @@
import type { Config } from 'jest';
import { defaults } from 'jest-config';
export default {
...defaults,
displayName: 'red-ui',
preset: '../../jest.preset.js',
setupFilesAfterEnv: ['jest-preset-angular/setup-jest.js', 'jest-extended/all'],
coverageDirectory: '../../coverage/apps/angular-jest',
transform: {
'^.+\\.(ts|mjs|js|html)$': [
'jest-preset-angular',
{
tsconfig: '../../tsconfig.spec.json',
stringifyContentPathRegex: '\\.(html|svg)$',
},
],
},
testEnvironment: 'jest-environment-jsdom',
transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',
'jest-preset-angular/build/serializers/html-comment',
],
} as Config;

View File

@ -1,132 +0,0 @@
{
"name": "red-ui",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"projectType": "application",
"generators": {
"@schematics/angular:component": {
"style": "scss",
"skipTests": true
},
"@schematics/angular:class": {
"skipTests": true
},
"@schematics/angular:directive": {
"skipTests": true
},
"@schematics/angular:guard": {
"skipTests": true
},
"@schematics/angular:pipe": {
"skipTests": true
},
"@schematics/angular:service": {
"skipTests": true
}
},
"sourceRoot": "apps/red-ui/src",
"prefix": "redaction",
"targets": {
"build": {
"executor": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/apps/red-ui",
"index": "apps/red-ui/src/index.html",
"main": "apps/red-ui/src/main.ts",
"polyfills": "apps/red-ui/src/polyfills.ts",
"tsConfig": "apps/red-ui/tsconfig.json",
"baseHref": "/ui/",
"assets": [
"apps/red-ui/src/favicon.ico",
{
"glob": "**/*",
"input": "node_modules/@pdftron/webviewer/public/",
"output": "/assets/wv-resources/"
},
{
"glob": "**/*",
"input": "apps/red-ui/src/assets/",
"output": "/assets/"
},
{
"glob": "**/*",
"input": "libs/common-ui/src/assets/",
"output": "/assets/"
},
{
"glob": "**/*",
"input": "node_modules/monaco-editor",
"output": "/assets/monaco-editor/"
},
"apps/red-ui/src/manifest.webmanifest"
],
"styles": ["apps/red-ui/src/styles.scss", "libs/common-ui/src/assets/styles/common-styles.scss"],
"stylePreprocessorOptions": {
"includePaths": ["./apps/red-ui/src/assets/styles", "./libs/common-ui/src/assets/styles"]
},
"scripts": ["node_modules/@pdftron/webviewer/webviewer.min.js"],
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"sourceMap": true,
"optimization": false,
"namedChunks": true
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "apps/red-ui/src/environments/environment.ts",
"with": "apps/red-ui/src/environments/environment.prod.ts"
}
],
"optimization": {
"scripts": true,
"styles": {
"minify": true,
"inlineCritical": false
},
"fonts": true
},
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "20kb"
}
],
"serviceWorker": true,
"ngswConfigPath": "apps/red-ui/ngsw-config.json"
}
},
"outputs": ["{options.outputPath}"]
},
"serve": {
"executor": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "red-ui:build"
},
"configurations": {
"production": {
"browserTarget": "red-ui:build:production"
}
}
},
"extract-i18n": {
"executor": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "red-ui:build"
}
}
}
}

View File

@ -1,42 +1,36 @@
import { AuthErrorComponent } from '@components/auth-error/auth-error.component';
import {
CompositeRouteGuard,
CustomRouteReuseStrategy,
DEFAULT_REDIRECT_KEY,
ifLoggedIn,
ifNotLoggedIn,
IqserAuthGuard,
IqserPermissionsGuard,
IqserRoutes,
TenantSelectComponent,
} from '@iqser/common-ui';
import { RedRoleGuard } from '@users/red-role.guard';
import { BaseScreenComponent } from '@components/base-screen/base-screen.component';
import { RouteReuseStrategy, RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
import { RouteReuseStrategy, RouterModule } from '@angular/router';
import { ifNotLoggedIn } from '@common-ui/tenants/guards/if-not-logged-in.guard';
import { BaseScreenComponent } from '@components/base-screen/base-screen.component';
import { DownloadsListScreenComponent } from '@components/downloads-list-screen/downloads-list-screen.component';
import { DossiersGuard } from '@guards/dossiers.guard';
import { ACTIVE_DOSSIERS_SERVICE, ARCHIVED_DOSSIERS_SERVICE } from './tokens';
import { FeaturesGuard } from '@guards/features-guard.service';
import { DossierTemplatesGuard } from '@guards/dossier-templates.guard';
import { templateExistsWhenEnteringDossierList } from '@guards/dossier-template-exists.guard';
import { DashboardGuard } from '@guards/dashboard-guard.service';
import { TrashGuard } from '@guards/trash.guard';
import { ARCHIVE_ROUTE, BreadcrumbTypes, DOSSIER_ID, DOSSIER_TEMPLATE_ID, DOSSIERS_ARCHIVE, DOSSIERS_ROUTE, FILE_ID } from '@red/domain';
import { DossierFilesGuard } from '@guards/dossier-files-guard';
import { WebViewerLoadedGuard } from './modules/pdf-viewer/services/webviewer-loaded.guard';
import { ROLES } from '@users/roles';
import { mainResolver } from '@utils/main.resolver';
import { templateExistsWhenEnteringDossierList } from '@guards/dossier-template-exists.guard';
import { DossierTemplatesGuard } from '@guards/dossier-templates.guard';
import { loadActiveDossiersGuard, loadAllDossiersGuard, loadArchivedDossiersGuard } from '@guards/dossiers.guard';
import { isNotEditingFileAttributeGuard } from '@guards/file-attribute.guard';
import { FeaturesGuard } from '@guards/features-guard.service';
import { ifLoggedIn } from '@guards/if-logged-in.guard';
import { TrashGuard } from '@guards/trash.guard';
import { CompositeRouteGuard, DEFAULT_REDIRECT_KEY, IqserPermissionsGuard, IqserRoutes, orderedAsyncGuards } from '@iqser/common-ui';
import { TenantSelectComponent } from '@iqser/common-ui/lib/tenants';
import { doesNotHaveAnyRole, hasAnyRole, IqserAuthGuard } from '@iqser/common-ui/lib/users';
import { CustomRouteReuseStrategy } from '@iqser/common-ui/lib/utils';
import { ARCHIVE_ROUTE, BreadcrumbTypes, DOSSIER_ID, DOSSIER_TEMPLATE_ID, DOSSIERS_ROUTE, FILE_ID } from '@red/domain';
import { RedRoleGuard } from '@users/red-role.guard';
import { Roles } from '@users/roles';
import { mainGuard } from '@utils/main.guard';
import { webViewerLoadedGuard } from './modules/pdf-viewer/services/webviewer-loaded.guard';
import { ACTIVE_DOSSIERS_SERVICE } from './tokens';
import { AuthErrorComponent } from '@components/auth-error/auth-error.component';
const dossierTemplateIdRoutes: IqserRoutes = [
{
path: `${DOSSIERS_ROUTE}`,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
canActivate: [loadActiveDossiersGuard(), IqserPermissionsGuard],
data: {
routeGuards: [DossiersGuard],
dossiersService: ACTIVE_DOSSIERS_SERVICE,
permissions: {
allow: [ROLES.files.readStatus],
allow: [Roles.files.readStatus],
redirectTo: '/auth-error',
},
},
@ -44,36 +38,37 @@ const dossierTemplateIdRoutes: IqserRoutes = [
{
path: `:${DOSSIER_ID}`,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
canDeactivate: [isNotEditingFileAttributeGuard],
data: {
routeGuards: [DossierFilesGuard],
breadcrumbs: [BreadcrumbTypes.dossierTemplate, BreadcrumbTypes.dossier],
dossiersService: ACTIVE_DOSSIERS_SERVICE,
permissions: {
allow: [ROLES.dossierAttributes.read, ROLES.dossierAttributes.readConfig],
allow: [Roles.dossierAttributes.read, Roles.dossierAttributes.readConfig],
redirectTo: '/auth-error',
},
skeleton: 'dossier',
},
loadChildren: () => import('./modules/dossier-overview/dossier-overview.module').then(m => m.DossierOverviewModule),
loadChildren: () => import('./modules/dossier-overview/dossier-overview.routes'),
},
{
path: `:${DOSSIER_ID}/file/:${FILE_ID}`,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
canActivate: [CompositeRouteGuard, IqserPermissionsGuard, webViewerLoadedGuard()],
data: {
routeGuards: [DossierFilesGuard, WebViewerLoadedGuard],
routeGuards: [DossierFilesGuard],
breadcrumbs: [BreadcrumbTypes.dossierTemplate, BreadcrumbTypes.dossier, BreadcrumbTypes.file],
dossiersService: ACTIVE_DOSSIERS_SERVICE,
permissions: {
allow: [ROLES.readRedactionLog, ROLES.files.downloadOriginal, ROLES.highlights.read],
allow: [Roles.readRedactionLog, Roles.files.downloadOriginal, Roles.highlights.read],
redirectTo: '/auth-error',
},
},
loadChildren: () => import('./modules/file-preview/file-preview.module').then(m => m.FilePreviewModule),
loadChildren: () => import('./modules/file-preview/file-preview.routes'),
},
{
path: '',
pathMatch: 'full',
loadChildren: () => import('./modules/dossiers-listing/dossiers-listing.module').then(m => m.DossiersListingModule),
loadChildren: () => import('./modules/dossiers-listing/dossiers-listing.routes'),
data: {
breadcrumbs: [BreadcrumbTypes.dossierTemplate],
},
@ -82,12 +77,10 @@ const dossierTemplateIdRoutes: IqserRoutes = [
},
{
path: `${ARCHIVE_ROUTE}`,
loadChildren: () => import('./modules/archive/archive.module').then(m => m.ArchiveModule),
canActivate: [CompositeRouteGuard, WebViewerLoadedGuard],
loadChildren: () => import('./modules/archive/archive.routes'),
canActivate: [CompositeRouteGuard, loadArchivedDossiersGuard()],
data: {
routeGuards: [FeaturesGuard, DossiersGuard],
dossiersService: ARCHIVED_DOSSIERS_SERVICE,
features: [DOSSIERS_ARCHIVE],
routeGuards: [FeaturesGuard],
},
},
{
@ -105,34 +98,33 @@ const mainRoutes: IqserRoutes = [
},
{
path: 'account',
loadChildren: () => import('./modules/account/account.module').then(m => m.AccountModule),
loadChildren: () => import('./modules/account/account.routes'),
},
{
path: 'admin',
loadChildren: () => import('./modules/admin/admin.module').then(m => m.AdminModule),
loadChildren: () => import('./modules/admin/admin.routes'),
canActivate: [RedRoleGuard],
},
{
path: 'dashboard',
loadChildren: () => import('./modules/dashboard/dashboard.module').then(m => m.DashboardModule),
loadChildren: () => import('./modules/dashboard/dashboard.routes'),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard, IqserPermissionsGuard, DossierTemplatesGuard, DashboardGuard],
permissions: {
allow: [
ROLES.any,
ROLES.templates.read,
ROLES.fileAttributes.readConfig,
ROLES.watermarks.read,
ROLES.dictionaryTypes.read,
ROLES.colors.read,
ROLES.states.read,
ROLES.notifications.read,
Roles.any,
Roles.templates.read,
Roles.fileAttributes.readConfig,
Roles.dictionaryTypes.read,
Roles.colors.read,
Roles.states.read,
Roles.notifications.read,
'RED_USER',
],
redirectTo: {
RED_USER: '/main/admin',
[ROLES.templates.read]: '/main/admin',
[Roles.templates.read]: '/main/admin',
[DEFAULT_REDIRECT_KEY]: '/auth-error',
},
},
@ -147,32 +139,31 @@ const mainRoutes: IqserRoutes = [
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: ROLES.readDownloadStatus,
allow: Roles.readDownloadStatus,
redirectTo: '/auth-error',
},
},
},
{
path: 'search',
loadChildren: () => import('./modules/search/search.module').then(m => m.SearchModule),
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
loadComponent: () => import('./modules/search/search-screen/search-screen.component'),
canActivate: [CompositeRouteGuard, IqserPermissionsGuard, loadAllDossiersGuard()],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard, DossiersGuard],
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [ROLES.search],
allow: [Roles.search],
redirectTo: '/auth-error',
},
},
},
{
path: 'trash',
loadChildren: () => import('./modules/trash/trash.module').then(m => m.TrashModule),
loadChildren: () => import('./modules/trash/trash.routes'),
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard, DossiersGuard, TrashGuard],
dossiersService: ACTIVE_DOSSIERS_SERVICE,
routeGuards: [IqserAuthGuard, RedRoleGuard, TrashGuard],
permissions: {
allow: [ROLES.dossiers.read, ROLES.files.readStatus],
allow: [Roles.dossiers.read, Roles.files.readStatus],
redirectTo: '/auth-error',
},
},
@ -182,22 +173,21 @@ const mainRoutes: IqserRoutes = [
children: dossierTemplateIdRoutes,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard, templateExistsWhenEnteringDossierList()],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard, DossierTemplatesGuard, DashboardGuard],
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [
ROLES.any,
ROLES.templates.read,
ROLES.fileAttributes.readConfig,
ROLES.watermarks.read,
ROLES.dictionaryTypes.read,
ROLES.colors.read,
ROLES.states.read,
ROLES.notifications.read,
ROLES.dossiers.read,
Roles.any,
Roles.templates.read,
Roles.fileAttributes.readConfig,
Roles.dictionaryTypes.read,
Roles.colors.read,
Roles.states.read,
Roles.notifications.read,
Roles.dossiers.read,
'RED_USER',
],
redirectTo: {
[ROLES.any]: '/auth-error',
[Roles.any]: '/auth-error',
RED_USER: '/main/admin',
[DEFAULT_REDIRECT_KEY]: '/',
},
@ -210,27 +200,19 @@ const routes: IqserRoutes = [
{
path: '',
pathMatch: 'full',
canActivate: [ifNotLoggedIn],
canActivate: [ifNotLoggedIn()],
component: TenantSelectComponent,
},
{
path: ':tenant',
redirectTo: ':tenant/main',
pathMatch: 'full',
},
{
path: ':tenant/main',
canActivate: [ifLoggedIn],
path: 'main',
canActivate: [orderedAsyncGuards([ifLoggedIn(), hasAnyRole(), mainGuard()])],
component: BaseScreenComponent,
resolve: {
whateverThisMainRouteNeeds: mainResolver,
},
children: mainRoutes,
},
{
path: ':tenant/auth-error',
path: 'auth-error',
component: AuthErrorComponent,
canActivate: [IqserAuthGuard],
canActivate: [doesNotHaveAnyRole()],
},
{
path: '**',
@ -240,7 +222,13 @@ const routes: IqserRoutes = [
];
@NgModule({
imports: [RouterModule.forRoot(routes, { scrollPositionRestoration: 'enabled', bindToComponentInputs: true })],
imports: [
RouterModule.forRoot(routes, {
scrollPositionRestoration: 'enabled',
bindToComponentInputs: true,
paramsInheritanceStrategy: 'always',
}),
],
providers: [{ provide: RouteReuseStrategy, useExisting: CustomRouteReuseStrategy }],
exports: [RouterModule],
})

View File

@ -3,3 +3,13 @@
<iqser-full-page-loading-indicator></iqser-full-page-loading-indicator>
<iqser-connection-status></iqser-connection-status>
<iqser-full-page-error></iqser-full-page-error>
<iqser-skeleton [templates]="{ dashboard: dashboardSkeleton, dossier: dossierSkeleton }"></iqser-skeleton>
<ng-template #dashboardSkeleton>
<redaction-dashboard-skeleton></redaction-dashboard-skeleton>
</ng-template>
<ng-template #dossierSkeleton>
<redaction-dossier-skeleton></redaction-dossier-skeleton>
</ng-template>

View File

@ -1,34 +1,32 @@
import { Component, inject, OnDestroy, Renderer2, ViewContainerRef } from '@angular/core';
import { Component, Renderer2, ViewContainerRef } from '@angular/core';
import { RouterHistoryService } from '@services/router-history.service';
import { DOCUMENT } from '@angular/common';
import { UserPreferenceService } from '@users/user-preference.service';
import { getConfig } from '@iqser/common-ui';
import { AppConfig } from '@red/domain';
import { ActivatedRoute, ParamMap, Router } from '@angular/router';
import { Subscription } from 'rxjs';
import { NavigationEnd, Router } from '@angular/router';
import { filter, map, switchMap, take, tap } from 'rxjs/operators';
import { APP_TYPE_PATHS } from '@common-ui/utils/constants';
import { MatIconRegistry } from '@angular/material/icon';
import { DomSanitizer } from '@angular/platform-browser';
import { TenantsService } from '@common-ui/tenants';
function loadCustomTheme() {
const cssFileName = getConfig<AppConfig>().THEME;
if (cssFileName) {
const head = document.getElementsByTagName('head')[0];
const link = document.createElement('link');
link.id = cssFileName;
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'assets/styles/themes/' + cssFileName + '.css';
link.media = 'all';
head.appendChild(link);
}
export function loadCustomTheme(cssFileName: string) {
const head = document.getElementsByTagName('head')[0];
const link = document.createElement('link');
link.id = cssFileName;
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = 'assets/styles/themes/' + cssFileName + '.css';
link.media = 'all';
head.appendChild(link);
}
@Component({
selector: 'redaction-root',
templateUrl: './app.component.html',
standalone: false,
})
export class AppComponent implements OnDestroy {
readonly #subscription = new Subscription();
export class AppComponent {
constructor(
/** ViewContainerRef needs to be injected for the color picker to work */
readonly viewContainerRef: ViewContainerRef,
@ -37,28 +35,51 @@ export class AppComponent implements OnDestroy {
userPreferenceService: UserPreferenceService,
renderer: Renderer2,
private readonly _router: Router,
route: ActivatedRoute,
private readonly _iconRegistry: MatIconRegistry,
private readonly _sanitizer: DomSanitizer,
private readonly _tenantsService: TenantsService,
) {
renderer.addClass(inject(DOCUMENT).body, userPreferenceService.getTheme());
loadCustomTheme();
const sub = route.queryParamMap.subscribe(queryParams => this.#navigate(queryParams));
this.#subscription.add(sub);
const config = getConfig<AppConfig>();
renderer.addClass(document.body, userPreferenceService.getTheme());
const removeQueryParams = _router.events.pipe(
filter((event): event is NavigationEnd => event instanceof NavigationEnd),
map(event => event.urlAfterRedirects),
filter(url => url.includes('code=') || url.includes('state=') || url.includes('session_state=')),
switchMap(() => this.#removeKeycloakQueryParams()),
take(1),
);
removeQueryParams.subscribe();
this._tenantsService
.waitForSettingTenant()
.pipe(
tap(() => {
const isDocumine = this._tenantsService.activeTenant.documine;
const logo = isDocumine ? 'documine' : 'redaction';
_iconRegistry.addSvgIconInNamespace(
'iqser',
'logo',
_sanitizer.bypassSecurityTrustResourceUrl(`/assets/icons/general/${logo}-logo.svg`),
);
if (isDocumine) {
document.getElementById('favicon').setAttribute('href', 'assets/icons/documine-logo.ico');
}
loadCustomTheme(isDocumine ? APP_TYPE_PATHS.SCM : APP_TYPE_PATHS.REDACT);
}),
take(1),
)
.subscribe();
}
ngOnDestroy() {
this.#subscription.unsubscribe();
}
#navigate(queryParams: ParamMap) {
if (queryParams.has('code') || queryParams.has('state') || queryParams.has('session_state')) {
return this._router.navigate([], {
queryParams: {
state: null,
session_state: null,
code: null,
},
queryParamsHandling: 'merge',
});
}
#removeKeycloakQueryParams() {
return this._router.navigate([], {
queryParams: {
state: null,
session_state: null,
code: null,
},
queryParamsHandling: 'merge',
});
}
}

View File

@ -1,75 +1,80 @@
import { BrowserModule } from '@angular/platform-browser';
import { ENVIRONMENT_INITIALIZER, ErrorHandler, inject, NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { APP_BASE_HREF, DatePipe as BaseDatePipe } from '@angular/common';
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { ErrorHandler, inject, NgModule, provideEnvironmentInitializer } from '@angular/core';
import { MatDividerModule } from '@angular/material/divider';
import { MatIcon } from '@angular/material/icon';
import { MatMenu, MatMenuContent, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
import { MatProgressSpinner } from '@angular/material/progress-spinner';
import { MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltip } from '@angular/material/tooltip';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { ServiceWorkerModule } from '@angular/service-worker';
import { ChevronButtonComponent } from '@common-ui/buttons/chevron-button';
import { EmptyStateComponent } from '@common-ui/empty-state';
import { HelpModeKey } from '@common-ui/help-mode/types';
import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component';
import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component';
import { GET_TENANT_FROM_PATH_FN, UI_ROOT } from '@common-ui/utils';
import { AuthErrorComponent } from '@components/auth-error/auth-error.component';
import { BaseScreenComponent } from '@components/base-screen/base-screen.component';
import { MissingTranslationHandler } from '@ngx-translate/core';
import { BreadcrumbsComponent } from '@components/breadcrumbs/breadcrumbs.component';
import { DownloadsListScreenComponent } from '@components/downloads-list-screen/downloads-list-screen.component';
import { NotificationsComponent } from '@components/notifications/notifications.component';
import { DashboardSkeletonComponent } from '@components/skeleton/dashboard-skeleton/dashboard-skeleton.component';
import { DossierSkeletonComponent } from '@components/skeleton/dossier-skeleton/dossier-skeleton.component';
import { SkeletonStatsComponent } from '@components/skeleton/skeleton-stats/skeleton-stats.component';
import { SkeletonTopBarComponent } from '@components/skeleton/skeleton-top-bar/skeleton-top-bar.component';
import { SpotlightSearchComponent } from '@components/spotlight-search/spotlight-search.component';
import { TenantsMenuComponent } from '@components/tenants-menu/tenants-menu.component';
import { UserMenuComponent } from '@components/user-menu/user-menu.component';
import { environment } from '@environments/environment';
import {
CachingModule,
CircleButtonComponent,
CommonUiModule,
EmptyStateComponent,
HelpModeKey,
HelpButtonComponent,
HelpModeComponent,
HiddenActionDirective,
IconButtonComponent,
InputWithActionComponent,
IqserAllowDirective,
IqserDenyDirective,
IqserHelpModeModule,
IqserListingModule,
IqserLoadingModule,
IqserTranslateModule,
IqserUsersModule,
LanguageService,
LogoComponent,
MAX_RETRIES_ON_SERVER_ERROR,
RoundCheckboxComponent,
SERVER_ERROR_SKIP_PATHS,
ServerErrorInterceptor,
SkeletonComponent,
StopPropagationDirective,
TenantPipe,
TenantsModule,
ToastComponent,
} from '@iqser/common-ui';
import { ToastrModule } from 'ngx-toastr';
import { ServiceWorkerModule } from '@angular/service-worker';
import { environment } from '@environments/environment';
import { AuthErrorComponent } from '@components/auth-error/auth-error.component';
import { NotificationsComponent } from '@components/notifications/notifications.component';
import { DashboardSkeletonComponent } from '@components/skeleton/dashboard-skeleton/dashboard-skeleton.component';
import { DownloadsListScreenComponent } from '@components/downloads-list-screen/downloads-list-screen.component';
import { AppRoutingModule } from './app-routing.module';
import { SharedModule } from '@shared/shared.module';
import { FileUploadDownloadModule } from '@upload-download/file-upload-download.module';
import { DatePipe as BaseDatePipe } from '@angular/common';
import { ACTIVE_DOSSIERS_SERVICE, ARCHIVED_DOSSIERS_SERVICE } from './tokens';
import { CommonUiModule } from '@iqser/common-ui/lib/common-ui.module';
import { provideHelpMode } from '@iqser/common-ui/lib/help-mode/utils/help-mode.provider';
import { LogoComponent, SkeletonComponent, ToastComponent } from '@iqser/common-ui/lib/shared';
import { TenantsModule } from '@iqser/common-ui/lib/tenants';
import { InitialsAvatarComponent, IqserUsersModule } from '@iqser/common-ui/lib/users';
import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
import { GlobalErrorHandler } from '@services/global-error-handler.service';
import { REDMissingTranslationHandler } from '@utils/missing-translations-handler';
import { TranslateModule } from '@ngx-translate/core';
import { AppConfig, ILoggerConfig } from '@red/domain';
import { ConfigService } from '@services/config.service';
import { SpotlightSearchComponent } from '@components/spotlight-search/spotlight-search.component';
import { DatePipe } from '@shared/pipes/date.pipe';
import * as helpModeKeys from '../assets/help-mode/help-mode-keys.json';
import { BreadcrumbsComponent } from '@components/breadcrumbs/breadcrumbs.component';
import { UserPreferenceService } from '@users/user-preference.service';
import { UserService } from '@users/user.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { ArchivedDossiersService } from '@services/dossiers/archived-dossiers.service';
import { MAT_TOOLTIP_DEFAULT_OPTIONS } from '@angular/material/tooltip';
import { LoggerModule, NgxLoggerLevel, TOKEN_LOGGER_CONFIG, TOKEN_LOGGER_RULES_SERVICE } from 'ngx-logger';
import { GlobalErrorHandler } from '@services/global-error-handler.service';
import { LoggerRulesService } from '@services/logger-rules.service';
import { AppConfig, ILoggerConfig } from '@red/domain';
import { PdfViewerModule } from './modules/pdf-viewer/pdf-viewer.module';
import { UI_CACHES } from '@utils/constants';
import { provideCustomDateFormatter } from '@shared/custom-date-formatting.provider';
import { NavigateLastDossiersScreenDirective } from '@shared/directives/navigate-last-dossiers-screen.directive';
import { DatePipe } from '@shared/pipes/date.pipe';
import { RedRoleGuard } from '@users/red-role.guard';
import { SkeletonTopBarComponent } from '@components/skeleton/skeleton-top-bar/skeleton-top-bar.component';
import { DossierSkeletonComponent } from '@components/skeleton/dossier-skeleton/dossier-skeleton.component';
import { SkeletonStatsComponent } from '@components/skeleton/skeleton-stats/skeleton-stats.component';
import { UserMenuComponent } from '@components/user-menu/user-menu.component';
import { TenantsMenuComponent } from '@components/tenants-menu/tenants-menu.component';
import { MatDividerModule } from '@angular/material/divider';
import { UserPreferenceService } from '@users/user-preference.service';
import { UserService } from '@users/user.service';
import { UI_CACHES } from '@utils/constants';
import { ColorPickerService } from 'ngx-color-picker';
import { LoggerModule, NGXLogger, NgxLoggerLevel, TOKEN_LOGGER_CONFIG, TOKEN_LOGGER_RULES_SERVICE } from 'ngx-logger';
import { ToastrModule } from 'ngx-toastr';
import helpModeKeys from '../assets/help-mode/help-mode-keys.json';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { IconsModule } from './modules/icons/icons.module';
import { PdfViewerModule } from './modules/pdf-viewer/pdf-viewer.module';
import { ACTIVE_DOSSIERS_SERVICE, ARCHIVED_DOSSIERS_SERVICE } from './tokens';
export const appModuleFactory = (config: AppConfig) => {
@NgModule({
@ -91,8 +96,6 @@ export const appModuleFactory = (config: AppConfig) => {
imports: [
BrowserModule,
BrowserAnimationsModule,
SharedModule,
FileUploadDownloadModule,
AppRoutingModule,
MonacoEditorModule,
CommonUiModule.forRoot({
@ -105,7 +108,6 @@ export const appModuleFactory = (config: AppConfig) => {
existingRoleGuard: RedRoleGuard,
}),
CachingModule.forRoot(UI_CACHES),
IqserHelpModeModule.forRoot(helpModeKeys as HelpModeKey[]),
PdfViewerModule,
ToastrModule.forRoot({
closeButton: true,
@ -115,7 +117,7 @@ export const appModuleFactory = (config: AppConfig) => {
resetTimeoutOnDuplicate: true,
}),
TenantsModule.forRoot(),
IqserTranslateModule.forRoot({ pathPrefix: config.BASE_TRANSLATIONS_DIRECTORY || '/assets/i18n/redact/' }),
IqserTranslateModule.forRoot({ pathPrefix: config.BASE_TRANSLATIONS_DIRECTORY }),
IqserLoadingModule.forRoot(),
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }),
LoggerModule.forRoot(undefined, {
@ -139,6 +141,12 @@ export const appModuleFactory = (config: AppConfig) => {
FILTERS: {
enabled: false,
},
TENANTS: {
enabled: false,
},
ROUTES: {
enabled: false,
},
PDF: {
enabled: false,
},
@ -151,6 +159,21 @@ export const appModuleFactory = (config: AppConfig) => {
STATS: {
enabled: false,
},
REDACTION_LOG: {
enabled: true,
},
VIEWED_PAGES: {
enabled: false,
},
PAGES: {
enabled: false,
},
DOSSIERS_CHANGES: {
enabled: false,
},
GUARDS: {
enabled: false,
},
},
} as ILoggerConfig,
},
@ -167,10 +190,40 @@ export const appModuleFactory = (config: AppConfig) => {
IqserDenyDirective,
IqserListingModule,
IconButtonComponent,
TenantPipe,
MatDividerModule,
ChevronButtonComponent,
InitialsAvatarComponent,
HelpModeComponent,
HelpButtonComponent,
MatMenuTrigger,
MatMenuItem,
MatIcon,
MatMenu,
MatMenuContent,
MatTooltip,
MatProgressSpinner,
IconsModule,
NavigateLastDossiersScreenDirective,
DatePipe,
TranslateModule,
],
providers: [
{
provide: UI_ROOT,
useValue: '/ui',
},
{
provide: APP_BASE_HREF,
useFactory: () => {
const uiRoot = inject(UI_ROOT);
const tenant = inject(GET_TENANT_FROM_PATH_FN)();
console.log(tenant);
const appBaseHref = uiRoot + '/' + tenant;
inject(NGXLogger).info('Provide APP_BASE_HREF:', appBaseHref);
return appBaseHref;
},
},
{
provide: HTTP_INTERCEPTORS,
multi: true,
@ -180,18 +233,10 @@ export const appModuleFactory = (config: AppConfig) => {
provide: ErrorHandler,
useClass: GlobalErrorHandler,
},
{
provide: ENVIRONMENT_INITIALIZER,
multi: true,
useValue: async () => {
const languageService = inject(LanguageService);
return languageService.setInitialLanguage();
},
},
{
provide: MissingTranslationHandler,
useClass: REDMissingTranslationHandler,
},
provideEnvironmentInitializer(async () => {
const languageService = inject(LanguageService);
return languageService.setInitialLanguage();
}),
{
provide: MAX_RETRIES_ON_SERVER_ERROR,
useFactory: () => config.MAX_RETRIES_ON_SERVER_ERROR,
@ -212,10 +257,14 @@ export const appModuleFactory = (config: AppConfig) => {
provide: MAT_TOOLTIP_DEFAULT_OPTIONS,
useValue: {
disableTooltipInteractivity: true,
showDelay: 1,
},
},
DatePipe,
BaseDatePipe,
DatePipe,
...provideCustomDateFormatter(),
...provideHelpMode(helpModeKeys as HelpModeKey[]),
ColorPickerService,
],
bootstrap: [AppComponent],
})

View File

@ -2,17 +2,17 @@
<p *ngIf="!adminName && !adminUrl" class="heading-xl" translate="auth-error.heading"></p>
<p
*ngIf="adminName && adminUrl"
[innerHTML]="'auth-error.heading-with-name-and-link' | translate : { adminName: adminName, adminUrl: adminUrl }"
[innerHTML]="'auth-error.heading-with-name-and-link' | translate: { adminName: adminName, adminUrl: adminUrl }"
class="heading-xl"
></p>
<p
*ngIf="adminName && !adminUrl"
[innerHTML]="'auth-error.heading-with-name' | translate : { adminName: adminName }"
[innerHTML]="'auth-error.heading-with-name' | translate: { adminName: adminName }"
class="heading-xl"
></p>
<p
*ngIf="!adminName && adminUrl"
[innerHTML]="'auth-error.heading-with-link' | translate : { adminName: adminName }"
[innerHTML]="'auth-error.heading-with-link' | translate: { adminName: adminName }"
class="heading-xl"
></p>
<a (click)="userService.logout()" translate="auth-error.logout"></a>

View File

@ -1,15 +1,18 @@
import { Component } from '@angular/core';
import { UserService } from '@users/user.service';
import { ConfigService } from '@services/config.service';
import { getConfig } from '@iqser/common-ui';
import { AppConfig } from '@red/domain';
@Component({
selector: 'redaction-auth-error',
templateUrl: './auth-error.component.html',
styleUrls: ['./auth-error.component.scss'],
standalone: false,
})
export class AuthErrorComponent {
adminName = this._configService.values.ADMIN_CONTACT_NAME;
adminUrl = this._configService.values.ADMIN_CONTACT_URL;
readonly #config = getConfig<AppConfig>();
readonly adminName = this.#config.ADMIN_CONTACT_NAME;
readonly adminUrl = this.#config.ADMIN_CONTACT_URL;
constructor(readonly userService: UserService, private readonly _configService: ConfigService) {}
constructor(readonly userService: UserService) {}
}

View File

@ -1,4 +1,4 @@
<iqser-help-mode *deny="roles.getRss"></iqser-help-mode>
<iqser-help-mode></iqser-help-mode>
<div class="top-bar">
<ng-template #menuPlaceholder>
@ -9,9 +9,9 @@
<redaction-breadcrumbs></redaction-breadcrumbs>
</div>
<a [matTooltip]="'top-bar.navigation-items.back-to-dashboard' | translate" [routerLink]="['/'] | tenant" class="logo">
<a [matTooltip]="'top-bar.navigation-items.back-to-dashboard' | translate" [routerLink]="['/main']" class="logo">
<div [attr.help-mode-key]="'home'" class="actions">
<iqser-logo (iqserHiddenAction)="userPreferenceService.toggleDevFeatures()" icon="red:logo"></iqser-logo>
<iqser-logo (iqserHiddenAction)="userPreferenceService.toggleDevFeatures()" icon="iqser:logo"></iqser-logo>
<div class="app-name">{{ titleService.getTitle() }}</div>
</div>
</a>
@ -21,11 +21,11 @@
<redaction-spotlight-search
*allow="roles.search; if: (isSearchScreen$ | async) === false && (currentUser.isUser || currentUser.isManager)"
[actions]="searchActions"
[attr.help-mode-key]="'search_in_entire_application'"
[attr.help-mode-key]="'search_entire_application'"
[placeholder]="'search.placeholder' | translate"
></redaction-spotlight-search>
<iqser-help-button *deny="roles.getRss" [attr.help-mode-key]="'help_mode'" id="help-mode-button"></iqser-help-button>
<iqser-help-button [dialogButton]="false"></iqser-help-button>
<redaction-notifications
*ngIf="currentUser.isUser || currentUser.isManager"
@ -36,23 +36,15 @@
<iqser-user-button [attr.help-mode-key]="'open_usermenu'" [matMenuTriggerFor]="userMenu" id="userMenu"></iqser-user-button>
<mat-menu #userMenu="matMenu" xPosition="before">
<app-user-menu></app-user-menu>
<ng-template matMenuContent>
<app-user-menu></app-user-menu>
</ng-template>
</mat-menu>
</div>
</div>
<div *ngIf="userPreferenceService.areDevFeaturesEnabled" class="dev-mode" translate="dev-mode"></div>
<div *ngIf="userPreferenceService.isIqserDevMode" class="dev-mode" translate="dev-mode"></div>
<router-outlet></router-outlet>
<redaction-pdf-viewer [style.visibility]="(documentViewer.loaded$ | async) ? 'visible' : 'hidden'"></redaction-pdf-viewer>
<iqser-skeleton [templates]="{ dashboard: dashboardSkeleton, dossier: dossierSkeleton }"></iqser-skeleton>
<ng-template #dashboardSkeleton>
<redaction-dashboard-skeleton></redaction-dashboard-skeleton>
</ng-template>
<ng-template #dossierSkeleton>
<redaction-dossier-skeleton></redaction-dossier-skeleton>
</ng-template>
<redaction-pdf-viewer [style.visibility]="documentViewer.loaded() ? 'visible' : 'hidden'"></redaction-pdf-viewer>

View File

@ -1,27 +1,29 @@
import { Component, inject } from '@angular/core';
import { UserService } from '@users/user.service';
import { UserPreferenceService } from '@users/user-preference.service';
import { NavigationStart, Router } from '@angular/router';
import { ActivatedRoute, NavigationStart, ParamMap, Router } from '@angular/router';
import { Title } from '@angular/platform-browser';
import { TranslateService } from '@ngx-translate/core';
import { SpotlightSearchAction } from '@components/spotlight-search/spotlight-search-action';
import { filter, map, startWith } from 'rxjs/operators';
import { BASE_HREF, IqserPermissionsService, List, shareDistinctLast, TenantsService } from '@iqser/common-ui';
import { getConfig, IqserPermissionsService } from '@iqser/common-ui';
import { BreadcrumbsService } from '@services/breadcrumbs.service';
import { FeaturesService } from '@services/features.service';
import { ARCHIVE_ROUTE, DOSSIERS_ARCHIVE, DOSSIERS_ROUTE } from '@red/domain';
import { ROLES } from '@users/roles';
import { ARCHIVE_ROUTE, DOSSIERS_ROUTE } from '@red/domain';
import { Roles } from '@users/roles';
import { REDDocumentViewer } from '../../modules/pdf-viewer/services/document-viewer.service';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { List, shareDistinctLast } from '@iqser/common-ui/lib/utils';
const isNavigationStart = event => event instanceof NavigationStart;
const isNavigationStart = (event: unknown): event is NavigationStart => event instanceof NavigationStart;
const isSearchScreen: (url: string) => boolean = url => url.includes('/search');
@Component({
templateUrl: './base-screen.component.html',
styleUrls: ['./base-screen.component.scss'],
standalone: false,
})
export class BaseScreenComponent {
readonly roles = ROLES;
readonly roles = Roles;
readonly documentViewer = inject(REDDocumentViewer);
readonly currentUser = this.userService.currentUser;
readonly searchActions: List<SpotlightSearchAction> = [
@ -34,7 +36,6 @@ export class BaseScreenComponent {
{
text: this._translateService.instant('search.active-dossiers'),
icon: 'red:enter',
hide: () => !this._featuresService.isEnabled(DOSSIERS_ARCHIVE),
action: (query): void => this.#search(query, [], true),
},
{
@ -43,10 +44,10 @@ export class BaseScreenComponent {
action: (query): void => this.#search(query, []),
},
];
readonly #baseHref = inject(BASE_HREF);
readonly config = getConfig();
readonly #navigationStart$ = this._router.events.pipe(
filter(isNavigationStart),
map((event: NavigationStart) => event.url),
map(event => event.url),
startWith(this._router.url),
shareDistinctLast(),
);
@ -54,15 +55,17 @@ export class BaseScreenComponent {
constructor(
private readonly _router: Router,
activatedRoute: ActivatedRoute,
private readonly _translateService: TranslateService,
private readonly _featuresService: FeaturesService,
protected readonly _tenantsService: TenantsService,
readonly permissionsService: IqserPermissionsService,
readonly userService: UserService,
readonly userPreferenceService: UserPreferenceService,
readonly titleService: Title,
readonly breadcrumbsService: BreadcrumbsService,
) {}
) {
// eslint-disable-next-line rxjs/no-ignored-subscription
activatedRoute.queryParamMap.pipe(takeUntilDestroyed()).subscribe(queryParams => this.#navigate(queryParams));
}
get #hideSearchThisDossier() {
const routerLink = this.breadcrumbsService.breadcrumbs[1]?.options?.routerLink;
@ -74,9 +77,20 @@ export class BaseScreenComponent {
return !isDossierOverview;
}
#navigate(queryParams: ParamMap) {
if (queryParams.has('username')) {
return this._router.navigate([], {
queryParams: {
username: null,
},
queryParamsHandling: 'merge',
});
}
}
#search(query: string, dossierIds: string[], onlyActive = false) {
const queryParams = { query, dossierIds: dossierIds.join(','), onlyActive };
this._router.navigate([`/${this._tenantsService.activeTenantId}/main/search`], { queryParams }).then();
this._router.navigate(['/main/search'], { queryParams }).then();
}
#searchThisDossier(query: string) {

View File

@ -1,4 +1,4 @@
<div *ngIf="breadcrumbsService.breadcrumbs$ | async as breadcrumbs" [attr.help-mode-key]="'navigate_in_breadcrumbs'" class="breadcrumbs">
<div *ngIf="breadcrumbsService.breadcrumbs$ | async as breadcrumbs" [attr.help-mode-key]="'navigate_breadcrumbs'" class="breadcrumbs">
<a *ngIf="breadcrumbs.length === 0; else items" class="breadcrumb back" redactionNavigateLastDossiersScreen>
<mat-icon svgIcon="iqser:expand"></mat-icon>
{{ 'top-bar.navigation-items.back' | translate }}
@ -14,7 +14,7 @@
[id]="first ? 'navigateToActiveDossiers' : ''"
[matTooltip]="breadcrumb.options.clamp && (breadcrumb.name$ | async)"
[routerLinkActiveOptions]="breadcrumb.options.routerLinkActiveOptions || { exact: false }"
[routerLink]="breadcrumb.options.routerLink | tenant"
[routerLink]="breadcrumb.options.routerLink"
class="breadcrumb"
routerLinkActive="active"
>
@ -22,21 +22,24 @@
</a>
<ng-container *ngIf="is(breadcrumb, 'dropdown')">
<button [matMenuTriggerFor]="dropdownMenu" class="dropdown-breadcrumb" mat-button>
<span>{{ breadcrumb.name$ | async }}</span>
<mat-icon svgIcon="iqser:arrow-down"></mat-icon>
</button>
<iqser-chevron-button
[label]="breadcrumb.name$ | async"
[matMenuTriggerFor]="dropdownMenu"
class="dropdown-breadcrumb"
></iqser-chevron-button>
<mat-menu #dropdownMenu="matMenu" class="padding-bottom-8">
<a
*ngFor="let option of breadcrumb.options.options"
[routerLink]="option.options.routerLink | tenant"
mat-menu-item
routerLinkActive="active"
>
{{ option.name$ | async }}
<mat-icon class="checkmark" svgIcon="iqser:check"></mat-icon>
</a>
<div id="breadcrumbs-menu-items">
<a
*ngFor="let option of breadcrumb.options.options"
[routerLink]="option.options.routerLink"
mat-menu-item
routerLinkActive="active"
>
{{ option.name$ | async }}
<mat-icon class="checkmark" svgIcon="iqser:check"></mat-icon>
</a>
</div>
</mat-menu>
</ng-container>
</ng-container>

View File

@ -7,6 +7,7 @@ import { Breadcrumb, BreadcrumbDisplayType, BreadcrumbsService } from '@services
selector: 'redaction-breadcrumbs',
templateUrl: './breadcrumbs.component.html',
styleUrls: ['./breadcrumbs.component.scss'],
standalone: false,
})
export class BreadcrumbsComponent {
constructor(readonly breadcrumbsService: BreadcrumbsService) {}

View File

@ -21,7 +21,6 @@
(action)="deleteItems()"
*ngIf="listingService.areSomeSelected$ | async"
[tooltip]="'downloads-list.bulk.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>
</ng-template>
@ -57,14 +56,12 @@
(action)="downloadItem(download)"
*ngIf="download.status === 'READY' && !download.inProgress"
[tooltip]="'downloads-list.actions.download' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:download"
></iqser-circle-button>
<iqser-circle-button
(action)="deleteItems([download])"
[tooltip]="'downloads-list.actions.delete' | translate"
[type]="circleButtonTypes.dark"
icon="iqser:trash"
></iqser-circle-button>

View File

@ -1,9 +1,9 @@
import { Component, OnDestroy } from '@angular/core';
import { FileDownloadService } from '@upload-download/services/file-download.service';
import { DownloadStatus } from '@red/domain';
import { CircleButtonTypes, ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
import { DownloadStatus } from '@red/domain';
import { RouterHistoryService } from '@services/router-history.service';
import { FileDownloadService } from '@upload-download/services/file-download.service';
import { firstValueFrom } from 'rxjs';
@Component({
@ -13,9 +13,10 @@ import { firstValueFrom } from 'rxjs';
entitiesService: FileDownloadService,
component: DownloadsListScreenComponent,
}),
standalone: false,
})
export class DownloadsListScreenComponent extends ListingComponent<DownloadStatus> implements OnDestroy {
readonly circleButtonTypes = CircleButtonTypes;
readonly #interval: number;
readonly tableHeaderLabel = _('downloads-list.table-header.title');
readonly tableColumnConfigs: TableColumnConfig<DownloadStatus>[] = [
{ label: _('downloads-list.table-col-names.name'), width: '2fr' },
@ -23,7 +24,6 @@ export class DownloadsListScreenComponent extends ListingComponent<DownloadStatu
{ label: _('downloads-list.table-col-names.date') },
{ label: _('downloads-list.table-col-names.status') },
];
readonly #interval: NodeJS.Timer;
constructor(
private readonly _loadingService: LoadingService,
@ -32,11 +32,11 @@ export class DownloadsListScreenComponent extends ListingComponent<DownloadStatu
) {
super();
this._loadingService.loadWhile(this._loadData());
this.#interval = setInterval(() => this._loadData(), 5000);
this.#interval = window.setInterval(() => this._loadData(), 5000);
}
ngOnDestroy() {
clearInterval(this.#interval);
window.clearInterval(this.#interval);
}
downloadItem(download: DownloadStatus) {

View File

@ -1,8 +1,8 @@
<iqser-circle-button
[matMenuTriggerFor]="menu"
[showDot]="hasUnreadNotifications$ | async"
[tooltip]="'notifications.button-text' | translate"
[tooltipPosition]="'below'"
[tooltip]="'notifications.button-text' | translate"
buttonId="notification-button"
icon="red:notification"
></iqser-circle-button>
@ -25,35 +25,34 @@
*ngIf="(hasUnreadNotifications$ | async) && first"
class="view-all"
id="notifications-mark-all-as-read-btn"
stopPropagation
iqserStopPropagation
>
{{ 'notifications.mark-all-as-read' | translate }}
</div>
</div>
<div
(click)="markRead([notification], true)"
(click)="handleMarkReadEvent($event, [notification], true)"
*ngFor="let notification of group.notifications; trackBy: trackBy"
[class.unread]="!notification.readDate"
[id]="'notifications-mark-as-read-' + notification.id + '-btn'"
class="notification"
mat-menu-item
stopPropagation
>
<iqser-initials-avatar [user]="notification.userId"></iqser-initials-avatar>
<div class="notification-content">
<div [innerHTML]="notification.message"></div>
<div class="small-label mt-2">{{ notification.creationDate | date : 'exactDate' }}</div>
<div class="small-label mt-2">{{ notification.creationDate | date: 'exactDate' }}</div>
</div>
<div
(click)="markRead([notification], !notification.readDate)"
[id]="'notifications-mark-' + notification.id"
class="dot"
matTooltip="{{ 'notifications.mark-as' | translate : { type: notification.readDate ? 'unread' : 'read' } }}"
iqserStopPropagation
matTooltip="{{ 'notifications.mark-as' | translate: { type: notification.readDate ? 'unread' : 'read' } }}"
matTooltipPosition="before"
stopPropagation
></div>
</div>
</div>

View File

@ -1,5 +1,3 @@
@use 'variables';
::ng-deep .notifications-backdrop + .cdk-overlay-connected-position-bounding-box {
right: 0 !important;
@ -24,7 +22,7 @@
}
.mat-mdc-menu-item.notification {
padding: 8px 26px 10px 8px;
padding: 8px 26px 10px 8px !important;
margin: 2px 0 0 0;
height: fit-content;
position: relative;
@ -67,7 +65,7 @@
}
&.unread {
background-color: rgba(variables.$primary, 0.1);
background-color: rgba(var(--iqser-primary-rgb), 0.1);
.dot {
background-color: var(--iqser-primary);

View File

@ -4,7 +4,7 @@ import { NotificationsService } from '@services/notifications.service';
import { Notification } from '@red/domain';
import { distinctUntilChanged, map } from 'rxjs/operators';
import { Observable } from 'rxjs';
import { isToday, shareLast, trackByFactory } from '@iqser/common-ui';
import { isToday, shareLast, trackByFactory } from '@iqser/common-ui/lib/utils';
import dayjs, { Dayjs } from 'dayjs';
import { TranslateService } from '@ngx-translate/core';
@ -25,6 +25,7 @@ function chronologically(first: string, second: string) {
selector: 'redaction-notifications',
templateUrl: './notifications.component.html',
styleUrls: ['./notifications.component.scss'],
standalone: false,
})
export class NotificationsComponent {
readonly hasUnreadNotifications$: Observable<boolean>;
@ -58,6 +59,15 @@ export class NotificationsComponent {
await this._notificationsService.toggleNotificationRead(notificationsIds, isRead);
}
async handleMarkReadEvent(event: MouseEvent, notifications: Notification[] = this._notificationsService.all, isRead = true) {
if (!(event.target as HTMLBaseElement).href) {
event.stopPropagation();
event.preventDefault();
}
await this.markRead(notifications, isRead);
}
#groupNotifications(notifications: Notification[]): NotificationsGroup[] {
const todayTranslation = this._translateService.instant('today');
const groupedMap = notifications.groupBy(n => {

View File

@ -9,7 +9,7 @@
.container {
padding: 32px;
width: 900px;
width: 1000px;
max-width: 100%;
box-sizing: border-box;
}

View File

@ -5,5 +5,6 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
templateUrl: './dashboard-skeleton.component.html',
styleUrls: ['./dashboard-skeleton.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
export class DashboardSkeletonComponent {}

View File

@ -5,6 +5,7 @@ import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } fr
templateUrl: './dossier-skeleton.component.html',
styleUrls: ['./dossier-skeleton.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
export class DossierSkeletonComponent implements OnInit {
@ViewChild('workload1', { static: true }) workload1: TemplateRef<unknown>;

View File

@ -5,5 +5,6 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
templateUrl: './skeleton-stats.component.html',
styleUrls: ['./skeleton-stats.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
export class SkeletonStatsComponent {}

View File

@ -4,7 +4,7 @@
</div>
<a class="logo">
<div class="actions">
<iqser-logo icon="red:logo"></iqser-logo>
<iqser-logo icon="iqser:logo"></iqser-logo>
<div class="app-name">{{ titleService.getTitle() }}</div>
</div>
</a>

View File

@ -6,6 +6,7 @@ import { Title } from '@angular/platform-browser';
templateUrl: './skeleton-top-bar.component.html',
styleUrls: ['./skeleton-top-bar.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
export class SkeletonTopBarComponent {
constructor(readonly titleService: Title) {}

View File

@ -9,6 +9,7 @@ import { MatMenuTrigger } from '@angular/material/menu';
templateUrl: './spotlight-search.component.html',
styleUrls: ['./spotlight-search.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
export class SpotlightSearchComponent {
@Input() actions: readonly SpotlightSearchAction[];
@ -42,20 +43,20 @@ export class SpotlightSearchComponent {
this.shownActions[this._currentActionIdx].action(this.valueChanges$.getValue());
}
@HostListener('document:keydown.arrowDown', ['$event'])
@HostListener('document:keydown.arrowUp', ['$event'])
@HostListener('keydown.arrowDown', ['$event'])
@HostListener('keydown.arrowUp', ['$event'])
handleKeyDown(event: KeyboardEvent): void {
event.preventDefault();
}
@HostListener('document:keyup.arrowDown', ['$event'])
@HostListener('keyup.arrowDown', ['$event'])
handleKeyUpArrowDown(event: KeyboardEvent): void {
this.handleKeyDown(event);
const index = this._currentActionIdx + 1;
this._currentActionIdx$.next(index >= this.shownActions.length ? 0 : index);
}
@HostListener('document:keyup.arrowUp', ['$event'])
@HostListener('keyup.arrowUp', ['$event'])
handleKeyUpArrowUp(event: KeyboardEvent): void {
this.handleKeyDown(event);
const index = this._currentActionIdx - 1;

View File

@ -1,14 +1,21 @@
<div id="tenants-menu-items">
<ng-container *ngFor="let item of storedTenants(); trackBy: trackBy">
<div class="label">{{ item.tenant.displayName }}</div>
<a
(click)="!stored.isCurrent && switchTenant(stored.tenantId)"
*ngFor="let stored of storedTenants; trackBy: trackBy"
[class.disabled]="stored.isCurrent"
[class.reverse-icon]="stored.isCurrent"
[id]="stored.tenantId"
[iqserStopPropagation]="stored.isCurrent"
class="little-padding"
mat-menu-item
>
{{ stored.tenantId }}
<mat-icon *ngIf="stored.isCurrent" [svgIcon]="'iqser:check'"></mat-icon>
</a>
<a (click)="selectTenant(item.tenant.tenantId)" [id]="item.tenant.tenantId" mat-menu-item>
{{ item.email }}
</a>
<mat-divider class="pb-3 pt-3"></mat-divider>
</ng-container>
<mat-divider class="pb-3 pt-3"></mat-divider>
<a (click)="selectTenant()" mat-menu-item>
<a (click)="switchTenant()" mat-menu-item>
<span translate="top-bar.navigation-items.my-account.children.join-another-tenant"> </span>
</a>
</div>

View File

@ -11,3 +11,18 @@
padding-top: 5px;
padding-bottom: 5px;
}
.disabled {
background-color: var(--iqser-grey-6);
color: var(--iqser-grey-3);
cursor: default;
}
.little-padding {
padding: 0 8px 0 8px;
}
.reverse-icon {
flex-direction: row-reverse;
justify-content: space-between;
}

View File

@ -1,29 +1,36 @@
import { Component, computed, inject } from '@angular/core';
import { BASE_HREF, IStoredTenant, TenantsService } from '@iqser/common-ui';
import { Component, inject } from '@angular/core';
import { IStoredTenantId, KeycloakStatusService, TenantsService } from '@iqser/common-ui/lib/tenants';
interface ITenant extends IStoredTenantId {
readonly isCurrent: boolean;
}
@Component({
selector: 'app-tenants-menu',
templateUrl: './tenants-menu.component.html',
styleUrls: ['./tenants-menu.component.scss'],
standalone: false,
})
export class TenantsMenuComponent {
readonly tenantsService = inject(TenantsService);
readonly storedTenants: ITenant[];
readonly #keycloakStatusService = inject(KeycloakStatusService);
readonly storedTenants = computed(() => this.#getStoredTenants(this.tenantsService.activeTenant().tenantId));
readonly #baseHref = inject(BASE_HREF);
trackBy(_index: number, item: IStoredTenant) {
return item.tenant.tenantId;
constructor() {
this.storedTenants = this.#getStoredTenants();
}
selectTenant(tenantId?: string) {
const tenant = tenantId ? '/' + tenantId : '/';
window.open(window.location.origin + this.#baseHref + tenant, '_blank');
trackBy(_index: number, item: ITenant) {
return item.tenantId;
}
#getStoredTenants(activeTenantId: string) {
async switchTenant(tenantId?: string) {
await this.#keycloakStatusService.switchTenant(tenantId);
}
#getStoredTenants(): ITenant[] {
const storedTenants = this.tenantsService.getStoredTenants();
return storedTenants.filter(t => t.tenant.tenantId !== activeTenantId);
const sorted = storedTenants.sort((a, b) => a.tenantId.localeCompare(b.tenantId));
return sorted.map(tenant => ({ ...tenant, isCurrent: tenant.tenantId === this.tenantsService.activeTenantId }));
}
}

View File

@ -1,11 +1,11 @@
<div id="user-menu-items">
<ng-container *ngFor="let item of userMenuItems; trackBy: trackBy">
<a (click)="item.action?.()" *ngIf="item.show" [id]="item.id" [routerLink]="item.routerLink | tenant" mat-menu-item>
<a (click)="item.action?.()" *ngIf="item.show" [id]="item.id" [routerLink]="item.routerLink" mat-menu-item>
{{ item.name | translate }}
</a>
</ng-container>
<a *ngIf="tenantsService.hasMultiple()" [id]="'switch-accounts'" [matMenuTriggerFor]="tenantsMenu" mat-menu-item>
<a [id]="'switch-accounts'" [matMenuTriggerFor]="tenantsMenu" mat-menu-item>
{{ 'top-bar.navigation-items.my-account.children.select-tenant' | translate }}
</a>
@ -16,5 +16,7 @@
</div>
<mat-menu #tenantsMenu="matMenu" xPosition="before">
<app-tenants-menu></app-tenants-menu>
<ng-template matMenuContent>
<app-tenants-menu></app-tenants-menu>
</ng-template>
</mat-menu>

View File

@ -1,9 +1,12 @@
import { Component, inject } from '@angular/core';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { ROLES } from '@users/roles';
import { getCurrentUser, IqserPermissionsService, List, TenantsService } from '@iqser/common-ui';
import { Roles } from '@users/roles';
import { IqserPermissionsService } from '@iqser/common-ui';
import { User } from '@red/domain';
import { UserService } from '@users/user.service';
import { getCurrentUser } from '@iqser/common-ui/lib/users';
import { List } from '@iqser/common-ui/lib/utils';
interface MenuItem {
readonly id: string;
readonly name: string;
@ -17,10 +20,10 @@ interface MenuItem {
selector: 'app-user-menu',
templateUrl: './user-menu.component.html',
styleUrls: ['./user-menu.component.scss'],
standalone: false,
})
export class UserMenuComponent {
readonly currentUser = getCurrentUser<User>();
readonly tenantsService = inject(TenantsService);
readonly userService = inject(UserService);
readonly #permissionsService = inject(IqserPermissionsService);
readonly userMenuItems: List<MenuItem> = [
@ -34,19 +37,19 @@ export class UserMenuComponent {
id: 'admin',
name: _('top-bar.navigation-items.my-account.children.admin'),
routerLink: '/main/admin',
show: (this.currentUser.isManager || this.currentUser.isUserAdmin) && this.#permissionsService.has([ROLES.templates.read]),
show: (this.currentUser.isManager || this.currentUser.isUserAdmin) && this.#permissionsService.has([Roles.templates.read]),
},
{
id: 'downloads',
name: _('top-bar.navigation-items.my-account.children.downloads'),
routerLink: '/main/downloads',
show: this.currentUser.isUser && this.#permissionsService.has(ROLES.readDownloadStatus),
show: this.currentUser.isUser && this.#permissionsService.has(Roles.readDownloadStatus),
},
{
id: 'trash',
name: _('top-bar.navigation-items.my-account.children.trash'),
routerLink: '/main/trash',
show: this.currentUser.isUser && this.#permissionsService.has([ROLES.dossiers.read, ROLES.files.readStatus]),
show: this.currentUser.isUser && this.#permissionsService.has([Roles.dossiers.read, Roles.files.readStatus]),
},
];

View File

@ -1,8 +1,9 @@
import { Injectable } from '@angular/core';
import { CanActivate } from '@angular/router';
import { firstValueFrom } from 'rxjs';
import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service';
import { firstValueFrom } from 'rxjs';
// TODO: Remove this and use a CanActivateFn instead
@Injectable({ providedIn: 'root' })
export class DashboardGuard implements CanActivate {
constructor(private readonly _dashboardStatsService: DashboardStatsService) {}

View File

@ -1,19 +1,20 @@
import { Injectable, Injector, ProviderToken } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';
import { FilesMapService } from '@services/files/files-map.service';
import { FilesService } from '@services/files/files.service';
import { firstValueFrom } from 'rxjs';
import { getConfig } from '@iqser/common-ui';
import { DOSSIER_ID, DOSSIER_TEMPLATE_ID } from '@red/domain';
import { DossiersService } from '@services/dossiers/dossiers.service';
import { DictionaryService } from '@services/entity-services/dictionary.service';
import { DossierDictionariesMapService } from '@services/entity-services/dossier-dictionaries-map.service';
import { TenantsService } from '@iqser/common-ui';
import { FilesMapService } from '@services/files/files-map.service';
import { FilesService } from '@services/files/files.service';
import { firstValueFrom } from 'rxjs';
@Injectable({ providedIn: 'root' })
export class DossierFilesGuard implements CanActivate {
readonly isDocumine = getConfig().IS_DOCUMINE;
constructor(
private readonly _injector: Injector,
private readonly _tenantsService: TenantsService,
private readonly _filesMapService: FilesMapService,
private readonly _filesService: FilesService,
private readonly _dictionaryService: DictionaryService,
@ -34,7 +35,7 @@ export class DossierFilesGuard implements CanActivate {
}
if (!dossiersService.has(dossierId)) {
await this._router.navigate([`/${this._tenantsService.activeTenantId}/main`, dossierTemplateId]);
await this._router.navigate(['/main', dossierTemplateId]);
return false;
}
@ -45,8 +46,8 @@ export class DossierFilesGuard implements CanActivate {
async loadDossierData(dossierId: string, dossierTemplateId: string) {
const promises = [];
if (!this._dictionaryMapService.has(dossierId)) {
const dictionaryPromise = this._dictionaryService.loadDossierDictionary(dossierTemplateId, dossierId);
if (!this._dictionaryMapService.has(dossierId) && !this.isDocumine) {
const dictionaryPromise = firstValueFrom(this._dictionaryService.loadDictionaryDataForDossier(dossierTemplateId, dossierId));
promises.push(dictionaryPromise);
}

View File

@ -2,15 +2,40 @@ import { inject } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivateFn, Router } from '@angular/router';
import { DOSSIER_TEMPLATE_ID } from '@red/domain';
import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service';
import { TenantsService } from '@iqser/common-ui';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service';
import { NGXLogger } from 'ngx-logger';
import { firstValueFrom } from 'rxjs';
import { UserPreferenceService } from '@users/user-preference.service';
import { DictionaryService } from '@services/entity-services/dictionary.service';
import { DefaultColorsService } from '@services/entity-services/default-colors.service';
import { WatermarkService } from '@services/entity-services/watermark.service';
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
import { getConfig, Toaster } from '@iqser/common-ui';
import { RulesService } from '../modules/admin/services/rules.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
export function templateExistsWhenEnteringAdmin(): CanActivateFn {
return async function (route: ActivatedRouteSnapshot): Promise<boolean> {
const dossierTemplateId: string = route.paramMap.get(DOSSIER_TEMPLATE_ID);
const fileAttributesService = inject(FileAttributesService);
const dictionaryService = inject(DictionaryService);
const defaultColorsService = inject(DefaultColorsService);
const watermarksService = inject(WatermarkService);
const router = inject(Router);
const rulesService = inject(RulesService);
const isDocumine = getConfig().IS_DOCUMINE;
const dossierTemplate = inject(DashboardStatsService).find(dossierTemplateId);
const dossierTemplate = inject(DossierTemplateStatsService).get(dossierTemplateId);
await firstValueFrom(fileAttributesService.loadFileAttributesConfig(dossierTemplateId));
await firstValueFrom(dictionaryService.loadDictionaryDataForDossierTemplate(dossierTemplateId));
await firstValueFrom(defaultColorsService.loadForDossierTemplate(dossierTemplateId));
await firstValueFrom(rulesService.getFor(dossierTemplateId));
if (!isDocumine) {
await firstValueFrom(watermarksService.loadForDossierTemplate(dossierTemplateId));
}
if (!dossierTemplate) {
await inject(Router).navigate([inject(TenantsService).activeTenantId, 'main', 'admin', 'dossier-templates']);
await router.navigate(['main', 'admin', 'dossier-templates']);
return false;
}
return true;
@ -20,12 +45,38 @@ export function templateExistsWhenEnteringAdmin(): CanActivateFn {
export function templateExistsWhenEnteringDossierList(): CanActivateFn {
return async function (route: ActivatedRouteSnapshot) {
const dossierTemplateId: string = route.paramMap.get(DOSSIER_TEMPLATE_ID);
const dashboardStatsService = inject(DashboardStatsService);
const dossierTemplatesService = inject(DossierTemplatesService);
const logger = inject(NGXLogger);
const router = inject(Router);
const userPreferencesService = inject(UserPreferenceService);
const fileAttributesService = inject(FileAttributesService);
const dictionaryService = inject(DictionaryService);
const defaultColorsService = inject(DefaultColorsService);
const watermarksService = inject(WatermarkService);
const rulesService = inject(RulesService);
const toaster = inject(Toaster);
const isDocumine = getConfig().IS_DOCUMINE;
const dossierTemplateStats = inject(DashboardStatsService).find(dossierTemplateId);
await firstValueFrom(dashboardStatsService.loadForTemplate(dossierTemplateId));
await firstValueFrom(dossierTemplatesService.loadDossierTemplate(dossierTemplateId));
const dossierTemplateStats = dashboardStatsService.find(dossierTemplateId);
if (!dossierTemplateStats || dossierTemplateStats.isEmpty) {
await inject(Router).navigate([inject(TenantsService).activeTenantId, 'main']);
logger.warn(`[ROUTES] Dossier template ${dossierTemplateId} not found, redirecting to main`);
await userPreferencesService.saveLastDossierTemplate(null);
await router.navigate(['main']);
return false;
}
await firstValueFrom(fileAttributesService.loadFileAttributesConfig(dossierTemplateId));
await firstValueFrom(dictionaryService.loadDictionaryDataForDossierTemplate(dossierTemplateId));
await firstValueFrom(defaultColorsService.loadForDossierTemplate(dossierTemplateId));
const rules = await firstValueFrom(rulesService.getFor(dossierTemplateId));
if (rules.timeoutDetected) {
toaster.error(_('dossier-listing.rules.timeoutError'));
}
if (!isDocumine) {
await firstValueFrom(watermarksService.loadForDossierTemplate(dossierTemplateId));
}
return true;
};
}

View File

@ -1,45 +1,57 @@
import { Injectable, Injector, ProviderToken } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';
import { firstValueFrom, forkJoin } from 'rxjs';
import { take } from 'rxjs/operators';
import { inject } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivateFn, Router } from '@angular/router';
import { firstValueFrom } from 'rxjs';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { ArchivedDossiersService } from '@services/dossiers/archived-dossiers.service';
import { DossiersService } from '@services/dossiers/dossiers.service';
import { ARCHIVE_ROUTE, DOSSIER_TEMPLATE_ID } from '@red/domain';
import { DOSSIER_TEMPLATE_ID } from '@red/domain';
import { DashboardStatsService } from '@services/dossier-templates/dashboard-stats.service';
import { TenantsService } from '@iqser/common-ui';
import { TenantsService } from '@iqser/common-ui/lib/tenants';
import { NGXLogger } from 'ngx-logger';
import { ACTIVE_DOSSIERS_SERVICE, ARCHIVED_DOSSIERS_SERVICE } from '../tokens';
@Injectable({ providedIn: 'root' })
export class DossiersGuard implements CanActivate {
constructor(
private readonly _injector: Injector,
private readonly _router: Router,
private readonly _tenantsService: TenantsService,
private readonly _dashboardStatsService: DashboardStatsService,
private readonly _activeDossiersService: ActiveDossiersService,
private readonly _archivedDossiersService: ArchivedDossiersService,
) {}
export function loadAllDossiersGuard(): CanActivateFn {
return async () => {
const logger = inject(NGXLogger);
logger.info('[GUARDS] loadAllDossiersGuard start');
async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {
const token: ProviderToken<DossiersService> = route.data.dossiersService;
if (!token) {
const services = [this._archivedDossiersService, this._activeDossiersService];
const loading$ = forkJoin(services.map(service => service.loadAll().pipe(take(1))));
await firstValueFrom(loading$);
return true;
}
const services = [inject(ArchivedDossiersService), inject(ActiveDossiersService)];
const requests = services.map(service => firstValueFrom(service.loadAll()));
await Promise.all(requests);
const dossiersService: DossiersService = this._injector.get<DossiersService>(token);
const isArchive = dossiersService.routerPath === ARCHIVE_ROUTE;
logger.info('[GUARDS] loadAllDossiersGuard end');
return true;
};
}
export function loadActiveDossiersGuard(): CanActivateFn {
return async () => {
const logger = inject(NGXLogger);
logger.info('[GUARDS] loadDossiersGuard start');
await firstValueFrom(inject<ActiveDossiersService>(ACTIVE_DOSSIERS_SERVICE).loadAll());
logger.info('[GUARDS] loadDossiersGuard end');
return true;
};
}
export function loadArchivedDossiersGuard(): CanActivateFn {
return async (route: ActivatedRouteSnapshot) => {
const logger = inject(NGXLogger);
logger.info('[GUARDS] loadArchivedDossiersGuard start');
const dossiersService = inject<ArchivedDossiersService>(ARCHIVED_DOSSIERS_SERVICE);
const dossierTemplateId = route.paramMap.get(DOSSIER_TEMPLATE_ID);
const dossierTemplateStats = this._dashboardStatsService.find(dossierTemplateId);
const dossierTemplateStats = inject(DashboardStatsService).find(dossierTemplateId);
if (isArchive && dossierTemplateStats?.numberOfArchivedDossiers === 0) {
await this._router.navigate([this._tenantsService.activeTenantId, 'main', dossierTemplateId, 'dossiers']);
if (dossierTemplateStats?.numberOfArchivedDossiers === 0) {
logger.info('[GUARDS] loadArchivedDossiersGuard no archived dossiers, redirect to active dossiers page');
await inject(Router).navigate([inject(TenantsService).activeTenantId, 'main', dossierTemplateId, 'dossiers']);
return false;
}
await firstValueFrom(dossiersService.loadAll());
logger.info('[GUARDS] loadArchivedDossiersGuard end');
return true;
}
};
}

View File

@ -3,7 +3,7 @@ import { ActivatedRouteSnapshot, CanActivateFn, Router } from '@angular/router';
import { DOSSIER_TEMPLATE_ID, ENTITY_TYPE } from '@red/domain';
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { TenantsService } from '@iqser/common-ui';
import { TenantsService } from '@iqser/common-ui/lib/tenants';
export function entityExistsGuard(): CanActivateFn {
return async function (route: ActivatedRouteSnapshot): Promise<boolean> {

View File

@ -0,0 +1,7 @@
import { inject } from '@angular/core';
import { CanDeactivateFn } from '@angular/router';
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
import DossierOverviewScreenComponent from '../modules/dossier-overview/screen/dossier-overview-screen.component';
export const isNotEditingFileAttributeGuard: CanDeactivateFn<DossierOverviewScreenComponent> = () =>
!inject(FileAttributesService).isEditingFileAttribute();

View File

@ -0,0 +1,66 @@
import { inject } from '@angular/core';
import { ActivatedRouteSnapshot, Router } from '@angular/router';
import { GET_TENANT_FROM_PATH_FN } from '@common-ui/utils';
import { AsyncGuard } from '@iqser/common-ui';
import { keycloakInitializer, KeycloakStatusService, TenantsService } from '@iqser/common-ui/lib/tenants';
import { LicenseService } from '@services/license.service';
import { UserService } from '@users/user.service';
import { jwtDecode } from 'jwt-decode';
import { KeycloakService } from 'keycloak-angular';
import { NGXLogger } from 'ngx-logger';
export interface JwtToken {
auth_time: number;
iat: number;
}
export function ifLoggedIn(): AsyncGuard {
return async (route: ActivatedRouteSnapshot) => {
const logger = inject(NGXLogger);
logger.info('[ROUTES] Check if can activate route', route);
const tenantsService = inject(TenantsService);
const keycloakService = inject(KeycloakService);
const usersService = inject(UserService);
const licenseService = inject(LicenseService);
const keycloakStatusService = inject(KeycloakStatusService);
const tenant = inject(GET_TENANT_FROM_PATH_FN)();
const keycloakInstance = keycloakService.getKeycloakInstance();
const queryParams = new URLSearchParams(window.location.search);
const username = queryParams.get('username');
const router = inject(Router);
if (!keycloakInstance) {
if (!tenant) {
logger.error('[ROUTES] No tenant found, something is wrong...');
return router.navigate(['/']);
}
logger.info('[KEYCLOAK] Keycloak init...');
await keycloakInitializer(tenant);
logger.info('[KEYCLOAK] Keycloak init done for tenant: ', { tenant });
await tenantsService.selectTenant(tenant);
await usersService.initialize();
await licenseService.loadLicenses();
const token = await keycloakService.getToken();
if (token) {
const jwtToken = jwtDecode(token) as JwtToken;
const authTime = (jwtToken.auth_time || jwtToken.iat).toString();
localStorage.setItem('authTime', authTime);
localStorage.setItem('token', token);
}
}
if (keycloakService.isLoggedIn()) {
logger.info('[ROUTES] Is logged in, continuing');
return true;
}
logger.warn('[ROUTES] Redirect to login');
keycloakStatusService.createLoginUrlAndExecute(username);
return false;
};
}

View File

@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate } from '@angular/router';
import { firstValueFrom } from 'rxjs';
import { EntityPermissionsService } from '@services/entity-permissions/entity-permissions.service';
import { firstValueFrom } from 'rxjs';
@Injectable({ providedIn: 'root' })
export class PermissionsGuard implements CanActivate {

View File

@ -1,14 +1,32 @@
import { Injectable } from '@angular/core';
import { CanActivate } from '@angular/router';
import { inject, Injectable } from '@angular/core';
import { CanActivate, CanActivateFn } from '@angular/router';
import { firstValueFrom } from 'rxjs';
import { TrashService } from '@services/entity-services/trash.service';
import { SystemPreferencesService } from '@services/system-preferences.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { ACTIVE_DOSSIERS_SERVICE } from '../tokens';
@Injectable({ providedIn: 'root' })
export class TrashGuard implements CanActivate {
constructor(private readonly _trashService: TrashService) {}
constructor(
private readonly _trashService: TrashService,
private readonly _systemPreferences: SystemPreferencesService,
private readonly _activeDossierService: ActiveDossiersService,
) {}
async canActivate(): Promise<boolean> {
await this._systemPreferences.loadPreferencesIfNeeded();
await firstValueFrom(this._activeDossierService.loadAll());
await firstValueFrom(this._trashService.loadAll());
return true;
}
}
export function trashGuard(): CanActivateFn {
return async () => {
await inject(SystemPreferencesService).loadPreferencesIfNeeded();
await firstValueFrom(inject<ActiveDossiersService>(ACTIVE_DOSSIERS_SERVICE).loadAll());
await firstValueFrom(inject(TrashService).loadAll());
return true;
};
}

View File

@ -2,7 +2,7 @@ import { inject } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivateFn, Router } from '@angular/router';
import { WatermarksMapService } from '@services/entity-services/watermarks-map.service';
import { DOSSIER_TEMPLATE_ID, WATERMARK_ID } from '@red/domain';
import { TenantsService } from '@iqser/common-ui';
import { TenantsService } from '@iqser/common-ui/lib/tenants';
export function watermarkExistsGuard(): CanActivateFn {
return async function (route: ActivatedRouteSnapshot) {

View File

@ -0,0 +1,73 @@
import { AnnotationPermissions } from '@models/file/annotation.permissions';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
import { Dictionary, SuperTypes } from '@red/domain';
export const canUndo = (annotation: AnnotationWrapper, isApprover: boolean) => !isApprover && annotation.pending;
export const canForceHint = (annotation: AnnotationWrapper, canAddRedaction: boolean) =>
canAddRedaction && annotation.isIgnoredHint && !annotation.pending;
export const canForceRedaction = (annotation: AnnotationWrapper, canAddRedaction: boolean) =>
canAddRedaction &&
(annotation.isSkipped || (annotation.IMAGE_HINT && annotation.superType === SuperTypes.Hint)) &&
!annotation.isFalsePositive &&
!annotation.pending;
export const canAcceptRecommendation = (annotation: AnnotationWrapper) => annotation.isRecommendation && !annotation.pending;
export const canMarkAsFalsePositive = (annotation: AnnotationWrapper, annotationEntity: Dictionary) =>
annotation.canBeMarkedAsFalsePositive && !annotation.hasBeenResizedLocally && annotationEntity?.hasDictionary;
export const canRemoveOnlyHere = (annotation: AnnotationWrapper, canAddRedaction: boolean, autoAnalysisDisabled: boolean) =>
canAddRedaction &&
(autoAnalysisDisabled || !annotation.pending) &&
(annotation.isRedacted || (annotation.isHint && !annotation.isImage));
export const canRemoveFromDictionary = (annotation: AnnotationWrapper, autoAnalysisDisabled: boolean) =>
(annotation.isModifyDictionary || annotation.engines.includes('DICTIONARY') || annotation.engines.includes('DOSSIER_DICTIONARY')) &&
(annotation.isRedacted || annotation.isSkipped || annotation.isHint || (annotation.isIgnoredHint && !annotation.isRuleBased)) &&
(autoAnalysisDisabled || !annotation.pending) &&
annotation.isDictBased;
export const canRemoveRedaction = (annotation: AnnotationWrapper, permissions: AnnotationPermissions) =>
(!annotation.isIgnoredHint || !annotation.isRuleBased) &&
(permissions.canRemoveOnlyHere || permissions.canRemoveFromDictionary || permissions.canMarkAsFalsePositive);
export const canChangeLegalBasis = (annotation: AnnotationWrapper, canAddRedaction: boolean, autoAnalysisDisabled: boolean) =>
canAddRedaction && annotation.isRedacted && (autoAnalysisDisabled || !annotation.pending);
export const canRecategorizeAnnotation = (annotation: AnnotationWrapper, canRecategorize: boolean, autoAnalysisDisabled: boolean) =>
canRecategorize &&
(annotation.isImage || (annotation.isHint && !annotation.isRuleBased)) &&
(autoAnalysisDisabled || !annotation.pending);
export const canResizeAnnotation = (
annotation: AnnotationWrapper,
canAddRedaction: boolean,
autoAnalysisDisabled: boolean,
hasDictionary = false,
) =>
(canAddRedaction &&
!annotation.isSkipped &&
!annotation.isIgnoredHint &&
(autoAnalysisDisabled || !annotation.pending) &&
(annotation.isRedacted ||
annotation.isImage ||
(annotation.isHint && !annotation.isRuleBased) ||
(!annotation.isHint && hasDictionary && annotation.isRuleBased))) ||
annotation.isRecommendation;
export const canResizeInDictionary = (annotation: AnnotationWrapper, permissions: AnnotationPermissions) =>
permissions.canResizeAnnotation &&
annotation.isModifyDictionary &&
!annotation.hasBeenResizedLocally &&
!(annotation.hasBeenForcedHint || annotation.hasBeenForcedRedaction);
export const canEditAnnotation = (annotation: AnnotationWrapper) => (annotation.isRedacted || annotation.isSkipped) && !annotation.isImage;
export const canEditHint = (annotation: AnnotationWrapper) =>
((annotation.isHint && !annotation.isRuleBased) || annotation.isIgnoredHint) && !annotation.isImage;
export const canEditImage = (annotation: AnnotationWrapper) => annotation.isImage;
export const canRevertChanges = (annotation: AnnotationWrapper) => annotation.hasRedactionChanges;

View File

@ -1,85 +1,109 @@
import { AnnotationWrapper } from './annotation.wrapper';
import { Dictionary } from '@red/domain';
import { isArray } from 'lodash-es';
import { IqserPermissionsService } from '@iqser/common-ui';
import { ROLES } from '@users/roles';
import { Dictionary } from '@red/domain';
import { Roles } from '@users/roles';
import { isArray } from 'lodash-es';
import {
canAcceptRecommendation,
canChangeLegalBasis,
canEditAnnotation,
canEditHint,
canEditImage,
canForceHint,
canForceRedaction,
canMarkAsFalsePositive,
canRecategorizeAnnotation,
canRemoveFromDictionary,
canRemoveOnlyHere,
canRemoveRedaction,
canResizeAnnotation,
canResizeInDictionary,
canRevertChanges,
canUndo,
} from './annotation-permissions.utils';
import { AnnotationWrapper } from './annotation.wrapper';
export class AnnotationPermissions {
canUndo = true;
canAcceptRecommendation = true;
canMarkAsFalsePositive = true;
canRemoveOrSuggestToRemoveOnlyHere = true;
canRemoveOrSuggestToRemoveFromDictionary = true;
canAcceptSuggestion = true;
canRejectSuggestion = true;
canRemoveOnlyHere = true;
canRemoveFromDictionary = true;
canRemoveRedaction = true;
canForceRedaction = true;
canChangeLegalBasis = true;
canResizeAnnotation = true;
canRecategorizeImage = true;
canResizeInDictionary = true;
canRecategorizeAnnotation = true;
canForceHint = true;
canEditAnnotations = true;
canEditHints = true;
canEditImages = true;
canRevertChanges = true;
static forUser(
isApprover: boolean,
annotations: AnnotationWrapper | AnnotationWrapper[],
entities: Dictionary[],
permissionsService: IqserPermissionsService,
autoAnalysisDisabled: boolean,
) {
if (!isArray(annotations)) {
annotations = [annotations];
}
const summedPermissions: AnnotationPermissions = new AnnotationPermissions();
const canAddRedaction = permissionsService.has(ROLES.redactions.write);
const canRequestRedaction = permissionsService.has(ROLES.redactions.request);
const canProcessManualRedaction = permissionsService.has(ROLES.redactions.processManualRequest);
const canAddOrRequestRedaction = canAddRedaction || canRequestRedaction;
const canAddRedaction = permissionsService.has(Roles.redactions.write);
for (const annotation of annotations) {
const permissions: AnnotationPermissions = new AnnotationPermissions();
permissions.canUndo = !isApprover && (annotation.isSuggestion || annotation.pending);
permissions.canAcceptSuggestion = isApprover && (annotation.isSuggestion || annotation.isDeclinedSuggestion);
if (annotation.isSuggestionAdd || annotation.isSuggestionRemoveDictionary) {
permissions.canAcceptSuggestion = permissions.canAcceptSuggestion && canProcessManualRedaction;
}
permissions.canRejectSuggestion = isApprover && annotation.isSuggestion;
if (annotation.isSuggestionAdd || annotation.isSuggestionRemoveDictionary) {
permissions.canRejectSuggestion = permissions.canRejectSuggestion && canProcessManualRedaction;
}
permissions.canForceHint = canAddOrRequestRedaction && annotation.isIgnoredHint && !annotation.pending;
permissions.canForceRedaction =
canAddOrRequestRedaction && annotation.isSkipped && !annotation.isFalsePositive && !annotation.pending;
permissions.canAcceptRecommendation = annotation.isRecommendation && !annotation.pending;
const annotationEntity = entities.find(entity => entity.type === annotation.type);
permissions.canMarkAsFalsePositive = annotation.canBeMarkedAsFalsePositive && annotationEntity.hasDictionary;
permissions.canRemoveOrSuggestToRemoveOnlyHere =
canAddOrRequestRedaction && !annotation.pending && (annotation.isRedacted || (annotation.isHint && !annotation.isImage));
permissions.canRemoveOrSuggestToRemoveFromDictionary =
annotation.isModifyDictionary &&
(annotation.isRedacted || annotation.isSkipped || annotation.isHint) &&
!annotation.pending &&
!annotation.hasBeenResized;
permissions.canChangeLegalBasis = canAddOrRequestRedaction && annotation.isRedacted && !annotation.pending;
permissions.canRecategorizeImage =
((annotation.isImage && !annotation.isSuggestion) || annotation.isSuggestionRecategorizeImage) && !annotation.pending;
permissions.canResizeAnnotation =
canAddOrRequestRedaction &&
(((annotation.isRedacted || annotation.isImage) && !annotation.isSuggestion) ||
annotation.isSuggestionResize ||
annotation.isRecommendation) &&
!annotation.pending;
permissions.canUndo = canUndo(annotation, isApprover);
permissions.canForceHint = canForceHint(annotation, canAddRedaction);
permissions.canForceRedaction = canForceRedaction(annotation, canAddRedaction);
permissions.canAcceptRecommendation = canAcceptRecommendation(annotation);
permissions.canMarkAsFalsePositive = canMarkAsFalsePositive(annotation, annotationEntity);
permissions.canRemoveOnlyHere = canRemoveOnlyHere(annotation, canAddRedaction, autoAnalysisDisabled);
permissions.canRemoveFromDictionary = canRemoveFromDictionary(annotation, autoAnalysisDisabled);
permissions.canRemoveRedaction = canRemoveRedaction(annotation, permissions);
permissions.canChangeLegalBasis = canChangeLegalBasis(annotation, canAddRedaction, autoAnalysisDisabled);
permissions.canRecategorizeAnnotation = canRecategorizeAnnotation(annotation, canAddRedaction, autoAnalysisDisabled);
permissions.canResizeAnnotation = canResizeAnnotation(
annotation,
canAddRedaction,
autoAnalysisDisabled,
annotationEntity?.hasDictionary,
);
permissions.canResizeInDictionary = canResizeInDictionary(annotation, permissions);
permissions.canEditAnnotations = canEditAnnotation(annotation);
permissions.canEditHints = canEditHint(annotation);
permissions.canEditImages = canEditImage(annotation);
permissions.canRevertChanges = canRevertChanges(annotation);
summedPermissions._merge(permissions);
}
return summedPermissions;
}
static reduce(permissions: AnnotationPermissions[]): AnnotationPermissions {
const result = new AnnotationPermissions();
result.canResizeAnnotation = permissions.length === 1 && permissions[0].canResizeAnnotation;
result.canResizeInDictionary = permissions.length === 1 && permissions[0].canResizeInDictionary;
result.canChangeLegalBasis = permissions.reduce((acc, next) => acc && next.canChangeLegalBasis, true);
result.canRecategorizeAnnotation = permissions.reduce((acc, next) => acc && next.canRecategorizeAnnotation, true);
result.canRemoveFromDictionary = permissions.reduce((acc, next) => acc && next.canRemoveFromDictionary, true);
result.canAcceptRecommendation = permissions.reduce((acc, next) => acc && next.canAcceptRecommendation, true);
result.canMarkAsFalsePositive = permissions.reduce((acc, next) => acc && next.canMarkAsFalsePositive, true);
result.canForceRedaction = permissions.reduce((acc, next) => acc && next.canForceRedaction, true);
result.canForceHint = permissions.reduce((acc, next) => acc && next.canForceHint, true);
result.canRemoveOnlyHere = permissions.reduce((acc, next) => acc && next.canRemoveOnlyHere, true);
result.canRemoveRedaction = permissions.reduce((acc, next) => acc && next.canRemoveRedaction, true);
result.canUndo = permissions.reduce((acc, next) => acc && next.canUndo, true);
result.canEditAnnotations = permissions.reduce((acc, next) => acc && next.canEditAnnotations, true);
result.canEditHints = permissions.reduce((acc, next) => acc && next.canEditHints, true);
result.canEditImages = permissions.reduce((acc, next) => acc && next.canEditImages, true);
result.canRevertChanges = permissions.reduce((acc, next) => acc && next.canRevertChanges, true);
return result;
}
private _merge(permissions: AnnotationPermissions) {
for (const key of Object.keys(this)) {
if (typeof this[key] === 'boolean') {

View File

@ -1,83 +1,103 @@
import { annotationTypesTranslations, SuggestionAddFalsePositive } from '@translations/annotation-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { IListable } from '@iqser/common-ui';
import {
annotationDefaultColorConfig,
annotationEntityColorConfig,
AnnotationIconType,
ChangeTypes,
ChangeType,
DefaultColors,
Dictionary,
Earmark,
EntityTypes,
EntryStates,
FalsePositiveSuperTypes,
IComment,
IManualChange,
IEntityLogEntry,
ILegalBasis,
IPoint,
IRectangle,
LogEntryStatuses,
LogEntryEngine,
LogEntryEngines,
LowLevelFilterTypes,
ManualRedactionType,
ManualRedactionTypes,
SuggestionAddSuperTypes,
SuggestionRemoveSuperTypes,
SuggestionsSuperTypes,
SuperType,
SuperTypeMapper,
SuperTypes,
} from '@red/domain';
import { RedactionLogEntry } from '@models/file/redaction-log.entry';
import { IListable, List } from '@iqser/common-ui';
import { chronologicallyBy, timestampOf } from '../../modules/file-preview/services/file-data.service';
import { annotationTypesTranslations } from '@translations/annotation-types-translations';
export class AnnotationWrapper implements IListable, Record<string, unknown> {
[x: string]: unknown;
interface AnnotationContent {
translation: string;
params: { [key: string]: string };
untranslatedContent: string;
}
export class AnnotationWrapper implements IListable {
id: string;
superType: SuperType;
typeValue: string;
recategorizationType: string;
superTypeLabel: string;
type: string;
typeLabel?: string;
color: string;
entity: Dictionary;
comments: IComment[] = [];
firstTopLeftPoint: IPoint;
annotationId: string;
numberOfComments = 0;
firstBottomLeftPoint: IPoint;
shortContent: string;
content: string;
content: AnnotationContent;
value: string;
typeLabel: string;
pageNumber: number;
hint: boolean;
redaction: boolean;
status: string;
dictionaryOperation: boolean;
positions: IRectangle[];
recommendationType: string;
dictionaryOperation = false;
positions: IRectangle[] = [];
legalBasisValue: string;
legalBasisChangeValue?: string;
rectangle?: boolean;
// AREA === rectangle
AREA = false;
HINT = false;
IMAGE = false;
IMAGE_HINT = false;
section?: string;
reference: List;
imported?: boolean;
image?: boolean;
manual?: boolean;
reference: string[] = [];
imported = false;
manual = false;
pending = false;
hintDictionary?: boolean;
textAfter?: string;
textBefore?: string;
isChangeLogEntry?: boolean;
changeLogType?: 'ADDED' | 'REMOVED' | 'CHANGED';
engines?: string[];
isChangeLogEntry = false;
engines: LogEntryEngine[] = [];
hasBeenResized: boolean;
hasBeenResizedLocally: boolean;
hasBeenRecategorized: boolean;
hasLegalBasisChanged: boolean;
hasBeenForcedHint: boolean;
hasBeenForcedRedaction: boolean;
hasBeenRemovedByManualOverride: boolean;
isRemoved = false;
isRemovedLocally = false;
hiddenInWorkload = false;
lastManualChange: ManualRedactionType;
entry: IEntityLogEntry;
get isRuleBased() {
return this.engines.includes(LogEntryEngines.RULE);
}
get isDictBased() {
return [LogEntryEngines.DICTIONARY, LogEntryEngines.DOSSIER_DICTIONARY].some(engine => this.engines.includes(engine));
}
get isRedactedImageHint() {
return (
(this.IMAGE_HINT && this.superType === SuperTypes.Redaction) ||
(this.IMAGE_HINT && this.superType === SuperTypes.ManualRedaction)
);
}
get isSkippedImageHint() {
return this.IMAGE_HINT && this.superType === SuperTypes.Hint;
}
get searchKey(): string {
return this.id;
}
get isChangeLogRemoved() {
return this.changeLogType === 'REMOVED';
}
get descriptor() {
return this.isModifyDictionary ? _('dictionary') : _('type');
}
@ -92,7 +112,10 @@ export class AnnotationWrapper implements IListable, Record<string, unknown> {
get canBeMarkedAsFalsePositive() {
return (
(this.isRecommendation || this.superType === SuperTypes.Redaction) &&
(this.isRecommendation ||
this.superType === SuperTypes.Redaction ||
(this.isSkipped && this.isDictBased) ||
(this.isRemovedLocally && this.isDictBased)) &&
!this.isImage &&
!this.imported &&
!this.pending &&
@ -100,26 +123,18 @@ export class AnnotationWrapper implements IListable, Record<string, unknown> {
);
}
get isSuperTypeBasedColor() {
return this.isSuggestion || this.isDeclinedSuggestion;
}
get isSkipped() {
return this.superType === SuperTypes.Skipped;
}
get isImage() {
return this.type?.toLowerCase() === 'image' || this.image;
return this.type?.toLowerCase() === 'image' || this.IMAGE || this.IMAGE_HINT;
}
get isOCR() {
return this.type?.toLowerCase() === 'ocr';
}
get type() {
return this.recategorizationType || this.typeValue;
}
get topLevelFilter() {
return !LowLevelFilterTypes[this.superType];
}
@ -136,20 +151,12 @@ export class AnnotationWrapper implements IListable, Record<string, unknown> {
return this.type?.toLowerCase() === 'false_positive' && !!FalsePositiveSuperTypes[this.superType];
}
get isSuggestionAddToFalsePositive() {
return this.typeLabel === annotationTypesTranslations[SuggestionAddFalsePositive];
}
get isDeclinedSuggestion() {
return this.superType === SuperTypes.DeclinedSuggestion;
}
get isApproved() {
return this.status === 'APPROVED';
}
get isHint() {
return this.superType === SuperTypes.Hint;
return this.superType === SuperTypes.Hint || this.superType === SuperTypes.ManualHint;
}
get isIgnoredHint() {
return this.superType === SuperTypes.IgnoredHint;
}
get isEarmark() {
@ -161,53 +168,17 @@ export class AnnotationWrapper implements IListable, Record<string, unknown> {
return 'hexagon';
}
if (this.isHint || this.isIgnoredHint) {
if (this.HINT) {
return 'circle';
}
if (this.isSuggestion || this.isDeclinedSuggestion) {
return 'rhombus';
}
return 'square';
}
get isIgnoredHint() {
return this.superType === SuperTypes.IgnoredHint;
}
get isRedacted() {
return this.superType === SuperTypes.Redaction || this.superType === SuperTypes.ManualRedaction;
}
get isSuggestion() {
return !!SuggestionsSuperTypes[this.superType];
}
get isSuggestionResize() {
return this.superType === SuperTypes.SuggestionResize;
}
get isSuggestionRecategorizeImage() {
return this.superType === SuperTypes.SuggestionRecategorizeImage;
}
get isSuggestionAdd() {
return !!SuggestionAddSuperTypes[this.superType];
}
get isSuggestionRemove() {
return !!SuggestionRemoveSuperTypes[this.superType];
}
get isSuggestionRemoveDictionary() {
return this.superType === SuperTypes.SuggestionRemoveDictionary;
}
get isSuggestionLegalBasisChange() {
return this.superType === SuperTypes.SuggestionChangeLegalBasis;
}
get isModifyDictionary() {
return this.dictionaryOperation;
}
@ -227,20 +198,16 @@ export class AnnotationWrapper implements IListable, Record<string, unknown> {
return this.superType === SuperTypes.Recommendation;
}
get id() {
return this.annotationId;
}
get x() {
return this.firstTopLeftPoint.x;
return this.firstBottomLeftPoint.x;
}
get y() {
return this.firstTopLeftPoint.y;
return this.firstBottomLeftPoint.y;
}
get legalBasis() {
return this.legalBasisChangeValue || this.legalBasisValue;
return this.legalBasisValue;
}
get width(): number {
@ -251,187 +218,167 @@ export class AnnotationWrapper implements IListable, Record<string, unknown> {
return Math.floor(this.positions[0].height);
}
get previewAnnotation() {
return (
this.isRedacted ||
this.isSuggestionAdd ||
this.isSuggestionRemove ||
this.isSuggestionResize ||
this.isSuggestionLegalBasisChange ||
this.isSuggestionRecategorizeImage
);
}
static fromEarmark(earmark: Earmark) {
const annotationWrapper = new AnnotationWrapper();
annotationWrapper.annotationId = earmark.id;
annotationWrapper.id = earmark.id;
annotationWrapper.pageNumber = earmark.positions[0].page;
annotationWrapper.superType = SuperTypes.TextHighlight;
annotationWrapper.typeValue = SuperTypes.TextHighlight;
annotationWrapper.type = SuperTypes.TextHighlight;
annotationWrapper.value = 'Imported';
annotationWrapper.color = earmark.hexColor;
annotationWrapper.positions = earmark.positions;
annotationWrapper.firstTopLeftPoint = earmark.positions[0]?.topLeft;
annotationWrapper.typeLabel = annotationTypesTranslations[annotationWrapper.superType];
annotationWrapper.firstBottomLeftPoint = earmark.positions[0]?.topLeft;
annotationWrapper.superTypeLabel = annotationTypesTranslations[annotationWrapper.superType];
return annotationWrapper;
}
static fromData(redactionLogEntry: RedactionLogEntry, dictionaries: Dictionary[], defaultColors: DefaultColors) {
static fromData(
logEntry: IEntityLogEntry,
dictionary: Dictionary,
changeLogType: ChangeType,
legalBasisList: ILegalBasis[],
isDocumine: boolean,
defaultColors: DefaultColors,
) {
const annotationWrapper = new AnnotationWrapper();
annotationWrapper.annotationId = redactionLogEntry.id;
annotationWrapper.isChangeLogEntry = redactionLogEntry.isChangeLogEntry;
annotationWrapper.changeLogType = redactionLogEntry.changeLogType;
annotationWrapper.redaction = redactionLogEntry.redacted;
annotationWrapper.hint = redactionLogEntry.hint;
annotationWrapper.typeValue = redactionLogEntry.type;
annotationWrapper.value = redactionLogEntry.value;
annotationWrapper.firstTopLeftPoint = redactionLogEntry.positions[0]?.topLeft;
annotationWrapper.pageNumber = redactionLogEntry.positions[0]?.page;
annotationWrapper.positions = redactionLogEntry.positions;
annotationWrapper.textBefore = redactionLogEntry.textBefore;
annotationWrapper.textAfter = redactionLogEntry.textAfter;
annotationWrapper.dictionaryOperation = redactionLogEntry.dictionaryEntry;
annotationWrapper.image = redactionLogEntry.image;
annotationWrapper.imported = redactionLogEntry.imported;
annotationWrapper.legalBasisValue = redactionLogEntry.legalBasis;
annotationWrapper.comments = redactionLogEntry.comments || [];
annotationWrapper.manual = redactionLogEntry.manualChanges?.length > 0;
annotationWrapper.engines = redactionLogEntry.engines;
annotationWrapper.section = redactionLogEntry.section;
annotationWrapper.reference = redactionLogEntry.reference || [];
annotationWrapper.rectangle = redactionLogEntry.rectangle;
annotationWrapper.hintDictionary = redactionLogEntry.hintDictionary;
annotationWrapper.hasBeenResized = !!redactionLogEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.RESIZE && c.annotationStatus === LogEntryStatuses.APPROVED,
);
annotationWrapper.hasBeenRecategorized = !!redactionLogEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.RECATEGORIZE && c.annotationStatus === LogEntryStatuses.APPROVED,
);
annotationWrapper.hasLegalBasisChanged = !!redactionLogEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.LEGAL_BASIS_CHANGE && c.annotationStatus === LogEntryStatuses.APPROVED,
);
annotationWrapper.hasBeenForcedHint = !!redactionLogEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.FORCE_HINT && c.annotationStatus === LogEntryStatuses.APPROVED,
);
annotationWrapper.hasBeenForcedRedaction = !!redactionLogEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.FORCE_REDACT && c.annotationStatus === LogEntryStatuses.APPROVED,
);
annotationWrapper.hasBeenRemovedByManualOverride = !!redactionLogEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.REMOVE_LOCALLY && c.annotationStatus === LogEntryStatuses.APPROVED,
);
annotationWrapper.legalBasisChangeValue = redactionLogEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.LEGAL_BASIS_CHANGE && c.annotationStatus === LogEntryStatuses.REQUESTED,
)?.propertyChanges.legalBasis;
annotationWrapper.pending = logEntry.state === EntryStates.PENDING;
annotationWrapper.id = logEntry.id + (annotationWrapper.pending ? '-pending' : '');
annotationWrapper.isChangeLogEntry = logEntry.state === EntryStates.REMOVED || !!changeLogType;
annotationWrapper.type = logEntry.type;
annotationWrapper.value = logEntry.value;
annotationWrapper.firstBottomLeftPoint = { x: logEntry.positions[0].rectangle[0], y: logEntry.positions[0].rectangle[1] };
annotationWrapper.pageNumber = logEntry.positions[0].pageNumber;
annotationWrapper.positions = logEntry.positions.map(p => ({
page: p.pageNumber,
height: p.rectangle[3],
width: p.rectangle[2],
topLeft: { x: p.rectangle[0], y: p.rectangle[1] },
}));
annotationWrapper.textBefore = logEntry.textBefore;
annotationWrapper.textAfter = logEntry.textAfter;
annotationWrapper.dictionaryOperation = logEntry.dictionaryEntry;
this._createContent(annotationWrapper, redactionLogEntry);
this._setSuperType(annotationWrapper, redactionLogEntry);
this._handleRecommendations(annotationWrapper, redactionLogEntry);
annotationWrapper.typeLabel = this.#getTypeLabel(redactionLogEntry, annotationWrapper);
annotationWrapper.HINT = logEntry.entryType === EntityTypes.HINT;
annotationWrapper.IMAGE = logEntry.entryType === EntityTypes.IMAGE;
annotationWrapper.AREA = logEntry.entryType === EntityTypes.AREA;
annotationWrapper.IMAGE_HINT = logEntry.entryType === EntityTypes.IMAGE_HINT;
const entity = dictionaries.find(d => d.type === annotationWrapper.typeValue);
annotationWrapper.entity = entity.virtual ? null : entity;
annotationWrapper.numberOfComments = logEntry.numberOfComments;
annotationWrapper.imported = logEntry.imported;
annotationWrapper.legalBasisValue = logEntry.legalBasis;
annotationWrapper.manual = logEntry.manualChanges?.length > 0;
annotationWrapper.engines = logEntry.engines ?? [];
annotationWrapper.section = logEntry.section;
annotationWrapper.reference = logEntry.reference || [];
annotationWrapper.hasBeenResized = !!logEntry.manualChanges?.find(c => c.manualRedactionType === ManualRedactionTypes.RESIZE);
annotationWrapper.hasBeenResizedLocally =
annotationWrapper.hasBeenResized && annotationWrapper.engines.includes(LogEntryEngines.MANUAL);
annotationWrapper.hasBeenRecategorized = !!logEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.RECATEGORIZE,
);
annotationWrapper.hasLegalBasisChanged = !!logEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.LEGAL_BASIS_CHANGE,
);
annotationWrapper.hasBeenForcedHint =
!!logEntry.manualChanges?.find(c => c.manualRedactionType === ManualRedactionTypes.FORCE) && annotationWrapper.HINT;
annotationWrapper.hasBeenForcedRedaction =
!!logEntry.manualChanges?.find(c => c.manualRedactionType === ManualRedactionTypes.FORCE) && !annotationWrapper.HINT;
annotationWrapper.hasBeenRemovedByManualOverride = !!logEntry.manualChanges?.find(
c => c.manualRedactionType === ManualRedactionTypes.REMOVE,
);
const colorKey = annotationWrapper.isSuperTypeBasedColor
? annotationDefaultColorConfig[annotationWrapper.superType]
: annotationEntityColorConfig[annotationWrapper.superType];
annotationWrapper.color = annotationWrapper.isSuperTypeBasedColor ? defaultColors[colorKey] : (entity[colorKey] as string);
const content = this.#createContent(annotationWrapper, logEntry, isDocumine);
annotationWrapper.shortContent = this.#getShortContent(annotationWrapper, legalBasisList) || content.untranslatedContent;
annotationWrapper.content = content;
const lastRelevantManualChange = logEntry.manualChanges?.at(-1);
annotationWrapper.lastManualChange = lastRelevantManualChange?.manualRedactionType;
annotationWrapper.superType = SuperTypeMapper[logEntry.entryType][logEntry.state](logEntry);
annotationWrapper.superTypeLabel = annotationTypesTranslations[annotationWrapper.superType];
annotationWrapper.isRemoved = logEntry.state === EntryStates.REMOVED;
annotationWrapper.isRemovedLocally =
lastRelevantManualChange?.manualRedactionType === ManualRedactionTypes.REMOVE &&
logEntry.engines.includes(LogEntryEngines.MANUAL);
annotationWrapper.typeLabel = dictionary?.virtual ? undefined : dictionary?.label;
if (annotationWrapper.pending) {
annotationWrapper.color = defaultColors[annotationDefaultColorConfig.analysis] as string;
} else {
const colorKey = annotationEntityColorConfig[annotationWrapper.superType];
const defaultColor = annotationDefaultColorConfig[annotationWrapper.superType];
annotationWrapper.color =
dictionary && !annotationWrapper.isRedactedImageHint
? (dictionary[colorKey] as string)
: (defaultColors[defaultColor] as string);
}
annotationWrapper.entry = logEntry;
return annotationWrapper;
}
static #getTypeLabel(redactionLogEntry: RedactionLogEntry, annotation: AnnotationWrapper): string {
if (redactionLogEntry.reason?.toLowerCase() === 'false positive') {
return annotationTypesTranslations[SuggestionAddFalsePositive];
static #createContent(annotationWrapper: AnnotationWrapper, logEntry: IEntityLogEntry, isDocumine: boolean) {
let untranslatedContent = '';
const params: { [key: string]: string } = {};
if (logEntry.matchedRule) {
params['hasRule'] = 'true';
params['matchedRule'] = logEntry.matchedRule.replace(/(^[, ]*)|([, ]*$)/g, '');
params['ruleSymbol'] = isDocumine ? ':' : '';
untranslatedContent += `Rule ${logEntry.matchedRule} matched${isDocumine ? ':' : ''} \n\n`;
}
return annotationTypesTranslations[annotation.superType];
}
private static _handleRecommendations(annotationWrapper: AnnotationWrapper, redactionLogEntry: RedactionLogEntry) {
if (annotationWrapper.superType === SuperTypes.Recommendation) {
annotationWrapper.recommendationType = redactionLogEntry.type;
}
}
private static _getLastRelevantManualChange(manualChanges: IManualChange[]) {
return manualChanges[manualChanges.length - 1];
}
private static _setSuperType(annotationWrapper: AnnotationWrapper, redactionLogEntryWrapper: RedactionLogEntry) {
if (redactionLogEntryWrapper.manualChanges?.length) {
const lastRelevantManualChange = this._getLastRelevantManualChange(redactionLogEntryWrapper.manualChanges);
const viableChanges = redactionLogEntryWrapper.changes.filter(c => c.analysisNumber > 1);
const lastChange = viableChanges.sort(chronologicallyBy(x => x.dateTime)).at(-1);
const lastChangeOccurredAfterLastManualChange =
timestampOf(lastChange.dateTime) > timestampOf(lastRelevantManualChange.processedDate);
if (lastChangeOccurredAfterLastManualChange && lastChange.type === ChangeTypes.ADDED && redactionLogEntryWrapper.redacted) {
annotationWrapper.superType = SuperTypes.Redaction;
return;
if (logEntry.reason) {
params['hasReason'] = 'true';
if (isDocumine && logEntry.reason.slice(-1) === '.') {
logEntry.reason = logEntry.reason.slice(0, -1);
}
annotationWrapper.pending = !lastRelevantManualChange.processed;
annotationWrapper.superType = AnnotationWrapper._selectSuperType(
redactionLogEntryWrapper,
lastRelevantManualChange,
annotationWrapper.hintDictionary,
);
if (lastRelevantManualChange.annotationStatus === LogEntryStatuses.REQUESTED) {
annotationWrapper.recategorizationType = lastRelevantManualChange.propertyChanges.type;
}
} else {
if (redactionLogEntryWrapper.recommendation) {
annotationWrapper.superType = SuperTypes.Recommendation;
} else if (redactionLogEntryWrapper.redacted) {
annotationWrapper.superType = SuperTypes.Redaction;
} else if (redactionLogEntryWrapper.hint) {
annotationWrapper.superType = SuperTypes.Hint;
if (!params['hasRule']) {
params['reason'] = logEntry.reason.substring(0, 1).toUpperCase() + logEntry.reason.substring(1);
} else {
annotationWrapper.superType = SuperTypes.Skipped;
params['reason'] = logEntry.reason;
}
}
}
private static _createContent(annotationWrapper: AnnotationWrapper, entry: RedactionLogEntry) {
let content = '';
if (entry.matchedRule) {
content += `Rule ${entry.matchedRule} matched \n\n`;
}
if (entry.reason) {
content += entry.reason + '\n\n';
params['reason'] = params['reason'].replace(/(^[, ]*)|([, ]*$)/g, '');
untranslatedContent += logEntry.reason + '\n\n';
//remove leading and trailing commas and whitespaces
content = content.replace(/(^[, ]*)|([, ]*$)/g, '');
content = content.substring(0, 1).toUpperCase() + content.substring(1);
untranslatedContent = untranslatedContent.replace(/(^[, ]*)|([, ]*$)/g, '');
untranslatedContent = untranslatedContent.substring(0, 1).toUpperCase() + untranslatedContent.substring(1);
}
if (annotationWrapper.legalBasis) {
content += 'Legal basis: ' + annotationWrapper.legalBasis + '\n\n';
if (annotationWrapper.legalBasis && !isDocumine) {
params['hasLb'] = 'true';
params['legalBasis'] = annotationWrapper.legalBasis;
untranslatedContent += 'Legal basis: ' + annotationWrapper.legalBasis + '\n\n';
}
if (annotationWrapper.hasBeenRemovedByManualOverride) {
content += 'Removed by manual override';
params['hasOverride'] = 'true';
untranslatedContent += 'Removed by manual override';
}
if (entry.section) {
let prefix = 'In section: ';
if (content.length) {
if (logEntry.section) {
params['hasSection'] = 'true';
params['sectionSymbol'] = isDocumine ? '' : ':';
params['shouldLower'] = untranslatedContent.length.toString();
params['section'] = logEntry.section;
let prefix = `In section${isDocumine ? '' : ':'} `;
if (untranslatedContent.length) {
prefix = ` ${prefix.toLowerCase()}`;
}
content += `${prefix} "${entry.section}"`;
untranslatedContent += `${prefix} "${logEntry.section}"`;
}
annotationWrapper.shortContent = this._getShortContent(annotationWrapper, entry) || content;
annotationWrapper.content = content;
return { translation: _('annotation-content'), params: params, untranslatedContent: untranslatedContent };
}
private static _getShortContent(annotationWrapper: AnnotationWrapper, entry: RedactionLogEntry) {
static #getShortContent(annotationWrapper: AnnotationWrapper, legalBasisList: ILegalBasis[]) {
if (annotationWrapper.legalBasis) {
const lb = entry.legalBasisList?.find(lbm => lbm.reason.toLowerCase().includes(annotationWrapper.legalBasis.toLowerCase()));
const lb = legalBasisList.find(lbm => lbm.technicalName?.toLowerCase().includes(annotationWrapper.legalBasis.toLowerCase()));
if (lb) {
return lb.name;
}
@ -439,158 +386,4 @@ export class AnnotationWrapper implements IListable, Record<string, unknown> {
return annotationWrapper.legalBasis;
}
private static _selectSuperType(
redactionLogEntry: RedactionLogEntry,
lastManualChange: IManualChange,
isHintDictionary: boolean,
): SuperType {
switch (lastManualChange.manualRedactionType) {
case ManualRedactionTypes.ADD_LOCALLY:
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
return SuperTypes.ManualRedaction;
case LogEntryStatuses.DECLINED:
return SuperTypes.DeclinedSuggestion;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionAdd;
}
break;
case ManualRedactionTypes.ADD_TO_DICTIONARY:
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
return isHintDictionary ? SuperTypes.Hint : SuperTypes.Redaction;
case LogEntryStatuses.DECLINED:
return SuperTypes.DeclinedSuggestion;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionAddDictionary;
}
break;
case ManualRedactionTypes.REMOVE_LOCALLY:
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
return isHintDictionary ? SuperTypes.IgnoredHint : SuperTypes.Skipped;
case LogEntryStatuses.DECLINED: {
if (isHintDictionary) {
return SuperTypes.Hint;
}
if (redactionLogEntry.redacted) {
return SuperTypes.Redaction;
}
return SuperTypes.Skipped;
}
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionRemove;
}
break;
case ManualRedactionTypes.REMOVE_FROM_DICTIONARY:
if (redactionLogEntry.redacted) {
if (lastManualChange.processed) {
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
return SuperTypes.Skipped;
case LogEntryStatuses.DECLINED:
return SuperTypes.Redaction;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionRemoveDictionary;
}
} else {
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
case LogEntryStatuses.DECLINED:
return SuperTypes.Redaction;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionRemoveDictionary;
}
}
} else {
if (lastManualChange.processed) {
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
return redactionLogEntry.recommendation ? SuperTypes.Recommendation : SuperTypes.Skipped;
case LogEntryStatuses.DECLINED:
return isHintDictionary ? SuperTypes.Hint : SuperTypes.Skipped;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionRemoveDictionary;
}
} else {
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
case LogEntryStatuses.DECLINED:
return isHintDictionary ? SuperTypes.Hint : SuperTypes.Skipped;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionRemoveDictionary;
}
}
}
break;
case ManualRedactionTypes.FORCE_REDACT:
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
return SuperTypes.Redaction;
case LogEntryStatuses.DECLINED:
return isHintDictionary ? SuperTypes.IgnoredHint : SuperTypes.Skipped;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionForceRedaction;
}
break;
case ManualRedactionTypes.FORCE_HINT:
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
return SuperTypes.Hint;
case LogEntryStatuses.DECLINED:
return SuperTypes.IgnoredHint;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionForceHint;
}
break;
case ManualRedactionTypes.RECATEGORIZE:
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
case LogEntryStatuses.DECLINED: {
if (redactionLogEntry.recommendation) {
return SuperTypes.Recommendation;
} else if (redactionLogEntry.redacted) {
return SuperTypes.Redaction;
} else if (redactionLogEntry.hint) {
return SuperTypes.Hint;
}
return isHintDictionary ? SuperTypes.IgnoredHint : SuperTypes.Skipped;
}
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionRecategorizeImage;
}
break;
case ManualRedactionTypes.LEGAL_BASIS_CHANGE:
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
case LogEntryStatuses.DECLINED:
return redactionLogEntry.type === SuperTypes.ManualRedaction ? SuperTypes.ManualRedaction : SuperTypes.Redaction;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionChangeLegalBasis;
}
break;
case ManualRedactionTypes.RESIZE:
switch (lastManualChange.annotationStatus) {
case LogEntryStatuses.APPROVED:
case LogEntryStatuses.DECLINED:
if (redactionLogEntry.recommendation) {
return SuperTypes.Recommendation;
} else if (redactionLogEntry.redacted) {
return redactionLogEntry.type === SuperTypes.ManualRedaction
? SuperTypes.ManualRedaction
: SuperTypes.Redaction;
} else if (redactionLogEntry.hint) {
return SuperTypes.Hint;
}
return isHintDictionary ? SuperTypes.IgnoredHint : SuperTypes.Skipped;
case LogEntryStatuses.REQUESTED:
return SuperTypes.SuggestionResize;
}
break;
}
}
}

View File

@ -1,5 +1,4 @@
export interface ListItem<T> {
item: T;
isSelected: boolean;
multiSelectActive: boolean;
}

View File

@ -2,6 +2,8 @@ import { IManualRedactionEntry } from '@red/domain';
export const ManualRedactionEntryTypes = {
DICTIONARY: 'DICTIONARY',
REDACT: 'REDACT',
HINT: 'HINT',
REDACTION: 'REDACTION',
FALSE_POSITIVE: 'FALSE_POSITIVE',
} as const;

View File

@ -1,76 +0,0 @@
import { IChange, IComment, ILegalBasis, IManualChange, IRectangle, IRedactionLogEntry, LogEntryEngine } from '@red/domain';
// TODO: this should be removed. Use only AnnotationWrapper class
export class RedactionLogEntry implements IRedactionLogEntry {
readonly changes?: IChange[];
readonly imported?: boolean;
readonly manualChanges?: IManualChange[];
readonly color?: number[];
readonly comments?: IComment[];
readonly dictionaryEntry?: boolean;
readonly dossierDictionaryEntry?: boolean;
readonly endOffset?: number;
readonly engines?: LogEntryEngine[];
readonly excluded?: boolean;
readonly hint?: boolean;
readonly rectangle?: boolean;
readonly id?: string;
readonly image?: boolean;
readonly imageHasTransparency?: boolean;
readonly legalBasis?: string;
readonly matchedRule?: number;
readonly positions?: IRectangle[];
readonly recommendation?: boolean;
readonly redacted?: boolean;
readonly reference?: string[];
readonly section?: string;
readonly sectionNumber?: number;
readonly startOffset?: number;
readonly textAfter?: string;
readonly textBefore?: string;
readonly type?: string;
readonly value?: string;
readonly sourceId?: string;
readonly isChangeLogEntry: boolean;
reason?: string;
constructor(
redactionLogEntry: IRedactionLogEntry,
readonly changeLogType: 'ADDED' | 'REMOVED' | 'CHANGED' | null,
readonly legalBasisList: ILegalBasis[],
readonly hintDictionary: boolean,
) {
this.changes = redactionLogEntry.changes;
this.manualChanges = redactionLogEntry.manualChanges;
this.color = redactionLogEntry.color;
this.comments = redactionLogEntry.comments;
this.dictionaryEntry = redactionLogEntry.dictionaryEntry;
this.dossierDictionaryEntry = redactionLogEntry.dossierDictionaryEntry;
this.endOffset = redactionLogEntry.endOffset;
this.engines = redactionLogEntry.engines;
this.excluded = redactionLogEntry.excluded;
this.hint = redactionLogEntry.hint;
this.rectangle = redactionLogEntry.rectangle;
this.id = redactionLogEntry.id;
this.image = redactionLogEntry.image;
this.imageHasTransparency = redactionLogEntry.imageHasTransparency;
this.legalBasis = redactionLogEntry.legalBasis;
this.matchedRule = redactionLogEntry.matchedRule;
this.positions = redactionLogEntry.positions;
this.reason = redactionLogEntry.reason;
this.recommendation = redactionLogEntry.recommendation;
this.redacted = redactionLogEntry.redacted;
this.reference = redactionLogEntry.reference;
this.section = redactionLogEntry.section;
this.sectionNumber = redactionLogEntry.sectionNumber;
this.startOffset = redactionLogEntry.startOffset;
this.textAfter = redactionLogEntry.textAfter;
this.textBefore = redactionLogEntry.textBefore;
this.type = redactionLogEntry.type;
this.value = redactionLogEntry.value;
this.imported = redactionLogEntry.imported;
this.sourceId = redactionLogEntry.sourceId;
this.isChangeLogEntry = !!this.changeLogType;
}
}

View File

@ -4,7 +4,7 @@
*ngIf="item.show"
[routerLinkActiveOptions]="{ exact: false }"
[routerLink]="'../' + item.screen"
[attr.help-mode-key]="'user_account'"
[attr.help-mode-key]="item.helpModeKey"
class="item"
routerLinkActive="active"
>

View File

@ -1,13 +1,19 @@
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { getCurrentUser, IqserPermissionsService } from '@iqser/common-ui';
import { ROLES } from '@users/roles';
import { IqserPermissionsService } from '@iqser/common-ui';
import { Roles } from '@users/roles';
import { User } from '@red/domain';
import { getCurrentUser } from '@iqser/common-ui/lib/users';
import { SideNavComponent } from '@common-ui/shared';
import { TranslateModule } from '@ngx-translate/core';
import { NgForOf, NgIf } from '@angular/common';
import { RouterLink, RouterLinkActive } from '@angular/router';
interface NavItem {
readonly label: string;
readonly screen: string;
readonly show?: boolean;
readonly helpModeKey?: string;
}
@Component({
@ -15,6 +21,7 @@ interface NavItem {
templateUrl: './account-side-nav.component.html',
styleUrls: ['./account-side-nav.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [SideNavComponent, TranslateModule, NgForOf, NgIf, RouterLinkActive, RouterLink],
})
export class AccountSideNavComponent {
readonly currentUser = getCurrentUser<User>();
@ -23,21 +30,25 @@ export class AccountSideNavComponent {
screen: 'user-profile',
label: _('user-profile'),
show: true,
helpModeKey: 'my_profile',
},
{
screen: 'notifications',
show: this.currentUser.isUser && this._permissionsService.has(ROLES.notifications.write),
show: this.currentUser.isUser && this._permissionsService.has(Roles.notifications.write),
label: _('notifications.label'),
helpModeKey: 'notification_preferences',
},
{
screen: 'preferences',
label: _('preferences-screen.label'),
show: this.currentUser.isUser,
helpModeKey: 'user_preferences',
},
{
screen: 'warnings-preferences',
label: _('preferences-screen.warnings-label'),
show: this.currentUser.isUser,
helpModeKey: 'prompts_and_dialogs',
},
];

View File

@ -1,25 +0,0 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SharedModule } from '@shared/shared.module';
import { AccountRoutingModule } from './account-routing.module';
import { AccountSideNavComponent } from './account-side-nav/account-side-nav.component';
import { BaseAccountScreenComponent } from './base-account-screen/base-account-screen-component';
import { NotificationPreferencesService } from './services/notification-preferences.service';
import { TranslateModule } from '@ngx-translate/core';
import { IconButtonComponent, IqserHelpModeModule, SideNavComponent } from '@iqser/common-ui';
import { PreferencesComponent } from './screens/preferences/preferences.component';
@NgModule({
declarations: [AccountSideNavComponent, BaseAccountScreenComponent, PreferencesComponent],
imports: [
CommonModule,
SharedModule,
AccountRoutingModule,
TranslateModule,
IqserHelpModeModule,
IconButtonComponent,
SideNavComponent,
],
providers: [NotificationPreferencesService],
})
export class AccountModule {}

View File

@ -1,12 +1,13 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { CompositeRouteGuard, IqserAuthGuard, IqserPermissionsGuard, IqserRoutes } from '@iqser/common-ui';
import { CompositeRouteGuard, IqserPermissionsGuard, IqserRoutes } from '@iqser/common-ui';
import { RedRoleGuard } from '@users/red-role.guard';
import { BaseAccountScreenComponent } from './base-account-screen/base-account-screen-component';
import { PreferencesComponent } from './screens/preferences/preferences.component';
import { ROLES } from '@users/roles';
import { Roles } from '@users/roles';
import { IqserAuthGuard } from '@iqser/common-ui/lib/users';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { NotificationPreferencesService } from './services/notification-preferences.service';
const routes: IqserRoutes = [
export default [
{ path: '', redirectTo: 'user-profile', pathMatch: 'full' },
{
path: 'user-profile',
@ -15,20 +16,22 @@ const routes: IqserRoutes = [
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
loadChildren: () => import('./screens/user-profile/user-profile.module').then(m => m.UserProfileModule),
loadChildren: () => import('./screens/user-profile/user-profile.routes'),
},
{
path: 'notifications',
component: BaseAccountScreenComponent,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
canDeactivate: [PendingChangesGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [ROLES.notifications.write, 'RED_USER'],
allow: [Roles.notifications.write, 'RED_USER'],
redirectTo: '/',
},
},
loadChildren: () => import('./screens/notifications/notifications.module').then(m => m.NotificationsModule),
providers: [NotificationPreferencesService],
loadChildren: () => import('./screens/notifications/notifications.routes'),
},
{
path: 'preferences',
@ -60,10 +63,4 @@ const routes: IqserRoutes = [
},
],
},
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class AccountRoutingModule {}
] satisfies IqserRoutes;

View File

@ -7,11 +7,12 @@
<div class="content-inner">
<div class="content-container full-height">
<div class="overlay-shadow"></div>
<div class="dialog">
<div class="dialog-header">
<div class="heading-l" [translate]="translations[path]"></div>
</div>
<div [ngClass]="!isWarningsScreen && 'dialog'">
@if (!isWarningsScreen) {
<div class="dialog-header">
<div class="heading-l" [translate]="translations[path]"></div>
</div>
}
<router-outlet></router-outlet>
</div>
</div>

View File

@ -1,26 +1,35 @@
import { ChangeDetectionStrategy, Component, OnInit, ViewContainerRef } from '@angular/core';
import { Router } from '@angular/router';
import { Router, RouterOutlet } from '@angular/router';
import { accountTranslations } from '@translations/account-translations';
import { NgClass } from '@angular/common';
import { AccountSideNavComponent } from '../account-side-nav/account-side-nav.component';
import { TranslateModule } from '@ngx-translate/core';
@Component({
selector: 'redaction-base-account-screen',
templateUrl: './base-account-screen-component.html',
styleUrls: ['./base-account-screen-component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [NgClass, RouterOutlet, AccountSideNavComponent, TranslateModule],
})
export class BaseAccountScreenComponent implements OnInit {
readonly translations = accountTranslations;
readonly path: string;
readonly isWarningsScreen: boolean;
constructor(private readonly _router: Router, private readonly _hostRef: ViewContainerRef) {
constructor(
private readonly _router: Router,
private readonly _hostRef: ViewContainerRef,
) {
this.path = this._router.url.split('/').pop();
this.isWarningsScreen = this.path === 'warnings-preferences';
}
ngOnInit(): void {
this._setDialogWidth();
this.#setDialogWidth();
}
private _setDialogWidth() {
#setDialogWidth() {
const element = this._hostRef.element.nativeElement as HTMLElement;
element.style.setProperty('--width', this.path === 'user-profile' ? 'unset' : '100%');
}

View File

@ -2,21 +2,22 @@
<div class="dialog-content">
<div *ngFor="let category of notificationCategories">
<div class="iqser-input-group header w-full">
<mat-slide-toggle color="primary" formControlName="{{ category }}Enabled">{{
translations[category] | translate
}}</mat-slide-toggle>
<mat-slide-toggle color="primary" formControlName="{{ category }}Enabled"
>{{ translations[category] | translate }}
</mat-slide-toggle>
</div>
<!-- TODO: This lots of getters-->
<div *ngIf="isCategoryActive(category)" class="options-content">
<div [translate]="'notifications-screen.options-title'" class="statement"></div>
<div *ngFor="let key of notificationGroupsKeys; let i = index" class="group">
<div [translate]="translations[key]" class="group-title"></div>
<div class="iqser-input-group">
<ng-container *ngFor="let preference of notificationGroupsValues[i]">
<ng-container *ngFor="let preference of getRssFilteredSettings(notificationGroupsValues[i])">
<mat-checkbox
*ngIf="!skipPreference(preference)"
(change)="addRemovePreference($event.checked, category, preference)"
*ngIf="!skipPreference(preference)"
[checked]="isPreferenceChecked(category, preference)"
color="primary"
>

View File

@ -1,9 +1,10 @@
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit } from '@angular/core';
import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms';
import { NotificationPreferencesService } from '../../../services/notification-preferences.service';
import { BaseFormComponent, getCurrentUser, LoadingService, Toaster } from '@iqser/common-ui';
import { BaseFormComponent, getConfig, IconButtonComponent, LoadingService, Toaster } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import {
DocumentNotificationsTypes,
NotificationCategoriesValues,
NotificationGroupsKeys,
NotificationGroupsValues,
@ -12,30 +13,46 @@ import {
} from '@red/domain';
import { firstValueFrom } from 'rxjs';
import { notificationsSettingsTranslations } from '@translations/notifications-settings-translations';
import { getCurrentUser } from '@iqser/common-ui/lib/users';
import { NgForOf, NgIf } from '@angular/common';
import { MatSlideToggle } from '@angular/material/slide-toggle';
import { TranslateModule } from '@ngx-translate/core';
import { MatCheckbox } from '@angular/material/checkbox';
const RSS_EXCLUDED_SETTINGS = ['USER_PROMOTED_TO_APPROVER', 'USER_DEGRADED_TO_REVIEWER', 'ASSIGN_REVIEWER'];
@Component({
templateUrl: './notifications-screen.component.html',
styleUrls: ['./notifications-screen.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [ReactiveFormsModule, NgForOf, MatSlideToggle, TranslateModule, NgIf, MatCheckbox, IconButtonComponent],
})
export class NotificationsScreenComponent extends BaseFormComponent implements OnInit {
readonly #toaster = inject(Toaster);
readonly #formBuilder = inject(UntypedFormBuilder);
readonly #loadingService = inject(LoadingService);
readonly #notificationPreferencesService = inject(NotificationPreferencesService);
readonly #cdRef = inject(ChangeDetectorRef);
readonly #config = getConfig();
readonly notificationCategories = NotificationCategoriesValues;
readonly notificationGroupsKeys = NotificationGroupsKeys;
readonly notificationGroupsValues = NotificationGroupsValues;
readonly translations = notificationsSettingsTranslations;
readonly currentUser = getCurrentUser<User>();
constructor(
private readonly _toaster: Toaster,
private readonly _formBuilder: UntypedFormBuilder,
private readonly _loadingService: LoadingService,
private readonly _notificationPreferencesService: NotificationPreferencesService,
private readonly _changeRef: ChangeDetectorRef,
) {
constructor() {
super();
}
async ngOnInit(): Promise<void> {
await this._initializeForm();
await this.#initializeForm();
}
getRssFilteredSettings(settings: string[]) {
if (this.#config.IS_DOCUMINE) {
return settings.filter(s => !RSS_EXCLUDED_SETTINGS.includes(s));
}
return settings;
}
isCategoryActive(category: string) {
@ -64,19 +81,20 @@ export class NotificationsScreenComponent extends BaseFormComponent implements O
}
async save() {
this._loadingService.start();
this.#loadingService.start();
try {
await firstValueFrom(this._notificationPreferencesService.update(this.form.value));
const preferences = this.#filterNotificationPreferences();
await firstValueFrom(this.#notificationPreferencesService.update(preferences));
} catch (e) {
this._toaster.error(_('notifications-screen.error.generic'));
this.#toaster.error(_('notifications-screen.error.generic'));
}
this.initialFormValue = JSON.parse(JSON.stringify(this.form.getRawValue()));
this._changeRef.markForCheck();
this._loadingService.stop();
this.#cdRef.markForCheck();
this.#loadingService.stop();
}
private _getForm(): UntypedFormGroup {
return this._formBuilder.group({
#getForm() {
return this.#formBuilder.group({
inAppNotificationsEnabled: [undefined],
emailNotificationsEnabled: [undefined],
emailNotificationType: [undefined],
@ -85,14 +103,37 @@ export class NotificationsScreenComponent extends BaseFormComponent implements O
});
}
private async _initializeForm() {
this._loadingService.start();
async #initializeForm() {
this.#loadingService.start();
this.form = this._getForm();
const notificationPreferences = await firstValueFrom(this._notificationPreferencesService.get());
this.form = this.#getForm();
const notificationPreferences = await firstValueFrom(this.#notificationPreferencesService.get());
this.form.patchValue(notificationPreferences);
this.initialFormValue = JSON.parse(JSON.stringify(this.form.getRawValue()));
this._loadingService.stop();
this.#loadingService.stop();
}
#filterNotificationPreferences() {
if (!this.#config.IS_DOCUMINE) {
return this.form.value;
}
if (!this.isPreferenceChecked('inAppNotifications', DocumentNotificationsTypes.assignApprover)) {
return {
...this.form.value,
inAppNotifications: this.form
.get('inAppNotifications')
.value.filter((preference: string) => !RSS_EXCLUDED_SETTINGS.includes(preference)),
};
}
if (!this.form.get('inAppNotifications').value.includes(DocumentNotificationsTypes.assignReviewer)) {
return {
...this.form.value,
inAppNotifications: [...this.form.get('inAppNotifications').value, DocumentNotificationsTypes.assignReviewer],
};
}
return this.form.value;
}
}

View File

@ -1,16 +0,0 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { SharedModule } from '@shared/shared.module';
import { NotificationsScreenComponent } from './notifications-screen/notifications-screen.component';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { TranslateModule } from '@ngx-translate/core';
import { IconButtonComponent } from '@iqser/common-ui';
const routes = [{ path: '', component: NotificationsScreenComponent, canDeactivate: [PendingChangesGuard] }];
@NgModule({
declarations: [NotificationsScreenComponent],
imports: [RouterModule.forChild(routes), CommonModule, SharedModule, TranslateModule, IconButtonComponent],
})
export class NotificationsModule {}

View File

@ -0,0 +1,11 @@
import { NotificationsScreenComponent } from './notifications-screen/notifications-screen.component';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { IqserRoutes } from '@iqser/common-ui';
export default [
{
path: '',
component: NotificationsScreenComponent,
canDeactivate: [PendingChangesGuard],
},
] satisfies IqserRoutes;

View File

@ -0,0 +1,79 @@
<div class="dialog">
<form [formGroup]="form">
<div class="dialog-content">
<h1>{{ 'dialog-defaults-form.title' | translate }}</h1>
<h3>{{ 'dialog-defaults-form.redaction.title' | translate }}</h3>
<div class="iqser-input-group w-450">
<label translate="dialog-defaults-form.redaction.add-dialog"></label>
<mat-form-field>
<mat-select formControlName="addRedaction">
<mat-option *ngFor="let option of redactionAddOptions" [value]="option.value">{{
option.label | translate
}}</mat-option>
</mat-select>
</mat-form-field>
<mat-checkbox *ngIf="displayExtraOptionAddRedaction" formControlName="addRedactionApplyToAll">{{
'dialog-defaults-form.extra-option-label' | translate
}}</mat-checkbox>
</div>
<div class="iqser-input-group w-450">
<label translate="dialog-defaults-form.redaction.remove-dialog"></label>
<mat-form-field>
<mat-select formControlName="removeRedaction">
<mat-option *ngFor="let option of redactionRemoveOptions" [value]="option.value">{{
option.label | translate
}}</mat-option>
</mat-select>
</mat-form-field>
<mat-checkbox *ngIf="displayExtraOptionRemoveRedaction" formControlName="removeRedactionApplyToAll">{{
'dialog-defaults-form.extra-option-label' | translate
}}</mat-checkbox>
</div>
<h3>{{ 'dialog-defaults-form.recommendation.title' | translate }}</h3>
<div class="iqser-input-group w-450">
<label translate="dialog-defaults-form.recommendation.remove-dialog"></label>
<mat-form-field>
<mat-select formControlName="removeRecommendation">
<mat-option *ngFor="let option of recommendationRemoveOptions" [value]="option.value">{{
option.label | translate
}}</mat-option>
</mat-select>
</mat-form-field>
<mat-checkbox *ngIf="displayExtraOptionRemoveRecommendation" formControlName="removeRecommendationApplyToAll">{{
'dialog-defaults-form.extra-option-label' | translate
}}</mat-checkbox>
</div>
<h3>{{ 'dialog-defaults-form.hint.title' | translate }}</h3>
<div class="iqser-input-group w-450">
<label translate="dialog-defaults-form.hint.add-dialog"></label>
<mat-form-field>
<mat-select formControlName="addHint">
<mat-option *ngFor="let option of hintAddOptions" [value]="option.value">{{ option.label | translate }}</mat-option>
</mat-select>
</mat-form-field>
<mat-checkbox *ngIf="displayExtraOptionAddHint" formControlName="addHintApplyToAll">{{
'dialog-defaults-form.extra-option-label' | translate
}}</mat-checkbox>
</div>
<div class="iqser-input-group w-450">
<label translate="dialog-defaults-form.hint.remove-dialog"></label>
<mat-form-field>
<mat-select formControlName="removeHint">
<mat-option *ngFor="let option of removeOptions" [value]="option.value">{{ option.label | translate }}</mat-option>
</mat-select>
</mat-form-field>
<mat-checkbox *ngIf="displayExtraOptionRemoveHint" formControlName="removeHintApplyToAll">{{
'dialog-defaults-form.extra-option-label' | translate
}}</mat-checkbox>
</div>
</div>
<div class="dialog-actions">
<iqser-icon-button
(action)="save()"
[disabled]="!valid || !changed"
[label]="'preferences-screen.actions.save' | translate"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
</div>
</form>
</div>

View File

@ -0,0 +1,16 @@
mat-checkbox {
margin: 8px 0 0 8px;
}
h3 {
margin-top: 24px;
margin-bottom: 4px;
}
form .iqser-input-group:not(first-of-type) {
margin-top: 8px;
}
.dialog {
margin-bottom: 0;
}

View File

@ -0,0 +1,179 @@
import { NgForOf, NgIf } from '@angular/common';
import { ChangeDetectorRef, Component, inject } from '@angular/core';
import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { MatCheckbox } from '@angular/material/checkbox';
import { MatFormField } from '@angular/material/form-field';
import { MatOption, MatSelect } from '@angular/material/select';
import { BaseFormComponent } from '@common-ui/form';
import { AsControl } from '@common-ui/utils';
import { IconButtonComponent } from '@iqser/common-ui';
import { TranslateModule } from '@ngx-translate/core';
import { PreferencesKeys, UserPreferenceService } from '@users/user-preference.service';
import {
RedactOrHintOption,
RedactOrHintOptions,
RemoveRedactionOption,
RemoveRedactionOptions,
} from '../../../../file-preview/utils/dialog-types';
import {
hintAddOptions,
recommendationRemoveOptions,
redactionAddOptions,
redactionRemoveOptions,
removeOptions,
SystemDefaultType,
} from '../../../utils/dialog-defaults';
interface DefaultOptionsForm {
addRedaction: RedactOrHintOption | SystemDefaultType;
addHint: RedactOrHintOption | SystemDefaultType;
removeRedaction: RemoveRedactionOption | SystemDefaultType;
removeRecommendation: RemoveRedactionOption | SystemDefaultType;
removeHint: RemoveRedactionOption | SystemDefaultType;
addRedactionApplyToAll: boolean;
removeRedactionApplyToAll: boolean;
removeRecommendationApplyToAll: boolean;
addHintApplyToAll: boolean;
removeHintApplyToAll: boolean;
}
@Component({
selector: 'redaction-dialog-defaults',
templateUrl: './dialog-defaults.component.html',
styleUrl: './dialog-defaults.component.scss',
imports: [ReactiveFormsModule, TranslateModule, MatFormField, MatSelect, MatOption, NgForOf, MatCheckbox, NgIf, IconButtonComponent],
})
export class DialogDefaultsComponent extends BaseFormComponent {
readonly #formBuilder = inject(FormBuilder);
readonly #userPreferences = inject(UserPreferenceService);
readonly #changeDetectorRef = inject(ChangeDetectorRef);
form: FormGroup<AsControl<DefaultOptionsForm>> = this.#formBuilder.group({
addRedaction: this.#userPreferences.getAddRedactionDefaultOption(),
addHint: this.#userPreferences.getAddHintDefaultOption(),
removeRedaction: this.#userPreferences.getRemoveRedactionDefaultOption(),
removeRecommendation: this.#userPreferences.getRemoveRecommendationDefaultOption(),
removeHint: this.#userPreferences.getRemoveHintDefaultOption(),
addRedactionApplyToAll: this.#userPreferences.getBool(PreferencesKeys.addRedactionDefaultExtraOption),
removeRedactionApplyToAll: this.#userPreferences.getBool(PreferencesKeys.removeRedactionDefaultExtraOption),
removeRecommendationApplyToAll: this.#userPreferences.getBool(PreferencesKeys.removeRecommendationDefaultExtraOption),
addHintApplyToAll: this.#userPreferences.getBool(PreferencesKeys.addHintDefaultExtraOption),
removeHintApplyToAll: this.#userPreferences.getBool(PreferencesKeys.removeHintDefaultExtraOption),
});
initialFormValue = this.form.getRawValue();
readonly redactionAddOptions = redactionAddOptions;
readonly hintAddOptions = hintAddOptions;
readonly removeOptions = removeOptions;
readonly redactionRemoveOptions = redactionRemoveOptions;
readonly recommendationRemoveOptions = recommendationRemoveOptions;
constructor() {
super();
}
get displayExtraOptionAddRedaction() {
return RedactOrHintOptions.IN_DOSSIER === this.form.controls.addRedaction.value;
}
get displayExtraOptionAddHint() {
return RedactOrHintOptions.IN_DOSSIER === this.form.controls.addHint.value;
}
get displayExtraOptionRemoveRedaction() {
return (
[RemoveRedactionOptions.IN_DOSSIER, RemoveRedactionOptions.FALSE_POSITIVE] as Partial<
RemoveRedactionOption | SystemDefaultType
>[]
).includes(this.form.controls.removeRedaction.value);
}
get displayExtraOptionRemoveHint() {
return RemoveRedactionOptions.IN_DOSSIER === this.form.controls.removeHint.value;
}
get displayExtraOptionRemoveRecommendation() {
return RemoveRedactionOptions.DO_NOT_RECOMMEND === this.form.controls.removeRecommendation.value;
}
async save(): Promise<any> {
const formValue = this.form.value;
if (this.initialFormValue.addRedaction !== this.form.controls.addRedaction.value) {
await this.#userPreferences.saveAddRedactionDefaultOption(this.form.controls.addRedaction.value);
}
if (this.initialFormValue.addHint !== this.form.controls.addHint.value) {
await this.#userPreferences.saveAddHintDefaultOption(this.form.controls.addHint.value);
}
if (this.initialFormValue.removeRedaction !== this.form.controls.removeRedaction.value) {
await this.#userPreferences.saveRemoveRedactionDefaultOption(this.form.controls.removeRedaction.value);
}
if (this.initialFormValue.removeRecommendation !== this.form.controls.removeRecommendation.value) {
await this.#userPreferences.saveRemoveRecommendationDefaultOption(this.form.controls.removeRecommendation.value);
}
if (this.initialFormValue.removeHint !== this.form.controls.removeHint.value) {
await this.#userPreferences.saveRemoveHintDefaultOption(this.form.controls.removeHint.value);
}
if (this.displayExtraOptionAddRedaction) {
if (this.initialFormValue.addRedactionApplyToAll !== this.form.controls.addRedactionApplyToAll.value) {
await this.#userPreferences.saveAddRedactionDefaultExtraOption(this.form.controls.addRedactionApplyToAll.value);
}
} else {
await this.#userPreferences.saveAddRedactionDefaultExtraOption('undefined');
}
if (this.displayExtraOptionAddHint) {
if (this.initialFormValue.addHintApplyToAll !== this.form.controls.addHintApplyToAll.value) {
await this.#userPreferences.saveAddHintDefaultExtraOption(this.form.controls.addHintApplyToAll.value);
}
} else {
await this.#userPreferences.saveAddHintDefaultExtraOption('undefined');
}
if (this.displayExtraOptionRemoveRedaction) {
if (this.initialFormValue.removeRedactionApplyToAll !== this.form.controls.removeRedactionApplyToAll.value) {
await this.#userPreferences.saveRemoveRedactionDefaultExtraOption(this.form.controls.removeRedactionApplyToAll.value);
}
} else {
await this.#userPreferences.saveRemoveRedactionDefaultExtraOption('undefined');
}
if (this.displayExtraOptionRemoveHint) {
if (this.initialFormValue.removeHintApplyToAll !== this.form.controls.removeHintApplyToAll.value) {
await this.#userPreferences.saveRemoveHintDefaultExtraOption(this.form.controls.removeHintApplyToAll.value);
}
} else {
await this.#userPreferences.saveRemoveHintDefaultExtraOption('undefined');
}
if (this.displayExtraOptionRemoveRecommendation) {
if (this.initialFormValue.removeRecommendationApplyToAll !== this.form.controls.removeRecommendationApplyToAll.value) {
await this.#userPreferences.saveRemoveRecommendationDefaultExtraOption(
this.form.controls.removeRecommendationApplyToAll.value,
);
}
} else {
await this.#userPreferences.saveRemoveRecommendationDefaultExtraOption('undefined');
}
await this.#userPreferences.reload();
this.#patchValues();
this.initialFormValue = this.form.getRawValue();
this.#changeDetectorRef.markForCheck();
}
#patchValues() {
this.form.patchValue({
addRedaction: this.#userPreferences.getAddRedactionDefaultOption(),
addHint: this.#userPreferences.getAddHintDefaultOption(),
removeRedaction: this.#userPreferences.getRemoveRedactionDefaultOption(),
removeRecommendation: this.#userPreferences.getRemoveRecommendationDefaultOption(),
removeHint: this.#userPreferences.getRemoveHintDefaultOption(),
addRedactionApplyToAll: this.#userPreferences.getBool(PreferencesKeys.addRedactionDefaultExtraOption),
removeRedactionApplyToAll: this.#userPreferences.getBool(PreferencesKeys.removeRedactionDefaultExtraOption),
removeRecommendationApplyToAll: this.#userPreferences.getBool(PreferencesKeys.removeRecommendationDefaultExtraOption),
addHintApplyToAll: this.#userPreferences.getBool(PreferencesKeys.addHintDefaultExtraOption),
removeHintApplyToAll: this.#userPreferences.getBool(PreferencesKeys.removeHintDefaultExtraOption),
});
}
}

View File

@ -1,45 +1,52 @@
<form (submit)="save()" [formGroup]="form">
<div class="dialog-content">
<div *ngIf="currentScreen === screens.WARNING_PREFERENCES" class="content-delimiter"></div>
<div class="dialog-content-left">
<ng-container *ngIf="currentScreen === screens.PREFERENCES">
<div class="iqser-input-group">
<mat-slide-toggle color="primary" formControlName="autoExpandFiltersOnActions">
{{ 'preferences-screen.form.auto-expand-filters-on-action' | translate }}
</mat-slide-toggle>
</div>
<div class="iqser-input-group">
<mat-slide-toggle color="primary" formControlName="displaySuggestionsInPreview">
{{ 'preferences-screen.form.show-suggestions-in-preview' | translate }}
</mat-slide-toggle>
</div>
</ng-container>
<ng-container *ngIf="currentScreen === screens.WARNING_PREFERENCES">
<p class="warnings-subtitle">{{ 'preferences-screen.warnings-subtitle' | translate }}</p>
<p class="warnings-description">{{ 'preferences-screen.warnings-description' | translate }}</p>
<redaction-dialog-defaults *ngIf="currentScreen === screens.WARNING_PREFERENCES && !config.IS_DOCUMINE"></redaction-dialog-defaults>
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="unapprovedSuggestionsWarning">
{{ 'preferences-screen.form.unapproved-suggestions-warning' | translate }}
</mat-checkbox>
</div>
<div [ngClass]="currentScreen === screens.WARNING_PREFERENCES && 'dialog'">
<form [formGroup]="form">
<div class="dialog-content">
<div class="dialog-content-left">
<ng-container *ngIf="currentScreen === screens.PREFERENCES">
<div class="iqser-input-group">
<mat-slide-toggle color="primary" formControlName="autoExpandFiltersOnActions">
{{ 'preferences-screen.form.auto-expand-filters-on-action' | translate }}
</mat-slide-toggle>
</div>
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="loadAllAnnotationsWarning">
{{ 'preferences-screen.form.load-all-annotations-warning' | translate }}
</mat-checkbox>
</div>
</ng-container>
<div *allow="roles.getTables" class="iqser-input-group">
<label [translate]="'preferences-screen.form.table-extraction-type'"></label>
<input formControlName="tableExtractionType" />
</div>
</ng-container>
<ng-container *ngIf="currentScreen === screens.WARNING_PREFERENCES">
<h1>{{ 'preferences-screen.warnings-subtitle' | translate }}</h1>
<p class="warnings-description">{{ 'preferences-screen.warnings-description' | translate }}</p>
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="loadAllAnnotationsWarning">
{{ 'preferences-screen.form.load-all-annotations-warning' | translate }}
</mat-checkbox>
</div>
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="helpModeDialog">
{{ 'preferences-screen.form.help-mode-dialog' | translate }}
</mat-checkbox>
</div>
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="overwriteFileOption">
{{ 'preferences-screen.form.overwrite-file-option' | translate }}
</mat-checkbox>
</div>
</ng-container>
</div>
</div>
</div>
<div class="dialog-actions">
<iqser-icon-button
(action)="save()"
[disabled]="!valid || !changed"
[label]="'preferences-screen.actions.save' | translate"
[submit]="true"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
</div>
</form>
<div class="dialog-actions">
<iqser-icon-button
(action)="save()"
[disabled]="!valid || !changed"
[label]="'preferences-screen.actions.save' | translate"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
</div>
</form>
</div>

View File

@ -1,16 +1,3 @@
@use 'variables';
.content-delimiter {
border-top: 1px solid var(--iqser-separator);
margin-bottom: 15px;
}
.warnings-subtitle {
font-size: var(--iqser-font-size);
color: var(--iqser-text);
font-weight: 600;
}
.warnings-description {
width: 105%;
}

View File

@ -1,17 +1,33 @@
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
import { PreferencesKeys, UserPreferenceService } from '@users/user-preference.service';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, ReactiveFormsModule } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { AsControl, BaseFormComponent, IqserPermissionsService } from '@iqser/common-ui';
import { ROLES } from '@users/roles';
import {
BaseFormComponent,
getConfig,
IconButtonComponent,
IqserAllowDirective,
IqserPermissionsService,
isIqserDevMode,
KEYS,
LoadingService,
} from '@iqser/common-ui';
import { AsControl } from '@iqser/common-ui/lib/utils';
import { Roles } from '@users/roles';
import { PreferencesKeys, UserPreferenceService } from '@users/user-preference.service';
import { DialogDefaultsComponent } from './dialog-defaults/dialog-defaults.component';
import { NgClass, NgIf } from '@angular/common';
import { MatSlideToggle } from '@angular/material/slide-toggle';
import { TranslateModule } from '@ngx-translate/core';
import { MatCheckbox } from '@angular/material/checkbox';
interface PreferencesForm {
// preferences
autoExpandFiltersOnActions: boolean;
displaySuggestionsInPreview: boolean;
tableExtractionType: string;
// warnings preferences
unapprovedSuggestionsWarning: boolean;
loadAllAnnotationsWarning: boolean;
helpModeDialog: boolean;
overwriteFileOption: boolean;
[k: string]: any;
}
@ -28,66 +44,114 @@ const Screens = {
templateUrl: './preferences.component.html',
styleUrls: ['./preferences.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
DialogDefaultsComponent,
NgClass,
NgIf,
ReactiveFormsModule,
MatSlideToggle,
TranslateModule,
IqserAllowDirective,
MatCheckbox,
IconButtonComponent,
],
})
export class PreferencesComponent extends BaseFormComponent {
export class PreferencesComponent extends BaseFormComponent implements OnInit {
readonly #formBuilder = inject(FormBuilder);
readonly #permissionsService = inject(IqserPermissionsService);
readonly #changeRef = inject(ChangeDetectorRef);
readonly #loadingService = inject(LoadingService);
readonly #userPreferenceService = inject(UserPreferenceService);
readonly form: FormGroup<AsControl<PreferencesForm>>;
readonly currentScreen: Screen;
readonly screens = Screens;
initialFormValue: PreferencesForm;
readonly roles = Roles;
readonly config = getConfig();
readonly isIqserDevMode = isIqserDevMode();
constructor(
readonly userPreferenceService: UserPreferenceService,
private readonly _formBuilder: FormBuilder,
private readonly _permissionsService: IqserPermissionsService,
private readonly _route: ActivatedRoute,
private readonly _changeRef: ChangeDetectorRef,
) {
get #isOverwriteFileOptionActive() {
return !(this.#userPreferenceService.getOverwriteFileOption() === 'undefined');
}
constructor(route: ActivatedRoute) {
super();
this.form = this._formBuilder.group({
this.form = this.#formBuilder.group({
// preferences
autoExpandFiltersOnActions: [this.userPreferenceService.getAutoExpandFiltersOnActions()],
displaySuggestionsInPreview: [this.userPreferenceService.getDisplaySuggestionsInPreview()],
autoExpandFiltersOnActions: [this.#userPreferenceService.getAutoExpandFiltersOnActions()],
tableExtractionType: [this.#userPreferenceService.getTableExtractionType()],
// warnings preferences
unapprovedSuggestionsWarning: [this.userPreferenceService.getUnapprovedSuggestionsWarning()],
loadAllAnnotationsWarning: [this.userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning)],
loadAllAnnotationsWarning: [this.#userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning)],
helpModeDialog: [this.#userPreferenceService.getBool(KEYS.helpModeDialog)],
overwriteFileOption: [this.#isOverwriteFileOptionActive],
});
if (!this._permissionsService.has(ROLES.managePreferences)) {
if (!this.#permissionsService.has(Roles.managePreferences)) {
this.form.disable();
}
if (!this.#permissionsService.has(Roles.getTables)) {
this.form.controls.tableExtractionType.disable();
}
if (!this.#isOverwriteFileOptionActive) {
this.form.controls.overwriteFileOption.disable();
}
this.initialFormValue = this.form.getRawValue();
this.currentScreen = _route.snapshot.data.screen;
this.currentScreen = route.snapshot.data.screen;
}
ngOnInit() {
this.#loadingService.stop();
}
async save(): Promise<any> {
if (this.form.controls.autoExpandFiltersOnActions.value !== this.userPreferenceService.getAutoExpandFiltersOnActions()) {
await this.userPreferenceService.toggleAutoExpandFiltersOnActions();
if (this.form.controls.autoExpandFiltersOnActions.value !== this.#userPreferenceService.getAutoExpandFiltersOnActions()) {
await this.#userPreferenceService.toggleAutoExpandFiltersOnActions();
}
if (this.form.controls.displaySuggestionsInPreview.value !== this.userPreferenceService.getDisplaySuggestionsInPreview()) {
await this.userPreferenceService.toggleDisplaySuggestionsInPreview();
}
if (this.form.controls.unapprovedSuggestionsWarning.value !== this.userPreferenceService.getUnapprovedSuggestionsWarning()) {
await this.userPreferenceService.toggleUnapprovedSuggestionsWarning();
if (this.form.controls.tableExtractionType.value !== this.#userPreferenceService.getTableExtractionType()) {
await this.#userPreferenceService.save(PreferencesKeys.tableExtractionType, this.form.controls.tableExtractionType.value);
}
if (
this.form.controls.loadAllAnnotationsWarning.value !==
this.userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning)
this.#userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning)
) {
await this.userPreferenceService.save(
await this.#userPreferenceService.save(
PreferencesKeys.loadAllAnnotationsWarning,
String(this.form.controls.loadAllAnnotationsWarning.value),
);
}
await this.userPreferenceService.reload();
this.form.patchValue({
autoExpandFiltersOnActions: this.userPreferenceService.getAutoExpandFiltersOnActions(),
displaySuggestionsInPreview: this.userPreferenceService.getDisplaySuggestionsInPreview(),
unapprovedSuggestionsWarning: this.userPreferenceService.getUnapprovedSuggestionsWarning(),
});
if (this.form.controls.helpModeDialog.value !== this.#userPreferenceService.getBool(KEYS.helpModeDialog)) {
await this.#userPreferenceService.save(KEYS.helpModeDialog, String(this.form.controls.helpModeDialog.value));
}
if (this.form.controls.overwriteFileOption.enabled && !this.form.controls.overwriteFileOption.value) {
await this.#userPreferenceService.saveOverwriteFileOption('undefined');
}
await this.#userPreferenceService.reload();
this.#patchValues();
this.initialFormValue = this.form.getRawValue();
this._changeRef.markForCheck();
this.#changeRef.markForCheck();
}
#patchValues() {
this.form.patchValue({
autoExpandFiltersOnActions: this.#userPreferenceService.getAutoExpandFiltersOnActions(),
tableExtractionType: this.#userPreferenceService.getTableExtractionType(),
loadAllAnnotationsWarning: this.#userPreferenceService.getBool(PreferencesKeys.loadAllAnnotationsWarning),
helpModeDialog: this.#userPreferenceService.getBool(KEYS.helpModeDialog),
overwriteFileOption: this.#isOverwriteFileOptionActive,
});
if (!this.#isOverwriteFileOptionActive) {
this.form.controls.overwriteFileOption.disable();
}
}
}

View File

@ -1,7 +1,8 @@
import { Component } from '@angular/core';
import { BaseDialogComponent } from '@iqser/common-ui';
import { BaseDialogComponent, CircleButtonComponent, IconButtonComponent } from '@iqser/common-ui';
import { MatDialogRef } from '@angular/material/dialog';
import { AbstractControl, FormGroup, Validators } from '@angular/forms';
import { AbstractControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
import { TranslateModule } from '@ngx-translate/core';
interface FormType {
password: AbstractControl<string>;
@ -9,6 +10,7 @@ interface FormType {
@Component({
templateUrl: './confirm-password-dialog.component.html',
imports: [ReactiveFormsModule, IconButtonComponent, TranslateModule, CircleButtonComponent],
})
export class ConfirmPasswordDialogComponent extends BaseDialogComponent {
constructor(protected readonly _dialogRef: MatDialogRef<ConfirmPasswordDialogComponent>) {

View File

@ -16,32 +16,37 @@
<input formControlName="lastName" name="lastName" type="text" />
</div>
<div *ngIf="devMode" class="iqser-input-group">
<div class="iqser-input-group">
<label [translate]="'top-bar.navigation-items.my-account.children.language.label'"></label>
<mat-form-field>
<mat-select formControlName="language">
<mat-option *ngFor="let language of languages" [value]="language">
{{ translations[language] | translate }}
</mat-option>
<mat-select-trigger>{{ languageSelectLabel() | translate }}</mat-select-trigger>
@for (language of languages; track language) {
<mat-option [value]="language">
{{ translations[language] | translate }}
</mat-option>
}
</mat-select>
</mat-form-field>
</div>
<div class="iqser-input-group">
<a [href]="changePasswordUrl" target="_blank"> {{ 'user-profile-screen.actions.change-password' | translate }}</a>
<a (click)="resetPassword()" target="_blank"> {{ 'user-profile-screen.actions.change-password' | translate }}</a>
</div>
<div *ngIf="devMode" class="iqser-input-group">
<mat-slide-toggle color="primary" formControlName="darkTheme">
{{ 'user-profile-screen.form.dark-theme' | translate }}
</mat-slide-toggle>
</div>
@if (devMode) {
<div class="iqser-input-group">
<mat-slide-toggle color="primary" formControlName="darkTheme">
{{ 'user-profile-screen.form.dark-theme' | translate }}
</mat-slide-toggle>
</div>
}
</div>
</div>
<div class="dialog-actions">
<iqser-icon-button
[disabled]="form.invalid || !(profileChanged || languageChanged || themeChanged)"
[disabled]="disabled"
[label]="'user-profile-screen.actions.save' | translate"
[submit]="true"
[type]="iconButtonTypes.primary"

View File

@ -1,39 +1,64 @@
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { DomSanitizer } from '@angular/platform-browser';
import { TranslateService } from '@ngx-translate/core';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed } from '@angular/core';
import { FormGroup, ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import {
BaseFormComponent,
getConfig,
IconButtonComponent,
IqserPermissionsService,
LanguageService,
LoadingService,
TenantsService,
Toaster,
} from '@iqser/common-ui';
import { AppConfig, IProfile } from '@red/domain';
import { TranslateModule, TranslateService } from '@ngx-translate/core';
import { IProfile } from '@red/domain';
import { languagesTranslations } from '@translations/languages-translations';
import { Roles } from '@users/roles';
import { UserPreferenceService } from '@users/user-preference.service';
import { UserService } from '@users/user.service';
import { firstValueFrom } from 'rxjs';
import { UserPreferenceService } from '@users/user-preference.service';
import { ROLES } from '@users/roles';
import { UserProfileDialogService } from '../services/user-profile-dialog.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { MatFormField } from '@angular/material/form-field';
import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select';
import { MatSlideToggle } from '@angular/material/slide-toggle';
import { PdfViewer } from '../../../../pdf-viewer/services/pdf-viewer.service';
import { formControlToSignal } from '@utils/functions';
import { AsControl } from '@common-ui/utils';
interface UserProfileForm {
email: string;
firstName: string;
lastName: string;
language: string;
darkTheme: boolean;
}
@Component({
templateUrl: './user-profile-screen.component.html',
styleUrls: ['./user-profile-screen.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
ReactiveFormsModule,
MatFormField,
MatSelect,
MatOption,
TranslateModule,
MatSlideToggle,
IconButtonComponent,
MatSelectTrigger,
],
})
export class UserProfileScreenComponent extends BaseFormComponent implements OnInit {
export class UserProfileScreenComponent extends BaseFormComponent {
readonly form: FormGroup<AsControl<UserProfileForm>> = this.#getForm();
initialFormValue = this.form.getRawValue();
readonly translations = languagesTranslations;
readonly devMode = this._userPreferenceService.areDevFeaturesEnabled;
readonly changePasswordUrl: string;
readonly devMode = this._userPreferenceService.isIqserDevMode;
#profileModel: IProfile;
readonly profileKeys = ['email', 'firstName', 'lastName'];
readonly languages = this._translateService.langs;
readonly language = formControlToSignal<UserProfileForm['language']>(this.form.controls.language);
readonly languageSelectLabel = computed(() => this.translations[this.language()]);
constructor(
domSanitizer: DomSanitizer,
private readonly _userService: UserService,
private readonly _loadingService: LoadingService,
private readonly _dialogService: UserProfileDialogService,
@ -44,46 +69,29 @@ export class UserProfileScreenComponent extends BaseFormComponent implements OnI
protected readonly _userPreferenceService: UserPreferenceService,
private readonly _changeRef: ChangeDetectorRef,
private readonly _toaster: Toaster,
private readonly _pdfViewer: PdfViewer,
) {
super();
this._loadingService.start();
const tenant = inject(TenantsService).activeTenantId;
const realmUrl = `${getConfig<AppConfig>().OAUTH_URL}/realms/${tenant}`;
this.changePasswordUrl = `${realmUrl}/account/password`;
if (!this._permissionsService.has(Roles.updateMyProfile)) {
this.form.disable();
}
this._loadingService.stop();
}
get languageChanged(): boolean {
return this.#profileModel['language'] !== this.form.get('language').value;
return this.initialFormValue['language'] !== this.form.controls.language.value;
}
get themeChanged(): boolean {
return this.#profileModel['darkTheme'] !== this.form.get('darkTheme').value;
return this.initialFormValue['darkTheme'] !== this.form.controls.darkTheme.value;
}
get emailChanged(): boolean {
return this.#profileModel['email'] !== this.form.get('email').value;
return this.initialFormValue['email'] !== this.form.controls.email.value;
}
get profileChanged(): boolean {
const keys = Object.keys(this.form.getRawValue());
keys.splice(keys.indexOf('language'), 1);
keys.splice(keys.indexOf('darkTheme'), 1);
for (const key of keys) {
if (this.#profileModel[key] !== this.form.get(key).value) {
return true;
}
}
return false;
}
get languages(): string[] {
return this._translateService.langs;
}
ngOnInit() {
this._initializeForm();
return this.profileKeys.some(key => this.initialFormValue[key] !== this.form.get(key).value);
}
async save(): Promise<void> {
@ -108,50 +116,34 @@ export class UserProfileScreenComponent extends BaseFormComponent implements OnI
}
if (this.languageChanged) {
await this._languageService.change(this.form.get('language').value);
await this._languageService.change(this.form.controls.language.value);
await this._pdfViewer.instance?.UI.setLanguage(this._languageService.currentLanguage);
}
if (this.themeChanged) {
await this._userPreferenceService.saveTheme(this.form.get('darkTheme').value ? 'dark' : 'light');
await this._userPreferenceService.saveTheme(this.form.controls.darkTheme.value ? 'dark' : 'light');
}
this._initializeForm();
this.initialFormValue = this.form.getRawValue();
this._changeRef.markForCheck();
this._loadingService.stop();
this._toaster.success(_('user-profile-screen.update.success'));
} catch (e) {
this._loadingService.stop();
}
}
private _getForm(): UntypedFormGroup {
return this._formBuilder.group({
email: ['', [Validators.required, Validators.email]],
firstName: [''],
lastName: [''],
language: [''],
darkTheme: [false],
});
async resetPassword() {
await this._userService.createResetPasswordAction();
}
private _initializeForm(): void {
try {
this.form = this._getForm();
if (!this._permissionsService.has(ROLES.updateMyProfile)) {
this.form.disable();
}
this.#profileModel = {
email: this._userService.currentUser.email ?? '',
firstName: this._userService.currentUser.firstName ?? '',
lastName: this._userService.currentUser.lastName ?? '',
language: this._languageService.currentLanguage ?? '',
darkTheme: this._userPreferenceService.getTheme() === 'dark',
};
this.form.patchValue(this.#profileModel, { emitEvent: false });
this.initialFormValue = this.form.getRawValue();
} catch (e) {
} finally {
this._loadingService.stop();
this._changeRef.markForCheck();
}
#getForm() {
return this._formBuilder.group({
email: [this._userService.currentUser.email ?? '', [Validators.required, Validators.email]],
firstName: [this._userService.currentUser.firstName ?? ''],
lastName: [this._userService.currentUser.lastName ?? ''],
language: [this._userPreferenceService.getLanguage()],
darkTheme: [this._userPreferenceService.getTheme() === 'dark'],
});
}
}

View File

@ -1,19 +0,0 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { SharedModule } from '@shared/shared.module';
import { UserProfileScreenComponent } from './user-profile-screen/user-profile-screen.component';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { TranslateModule } from '@ngx-translate/core';
import { ConfirmPasswordDialogComponent } from './confirm-password-dialog/confirm-password-dialog.component';
import { UserProfileDialogService } from './services/user-profile-dialog.service';
import { CircleButtonComponent, IconButtonComponent } from '@iqser/common-ui';
const routes = [{ path: '', component: UserProfileScreenComponent, canDeactivate: [PendingChangesGuard] }];
@NgModule({
declarations: [UserProfileScreenComponent, ConfirmPasswordDialogComponent],
imports: [RouterModule.forChild(routes), CommonModule, SharedModule, TranslateModule, IconButtonComponent, CircleButtonComponent],
providers: [UserProfileDialogService],
})
export class UserProfileModule {}

View File

@ -0,0 +1,8 @@
import { UserProfileScreenComponent } from './user-profile-screen/user-profile-screen.component';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { UserProfileDialogService } from './services/user-profile-dialog.service';
import { IqserRoutes } from '@iqser/common-ui';
export default [
{ path: '', component: UserProfileScreenComponent, canDeactivate: [PendingChangesGuard], providers: [UserProfileDialogService] },
] satisfies IqserRoutes;

View File

@ -0,0 +1,95 @@
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { addHintTranslations } from '@translations/add-hint-translations';
import { redactTextTranslations } from '@translations/redact-text-translations';
import { removeRedactionTranslations } from '@translations/remove-redaction-translations';
import {
ForceAnnotationOptions,
RectangleRedactOptions,
RedactOrHintOptions,
RemoveRedactionOptions,
} from '../../file-preview/utils/dialog-types';
export const SystemDefaults = {
RECTANGLE_REDACT_DEFAULT: RectangleRedactOptions.ONLY_THIS_PAGE,
ADD_REDACTION_DEFAULT: RedactOrHintOptions.IN_DOSSIER,
ADD_HINT_DEFAULT: RedactOrHintOptions.IN_DOSSIER,
FORCE_REDACTION_DEFAULT: ForceAnnotationOptions.ONLY_HERE,
REMOVE_REDACTION_DEFAULT: RemoveRedactionOptions.ONLY_HERE,
REMOVE_HINT_DEFAULT: RemoveRedactionOptions.ONLY_HERE,
REMOVE_RECOMMENDATION_DEFAULT: RemoveRedactionOptions.DO_NOT_RECOMMEND,
} as const;
export const SystemDefaultOption = {
SYSTEM_DEFAULT: 'SYSTEM_DEFAULT',
label: _('dialog-defaults-form.system-default'),
} as const;
export type SystemDefaultType = typeof SystemDefaultOption.SYSTEM_DEFAULT;
export const redactionAddOptions = [
{
label: SystemDefaultOption.label,
value: SystemDefaultOption.SYSTEM_DEFAULT,
},
{
label: redactTextTranslations.onlyHere.label,
value: RedactOrHintOptions.ONLY_HERE,
},
{
label: redactTextTranslations.inDocument.label,
value: RedactOrHintOptions.IN_DOCUMENT,
},
{
label: redactTextTranslations.inDossier.label,
value: RedactOrHintOptions.IN_DOSSIER,
},
];
export const hintAddOptions = [
{
label: SystemDefaultOption.label,
value: SystemDefaultOption.SYSTEM_DEFAULT,
},
{
label: addHintTranslations.onlyHere.label,
value: RedactOrHintOptions.ONLY_HERE,
},
{
label: addHintTranslations.inDossier.label,
value: RedactOrHintOptions.IN_DOSSIER,
},
];
export const removeOptions = [
{
label: SystemDefaultOption.label,
value: SystemDefaultOption.SYSTEM_DEFAULT,
},
{
label: removeRedactionTranslations.ONLY_HERE.label,
value: RemoveRedactionOptions.ONLY_HERE,
},
{
label: removeRedactionTranslations.IN_DOSSIER.label,
value: RemoveRedactionOptions.IN_DOSSIER,
},
];
export const redactionRemoveOptions = [
...removeOptions,
{
label: removeRedactionTranslations.FALSE_POSITIVE.label,
value: RemoveRedactionOptions.FALSE_POSITIVE,
},
];
export const recommendationRemoveOptions = [
{
label: SystemDefaultOption.label,
value: SystemDefaultOption.SYSTEM_DEFAULT,
},
{
label: removeRedactionTranslations.DO_NOT_RECOMMEND.label,
value: RemoveRedactionOptions.DO_NOT_RECOMMEND,
},
];

View File

@ -1,266 +0,0 @@
import { NgModule } from '@angular/core';
import { CompositeRouteGuard, IqserAuthGuard, IqserPermissionsGuard, IqserRoutes } from '@iqser/common-ui';
import { RedRoleGuard } from '@users/red-role.guard';
import { EntitiesListingScreenComponent } from './screens/entities-listing/entities-listing-screen.component';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { DefaultColorsScreenComponent } from './screens/default-colors/default-colors-screen.component';
import { UserListingScreenComponent } from './screens/user-listing/user-listing-screen.component';
import { DigitalSignatureScreenComponent } from './screens/digital-signature/digital-signature-screen.component';
import { AuditScreenComponent } from './screens/audit/audit-screen.component';
import { RouterModule } from '@angular/router';
import { GeneralConfigScreenComponent } from './screens/general-config/general-config-screen.component';
import { BaseAdminScreenComponent } from './base-admin-screen/base-admin-screen.component';
import { BaseDossierTemplateScreenComponent } from './base-dossier-templates-screen/base-dossier-template-screen.component';
import { DossierTemplatesGuard } from '@guards/dossier-templates.guard';
import { DOSSIER_TEMPLATE_ID, ENTITY_TYPE } from '@red/domain';
import { templateExistsWhenEnteringAdmin } from '@guards/dossier-template-exists.guard';
import { entityExistsGuard } from '@guards/entity-exists-guard.service';
import { BaseEntityScreenComponent } from './base-entity-screen/base-entity-screen.component';
import { PermissionsGuard } from '@guards/permissions-guard';
import { ROLES } from '@users/roles';
const dossierTemplateIdRoutes: IqserRoutes = [
{
path: 'info',
component: BaseDossierTemplateScreenComponent,
loadChildren: () => import('./screens/info/dossier-template-info.module').then(m => m.DossierTemplateInfoModule),
},
{
path: 'entities',
children: [
{
path: '',
component: EntitiesListingScreenComponent,
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: `:${ENTITY_TYPE}`,
component: BaseEntityScreenComponent,
canActivate: [CompositeRouteGuard, entityExistsGuard()],
loadChildren: () => import('./screens/entities/entities.module').then(m => m.EntitiesModule),
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
],
},
{
path: 'rules',
component: BaseDossierTemplateScreenComponent,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [ROLES.rules.read],
redirectTo: 'info',
},
},
loadChildren: () => import('./screens/rules/rules.module').then(m => m.RulesModule),
},
{
path: 'file-attributes',
component: BaseDossierTemplateScreenComponent,
loadChildren: () =>
import('./screens/file-attributes-listing/file-attributes-listing.module').then(m => m.FileAttributesListingModule),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'watermarks',
component: BaseDossierTemplateScreenComponent,
loadChildren: () => import('./screens/watermark/watermark.module').then(m => m.WatermarkModule),
},
{
path: 'reports',
component: BaseDossierTemplateScreenComponent,
loadChildren: () => import('./screens/reports/reports.module').then(m => m.ReportsModule),
canActivate: [IqserAuthGuard, IqserPermissionsGuard],
data: {
permissions: {
allow: [ROLES.reportTemplates.read],
redirectTo: '/auth-error',
},
},
},
{
path: 'dossier-attributes',
component: BaseDossierTemplateScreenComponent,
loadChildren: () =>
import('./screens/dossier-attributes-listing/dossier-attributes-listing.module').then(m => m.DossierAttributesListingModule),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'dossier-states',
component: BaseDossierTemplateScreenComponent,
loadChildren: () =>
import('./screens/dossier-states-listing/dossier-states-listing.module').then(m => m.DossierStatesListingModule),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'default-colors',
component: DefaultColorsScreenComponent,
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'justifications',
component: BaseDossierTemplateScreenComponent,
loadChildren: () => import('./screens/justifications/justifications.module').then(m => m.JustificationsModule),
canActivate: [IqserPermissionsGuard],
data: {
permissions: {
allow: [ROLES.legalBasis.read],
redirectTo: '/auth-error',
},
},
},
{ path: '', redirectTo: 'info', pathMatch: 'full' },
];
const dossierTemplatesRoutes: IqserRoutes = [
{
path: '',
component: BaseAdminScreenComponent,
canActivate: [IqserAuthGuard],
loadChildren: () =>
import('./screens/dossier-templates-listing/dossier-templates-listing.module').then(m => m.DossierTemplatesListingModule),
},
{
path: `:${DOSSIER_TEMPLATE_ID}`,
children: dossierTemplateIdRoutes,
canActivate: [templateExistsWhenEnteringAdmin()],
},
];
const routes: IqserRoutes = [
{ path: '', redirectTo: 'dossier-templates', pathMatch: 'full' },
{
path: 'dossier-templates',
children: dossierTemplatesRoutes,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard, DossierTemplatesGuard],
requiredRoles: ['RED_MANAGER', 'RED_ADMIN'],
permissions: {
allow: [ROLES.templates.read],
redirectTo: '/',
},
},
},
{
path: 'users',
component: BaseAdminScreenComponent,
children: [
{
path: '',
component: UserListingScreenComponent,
},
],
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [ROLES.users.read, 'RED_USER_ADMIN'],
redirectTo: '/',
},
},
},
{
path: 'dossier-permissions',
component: BaseAdminScreenComponent,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard, PermissionsGuard],
permissionsObject: 'Dossier',
permissions: {
allow: [ROLES.manageAclPermissions, 'RED_ADMIN'],
redirectTo: '/',
},
},
loadChildren: () => import('./screens/permissions/permissions.module').then(m => m.PermissionsModule),
},
{
path: 'license-info',
component: BaseAdminScreenComponent,
canActivate: [IqserAuthGuard, IqserPermissionsGuard, RedRoleGuard],
data: {
permissions: {
allow: [ROLES.license.readReport, 'RED_ADMIN'],
redirectTo: '/',
},
},
loadChildren: () => import('./screens/license/license.module').then(m => m.LicenseModule),
},
{
path: 'digital-signature',
component: BaseAdminScreenComponent,
children: [
{
path: '',
component: DigitalSignatureScreenComponent,
},
],
canActivate: [IqserAuthGuard, IqserPermissionsGuard, RedRoleGuard],
data: {
permissions: {
allow: [ROLES.digitalSignature.read, 'RED_ADMIN'],
redirectTo: '/',
},
},
},
{
path: 'audit',
component: BaseAdminScreenComponent,
children: [
{
path: '',
component: AuditScreenComponent,
},
],
canActivate: [IqserAuthGuard, IqserPermissionsGuard, RedRoleGuard],
data: {
permissions: {
allow: [ROLES.searchAudit, 'RED_ADMIN'],
redirectTo: '/',
},
},
},
{
path: 'general-config',
component: BaseAdminScreenComponent,
children: [
{
path: '',
component: GeneralConfigScreenComponent,
},
],
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
canDeactivate: [PendingChangesGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [ROLES.generalConfiguration.read, ROLES.smtp.read, 'RED_ADMIN'],
redirectTo: '/',
},
},
},
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class AdminRoutingModule {}

View File

@ -1,128 +0,0 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AdminRoutingModule } from './admin-routing.module';
import { SharedModule } from '@shared/shared.module';
import { AuditScreenComponent } from './screens/audit/audit-screen.component';
import { DefaultColorsScreenComponent } from './screens/default-colors/default-colors-screen.component';
import { EntitiesListingScreenComponent } from './screens/entities-listing/entities-listing-screen.component';
import { DigitalSignatureScreenComponent } from './screens/digital-signature/digital-signature-screen.component';
import { UserListingScreenComponent } from './screens/user-listing/user-listing-screen.component';
import { DossierTemplateBreadcrumbsComponent } from './shared/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component';
import { AddEditCloneDossierTemplateDialogComponent } from './dialogs/add-edit-dossier-template-dialog/add-edit-clone-dossier-template-dialog.component';
import { AddEntityDialogComponent } from './dialogs/add-entity-dialog/add-entity-dialog.component';
import { EditColorDialogComponent } from './dialogs/edit-color-dialog/edit-color-dialog.component';
import { AdminDialogService } from './services/admin-dialog.service';
import { GeneralConfigScreenComponent } from './screens/general-config/general-config-screen.component';
import { SmtpAuthDialogComponent } from './dialogs/smtp-auth-dialog/smtp-auth-dialog.component';
import { AddEditUserDialogComponent } from './dialogs/add-edit-user-dialog/add-edit-user-dialog.component';
import { UsersStatsComponent } from './components/users-stats/users-stats.component';
import { ResetPasswordComponent } from './dialogs/add-edit-user-dialog/reset-password/reset-password.component';
import { UserDetailsComponent } from './dialogs/add-edit-user-dialog/user-details/user-details.component';
import { AuditService } from './services/audit.service';
import { DigitalSignatureService } from './services/digital-signature.service';
import { BaseAdminScreenComponent } from './base-admin-screen/base-admin-screen.component';
import { RulesService } from './services/rules.service';
import { SmtpConfigService } from './services/smtp-config.service';
import { UploadDictionaryDialogComponent } from './dialogs/upload-dictionary-dialog/upload-dictionary-dialog.component';
import { GeneralConfigFormComponent } from './screens/general-config/general-config-form/general-config-form.component';
import { SmtpFormComponent } from './screens/general-config/smtp-form/smtp-form.component';
import { BaseDossierTemplateScreenComponent } from './base-dossier-templates-screen/base-dossier-template-screen.component';
import { A11yModule } from '@angular/cdk/a11y';
import { BaseEntityScreenComponent } from './base-entity-screen/base-entity-screen.component';
import { AdminSideNavComponent } from './shared/components/admin-side-nav/admin-side-nav.component';
import { SystemPreferencesFormComponent } from './screens/general-config/system-preferences-form/system-preferences-form.component';
import { ConfigureCertificateDialogComponent } from './dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component';
import { PkcsSignatureConfigurationComponent } from './dialogs/configure-digital-signature-dialog/form/pkcs-signature-configuration/pkcs-signature-configuration.component';
import { KmsSignatureConfigurationComponent } from './dialogs/configure-digital-signature-dialog/form/kms-signature-configuration/kms-signature-configuration.component';
import {
ChevronButtonComponent,
CircleButtonComponent,
DetailsRadioComponent,
EditableInputComponent,
EmptyStateComponent,
HasScrollbarDirective,
HumanizePipe,
IconButtonComponent,
InputWithActionComponent,
IqserAllowDirective,
IqserDenyDirective,
IqserHelpModeModule,
IqserListingModule,
IqserUploadFileModule,
IqserUsersModule,
RoundCheckboxComponent,
TenantPipe,
} from '@iqser/common-ui';
import { TranslateModule } from '@ngx-translate/core';
import { AuditInfoDialogComponent } from './dialogs/audit-info-dialog/audit-info-dialog.component';
import { DossierTemplateActionsComponent } from './shared/components/dossier-template-actions/dossier-template-actions.component';
const dialogs = [
AddEditCloneDossierTemplateDialogComponent,
AddEntityDialogComponent,
EditColorDialogComponent,
SmtpAuthDialogComponent,
AddEditUserDialogComponent,
UploadDictionaryDialogComponent,
ConfigureCertificateDialogComponent,
AuditInfoDialogComponent,
];
const screens = [
AuditScreenComponent,
DefaultColorsScreenComponent,
EntitiesListingScreenComponent,
DigitalSignatureScreenComponent,
UserListingScreenComponent,
GeneralConfigScreenComponent,
];
const components = [
UsersStatsComponent,
ResetPasswordComponent,
UserDetailsComponent,
BaseAdminScreenComponent,
BaseDossierTemplateScreenComponent,
BaseEntityScreenComponent,
GeneralConfigFormComponent,
SmtpFormComponent,
SystemPreferencesFormComponent,
PkcsSignatureConfigurationComponent,
KmsSignatureConfigurationComponent,
...dialogs,
...screens,
];
@NgModule({
declarations: [...components],
providers: [AdminDialogService, AuditService, DigitalSignatureService, RulesService, SmtpConfigService],
imports: [
CommonModule,
SharedModule,
AdminRoutingModule,
A11yModule,
IqserUsersModule,
TranslateModule,
HumanizePipe,
IqserListingModule,
IqserUploadFileModule,
IqserHelpModeModule,
AdminSideNavComponent,
DossierTemplateActionsComponent,
DossierTemplateBreadcrumbsComponent,
IconButtonComponent,
CircleButtonComponent,
ChevronButtonComponent,
EmptyStateComponent,
HasScrollbarDirective,
RoundCheckboxComponent,
InputWithActionComponent,
EditableInputComponent,
DetailsRadioComponent,
IqserAllowDirective,
IqserDenyDirective,
TenantPipe,
],
})
export class AdminModule {}

View File

@ -0,0 +1,302 @@
import { inject, provideEnvironmentInitializer } from '@angular/core';
import { PendingChangesGuard } from '@guards/can-deactivate.guard';
import { templateExistsWhenEnteringAdmin } from '@guards/dossier-template-exists.guard';
import { DossierTemplatesGuard } from '@guards/dossier-templates.guard';
import { entityExistsGuard } from '@guards/entity-exists-guard.service';
import { PermissionsGuard } from '@guards/permissions-guard';
import { CompositeRouteGuard, IqserPermissionsGuard, IqserRoutes } from '@iqser/common-ui';
import { IqserAuthGuard } from '@iqser/common-ui/lib/users';
import { DOSSIER_TEMPLATE_ID, ENTITY_TYPE } from '@red/domain';
import { CopilotService } from '@services/copilot.service';
import { RedRoleGuard } from '@users/red-role.guard';
import { Roles } from '@users/roles';
import { BaseAdminScreenComponent } from './base-admin-screen/base-admin-screen.component';
import { BaseDossierTemplateScreenComponent } from './base-dossier-templates-screen/base-dossier-template-screen.component';
import { BaseEntityScreenComponent } from './base-entity-screen/base-entity-screen.component';
import { AuditScreenComponent } from './screens/audit/audit-screen.component';
import { DefaultColorsScreenComponent } from './screens/default-colors/default-colors-screen.component';
import { DigitalSignatureScreenComponent } from './screens/digital-signature/digital-signature-screen.component';
import { EntitiesListingScreenComponent } from './screens/entities-listing/entities-listing-screen.component';
import { GeneralConfigScreenComponent } from './screens/general-config/general-config-screen.component';
import { UserListingScreenComponent } from './screens/user-listing/user-listing-screen.component';
import { AdminDialogService } from './services/admin-dialog.service';
import { AuditService } from './services/audit.service';
import { DigitalSignatureService } from './services/digital-signature.service';
import { RulesService } from './services/rules.service';
import { SmtpConfigService } from './services/smtp-config.service';
const entityRoutes: IqserRoutes = [
{
path: '',
component: BaseDossierTemplateScreenComponent,
children: [{ path: '', component: EntitiesListingScreenComponent }],
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: `:${ENTITY_TYPE}`,
component: BaseEntityScreenComponent,
canActivate: [CompositeRouteGuard, entityExistsGuard()],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
loadChildren: () => import('./screens/entities/entities.routes'),
},
];
const dossierTemplateIdRoutes: IqserRoutes = [
{ path: '', redirectTo: 'info', pathMatch: 'full' },
{
path: 'info',
component: BaseDossierTemplateScreenComponent,
children: [
{
path: '',
canDeactivate: [PendingChangesGuard],
loadComponent: () => import('./screens/info/dossier-template-info-screen/dossier-template-info-screen.component'),
},
],
},
{
path: 'entities',
children: entityRoutes,
},
{
path: '',
component: BaseDossierTemplateScreenComponent,
children: [
{
path: 'entity-rules',
loadComponent: () => import('./screens/rules/rules-screen/rules-screen.component'),
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
canDeactivate: [PendingChangesGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [Roles.rules.read],
redirectTo: 'info',
},
type: 'ENTITY',
},
providers: [
RulesService,
provideEnvironmentInitializer(() => {
return inject(CopilotService).connectAsync('/api/llm/llm-websocket');
}),
],
},
{
path: 'component-rules',
loadComponent: () => import('./screens/rules/rules-screen/rules-screen.component'),
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
canDeactivate: [PendingChangesGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [Roles.rules.read],
redirectTo: 'info',
},
type: 'COMPONENT',
},
providers: [RulesService],
},
{
path: 'component-mappings',
loadComponent: () => import('./screens/component-mappings/component-mappings-screen.component'),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'components',
loadComponent: () => import('./screens/component-definitions/component-definitions.component'),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'file-attributes',
loadComponent: () => import('./screens/file-attributes-listing/file-attributes-listing-screen.component'),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'watermarks',
loadChildren: () => import('./screens/watermark/watermark.routes'),
},
{
path: 'reports',
loadComponent: () => import('./screens/reports/reports-screen/reports-screen.component'),
canActivate: [IqserAuthGuard, IqserPermissionsGuard],
data: {
permissions: {
allow: [Roles.reportTemplates.read],
redirectTo: '/auth-error',
},
},
},
{
path: 'dossier-attributes',
loadComponent: () => import('./screens/dossier-attributes-listing/dossier-attributes-listing-screen.component'),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'dossier-states',
loadComponent: () =>
import('./screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component'),
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'default-colors',
component: DefaultColorsScreenComponent,
canActivate: [CompositeRouteGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
},
},
{
path: 'justifications',
loadComponent: () => import('./screens/justifications/justifications-screen/justifications-screen.component'),
canActivate: [IqserPermissionsGuard],
data: {
permissions: {
allow: [Roles.legalBasis.read],
redirectTo: '/auth-error',
},
},
},
],
},
];
const dossierTemplatesRoutes: IqserRoutes = [
{
path: '',
component: BaseAdminScreenComponent,
children: [
{
path: '',
loadComponent: () =>
import(
'./screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component'
),
},
],
canActivate: [IqserAuthGuard],
},
{
path: `:${DOSSIER_TEMPLATE_ID}`,
children: dossierTemplateIdRoutes,
canActivate: [templateExistsWhenEnteringAdmin()],
},
];
export default [
{ path: '', redirectTo: 'dossier-templates', pathMatch: 'full' },
{
path: 'dossier-templates',
children: dossierTemplatesRoutes,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard, DossierTemplatesGuard],
requiredRoles: ['RED_MANAGER', 'RED_ADMIN'],
permissions: {
allow: [Roles.templates.read],
redirectTo: '/',
},
},
},
{
path: '',
component: BaseAdminScreenComponent,
providers: [AdminDialogService],
children: [
{
path: 'users',
component: UserListingScreenComponent,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [Roles.users.read, 'RED_USER_ADMIN'],
redirectTo: '/',
},
},
},
{
path: 'dossier-permissions',
loadComponent: () => import('./screens/permissions/permissions-screen/permissions-screen.component'),
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard, PermissionsGuard],
permissionsObject: 'Dossier',
permissions: {
allow: [Roles.manageAclPermissions, 'RED_ADMIN'],
redirectTo: '/',
},
},
},
{
path: 'license-info',
loadChildren: () => import('./screens/license/license.routes'),
canActivate: [IqserAuthGuard, IqserPermissionsGuard, RedRoleGuard],
data: {
permissions: {
allow: [Roles.license.readReport, 'RED_ADMIN'],
redirectTo: '/',
},
},
},
{
path: 'digital-signature',
component: DigitalSignatureScreenComponent,
canActivate: [IqserAuthGuard, IqserPermissionsGuard, RedRoleGuard],
data: {
permissions: {
allow: [Roles.digitalSignature.read, 'RED_ADMIN'],
redirectTo: '/',
},
},
providers: [DigitalSignatureService],
},
{
path: 'audit',
component: AuditScreenComponent,
canActivate: [IqserAuthGuard, IqserPermissionsGuard, RedRoleGuard],
data: {
permissions: {
allow: [Roles.searchAudit, 'RED_ADMIN'],
redirectTo: '/',
},
},
providers: [AuditService],
},
{
path: 'general-config',
component: GeneralConfigScreenComponent,
canActivate: [CompositeRouteGuard, IqserPermissionsGuard],
canDeactivate: [PendingChangesGuard],
data: {
routeGuards: [IqserAuthGuard, RedRoleGuard],
permissions: {
allow: [Roles.generalConfiguration.read, Roles.smtp.read, 'RED_ADMIN'],
redirectTo: '/',
},
},
providers: [SmtpConfigService],
},
],
},
] satisfies IqserRoutes;

View File

@ -1,7 +1,10 @@
import { Component } from '@angular/core';
import { AdminSideNavComponent } from '../shared/components/admin-side-nav/admin-side-nav.component';
import { RouterOutlet } from '@angular/router';
@Component({
templateUrl: './base-admin-screen.component.html',
styleUrls: ['./base-admin-screen.component.scss'],
imports: [AdminSideNavComponent, RouterOutlet],
})
export class BaseAdminScreenComponent {}

View File

@ -1,5 +1,3 @@
<!--TODO: Use this for all dossier template screens -->
<section>
<div class="page-header">
<redaction-dossier-template-breadcrumbs class="flex-1"></redaction-dossier-template-breadcrumbs>

View File

@ -1,7 +1,22 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { DossierTemplateBreadcrumbsComponent } from '../shared/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component';
import { DossierTemplateActionsComponent } from '../shared/components/dossier-template-actions/dossier-template-actions.component';
import { CircleButtonComponent } from '@iqser/common-ui';
import { RouterLink, RouterOutlet } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { AdminSideNavComponent } from '../shared/components/admin-side-nav/admin-side-nav.component';
@Component({
templateUrl: './base-dossier-template-screen.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
DossierTemplateBreadcrumbsComponent,
DossierTemplateActionsComponent,
CircleButtonComponent,
RouterLink,
TranslateModule,
AdminSideNavComponent,
RouterOutlet,
],
})
export class BaseDossierTemplateScreenComponent {}

View File

@ -1,20 +1,35 @@
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
import { DOSSIER_TEMPLATE_ID, ENTITY_TYPE } from '@red/domain';
import { Router } from '@angular/router';
import { Router, RouterLink, RouterOutlet } from '@angular/router';
import { firstValueFrom, Observable } from 'rxjs';
import { AdminDialogService } from '../services/admin-dialog.service';
import { DictionaryService } from '@services/entity-services/dictionary.service';
import { getParam, LoadingService, TenantsService } from '@iqser/common-ui';
import { CircleButtonComponent, LoadingService } from '@iqser/common-ui';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
import { map } from 'rxjs/operators';
import { PermissionsService } from '@services/permissions.service';
import { getParam } from '@iqser/common-ui/lib/utils';
import { DossierTemplateBreadcrumbsComponent } from '../shared/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component';
import { AsyncPipe, NgIf } from '@angular/common';
import { TranslateModule } from '@ngx-translate/core';
import { AdminSideNavComponent } from '../shared/components/admin-side-nav/admin-side-nav.component';
@Component({
templateUrl: './base-entity-screen.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [
DossierTemplateBreadcrumbsComponent,
CircleButtonComponent,
NgIf,
AsyncPipe,
TranslateModule,
RouterLink,
AdminSideNavComponent,
RouterOutlet,
],
})
export class BaseEntityScreenComponent {
export class BaseEntityScreenComponent implements OnInit {
readonly disabledItems$: Observable<string[]>;
readonly canDeleteEntity$: Observable<boolean>;
readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
@ -27,22 +42,27 @@ export class BaseEntityScreenComponent {
private readonly _dialogService: AdminDialogService,
private readonly _dictionaryService: DictionaryService,
private readonly _permissionsService: PermissionsService,
private readonly _tenantsService: TenantsService,
private readonly _dossierTemplatesService: DossierTemplatesService,
) {
const entity$ = dictionaryMapService.watch$(this.#dossierTemplateId, this.#entityType);
this.canDeleteEntity$ = entity$.pipe(map(entity => this._permissionsService.canDeleteEntities(entity)));
this.disabledItems$ = entity$.pipe(
map(entity => (entity.hasDictionary ? [] : ['dictionary', 'false-positive', 'false-recommendations'])),
map(entity =>
entity.hasDictionary && !entity.dossierDictionaryOnly ? [] : ['dictionary', 'false-positive', 'false-recommendations'],
),
);
}
ngOnInit() {
this._loadingService.stop();
}
openDeleteDictionariesDialog() {
this._dialogService.openDialog('confirm', null, async () => {
this._loadingService.start();
const dossierTemplate = this._dossierTemplatesService.find(this.#dossierTemplateId);
await firstValueFrom(this._dictionaryService.deleteDictionaries([this.#entityType], this.#dossierTemplateId));
await this._router.navigate([`/${this._tenantsService.activeTenantId}/${dossierTemplate.routerLink}/entities`]);
await this._router.navigate([`/${dossierTemplate.routerLink}/entities`]);
this._loadingService.stop();
});
}

View File

@ -23,7 +23,7 @@
<div class="mt-44">
<redaction-donut-chart
[config]="chartConfig"
[config]="chartConfig()"
[radius]="63"
[strokeWidth]="15"
[subtitles]="['user-stats.chart.users' | translate]"

View File

@ -1,12 +1,16 @@
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { Component, EventEmitter, input, Input, output, Output } from '@angular/core';
import { DonutChartConfig } from '@red/domain';
import { CircleButtonComponent } from '@iqser/common-ui';
import { TranslateModule } from '@ngx-translate/core';
import { DonutChartComponent } from '@shared/components/donut-chart/donut-chart.component';
@Component({
selector: 'redaction-users-stats',
templateUrl: './users-stats.component.html',
styleUrls: ['./users-stats.component.scss'],
imports: [CircleButtonComponent, TranslateModule, DonutChartComponent],
})
export class UsersStatsComponent {
@Output() toggleCollapse = new EventEmitter();
@Input() chartConfig: DonutChartConfig[];
readonly chartConfig = input.required<DonutChartConfig[]>();
readonly toggleCollapse = output();
}

View File

@ -0,0 +1,48 @@
<section class="dialog">
<div [innerHTML]="'add-clone-dossier-template.title' | translate: translateParams" class="dialog-header heading-l"></div>
<form [formGroup]="form">
<div class="dialog-content">
<div class="iqser-input-group required w-300">
<label [translate]="'add-edit-clone-dossier-template.form.name'"></label>
<input
[placeholder]="'add-edit-clone-dossier-template.form.name-placeholder' | translate"
formControlName="name"
name="name"
type="text"
/>
</div>
<div class="iqser-input-group w-400">
<label [translate]="'add-edit-clone-dossier-template.form.description'"></label>
<textarea
[placeholder]="'add-edit-clone-dossier-template.form.description-placeholder' | translate"
formControlName="description"
name="description"
rows="4"
type="text"
></textarea>
</div>
</div>
<div class="dialog-actions">
<iqser-icon-button
(action)="save()"
[buttonId]="'saveButton'"
[disabled]="disabled"
[label]="'add-clone-dossier-template.save' | translate: translateParams"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
<iqser-icon-button
(action)="save({ nextAction: true })"
[buttonId]="'saveButton'"
[disabled]="disabled"
[label]="'add-clone-dossier-template.save-and-edit' | translate"
[type]="iconButtonTypes.dark"
></iqser-icon-button>
</div>
</form>
<iqser-circle-button (action)="close()" class="dialog-close" icon="iqser:close"></iqser-circle-button>
</section>

View File

@ -0,0 +1,103 @@
import { HttpStatusCode } from '@angular/common/http';
import { Component, Inject } from '@angular/core';
import { ReactiveFormsModule, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { BaseDialogComponent, CircleButtonComponent, getConfig, IconButtonComponent, SaveOptions } from '@iqser/common-ui';
import { DossierTemplate } from '@red/domain';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { Router } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
export interface CloneTemplateData {
dossierTemplateId?: string;
}
@Component({
templateUrl: './add-clone-dossier-template-dialog.component.html',
styleUrls: ['./add-clone-dossier-template-dialog.component.scss'],
imports: [TranslateModule, ReactiveFormsModule, IconButtonComponent, CircleButtonComponent],
})
export class AddCloneDossierTemplateDialogComponent extends BaseDialogComponent {
readonly dossierTemplate?: DossierTemplate;
readonly isDocumine = getConfig().IS_DOCUMINE;
readonly translateParams: { type: string; dossierTemplateName?: string };
constructor(
private readonly _dossierTemplatesService: DossierTemplatesService,
private readonly _router: Router,
protected readonly _dialogRef: MatDialogRef<AddCloneDossierTemplateDialogComponent>,
@Inject(MAT_DIALOG_DATA) readonly data: CloneTemplateData,
) {
super(_dialogRef);
this.dossierTemplate = this._dossierTemplatesService.find(this.data.dossierTemplateId);
this.translateParams = {
type: this.dossierTemplate ? 'clone' : 'create',
dossierTemplateName: this.dossierTemplate?.name,
};
this.form = this.#getForm();
this.initialFormValue = this.form.getRawValue();
}
override get disabled(): boolean {
// Ignore 'changed' value, doesn't make sense in this context
return !this.valid || this._hasErrors();
}
async save(options?: SaveOptions): Promise<void> {
let dossierTemplate: DossierTemplate;
this._loadingService.start();
const body = {
...this.dossierTemplate,
...this.form.getRawValue(),
};
try {
if (this.dossierTemplate) {
dossierTemplate = await this._dossierTemplatesService.clone(this.dossierTemplate.id, body);
} else {
dossierTemplate = await this._dossierTemplatesService.createOrUpdate(body);
}
if (options?.nextAction) {
await this._router.navigate([dossierTemplate.routerLink]);
}
this._dialogRef.close(true);
} catch (error) {
if (error.status === HttpStatusCode.Conflict) {
this._toaster.error(_('add-edit-clone-dossier-template.error.conflict'), { error });
} else {
this._toaster.rawError(error.error.message);
}
}
this._loadingService.stop();
}
#getForm() {
return this._formBuilder.group({
name: [this.dossierTemplate ? this.#getCloneName(this.dossierTemplate) : undefined, Validators.required],
description: [this.dossierTemplate?.description],
});
}
#getCloneName(initialTemplate: DossierTemplate): string {
const templateName = initialTemplate.name.trim();
let nameOfClonedTemplate: string = templateName.split('Copy of ').filter(n => n)[0];
nameOfClonedTemplate = nameOfClonedTemplate.split(/\(\s*\d+\s*\)$/)[0].trim();
const allTemplatesNames = this._dossierTemplatesService.all.map(t => t.name);
let clonesCount = 0;
for (const name of allTemplatesNames) {
const splitName = name.split(nameOfClonedTemplate);
const suffixRegExp = new RegExp(/^\(\s*\d+\s*\)$/);
if (splitName[0] === 'Copy of ' && (splitName[1].trim().match(suffixRegExp) || splitName[1] === '')) {
clonesCount++;
}
}
if (clonesCount >= 1) {
return `Copy of ${nameOfClonedTemplate} (${clonesCount})`;
}
return `Copy of ${nameOfClonedTemplate}`;
}
}

View File

@ -1,118 +0,0 @@
<section class="dialog">
<div [innerHTML]="'add-edit-clone-dossier-template.title' | translate : translateParams" class="dialog-header heading-l"></div>
<form [formGroup]="form">
<div class="dialog-content">
<div class="iqser-input-group required w-300">
<label [translate]="'add-edit-clone-dossier-template.form.name'"></label>
<input
[placeholder]="'add-edit-clone-dossier-template.form.name-placeholder' | translate"
formControlName="name"
name="name"
type="text"
/>
</div>
<div class="iqser-input-group w-400">
<label [translate]="'add-edit-clone-dossier-template.form.description'"></label>
<textarea
[placeholder]="'add-edit-clone-dossier-template.form.description-placeholder' | translate"
formControlName="description"
name="description"
rows="4"
type="text"
></textarea>
</div>
<div class="validity">
<div>
<mat-checkbox (change)="toggleHasValid('from')" [checked]="hasValidFrom" class="filter-menu-checkbox" color="primary">
{{ 'add-edit-clone-dossier-template.form.valid-from' | translate }}
</mat-checkbox>
<mat-checkbox (change)="toggleHasValid('to')" [checked]="hasValidTo" class="filter-menu-checkbox" color="primary">
{{ 'add-edit-clone-dossier-template.form.valid-to' | translate }}
</mat-checkbox>
</div>
<div>
<div class="iqser-input-group datepicker-wrapper">
<ng-container *ngIf="hasValidFrom">
<input
(dateChange)="applyValidityIntervalConstraints()"
[matDatepicker]="fromPicker"
formControlName="validFrom"
placeholder="dd/mm/yy"
/>
<mat-datepicker-toggle [for]="fromPicker" matSuffix>
<mat-icon matDatepickerToggleIcon svgIcon="red:calendar"></mat-icon>
</mat-datepicker-toggle>
<mat-datepicker #fromPicker></mat-datepicker>
</ng-container>
</div>
<div class="iqser-input-group datepicker-wrapper">
<ng-container *ngIf="hasValidTo">
<input
(dateChange)="applyValidityIntervalConstraints()"
[matDatepicker]="toPicker"
formControlName="validTo"
placeholder="dd/mm/yy"
/>
<mat-datepicker-toggle [for]="toPicker" matSuffix>
<mat-icon matDatepickerToggleIcon svgIcon="red:calendar"></mat-icon>
</mat-datepicker-toggle>
<mat-datepicker #toPicker></mat-datepicker>
</ng-container>
</div>
</div>
</div>
<p class="heading download-includes">{{ 'download-includes' | translate }}</p>
<div class="flex">
<redaction-select
[label]="
'download-type.label'
| translate
: {
length: form.controls['downloadFileTypes'].value.length
}
"
[options]="downloadTypes"
formControlName="downloadFileTypes"
></redaction-select>
</div>
<p class="heading download-includes">{{ 'add-edit-clone-dossier-template.form.hidden-text.heading' | translate }}</p>
<div class="hidden-elements">
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="keepHiddenText">
{{ 'add-edit-clone-dossier-template.form.hidden-text.title' | translate }}
</mat-checkbox>
<div class="info mt-4">{{ 'add-edit-clone-dossier-template.form.hidden-text.description' | translate }}</div>
</div>
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="keepImageMetadata">
{{ 'add-edit-clone-dossier-template.form.image-metadata.title' | translate }}
</mat-checkbox>
<div class="info mt-4">{{ 'add-edit-clone-dossier-template.form.image-metadata.description' | translate }}</div>
</div>
</div>
</div>
<div class="dialog-actions">
<iqser-icon-button
(action)="save()"
[disabled]="disabled"
[label]="'add-edit-clone-dossier-template.save' | translate"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
<iqser-help-button
*deny="roles.getRss; if: !!dossierTemplate"
[helpButtonKey]="'edit_clone_delete_dossier_templates'"
></iqser-help-button>
</div>
</form>
<iqser-circle-button (action)="close()" class="dialog-close" icon="iqser:close"></iqser-circle-button>
</section>

View File

@ -1,50 +0,0 @@
.validity {
width: 230px;
display: flex;
> div {
display: flex;
flex-direction: column;
margin-top: 16px;
mat-checkbox {
margin-right: 16px;
height: 100%;
align-items: center;
display: flex;
min-height: 42px;
}
.iqser-input-group {
min-height: 42px;
justify-content: center;
}
}
}
redaction-select {
flex: 1;
}
.download-includes {
margin: 16px 0 10px;
font-weight: 500;
}
.hidden-elements {
display: flex;
gap: 40px;
.iqser-input-group {
margin-top: 0;
flex: 1;
mat-checkbox {
font-weight: 500;
}
.info {
margin-left: 24px;
}
}
}

View File

@ -1,170 +0,0 @@
import { Component, Inject } from '@angular/core';
import { AbstractControl, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { applyIntervalConstraints } from '@utils/date-inputs-utils';
import { downloadTypesTranslations } from '@translations/download-types-translations';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { BaseDialogComponent } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { DossierTemplate, IDossierTemplate } from '@red/domain';
import { HttpStatusCode } from '@angular/common/http';
import dayjs, { Dayjs } from 'dayjs';
import { ROLES } from '@users/roles';
interface EditCloneTemplateData {
dossierTemplateId: string;
clone?: boolean;
}
const downloadTypes = ['ORIGINAL', 'PREVIEW', 'DELTA_PREVIEW', 'REDACTED'].map(type => ({
key: type,
label: downloadTypesTranslations[type],
}));
@Component({
templateUrl: './add-edit-clone-dossier-template-dialog.component.html',
styleUrls: ['./add-edit-clone-dossier-template-dialog.component.scss'],
})
export class AddEditCloneDossierTemplateDialogComponent extends BaseDialogComponent {
readonly roles = ROLES;
hasValidFrom: boolean;
hasValidTo: boolean;
readonly downloadTypes = downloadTypes;
readonly dossierTemplate: DossierTemplate;
private _previousValidFrom: Dayjs;
private _previousValidTo: Dayjs;
private _lastValidFrom: Dayjs;
private _lastValidTo: Dayjs;
constructor(
private readonly _dossierTemplatesService: DossierTemplatesService,
protected readonly _dialogRef: MatDialogRef<AddEditCloneDossierTemplateDialogComponent>,
@Inject(MAT_DIALOG_DATA) readonly data: EditCloneTemplateData,
) {
super(_dialogRef, !!data && !data.clone);
this.dossierTemplate = this._dossierTemplatesService.find(this.data?.dossierTemplateId);
this.form = this._getForm();
this.initialFormValue = this.form.getRawValue();
this.hasValidFrom = !!this.dossierTemplate?.validFrom;
this.hasValidTo = !!this.dossierTemplate?.validTo;
this._previousValidFrom = this._lastValidFrom = this.form.get('validFrom').value;
this._previousValidTo = this._lastValidTo = this.form.get('validTo').value;
}
get disabled(): boolean {
if (!this.data?.clone) {
return super.disabled;
}
return !this.valid;
}
get translateParams() {
return {
type: this.dossierTemplate ? (this.data.clone ? 'clone' : 'edit') : 'create',
name: this.dossierTemplate?.name,
};
}
toggleHasValid(extremity: string) {
if (extremity === 'from') {
this.hasValidFrom = !this.hasValidFrom;
this.form.controls['validFrom'].setValue(this.hasValidFrom ? this._lastValidFrom : null);
} else {
this.hasValidTo = !this.hasValidTo;
this.form.controls['validTo'].setValue(this.hasValidTo ? this._lastValidTo : null);
}
this.applyValidityIntervalConstraints();
}
async save() {
this._loadingService.start();
const dossierTemplate = {
dossierTemplateId: this.dossierTemplate?.dossierTemplateId,
...this.form.getRawValue(),
validFrom: this.hasValidFrom ? this.form.get('validFrom').value : null,
validTo: this.hasValidTo ? this.form.get('validTo').value : null,
} as IDossierTemplate;
try {
if (this.data?.clone) {
await this._dossierTemplatesService.clone(this.dossierTemplate.id, dossierTemplate);
} else {
await this._dossierTemplatesService.createOrUpdate(dossierTemplate);
}
this._dialogRef.close(true);
} catch (error) {
const message =
error.status === HttpStatusCode.Conflict
? _('add-edit-clone-dossier-template.error.conflict')
: _('add-edit-clone-dossier-template.error.generic');
this._toaster.error(message, { error });
}
this._loadingService.stop();
}
applyValidityIntervalConstraints(): void {
const formValue = this.form.value;
applyIntervalConstraints(formValue, this._previousValidFrom, this._previousValidTo, this.form, 'validFrom', 'validTo');
this._previousValidFrom = this.form.get('validFrom').value;
this._previousValidTo = this.form.get('validTo').value;
this._lastValidFrom = this._previousValidFrom || this._lastValidFrom;
this._lastValidTo = this._previousValidTo || this._lastValidTo;
}
private _getForm() {
return this._formBuilder.group({
name: [this._getCloneName(), Validators.required],
description: [this.dossierTemplate?.description],
validFrom: [
this.dossierTemplate?.validFrom ? dayjs(this.dossierTemplate?.validFrom).toDate() : null,
this._requiredIfValidator(() => this.hasValidFrom),
],
validTo: [
this.dossierTemplate?.validTo ? dayjs(this.dossierTemplate?.validTo).toDate() : null,
this._requiredIfValidator(() => this.hasValidTo),
],
downloadFileTypes: [this.dossierTemplate?.downloadFileTypes || ['PREVIEW', 'REDACTED']],
keepHiddenText: [this.dossierTemplate?.keepHiddenText],
keepImageMetadata: [this.dossierTemplate?.keepImageMetadata],
});
}
private _getCloneName(): string {
if (!this.data?.clone) {
return this.dossierTemplate?.name;
}
const templateName = this.dossierTemplate.name.trim();
let nameOfClonedTemplate: string = templateName.split('Copy of ').filter(n => n)[0];
nameOfClonedTemplate = nameOfClonedTemplate.split(/\(\s*\d+\s*\)$/)[0].trim();
const allTemplatesNames = this._dossierTemplatesService.all.map(t => t.name);
let clonesCount = 0;
for (const name of allTemplatesNames) {
const splitName = name.split(nameOfClonedTemplate);
const suffixRegExp = new RegExp(/^\(\s*\d+\s*\)$/);
if (splitName[0] === 'Copy of ' && (splitName[1].trim().match(suffixRegExp) || splitName[1] === '')) {
clonesCount++;
}
}
if (clonesCount >= 1) {
return `Copy of ${nameOfClonedTemplate} (${clonesCount})`;
}
return `Copy of ${nameOfClonedTemplate}`;
}
private _requiredIfValidator(predicate) {
return (formControl: AbstractControl) => {
if (!formControl.parent) {
return null;
}
if (predicate()) {
return Validators.required(formControl);
}
return null;
};
}
}

View File

@ -1,18 +1,23 @@
import { Component, Inject, ViewChild } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { BaseDialogComponent, CircleButtonComponent } from '@iqser/common-ui';
import { User } from '@red/domain';
import { ResetPasswordComponent } from './reset-password/reset-password.component';
import { UserDetailsComponent } from './user-details/user-details.component';
import { BaseDialogComponent } from '@iqser/common-ui';
@Component({
selector: 'redaction-add-edit-user-dialog',
templateUrl: './add-edit-user-dialog.component.html',
imports: [UserDetailsComponent, ResetPasswordComponent, CircleButtonComponent],
})
export class AddEditUserDialogComponent extends BaseDialogComponent {
resettingPassword = false;
@ViewChild(UserDetailsComponent) private readonly _userDetailsComponent: UserDetailsComponent;
resettingPassword = false;
constructor(protected readonly _dialogRef: MatDialogRef<AddEditUserDialogComponent>, @Inject(MAT_DIALOG_DATA) readonly user: User) {
constructor(
protected readonly _dialogRef: MatDialogRef<AddEditUserDialogComponent>,
@Inject(MAT_DIALOG_DATA) readonly user: User,
) {
super(_dialogRef, !!user);
}

View File

@ -1,14 +1,16 @@
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { UserService } from '@users/user.service';
import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
import { IconButtonComponent, IconButtonTypes, LoadingService } from '@iqser/common-ui';
import { User } from '@red/domain';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { firstValueFrom } from 'rxjs';
import { TranslateModule } from '@ngx-translate/core';
import { NamePipe } from '@common-ui/users/name.pipe';
@Component({
selector: 'redaction-reset-password',
templateUrl: './reset-password.component.html',
imports: [TranslateModule, NamePipe, ReactiveFormsModule, IconButtonComponent],
})
export class ResetPasswordComponent {
readonly iconButtonTypes = IconButtonTypes;
@ -20,25 +22,20 @@ export class ResetPasswordComponent {
private readonly _formBuilder: UntypedFormBuilder,
private readonly _userService: UserService,
private readonly _loadingService: LoadingService,
private readonly _toaster: Toaster,
) {}
async save() {
this._loadingService.start();
try {
await firstValueFrom(
this._userService.resetPassword(
{
password: this.form.get('temporaryPassword').value,
temporary: true,
},
this.user.id,
),
);
this.toggleResetPassword.emit();
} catch (error) {
this._toaster.error(_('reset-password-dialog.error.password-policy'));
}
await firstValueFrom(
this._userService.resetPassword(
{
password: this.form.get('temporaryPassword').value,
temporary: true,
},
this.user.id,
),
);
this.toggleResetPassword.emit();
this._loadingService.stop();
}

View File

@ -1,6 +1,6 @@
<div
[translateParams]="{
type: user ? 'edit' : 'create'
type: !!user() ? 'edit' : 'create',
}"
[translate]="'add-edit-user.title'"
class="dialog-header heading-l"
@ -32,14 +32,22 @@
[formControlName]="role"
color="primary"
>
{{ translations[role] | translate }}
{{ translations[role] | translate: { count: 1 } }}
</mat-checkbox>
</div>
</div>
@if (!user()) {
<div class="iqser-input-group">
<label [translate]="'add-edit-user.form.account-setup'"></label>
<mat-checkbox formControlName="sendSetPasswordMail">{{ 'add-edit-user.form.send-email' | translate }}</mat-checkbox>
<span [translate]="'add-edit-user.form.send-email-explanation'" class="hint"></span>
</div>
}
<div
(click)="toggleResetPassword.emit()"
*ngIf="!!user"
*ngIf="!!user()"
[translate]="'add-edit-user.form.reset-password'"
class="mt-24 fit-content link-action"
></div>
@ -48,14 +56,14 @@
<div class="dialog-actions">
<iqser-icon-button
[disabled]="form.invalid || !changed"
[label]="(user ? 'add-edit-user.actions.save-changes' : 'add-edit-user.actions.save') | translate"
[label]="(user() ? 'add-edit-user.actions.save-changes' : 'add-edit-user.actions.save') | translate"
[submit]="true"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
<iqser-icon-button
(action)="delete()"
*ngIf="user && !disabledDelete(user)"
*ngIf="user() && !disabledDelete(user())"
[label]="'add-edit-user.actions.delete' | translate"
[type]="iconButtonTypes.dark"
icon="iqser:trash"

View File

@ -5,3 +5,7 @@
margin-top: 8px;
width: 300px;
}
.hint {
margin-left: 23px;
}

View File

@ -1,30 +1,31 @@
import { Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { Component, input, OnInit, output } from '@angular/core';
import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { AdminDialogService } from '../../../services/admin-dialog.service';
import { BaseFormComponent, IProfileUpdateRequest, LoadingService, Toaster } from '@iqser/common-ui';
import { BaseFormComponent, IconButtonComponent, LoadingService, Toaster } from '@iqser/common-ui';
import { rolesTranslations } from '@translations/roles-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { User } from '@red/domain';
import { UserService } from '@users/user.service';
import { HttpStatusCode } from '@angular/common/http';
import { firstValueFrom } from 'rxjs';
import { IProfileUpdateRequest } from '@iqser/common-ui/lib/users';
import { TranslateModule } from '@ngx-translate/core';
import { MatCheckbox } from '@angular/material/checkbox';
import { NgForOf, NgIf } from '@angular/common';
@Component({
selector: 'redaction-user-details',
templateUrl: './user-details.component.html',
styleUrls: ['./user-details.component.scss'],
imports: [TranslateModule, ReactiveFormsModule, MatCheckbox, NgForOf, IconButtonComponent, NgIf],
})
export class UserDetailsComponent extends BaseFormComponent implements OnChanges {
@Input() user: User;
@Output() readonly toggleResetPassword = new EventEmitter();
@Output() readonly closeDialog = new EventEmitter();
@Output() readonly cancel = new EventEmitter();
export class UserDetailsComponent extends BaseFormComponent implements OnInit {
user = input<User>();
readonly toggleResetPassword = output();
readonly closeDialog = output<boolean>();
readonly cancel = output();
readonly ROLES = ['RED_USER', 'RED_MANAGER', 'RED_USER_ADMIN', 'RED_ADMIN'];
readonly translations = rolesTranslations;
/** e.g. a RED_ADMIN is automatically a RED_USER_ADMIN => can't disable RED_USER_ADMIN as long as RED_ADMIN is checked */
private readonly _ROLE_REQUIREMENTS = { RED_MANAGER: 'RED_USER', RED_ADMIN: 'RED_USER_ADMIN' };
readonly #ROLE_REQUIREMENTS = { RED_MANAGER: 'RED_USER', RED_ADMIN: 'RED_USER_ADMIN' };
constructor(
private readonly _formBuilder: UntypedFormBuilder,
@ -45,13 +46,17 @@ export class UserDetailsComponent extends BaseFormComponent implements OnChanges
}, []);
}
private get _rolesControls(): any {
get sendSetPasswordMail() {
return !this.form.controls.sendSetPasswordMail.value;
}
get #rolesControls() {
return this.ROLES.reduce(
(prev, role) => ({
...prev,
[role]: [
{
value: this.user && this.user.has(role),
value: this.user() && this.user().has(role),
disabled: this.shouldBeDisabled(role),
},
],
@ -60,20 +65,20 @@ export class UserDetailsComponent extends BaseFormComponent implements OnChanges
);
}
ngOnChanges() {
this.form = this._getForm();
ngOnInit() {
this.form = this.#getForm();
this.initialFormValue = this.form.getRawValue();
}
shouldBeDisabled(role: string): boolean {
const isCurrentAdminUser = this.user && this.user.isAdmin && this.user.id === this._userService.currentUser.id;
const isCurrentAdminUser = this.user() && this.user().isAdmin && this.user().id === this._userService.currentUser.id;
return (
// RED_ADMIN can't remove own RED_ADMIN role
(role === 'RED_ADMIN' && isCurrentAdminUser) ||
// only RED_ADMINs can edit RED_ADMIN roles
(role === 'RED_ADMIN' && !this._userService.currentUser.isAdmin) ||
Object.keys(this._ROLE_REQUIREMENTS).reduce(
(value, key) => value || (role === this._ROLE_REQUIREMENTS[key] && this.user?.roles.includes(key)),
Object.keys(this.#ROLE_REQUIREMENTS).reduce(
(value, key) => value || (role === this.#ROLE_REQUIREMENTS[key] && this.user()?.roles.includes(key)),
false,
)
);
@ -81,38 +86,38 @@ export class UserDetailsComponent extends BaseFormComponent implements OnChanges
async save() {
this._loadingService.start();
const userData: IProfileUpdateRequest = { ...this.form.getRawValue(), roles: this.activeRoles };
const userData: IProfileUpdateRequest = {
...this.form.getRawValue(),
roles: this.activeRoles,
sendSetPasswordMail: this.sendSetPasswordMail,
};
if (!this.user) {
if (!this.user()) {
await firstValueFrom(this._userService.create(userData))
.then(() => {
this.closeDialog.emit(true);
})
.catch(error => {
if (error.status === HttpStatusCode.Conflict) {
this._toaster.error(_('add-edit-user.error.email-already-used'));
} else {
this._toaster.error(_('add-edit-user.error.generic'));
}
this._toaster.error(null, { error });
this._loadingService.stop();
});
} else {
await firstValueFrom(this._userService.updateProfile(userData, this.user.id));
await firstValueFrom(this._userService.updateProfile(userData, this.user().id));
this.closeDialog.emit(true);
}
}
delete() {
this._dialogService.deleteUsers([this.user.id], () => this.closeDialog.emit(true));
this._dialogService.deleteUsers([this.user().id], () => this.closeDialog.emit(true));
}
setRolesRequirements(checked: boolean, role: string): void {
if (Object.keys(this._ROLE_REQUIREMENTS).includes(role)) {
if (Object.keys(this.#ROLE_REQUIREMENTS).includes(role)) {
if (checked) {
this.form.patchValue({ [this._ROLE_REQUIREMENTS[role]]: true });
this.form.controls[this._ROLE_REQUIREMENTS[role]].disable();
this.form.patchValue({ [this.#ROLE_REQUIREMENTS[role]]: true });
this.form.controls[this.#ROLE_REQUIREMENTS[role]].disable();
} else {
this.form.controls[this._ROLE_REQUIREMENTS[role]].enable();
this.form.controls[this.#ROLE_REQUIREMENTS[role]].enable();
}
}
}
@ -123,18 +128,19 @@ export class UserDetailsComponent extends BaseFormComponent implements OnChanges
return user.id === this._userService.currentUser.id || (userAdmin && !currentUserAdmin);
}
private _getForm(): UntypedFormGroup {
#getForm(): UntypedFormGroup {
return this._formBuilder.group({
firstName: [this.user?.firstName, Validators.required],
lastName: [this.user?.lastName, Validators.required],
firstName: [this.user()?.firstName, Validators.required],
lastName: [this.user()?.lastName, Validators.required],
email: [
{
value: this.user?.email,
disabled: !!this.user?.email,
value: this.user()?.email,
disabled: !!this.user()?.email,
},
[Validators.required, Validators.email],
],
...this._rolesControls,
...this.#rolesControls,
sendSetPasswordMail: [false],
});
}
}

View File

@ -4,12 +4,7 @@
</div>
<div class="dialog-content">
<redaction-add-edit-entity
#redactionAddEditEntity
[dossierTemplateId]="data.dossierTemplateId"
[entity]="null"
[readOnly]="false"
></redaction-add-edit-entity>
<redaction-add-edit-entity [dossierTemplateId]="data.dossierTemplateId" [entity]="null"></redaction-add-edit-entity>
</div>
<div class="dialog-actions">
@ -20,7 +15,8 @@
[submit]="true"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
<iqser-help-button *deny="roles.getRss" [helpButtonKey]="'create_new_entity'"></iqser-help-button>
<iqser-help-button *ngIf="!config.IS_DOCUMINE"></iqser-help-button>
</div>
<iqser-circle-button (action)="close()" class="dialog-close" icon="iqser:close"></iqser-circle-button>

View File

@ -1,8 +1,16 @@
import { ChangeDetectionStrategy, Component, inject, ViewChild } from '@angular/core';
import { Component, inject, ViewChild } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import {
BaseDialogComponent,
CircleButtonComponent,
getConfig,
HelpButtonComponent,
IconButtonComponent,
IconButtonTypes,
} from '@iqser/common-ui';
import { AddEditEntityComponent } from '@shared/components/add-edit-entity/add-edit-entity.component';
import { BaseDialogComponent, IconButtonTypes } from '@iqser/common-ui';
import { ROLES } from '@users/roles';
import { TranslateModule } from '@ngx-translate/core';
import { NgIf } from '@angular/common';
interface DialogData {
readonly dossierTemplateId: string;
@ -11,13 +19,13 @@ interface DialogData {
@Component({
templateUrl: './add-entity-dialog.component.html',
styleUrls: ['./add-entity-dialog.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
imports: [AddEditEntityComponent, TranslateModule, IconButtonComponent, NgIf, CircleButtonComponent, HelpButtonComponent],
})
export class AddEntityDialogComponent extends BaseDialogComponent {
readonly iconButtonTypes = IconButtonTypes;
readonly roles = ROLES;
readonly data = inject<DialogData>(MAT_DIALOG_DATA);
@ViewChild(AddEditEntityComponent, { static: true }) private readonly _addEditEntityComponent: AddEditEntityComponent;
readonly iconButtonTypes = IconButtonTypes;
readonly data = inject<DialogData>(MAT_DIALOG_DATA);
readonly config = getConfig();
constructor(protected readonly _dialogRef: MatDialogRef<AddEntityDialogComponent>) {
super(_dialogRef, false);
@ -31,12 +39,12 @@ export class AddEntityDialogComponent extends BaseDialogComponent {
return this._addEditEntityComponent.changed;
}
get disabled(): boolean {
return this._addEditEntityComponent.disabled;
}
async save(): Promise<void> {
try {
await this._addEditEntityComponent.save();
this._dialogRef.close(true);
} catch (e) {
console.error(e);
}
await this._addEditEntityComponent.save();
this._dialogRef.close(true);
}
}

Some files were not shown because too many files have changed in this diff Show More