Compare commits

...
168 Commits
Author SHA1 Message Date
Yasa-Nataliya 15feec7b99 Merge branch 'ADF-5567' of https://github.com/Alfresco/alfresco-ng2-components into ADF-5567 2023-12-15 16:58:00 +05:30
Yasa-Nataliya bac848edce [ACS-5567]Implemented the changes as per review comments 2023-12-15 16:56:42 +05:30
Yasa-Nataliya e83e9e44d1 [ADF-5567] modified the changes 2023-12-15 16:56:42 +05:30
Yasa-Nataliya f3245e129e [ADF-5567] removed the important property 2023-12-15 16:56:42 +05:30
Amedeo Lepore e0e2d82345 [AAE-18459] Fix invalidateSession is called when auth is not initilized by js-api (#9152)
* [AAE-18459] Replace all placeholders if the configuration key is an object

* [AAE-18459] don't invalidate session if authentication is not handled by js-api
2023-12-15 16:38:32 +05:30
Michał Fidor ae18a02f22 [AAE-19026] Fix app permissions (#9169) 2023-12-15 16:38:32 +05:30
Yasa-Nataliya ff03964c8f [ACS-5567]Implemented the changes as per review comments 2023-12-15 16:33:16 +05:30
Michał Fidor 7c924e0e28 [AAE-19026] Fix app permissions (#9171) 2023-12-15 10:30:04 +01:00
Amedeo Lepore 0932a3ed10 [AAE-18459] Fix invalidateSession is called when auth is not initilized by js-api (#9152)
* [AAE-18459] Replace all placeholders if the configuration key is an object

* [AAE-18459] don't invalidate session if authentication is not handled by js-api
2023-12-14 18:51:10 +00:00
Michał Fidor 1f5af31ad0 [AAE-19026] Fix app permissions (#9169) 2023-12-14 13:43:33 +01:00
Yasa-Nataliya 37280141bd [ADF-5567] modified the changes 2023-12-14 13:15:04 +05:30
Yasa-Nataliya 73ce86bf4c [ADF-5567] removed the important property 2023-12-14 13:15:04 +05:30
Amedeo Lepore 2ca1c75b76 [AAE-19005] Pin 18.18.2 node version (#9167) 2023-12-13 20:27:15 +01:00
Amedeo Lepore 6e848d129b Revert "Revert "build(deps): bump actions/setup-node in /.github/actions/setup (#9125)" (#9165)" (#9166)
This reverts commit ce93a7cc04.
2023-12-13 19:51:46 +01:00
Amedeo Lepore 7121e72f83 Revert "Check js api unit test issue (#9163)" (#9164)
This reverts commit 25418c22cd.
2023-12-13 18:32:37 +00:00
Amedeo Lepore ce93a7cc04 Revert "build(deps): bump actions/setup-node in /.github/actions/setup (#9125)" (#9165)
This reverts commit a87290e11a.
2023-12-13 18:46:04 +01:00
Amedeo Lepore 25418c22cd Check js api unit test issue (#9163)
* Revert "build(deps): bump actions/checkout in /.github/actions/artifact-extract (#9131)"

This reverts commit 3837d19b58.

* Revert "build(deps): bump actions/github-script from 6.4.1 to 7.0.1 (#9127)"

This reverts commit e47b1100d1.

* Revert "build(deps): bump actions/checkout from 3.6.0 to 4.1.1 (#9128)"

This reverts commit da018aadb9.

* Revert "build(deps): bump Alfresco/alfresco-build-tools (#9139)"

This reverts commit f2764d0638.

* Revert "build(deps): bump Alfresco/alfresco-build-tools from 1.36.0 to 5.4.0 (#9138)"

This reverts commit 76eca49985.

* Revert "build(deps): bump actions/setup-node from 3.8.2 to 4.0.0 (#9149)"

This reverts commit 167a5be810.
2023-12-13 17:07:04 +00:00
Michał Fidor 6d4197412f [AAE-18893] Update application by process sequentialusertask (#9160) 2023-12-13 16:06:01 +01:00
Denys Vuika bed9e4b1f8 [MNT-24098] fixes for pdf with HTTP (#9155)
* fixes for pdf with https

* [ci:force] cleanup code

* [ci:force] add missing types

* reduce duplicated code
2023-12-12 15:45:46 +00:00
Tomasz Gnyp 468c32691d [AAE-17666] Remove date cell e2es covered by unit tests (#9153) 2023-12-12 14:41:51 +01:00
dependabot[bot] f5282834bc build(deps): bump Alfresco/alfresco-build-tools (#9151)
Bumps [Alfresco/alfresco-build-tools](https://github.com/alfresco/alfresco-build-tools) from 5.4.0 to 5.6.0.
- [Release notes](https://github.com/alfresco/alfresco-build-tools/releases)
- [Commits](https://github.com/alfresco/alfresco-build-tools/compare/042fc28b3e308e1d1159dfee61bc46c5940ed7b6...b88340ccab0e8f2351eb1e056235f5671cfc5aab)

---
updated-dependencies:
- dependency-name: Alfresco/alfresco-build-tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 12:28:14 +00:00
dependabot[bot] 660837f443 build(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions (#9147)
Bumps [zgosalvez/github-actions-ensure-sha-pinned-actions](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/releases)
- [Commits](https://github.com/zgosalvez/github-actions-ensure-sha-pinned-actions/compare/b35f285b9bb7e80de0967367cee66d3b6d50ceca...b1b635d24259e8a047a6ce7d6501ea432aa7a830)

---
updated-dependencies:
- dependency-name: zgosalvez/github-actions-ensure-sha-pinned-actions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 10:56:29 +01:00
dependabot[bot] 09cf71bc0b build(deps): bump Alfresco/alfresco-build-tools from 5.4.0 to 5.6.0 (#9148)
Bumps [Alfresco/alfresco-build-tools](https://github.com/alfresco/alfresco-build-tools) from 5.4.0 to 5.6.0.
- [Release notes](https://github.com/alfresco/alfresco-build-tools/releases)
- [Commits](https://github.com/alfresco/alfresco-build-tools/compare/042fc28b3e308e1d1159dfee61bc46c5940ed7b6...b88340ccab0e8f2351eb1e056235f5671cfc5aab)

---
updated-dependencies:
- dependency-name: Alfresco/alfresco-build-tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 10:56:13 +01:00
dependabot[bot] 232a09dfd5 build(deps): bump github/codeql-action from 2.22.8 to 2.22.9 (#9150)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.22.8 to 2.22.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/407ffafae6a767df3e0230c3df91b6443ae8df75...c0d1daa7f7e14667747d73a7dbbe8c074bc8bfe2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 10:55:59 +01:00
dependabot[bot] 167a5be810 build(deps): bump actions/setup-node from 3.8.2 to 4.0.0 (#9149)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.8.2 to 4.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/1a4442cacd436585916779262731d5b162bc6ec7...8f152de45cc393bb48ce5d89d36b731f54556e65)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 10:55:44 +01:00
AleksanderSklorz cd33bb6c92 [ACS-6323] dynamic content list changing columns order with drag drop (#9146)
* ACS-6323 Added draggable field to DocumentListPresetRef

* ACS-6323 Allow to dragging column over columns in index range

* ACS-6323 Allow to dragging column over only enabled columns

* ACS-6323 Fixed styles for drag and drop icon for first column

* ACS-6323 Unit tests and function renaming

* ACS-6323 Corrected unit test
2023-12-08 22:54:25 +01:00
MichalKinas 064c1fd216 [MNT-23166] Make tasks and processes lists resizeable (#9145) 2023-12-08 08:47:51 +01:00
swapnil-verma-gl f47fb2a7e9 [ACS-6107] Replaced SearchDateRange component with SearchDateRangeAdvanced Component (#9023)
* [ACS-6107] Removed date range component from ADF content-services

* [ACS-6107] Removed references of date range component in code

* [ACS-6107] Updated documentation to replace occurrences of date range component with date-range-advanced-tabbed component

* [ACS-6107] Renamed DateRangeAdvanced to DateRange. Renamed DateRangeAdvancedTabbed to DateRangeTabbed

* [ACS-6107] Fixed missing export of SearchDateRangeTabbedComponent

* [ACS-6107] Replaced occurrences of date-range-advanced with date-range in HTML and Unit Tests automation ids

* [ACS-6107] Documentation corrections

* [ACS-6107] Reverted unneeded documentation formatting

* [ACS-6107] Reverted unneeded documentation formatting

* [ACS-6107] Reverted unneeded documentation formatting

* [ACS-6107] Migrated unneeded E2E test case to unit test

* [ACS-6107] Removed search-date-range E2E

* [ACS-6107] Resolved PR comments. Removed date-range-filter.page.ts. Removed unused translation keys. Updated documentation to refer proper comment name

* [ACS-6107] Updated documentation for SearchDateRange component to mention the change from original configuration to the newer configuration

* [ACS-6107] Corrected wrong version in documentation

* [ci:force]

* [ACS-6107] Removed unneeded file

* [ACS-6107] Updated unit tests and mock data after rebase

* [ci:force]

* [ACS-6107] Revert unneeded change. Remove unneeded file

* [ci:force]

* [ACS-6107] Updated E2E search config

* [ci:force]

* [ACS-6107] Updated E2E expects after component changes

* [ci:force]
2023-12-06 17:03:43 +05:30
Wojciech Duda 88ab336d05 [AAE-18450] fixed form value not updating instantly on radio change (#9141)
* [AAE-18450] fixed form value not updating instantly on radio change

* [AAE-18450] added tests, removed material references

* [AAE-18450] test enhancements

* [AAE-18450] added label to filter
2023-12-05 18:20:26 +01:00
pkunduGL 8fa37a54a7 [ACS-6031] Minimum width and tooltip added for column header (#9093)
* Minimum width and tooltip added for column header

* updated min width

* Reverted the changes as per review comments
2023-12-05 12:25:44 +05:30
Yasa-Nataliya a3fa0f316b [ADF-5570][ADF-5571]Removed important property from 'toolbar.component.scss' and 'pagination.component.scss' in ADF (#9134)
* [ADF-5570][ADF-5571]Removed the important

* [ci:force]
2023-12-05 09:25:43 +05:30
dependabot[bot] 185ae4e6ba build(deps): bump kamatama41/get-pr-number-action from 0.7.0 to 0.9.1 (#9126)
Bumps [kamatama41/get-pr-number-action](https://github.com/kamatama41/get-pr-number-action) from 0.7.0 to 0.9.1.
- [Release notes](https://github.com/kamatama41/get-pr-number-action/releases)
- [Commits](https://github.com/kamatama41/get-pr-number-action/compare/5c77b38a1b4974ebf8a9521a689f38a5898eadd6...0bcaab5752c0b699149e74667c8ce2f764cbb7fa)

---
updated-dependencies:
- dependency-name: kamatama41/get-pr-number-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:24:32 +01:00
dependabot[bot] 4e4aa8f2d4 build(deps): bump actions/checkout (#9122)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/f43a0e5ff2bd294095638e18286ca9a3d1956744...b4ffde65f46336ab88eb53be808477a3936bae11)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:24:16 +01:00
dependabot[bot] 3837d19b58 build(deps): bump actions/checkout in /.github/actions/artifact-extract (#9131)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/f43a0e5ff2bd294095638e18286ca9a3d1956744...b4ffde65f46336ab88eb53be808477a3936bae11)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:24:01 +01:00
dependabot[bot] e47b1100d1 build(deps): bump actions/github-script from 6.4.1 to 7.0.1 (#9127)
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/d7906e4ad0b1822421a7e6a35d5ca353c962f410...60a0d83039c74a4aee543508d2ffcb1c3799cdea)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:23:45 +01:00
dependabot[bot] a87290e11a build(deps): bump actions/setup-node in /.github/actions/setup (#9125)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.8.2 to 4.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/1a4442cacd436585916779262731d5b162bc6ec7...8f152de45cc393bb48ce5d89d36b731f54556e65)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:23:30 +01:00
dependabot[bot] 53ba5d6d04 build(deps): bump actions/github-script (#9121)
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/d7906e4ad0b1822421a7e6a35d5ca353c962f410...60a0d83039c74a4aee543508d2ffcb1c3799cdea)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:07:11 +01:00
dependabot[bot] 91289520de build(deps): bump actions/github-script (#9123)
Bumps [actions/github-script](https://github.com/actions/github-script) from 6.4.1 to 7.0.1.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/d7906e4ad0b1822421a7e6a35d5ca353c962f410...60a0d83039c74a4aee543508d2ffcb1c3799cdea)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:06:48 +01:00
dependabot[bot] 7ff8156015 build(deps): bump slackapi/slack-github-action from 1.23.0 to 1.24.0 (#9129)
Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.23.0 to 1.24.0.
- [Release notes](https://github.com/slackapi/slack-github-action/releases)
- [Commits](https://github.com/slackapi/slack-github-action/compare/007b2c3c751a190b6f0f040e47ed024deaa72844...e28cf165c92ffef168d23c5c9000cffc8a25e117)

---
updated-dependencies:
- dependency-name: slackapi/slack-github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:06:35 +01:00
dependabot[bot] 76eca49985 build(deps): bump Alfresco/alfresco-build-tools from 1.36.0 to 5.4.0 (#9138)
Bumps [Alfresco/alfresco-build-tools](https://github.com/alfresco/alfresco-build-tools) from 1.36.0 to 5.4.0.
- [Release notes](https://github.com/alfresco/alfresco-build-tools/releases)
- [Commits](https://github.com/alfresco/alfresco-build-tools/compare/7b0536b4e403e95365d83695c9ab3119b885ce36...042fc28b3e308e1d1159dfee61bc46c5940ed7b6)

---
updated-dependencies:
- dependency-name: Alfresco/alfresco-build-tools
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:06:20 +01:00
dependabot[bot] da018aadb9 build(deps): bump actions/checkout from 3.6.0 to 4.1.1 (#9128)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.6.0...b4ffde65f46336ab88eb53be808477a3936bae11)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:04:59 +01:00
dependabot[bot] f2764d0638 build(deps): bump Alfresco/alfresco-build-tools (#9139)
Bumps [Alfresco/alfresco-build-tools](https://github.com/alfresco/alfresco-build-tools) from 1.29.0 to 5.4.0.
- [Release notes](https://github.com/alfresco/alfresco-build-tools/releases)
- [Commits](https://github.com/alfresco/alfresco-build-tools/compare/d3b4d2e2e08dc33a5d1d60138e9e5989a3dd264c...042fc28b3e308e1d1159dfee61bc46c5940ed7b6)

---
updated-dependencies:
- dependency-name: Alfresco/alfresco-build-tools
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 20:04:41 +01:00
Michał Fidor e78bc460de [AAE-17481] Fix mapping for process leave-request (#9140) 2023-12-04 11:22:25 +01:00
Michał Fidor db9c3d4cb4 [AAE-17481] Fix processes for the new tests (#9137) 2023-12-01 16:35:03 +01:00
Michał Fidor e0260d821f [AAE-17475] Fix processes for Call Activities tests (#9136) 2023-12-01 07:44:44 +01:00
DominikIwanek c1ad165ef9 [AAE-18541] - OAuth - redirect does not work (#9135) 2023-11-30 12:20:16 +01:00
Yasa-Nataliya 065829ef01 [ACS-5600] AlfrescoViewerComponent shows the original mimetype (#9095)
* [ACS-5600]Changes for bug

* [ACS-5600]Changes for bug fixes

* [5600]fixed the space

* [ACS-5600] modified the variable name

* [ACS-5600]Implemented the review comments

* [ACS-5600]modified the test cases

* [ACS-5600] modified the test cases

* [ACS-5600]modified the changes

* [ci:force]
2023-11-30 14:36:34 +05:30
Wiktor Danielewski 8a184efc6c [AAE-8556] Convert attach file manual test case to unit test (#9108)
* [AAE-8556] Update attach file dialog service

* [AAE-8556] Update attach file dialog

* [AAE-8556] Align with remarks

* [AAE-8556] Switch to https
2023-11-29 17:40:50 +01:00
DominikIwanek 500c5581f6 [AAE-18541] - OAuth - redirect does not work (#9133) 2023-11-28 17:19:30 +01:00
AleksanderSklorz 7793aba89e [ACS-6252] support disabling the tags and categories feature in the applications (#9106)
* ACS-6252 Added rules field to SearchCategory interface

* ACS-6252 Hide aspects related with tags and categories if tags and categories features  are disabled

* ACS-6252 Return from services information if tags and categories are disabled

* ACS-6252 Unit tests for changes in AspectListDialogComponent

* ACS-6252 Unit tests for changes for AspectListComponent

* ACS-6252 Unit tests for DialogAspectListService

* ACS-6252 Unit tests for changes for TagService and CategoryService

* ACS-6252 Updated documentation for changes

* ACS-6252 Fixed imports formatting

* ACS-6252 Fix after rebasing

* ACS-6252 Addressed PR comments

* ACS-6252 Excluded e2es
2023-11-28 11:41:32 +01:00
Denys Vuika 979bf3ac59 [ACS-6396] cleanup unused CLI code (#9132)
* cleanup unused CLI code

* [ci:force] update CLI readme
2023-11-28 05:20:17 -05:00
Giovanni Fertuso 7300f74add Fix dependabot.yml (#9120)
* Fix Dependabot groups
2023-11-27 15:54:12 +00:00
Maurizio Vitale 38a7dc6cb7 ADF release - Notify correct channel (#9116)
* Notify correct channel

* Use pinned
2023-11-27 12:48:22 +01:00
Denys Vuika 4313869127 [ACS-6370] fix js-api version bump (#9119) 2023-11-27 11:04:38 +00:00
Giovanni Fertuso 3daecb1b1c [AAE-18117] Use SHA for GitHub actions (#9113)
* AAE-18117 - Add pre-checks job

* AAE-18117 - Use pinned SHA

* AAE-18117 - Update dependabot.yml
2023-11-27 10:58:24 +00:00
Denys Vuika 3cf2ffa7bd [AAE-18464] fix bundle check for js-api (#9117) 2023-11-27 10:47:12 +00:00
Denys Vuika 2824b7be50 bump js-api version to 7.4.0 (#9115) 2023-11-27 10:33:48 +00:00
Denys Vuika 3677bfb78e [ACS-6370] switch js-api builds to original node.js (#9114)
* switch js-api builds to original node.js

* [ci:force] cleanup ts configs

* [ci:force] remove temp hotfix for js-api

* remove dead code
2023-11-27 04:54:24 -05:00
Denys Vuika dbe3a7c7db [ACS-6370] temporary pin ADF cli to js-api 7.2.0 (#9112) 2023-11-23 13:29:28 +00:00
Maurizio Vitale 869f0296d0 Trigger a new release (#9111) 2023-11-23 12:05:52 +00:00
Denys Vuika 2a7fd89af0 [PRODENG-211] fix js-api version bump (#9110) 2023-11-23 10:39:34 +00:00
Michał Fidor 6759e2e9bb [AAE-16041] Removing unneeded tests (#9109) 2023-11-23 10:07:03 +01:00
Denys Vuika 3309ea63f6 [PRODENG-211] improved ADF CLI compilation (#9105)
* reduce npm log noise to errors

* remove unused ts config

* improve CLI build config

* use monorepo libs when building CLI

* [ci:force] minor polishing
2023-11-22 13:51:20 +00:00
Denys Vuika e97333aabd [PRODENG-211] reworked version updating (#9104)
* update js-api package metadata

* cleanup

* improve script loop

* cleanup dead code

* Revert "cleanup dead code"

This reverts commit f0de08acf8.

* cleanup dead code

* cleanup

* cleanup dead code

* reduce scripts

* cleanup script

* better naming

* cleanup

* minor fixes

* code improvements and fixes

* minor improvements

* fix js-api upgrades

* reusable version generator

* fix variable overwrite

* reduce code duplication

* fix version generation for build number

* cleanup
2023-11-22 11:33:05 +00:00
Bartosz Sekula aa05fc28b5 [AAE-18175] Unable to Import Descriptor in HXP Environment (#9097) 2023-11-22 10:22:23 +01:00
Denys Vuika 4b3e101586 [PRODENG-211] update npm bundle check (#9103)
* update js-api bundle check

* rework bundle checks
2023-11-21 13:56:00 +00:00
Denys Vuika 8687e86cf6 [PRODENG-211] update js-api deps (#9102)
* update js-api deps

* switch cli to prev version for now

* update lock file for cli
2023-11-21 06:47:43 -05:00
Denys Vuika 8839c9563a bump local js-api to 7.3.0 2023-11-21 10:39:10 +00:00
Denys Vuika ea2c0ce229 [PRODENG-211] integrate JS-API with monorepo (part 1) (#9081)
* integrate JS-API with monorepo

* [ci:force] fix token issue

[ci:force] migrate docs folder

[ci:force] clean personal tokens

* [ci:force] gha workflow support

* [ci:force] npm publish target

* fix js-api test linting

* [ci:force] fix test linting, mocks, https scheme

* [ci:force] fix https scheme

* [ci:force] typescript mappings

* [ci:force] update scripts

* lint fixes

* linting fixes

* fix linting

* [ci:force] linting fixes

* linting fixes

* [ci:force] remove js-api upstream and corresponding scripts

* [ci:force] jsdoc fixes

* fix jsdoc linting

* [ci:force] jsdoc fixes

* [ci:force] jsdoc fixes

* jsdoc fixes

* jsdoc fixes

* jsdoc fixes

* [ci:force] fix jsdoc

* [ci:force] reduce code duplication

* replace 'chai' expect with node.js assert

* replace 'chai' expect with node.js assert

* [ci:force] remove chai and chai-spies for js-api testing

* [ci:force] cleanup and fix imports

* [ci:force] fix linting

* [ci:force] fix unit test

* [ci:force] fix sonar linting findings

* [ci:force] switch activiti api models to interfaces (-2.5% reduction of bundle)

* [ci:force] switch activiti api models to interfaces

* [ci:force] switch AGS api models to interfaces

* [ci:force] switch AGS api models to interfaces

* [ci:force] switch search api models to interfaces

* [ci:force] switch content api models to interfaces where applicable
2023-11-21 05:27:51 -05:00
Michał Fidor 804fa2ffd4 [AAE-17480] update application (#9100) 2023-11-20 16:07:46 +01:00
DominikIwanek d14c116747 [MNT-22836] - support PKCE code flow in SSO (#8884)
* [MNT-22836] - support PKCE code flow in SSO
2023-11-17 15:17:26 +01:00
Denys Vuika eb8aaecef6 [ACS-6328] fix oauth config loading (#9098)
* fix oauth config loading

* remove coma

* fix json schema path

* use auth config constructor

* update json schema

* update json schema

* fix tests
2023-11-17 09:02:19 -05:00
Tomasz Gnyp 001d6ee83d [AAE-17859] Convert manual C309872 to unit test (#9077)
* [AAE-17859] Convert manual C309872 to unit test

* remove second optional message from toBe call
2023-11-17 13:47:52 +01:00
Wiktor Danielewski 606abdb4fd [AAE-17103] Handle icon type (#9012)
* [AAE-17103] Add typeof pipe

* [AAE-17103] Create IconCellComponent

* [AAE-17103] Update tests for IconCellComponent

* [AAE-17103] Small fix for boolean cell tests

* [AAE-17103] Update formatting

* [AAE-17103] Update icon cell

* [AAE-17103] Update tests

* [AAE-17103] Improve boolean cell

* [AAE-17103] Improve icon cell

* [AAE-17103] Update tests

* [AAE-17103] Udate doc about icon type

* [AAE-17103] Switch to inject feature of Angular

* [AAE-17103] Update IconCellComponent

* [AAE-17103] Remove typeof pipe

* [AAE-17103] Add ChangeDetectorRef

* [AAE-17103] Refactor AmoundCell

* [AAE-17103] Small improvement

* [AAE-17103] Update tests structure

* [AAE-17103] Small update
2023-11-17 12:49:00 +01:00
Raviraj Bahirsheth 4af945123b Revert "[ACS-5311] Notification History Bug Fix (#9011)" (#9096)
This reverts commit 94fb61541c.
2023-11-17 06:26:51 -05:00
Amedeo Lepore cf62196fc4 Release 6.5.2 (#9094) 2023-11-16 13:25:14 +01:00
Amedeo Lepore 22d3179a55 Revert "[AAE-18105] Fix release workflow: release-npm step doesn't publish al…" (#9092)
* Revert "[AAE-18105] Fix release workflow: release-npm step doesn't publish all the  packages (#9091)"

This reverts commit 17323b0abb.

* Fix release workflow: publish always all the libs until we don't handle partial release
2023-11-15 16:46:25 +00:00
Amedeo Lepore 17323b0abb [AAE-18105] Fix release workflow: release-npm step doesn't publish all the packages (#9091) 2023-11-15 16:56:14 +01:00
MichalKinas 81787d5202 [MNT-23166] Add resize flag to document list with option to disable blur (#9090)
* [MNT-23166] Add resize flag to document list with option to disable blur

* [MNT-23166] Missing docs and CR fixes

* [MNT-23166] Lint fixes

* [MNT-23166] Lint fixes

* [MNT-23166] Lint fixes
2023-11-15 14:51:38 +01:00
Amedeo Lepore e5ca7d2069 [AAE-18057] Fix token is not refreshed after silent-refresh is called. Get another token from the auth server. (#9089) 2023-11-15 11:28:05 +00:00
AleksanderSklorz 6787ef4582 [ACS-6225] Removed extra gray area around share link dialog (#9086) 2023-11-14 12:45:13 +01:00
AleksanderSklorz 6988c1f458 [ACS-6067] viewer thumbnails not refresh on file change (#9075)
* ACS-6067 Update thumbnails when file is changed

* ACS-6067 Added unit tests

* ACS-6067 Removed redundant line
2023-11-14 12:44:48 +01:00
MichalKinas 15fdbc7e29 [ACS-4794] ES query migration changes (#8773)
* [ACS-4794] ES query migration changes

* [ACS-4974] Remove * from path as it causes exception

* [ACS-4974] Apply PATH workarounds for PNAME and ANAME

* [ACS-4974] Add custom query to autocomplete options filter

* [ACS-4974] Correct username
2023-11-14 08:23:55 +01:00
Amedeo Lepore e2c116c25a Release 6.5.1 (#9082) 2023-11-13 10:19:15 +01:00
Amedeo Lepore f2df3c4143 [AAE-17909][AAE-17964] fix silent-refresh url is not set with the value - fix background image set to undefined (#9080)
* [AAE-17909] fix silent-refresh url is not set with the value from the app.config.json

* [AAE-17964] fix backgroundImage is undefined, set a default value
2023-11-10 14:19:59 +00:00
Wiktor Danielewski 168bb0b6ca [AAE-17258] Update storybook for datatable and datacolumn (#9052)
* [AAE-17258] Datatable storybook - add boolean type

* [AAE-17258] Datatable storybook - Repair location column

* [AAE-17258] Update location column - storybook

* [AAE-17258] Add boolean column and update data mapping - storybook

* [AAE-17258] Add some comments

* [AAE-17258] Storybook - add image column

* [AAE-17258] Add missing props for DataColumn

* [AAE-17258] Update storybook over the amount column type

* [AAE-17258] Add number column to the Storybook

* [AAE-17258] Storybook simplify json column

* [AAE-17258] Stroybook DataColum refactor

* [AAE-17258] Storybook DataColumn refactor

* [AAE-17258] Update DataColumn with date type

* [AAE-17258] Update Datatable over timeAgo column - Storybook

* [AAE-17258] Small changes

* [AAE-17258] Storybook - simplify DataColumn stories and allow for row updates
2023-11-09 14:17:08 +01:00
Tomasz Gnyp c0194029c7 [AAE-17865] Remove few already covered e2es from ADF (#9078) 2023-11-09 04:44:43 -05:00
Maurizio Vitale 625cf2b85a [ADF-5561] Remove unused dep (#9064) 2023-11-09 04:32:41 -05:00
dependabot[bot] 622cf8bdee build(deps): bump apollo-angular from 4.2.1 to 5.0.2 (#9041)
Bumps [apollo-angular](https://github.com/kamilkisiela/apollo-angular/tree/HEAD/packages/apollo-angular) from 4.2.1 to 5.0.2.
- [Release notes](https://github.com/kamilkisiela/apollo-angular/releases)
- [Changelog](https://github.com/kamilkisiela/apollo-angular/blob/master/packages/apollo-angular/CHANGELOG.md)
- [Commits](https://github.com/kamilkisiela/apollo-angular/commits/apollo-angular@5.0.2/packages/apollo-angular)

---
updated-dependencies:
- dependency-name: apollo-angular
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-09 04:25:30 -05:00
Denys Vuika f0a11fdab0 [ACS-6140] migrate tests to harness (#9071)
* migrate aspect list tests to harness

* [ci:force] categories management

* [ci:force] fix keyboard handling

* [ci:force] fix memory leak

* migrate document list

* migrate new version uploader dialog

* migrate folder dialog

* bug fixes for keyboard, remove fake unit tests

* [ci:force] migrate and cleanup notification tests

* migrate app details cloud

* migrate app list cloud

* migrate group cloud component

* [ci:force] cleanup code based on reviews

* [ci:force] migrate people cloud

* [ci:force] migrate process list cloud

* [ci:force] migrate start process cloud

* [ci:force] task form cloud

* [ci:force] service task list cloud

* [ci:force] task list cloud

* [ci:force] process attachment list and apps list

* [ci:force] code review changes

* [ci:force] app list bug fixes and code cleanup

* [ci:force] fix incorrect/missing typings, fix tests

* [ci:force] code cleanup
2023-11-09 04:24:56 -05:00
Robert Duda 479cc8b545 Release 6.5.0 (#9076) 2023-11-08 15:54:57 +01:00
Davide Cerbo 54fa5d8864 Update init-aae-env.ts (#9073) 2023-11-08 10:01:09 +00:00
Alfresco Buildandtomgny 0891a60f4d [ci:force][auto-commit] Update dependencies JS:7.2.0 (#9069)
Co-authored-by: tomgny <tomgny@users.noreply.github.com>
2023-11-07 15:54:34 +01:00
Amedeo Lepore a01a1b9e9a [AAE-17804] Fix login redirection, add redirectUri from the app.config (#9066)
* [AAE-17804] Fix login redirection, add redirectUri from the app.config

* [AAE-17804] Updated unit tests
2023-11-07 14:34:18 +00:00
Wojciech Duda 34c82f4a49 [AAE-17807] fix for header background color (#9067)
* [AAE-17807] fix for header background color

* [AAE-17807] added unit tests
2023-11-07 13:14:54 +00:00
Michał Fidor 41a788d974 [AAE-17475] Fix process for call activities (#9068) 2023-11-07 13:45:09 +01:00
Alfresco Buildandmauriziovitale 00c05315a2 [ci:force][auto-commit] Update dependencies JS:7.2.0-1490 (#9057)
Co-authored-by: mauriziovitale <mauriziovitale@users.noreply.github.com>
2023-11-07 13:16:37 +01:00
Denys Vuika 10361b9065 fix broken expression code in people cloud (#9065) 2023-11-06 16:43:23 +00:00
08da9ae2c3 [AAE-12501] move auth in ADF (#8689)
* remove unneeded JS-API dep
move auth in the right place

* [AAE-12501] Replace alfresco api client with AdfHttpClient

* [AAE-12501] Restore get username methods

* [AAE-12501] Get username with authentication service

* [AAE-12501] Create a request options interface with the needed props, remove the import from js-api, return the body from request

* add emitters

* [AAE-12501] Replace Math.random() to fix hospot security issue, fix lint issues

* [AAE-12501] Comment temporary setCsrfToken because is not possible to import app config service from core due to circular dependencies

* [AAE-12501] Get disableCsrf from app config serviice when app configuration is loaded

* [AAE-12501] Remove wrong character

* Pass down the requestUrl for request interception
bring back check from js-api
fixing isLogin issues part1
some fix around emit
Narrow access for methods
fix sso username issue
Switch to dynamic service injection
add emitters
move auth inside ADF

* clean

* fix unit test

* fix lint

* Fix exports

* Fix process-services unit tests

* Fix core unit tests

Fix core unit tests

Fix core unit tests

Fix core unit tests

Fix core unit tests

Fix core unit tests

Fix core unit tests

* Fix content-services unit tests: getEcmUsername from authentication service

Fix content-services unit tests: alfresco api service has been replaced by authentication service

* Fix circular dependecies issue importing AppConfigService outside the api entrypoint dir

* Import AuthModule even in not only canary mode to let the e2es run

* Fix authentication unit tests

* Fix unit test '[ECM] should return a ticket undefined after logout'

* Remove AlfrescoApiService is not used anymore

* Fix unit test '[BPM] should return an BPM ticket after the login done': add Basic suffix to basicAuth

* Fix unit tests core

* Fix login errors with the BASIC authentication

* Fix missing onLogin event

* Temporary skip unit tests to check e2es

* Fix login component doesn't add the authorization header

* Fix prefix is undefined

* Fix image is not showed by the alfresco file viewer because alf_ticket is not added to the content url query params, pass ticketEcm to the alfrescoApi configuration used by alfrescoApiClient.ts getAlfTicket()

* Fix C280012: set app prefix before calling content api

* Revert "Fix image is not showed by the alfresco file viewer because alf_ticket is not added to the content url query params, pass ticketEcm to the alfrescoApi configuration used by alfrescoApiClient.ts getAlfTicket()"

This reverts commit afbf086b98d72835aab8b15d4af433efeaac2d3b.

* try to change adf core autoamtion service init

* go back

* grant type password login

* fix

* remove automatic login in reset try

* fix not silent login

* lint happy

* fix

* Update alfresco-api-v2-loader.service.ts

* fixint

* Revert "Temporary skip unit tests to check e2es"

This reverts commit a0adc7e58a001a54442c82952761bff891caa5cd.

* fix modules

* fix app config stream in storing service
fix app config stream for sub property

* fix identity test to use the real service

* fix unit

* fix unit

* fix unit

* remove test that are probably have never been green

* fix

* fix PC

* fix localstorage

* fix

* fix

* fix

* fix

* fix storybook
move e2e in content for versioning
fix lint

* fix

* fix size

* enable log

* some fix for usernames

* remove log

* fix rebase

* [AAE-12502] Restore isKerberosEnabled into authentication service

* subject onLogin

* fix unit

* Fix lint issue

* fix

* Update error message

* Revert change did by https://github.com/Alfresco/alfresco-ng2-components/pull/8689/commits/b79c5d37d69b2d76b33e5561eab2bf5b80c81b9e\#diff-ad85723e21276e05e577bab652c6ab0d243bd0ad54d4cc70ef6e60dc5e635c33L38

* Refresh the browser to wait for the user to click process cloud page

* Remove e2e, the application list is already tested by the app-list-cloud.component.spec.ts https://github.com/Alfresco/alfresco-ng2-components/blob/dev-eromano-AAE-12501-2/lib/process-services-cloud/src/lib/app/components/app-list-cloud.component.spec.ts\#L147

* [12502] Add getUsername method to the AuthenticationService

* [12501] restore mutlipart/form-data header needed by angular http-client to to fix 415 unsupported media type

* Revert "[12501] restore mutlipart/form-data header needed by angular http-client to to fix 415 unsupported media type"

This reverts commit d8c584b94f649b57859d74157ec0861f2ebddebb.

* [12501] fix unsupported upload file on admin-apa, append json content type only calling alfresco api

* [12501] fix unsupported upload file on admin-apa

[12501] fix unsupported upload file on admin-apa

* Revert "[12501] fix unsupported upload file on admin-apa"

This reverts commit 53cda21d795588d87244c78c5a5347afd04ea2b1.

* Improve getHeaders

* Revert change

* Set application/json content type if request body is not a FormData

* Logout by the authenticationService

* Update returned error message

* Fix lint issues after rebasing

* [12502] Add basic template with data-automation-ad selector to check when is attached to the Dom

* Fix issues after rebase

---------

Co-authored-by: Amedeo Lepore <amedeo.lepore@hyland.com>
Co-authored-by: Andras Popovics <popovics@ndras.hu>
2023-11-06 14:25:27 +01:00
Bartosz Sekula 057e0bcd7c [AAE-17746] Remove secret from required prop from app.config.schema.json (#9063) 2023-11-06 13:17:14 +00:00
DominikIwanek bac7cc98e1 [ACS-6210] - ACA column alinement shifted when we have very long file/folder name (#9060) 2023-11-06 06:32:59 -05:00
Bartosz Sekula 7c127eb957 [AAE-17669] Custom theme should use default font (#9062) 2023-11-06 12:31:14 +01:00
Denys Vuika fe8f4a5e74 [ACS-6251] remove dead code and imports from insights (#9059)
* remove dead code and imports from insights

* [ci:force] base class to reduce code duplications

* [ci:force] reduce code by introducing base class

* [ci:force] fix import paths

* [ci:force] fix types

* [ci:force] remove pdf from insights unit tests

* [ci:force] improve test performance

* remove obsolete mock file

* remove deleted export
2023-11-06 06:30:49 -05:00
Michał Fidor adf5a5e008 [AAE-17476] update default app by missing process (#9061) 2023-11-06 10:38:38 +01:00
Wojciech Duda a29f63cd9b [AAE-17551] added backgroundImage property for header (#9058)
* [AAE-17551] added backgroundImage property for header

* [AAE-17551] added test for background image

* [AAE-17551] removed some material selectors

* [AAE-17551] rebasing

* [AAE-17551] fixed unit test
2023-11-04 15:06:11 +01:00
SheenaMalhotra182 94fb61541c [ACS-5311] Notification History Bug Fix (#9011)
* [ACS-5311] implemented read state for notifications and showing only unread notifications in history menu

* [ACS-5311] linting fixes

* [ACS-5311] linting fixes

* [ACS-5311] fixed code smell

* [ACS-5311] addressed review comments

* [ACS-5311] addressed review comments

* [ACS-5311] updated unit tests

* [ACS-5311] addressed review comments and optimized unit tests

* [ACS-5311] linting fix

* [ACS-5311] addressed review comments

* [ACS-5311] fixed typos

* [ACS-5311] moved NOTIFICATION_STORAGE to notification.model.ts to reuse across repos

* [ACS-5311] addressed review comments
2023-11-03 14:41:40 +00:00
dependabot[bot] 3687cc58e0 build(deps): bump trim-newlines and meow (#9055)
Bumps [trim-newlines](https://github.com/sindresorhus/trim-newlines) and [meow](https://github.com/sindresorhus/meow). These dependencies needed to be updated together.

Updates `trim-newlines` from 1.0.0 to 3.0.1
- [Release notes](https://github.com/sindresorhus/trim-newlines/releases)
- [Commits](https://github.com/sindresorhus/trim-newlines/commits)

Updates `meow` from 3.7.0 to 9.0.0
- [Release notes](https://github.com/sindresorhus/meow/releases)
- [Commits](https://github.com/sindresorhus/meow/compare/v3.7.0...v9.0.0)

---
updated-dependencies:
- dependency-name: trim-newlines
  dependency-type: indirect
- dependency-name: meow
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-03 06:06:28 -04:00
Denys Vuika 93fd0bec6c [ACS-6140] reduce access to internal material classes (#9053)
* cleanup login (demo shell)

* cleanup e2e from useless calls

* [ci:force] cleanup e2e from useless calls

* [ci:force] cleanup e2e from useless calls

* [ci:force] improved uploader selectors

* [ci:force] remove useless selectors when automation id provided

* [ci:force] improved tests and selectors

* [ci:force] improved tests and selectors

* [ci:force] improved tests and selectors

* [ci:force] improved tests and selectors

* [ci:force] improved tests and selectors

* [ci:force] improved tests and selectors

* [ci:force] switch edit task filter to angular harness

* [ci:force] switch edit process filter to angular harness

* [ci:force] switch search chip list to angular harness

* [ci:force] switch search panel to angular harness

* [ci:force] switch search radio to angular harness

* [ci:force] switch search text to angular harness

* [ci:force] search logical filter

* [ci:force] search form component

* [ci:force] search filter container

* [ci:force] fix viewer test

* [ci:force] search facet chip harness

* [ci:force] search facet chip harness

* [ci:force] dropdown breadcrumb

* [ci:force] search check list

* [ci:force] folder dialog

* [ci:force] search filter component

* [ci:force] json cell

* [ci:force] amount widget

* [ci:force] checkbox widget

* [ci:force] multiline-text widget

* [ci:force] number widget

* [ci:force] text widget

* [ci:force] card view array item

* add permission dialog

* permission container component

* permission list component

* card view components

* search widget chip

* search facet chip

* edit service task filter

* card view components

* sites dropdown

* share dialog

* header component

* datetime widget

* remove comments
2023-11-03 06:05:34 -04:00
Tomasz Gnyp 9278d9296f [AAE-16965] Improve data table date column (#9038)
* [AAE-16965] Improve Date data table column type

* [AAE-16965] Date unit tests

* update docs

* cleanup cells after implement inject

* bring back removed constructors

* remove empty constructors

* replace constructor token injection by inject function

* [AAE-16965] Use other variable for template

* implement suggestions

* update demo shell module

* fix unit test

* fix timeAgo problem

* add some more unit tests

* fake change in extensions

* [AAE-16965] fix for backward compatibility
2023-11-03 10:31:13 +01:00
Bartosz Sekula 85ddcdf22c Fix missing primary scss variable (#9056)
* Fix missing primary scss variable

* remove test var
2023-11-02 15:47:52 +00:00
Alfresco Buildandmauriziovitale 0b677e7189 [ci:force][auto-commit] Update dependencies JS:7.2.0-1481 (#9028)
Co-authored-by: mauriziovitale <mauriziovitale@users.noreply.github.com>
2023-11-02 14:29:45 +00:00
Eugenio Romano 0b56a4858f [AAE-16579] upgrade nrwl dep solve critical webpack loader-utils issue in develop (#9030)
* upgrade nrwl dep

* fix

* downgrade eslint plugin
2023-11-02 14:11:06 +01:00
tomasz hanaj 15f82c812c [AAE-15296] added design tokens to InfoDrawerComponent (#9051)
* [AAE-15296] added design tokens to InfoDrawerComponent

* [AAE-15296] added access to theme to component variables
2023-11-02 13:10:05 +01:00
Bartosz Sekula 54e95bc5f7 [AAE-16970] Custom colors are not calculating correctly in default UI (#9054) 2023-11-02 11:15:30 +01:00
Wiktor Danielewski 81f0df3da1 [AAE-16995] Code refactor of LocationCellComponent (#9033)
* [AAE-16995] Migrate to standalone

* [AAE-16995] Update Datatable module

* [AAE-16995] Enable hyperlink click

* [AAE-16995] Fix test mistake

* [AAE-16995] Refactor DatatableCell

* [AAE-16995] Refactor LocationCellComponent

* [AAE-16995] Update doc about location cell

* [AAE-16995] Clarify the purpose of location cell

* [AAE-16995] Remove unnecessary check

* [AAE-16995] Align to remarks
2023-10-31 16:51:07 +01:00
Denys Vuika 5d72597d7d [ACS-6245] remove mat-card and internal styling from demo shell (#9050)
* remove mat-card from properties demo

* remove mat-card from demo shell viewer (versions)

* cleanup host settings component in demo shell

* cleanup cloud settings
2023-10-31 10:38:59 -04:00
MichalKinas e8ea75d9f3 Release 6.4.0 (#9044)
* Release 6.4.0

* Lock file update

* Exclude failing E2Es

* Exclude failing E2Es

* Exclude failing E2Es

* Exclude failing E2Es
2023-10-31 13:00:37 +01:00
Michał Fidor a59ab203b4 [AAE-17471] Fix typo in one of the process (#9049) 2023-10-31 12:06:14 +01:00
Michał Fidor d300003f69 [AAE-17471] [Phase 1] Add to the be-default-app needed form/processes/scripts/etc (#9045) 2023-10-30 13:43:21 +01:00
Denys VuikaandMykyta Maliarchuk 620911cf70 Protractor cleanup for demo shell (#9019)
* [ci:force] cleanup protractor tests

* [ci:force] cleanup insights test

* [ci:force] cleanup dead demo shell e2e

* [ci:force] cleanup e2e

* [ci:force] cleanup e2e

* cleanup files component

* [ci:force] cleanup e2e

* [ci:force] remove user info SSO protractor e2e

* [ci:force] remove viewer e2e already covered by other tests

* [ci:force] remove custom font from demo shell

* [ci:force] demo shell viewer cleanup

* [ci:force] cleanup viewer in demo shell

* [ci:force] rollback model changes

* [ci:force] remove site picker from content demo

* [ci:force] cleanup files demo shell component

* [ci:force] cleanup e2e and dead code

* [ci:force] cleanup dead code

* [ci:force] fix linting

* [ci:force] standalone home component

* [ci:force] cleanup demo shell app layout

* [ci:force] cleanup css

* [ci:force] cleanup demo shell logout

* Update demo-shell/src/app/components/app-layout/app-layout.component.html

Co-authored-by: Mykyta Maliarchuk <84377976+nikita-web-ua@users.noreply.github.com>

---------

Co-authored-by: Mykyta Maliarchuk <84377976+nikita-web-ua@users.noreply.github.com>
2023-10-27 11:56:53 -04:00
dependabot[bot] 1f94c592da Bump rimraf from 5.0.1 to 5.0.5 (#8977)
Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.1 to 5.0.5.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v5.0.1...v5.0.5)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-27 11:03:56 -04:00
dependabot[bot] 32f6c746f0 build(deps): bump browserify-sign from 4.2.1 to 4.2.2 (#9037)
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: browserify-sign
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-27 10:10:00 -04:00
Denys Vuika fa7eb8722d fix linting for ADF (#9036)
* fix linting

* fix linting
2023-10-27 10:09:47 -04:00
Mykyta Maliarchuk b847383249 [ACS-6222] Fixed missing display name for groups (#9034)
* [ACS-6222] fixed missing display name for groups

* [ACS-6222] cr fix
2023-10-27 15:43:43 +02:00
Denys Vuika 2d3175ef4a [ACS-6227] cleanup error handling and fix typing issues (#9035)
* cleanup audit service, remove useless ajax tests

* cleanup sites service and remove useless ajax tests

* cleanup services

* cleanup services

* fix typings

* code cleanup
2023-10-27 13:51:28 +01:00
Davide Cerbo 53ad9f729b AAE-15874 enable local development option for simpleapp (#9031) 2023-10-27 10:53:54 +02:00
Denys Vuika ba96ed14b2 [ACS-6196] await-thenable rule for ESLint, fix issues (#9027)
* fix issues for core lib

* fix content services lib

* fix and cleanup process services

* [ci:force] process services cloud

* [ci:force] align coverage with all libs

* [ci:force] fix the insights
2023-10-26 09:33:48 -04:00
Denys Vuika 7ebdce7875 [APPS-2108] break direct dependency on moment.js (#9032)
* break direct dependency on moment.js

* [ci:force] preserve moment for cli tools

* remove MatMomentDatetimeModule from content

* share dialog fixes

* revert testing module changes

* remove incorrect date modules

* fix html
2023-10-26 09:33:26 -04:00
AleksanderSklorz abf369bc37 [ACS-6189] Moved date adapter from module to component (#9029) 2023-10-26 10:40:55 +02:00
AleksanderSklorz 67f1a4c506 [ACS-6189] broken decision table dates after deprecation of moment date adapter 3 (#9026)
* ACS-6189 Fixed date format

* ACS-6189 Fixed unit test

* ACS-6189 Reverted unwanted changes

* ACS-6189 Fixed date format
2023-10-25 15:28:58 +02:00
Aayush Rohila e6bc457d26 [ACS-5831] Adding generic error to Library Modal. (#9025)
* [ACS-5831] Adding generic error to Library Modal.

* change

* change

* lint issue fix
2023-10-25 17:50:14 +05:30
Denys Vuika 8bd24dbb7c [ACS-6190] prefer-promise-reject-errors rule and fixes (#9021)
* fix promise rejections

* fix promise errors

* promise error fixes

* fix promise rejections

* [ci:force] fix formatting

* test fixes

* [ci:force] fix tests

* [ci:force] fix tests

* fix incorrect return types

* meaningful errors

* remove useless pipe

* fix accessing private members in the test
2023-10-25 07:01:45 -04:00
dependabot[bot] 352e0e4933 Bump mini-css-extract-plugin from 1.6.2 to 2.7.6 (#8979)
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.6.2 to 2.7.6.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.6.2...v2.7.6)

---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-25 06:39:55 -04:00
dependabot[bot] 72e646bdf8 build(deps-dev): bump css-loader from 6.7.4 to 6.8.1 (#9015)
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 6.7.4 to 6.8.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v6.7.4...v6.8.1)

---
updated-dependencies:
- dependency-name: css-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-25 05:46:11 -04:00
Alfresco Buildandmauriziovitale 36d90b314d [ci:force][auto-commit] Update dependencies JS:7.1.0-1437 (#9022)
Co-authored-by: mauriziovitale <mauriziovitale@users.noreply.github.com>
2023-10-25 04:39:59 -04:00
Alfresco Buildandmauriziovitale 46104e9246 [ci:force][auto-commit] Update dependencies JS:7.1.0-1429 (#8969)
Co-authored-by: mauriziovitale <mauriziovitale@users.noreply.github.com>
2023-10-24 13:14:51 -04:00
AleksanderSklorz a73e72facb [ACS-6189] Corrected date format (#9016)
* ACS-6189 Corrected date format

* [ci:force]ACS-6189 Trigger build
2023-10-24 13:13:20 -04:00
Denys Vuika f366cf7c0a [ACS-5645] metadata fixes for encapsulation and host classes (#9018)
* remove useless typing

* fix missing host classes and encapsulation
2023-10-24 12:11:28 -04:00
Denys Vuika 879c5a6d2c [ACS-5645] card view dateitem parse fix (#9017)
* card view dateitem parse fix

* remove unused prop

* remove dead link from demo shell
2023-10-24 10:48:36 -04:00
DominikIwanek 36c6e6d8ea [ACS-5566] - Add configurable columns to document list (#8968)
* [ACS-5566] - add configurable columns to document list

* [ACS-5566] - add max visible columns

* [ACS-5566] - add unit tests

* [ACS-5566] - add docs

* [ACS-5566] - style changes after CR

* [ACS-5566] - changes for pipeline

* [ACS-5566] - changes for pipeline

* [ACS-5566] - changes for pipeline
2023-10-24 09:52:11 -04:00
Wojciech Duda 3912a652d5 [AAE-16369] use layout-bp mixin where applicable (#8945)
* [AAE-15828] layout-bp mixin for core

* [AAE-15828] fixed import

* [AAE-15828] layout-bp for process-services-cloud

* [AAE-15828] layout-bp for process-services

* [AAE-15828] layout-bp for content-services

* [AAE-15828] fixed incorrect values

* [AAE-15828] lint fix

* configure stylePreprocessorOptions for cross project scss importing

* scss import cardio

* set correct style paths for packages

* [AAE-16369] addded missing test config

* [ci:force] fix for the pretheme build

* unified configs for libs
2023-10-23 15:36:26 +01:00
evelina-di f6f74f4660 [AAE-16982] Add default ui with custom theme to simpleapp (#9014) 2023-10-23 13:58:57 +02:00
Tomasz Gnyp 33f1147671 [AAE-16962] Handle number data table column type (#9013)
* [AAE-16962] Handle number column type

* solve conflicts

* remove TODO

* [AAE-16952] Revert incorrect conflict solve

* remove duplicated import
2023-10-23 11:53:32 +02:00
MichalKinas 7c4304a1e7 Fix AAE-16968 BC (#9010)
* Fix AAE-16968 BC

* Fix incorrect import

* Move DataColumnType to extensions lib

* Lint fixes
2023-10-19 09:17:28 -04:00
Tomasz Gnyp 6644f539fa [AAE-16964] Handle amount data table cloumn type (#8984)
* [AAE-16964] Handle amount data table cloumn type

* remove not needed reset testing module

* improve spacing

* update documentation

* remove code duplications in unit tests

* add type for default currency config

* update doc
2023-10-19 11:50:35 +02:00
Kritagya Jaiswal 962a2be698 [ACS-6126] Fixed accessibility issues (#9007)
* [ACS-6126] Fixed accessibility issues

* Added localise aria-label for Tags
2023-10-19 09:16:37 +01:00
Denys Vuika d13db25609 [ACS-6136] cleanup e2e files (protractor) (#9009)
* cleanup e2e

* clean e2e
2023-10-19 09:14:14 +01:00
Wiktor Danielewski b49c86fda5 [AAE-16968] Add boolean type (#8972)
* [AAE-16968] Update variable mapper service

* Update DetaColumnComponent

* [AAE-16968] Update DataColumnTypes interface

* [AAE-16968] Handle boolean column on UI

* [AAE-16968] Create BooleanCellComponent

* [AAE-16968] Delete comment

* [AAE-16968] Update BooleanCellComponent

* [AAE-16968] Delete unnecessary css classes

* [AAE-16968] Allow for string values

* [AAE-16968] Update test for datatable

* [AAE-16968] Update tests for boolean cell

* [AAE-16968] Update tests for VariableMapperService

* [AAE-16968] Add boolean pipe

* [AAE-16968] Update pipe

* [AAE-16968] Update code formatting

* [AAE-16968] Add doc for the boolean pipe

* [AAE-16968] Update DataColumnComponent doc

* [AAE-16968] Delete unnecessary class

* [AAE-16968] Fix title bug

* [AAE-16968] Update BooleanCell tests

* [AAE-16968] Update Boolean pipe

* [AAE-16968] Update tests for variable mapper service

* [AAE-16968] Update PipesModule

* [AAE-16968] Small fix

* [AAE-16968] Fix lint error
2023-10-19 09:00:27 +02:00
Denys Vuika cda12730f6 [APPS-2255] documentation on date adapters (#9008)
* release note placeholder

* datetime docs

* fix docs

* fix docs
2023-10-18 16:16:17 +01:00
Aayush Rohila d500bc67d7 [ACS-5831] Added Generic Error to Library Dialog. (#9005)
* [ACS-5831] Added Generic Error to Library Dialogue.

* format fix

* format fix

* [ci:force]
2023-10-18 14:20:31 +01:00
Denys Vuika 678df4298d [APPS-2108] migrate cardview and task filters to date-fns (#9006)
* move based edit task filter to date-fns

* migrate cardview component to date-fns

* bug fixes for card view types, utc and multivalue

* fix copy to clipboard typing issue

* mark moment adapter for deprecation

* exclude e2e

* try migrate metadata smoke
2023-10-18 14:17:30 +01:00
Denys Vuika 7d5fbecf3f [APPS-2136] migrate search-datetime-range to date-fns (#9004)
* strongly typed forms

* migrate to date-fns

* [ci:force] mark moment pipes for deprecation

* [ci:force] try migrate the metadata smoke e2e

* [ci:force] remove dead code

* cleanup dead code and switch e2e to date-fns

* [ci:force] migrate tests

* revert metadata

* [ci:force] migrate e2e

* [ci:force] delete date util
2023-10-18 07:56:10 +01:00
dependabot[bot] af24aceb65 build(deps): bump @babel/traverse from 7.21.5 to 7.23.2 (#9002)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.21.5 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 17:25:21 +01:00
Denys Vuika e6d625253c [APPS-2132] migrate components to date-fns (#9001)
* migrate edit process filter to date-fns

* refresh unit tests

* fix a11y for date-fns

* Revert "fix a11y for date-fns"

This reverts commit 2e706d4aed1b8a50d1de62fe11d9d528530d628c.

* update e2e

* start task fixes

* cleanup code

* remove fdescribe

* remove moment, improve unit testing

* remove dependency on date util

* cleanup search date range component

* cleanup code

* migrate search date range component

* revert e2e changes for now

* extra fixes and tests

* add missing functionality, extra tests

* increase time constraints

* improved code, disabled e2e

* move e2e to unit tests, extra rework for insights

* extra unit test for date range validation

* migrate date-range to date-fns
2023-10-17 17:24:46 +01:00
swapnil-verma-gl f7b0544172 [ACS-6019] Added node-fetch to adf-cli package.json (#9003)
* [ACS-6019] Added node-fetch to adf-cli package.json

* [ACS-6019] Removed node-fetch from root package.json

* [ACS-6019] Removed node-fetch from root package-lock.json
2023-10-17 08:11:16 -04:00
swapnil-verma-gl ef285a1f10 [ACS-6019] [ACS-6021] [ACS-6023] Replaced request with node-fetch (#8999)
* [ACS-6019] Replaced request with node-fetch

* [ACS-6019] [Non-Functional Change] Added documentation to peopleSelected event emitter - Change to trigger affected E2Es

* [ACS-6019] Added return type to getFileFromRemote function. Removed request dependencies from package.json

* [ACS-6019] Commit package-lock.json

* [ACS-6019] Testing node-fetch v2

* [ACS-6019] Commiting package-lock.json
2023-10-17 16:47:53 +05:30
Denys Vuika 82fafff114 Remove demo shell protractor TreeView e2e (#9000)
* remove protractor TreeView e2e

* [ci:force] fix types

* [ci:force] remove unused method
2023-10-16 11:31:33 +01:00
Denys Vuika 462166293a Remove useless protractor tests (#8998)
* [ci:force] remove useless viewer tests

* [ci:force] fix types

* [ci:force] remove demo-shell specific tests

* fix typo
2023-10-16 05:44:52 -04:00
Denys Vuika 2f36da5765 [APPS-2108] date-fns adapter for datetime pickers, many datetime parsing and validation fixes (#8992)
* migrate cloud date widget to date-fns, fix test bugs

* [ci:force] update docs

* [ci:force] remove commented out code

* [APPS-2232] date cell validator, unit tests

* improved moment adapter, code cleanup

* datetime adapter, many code fixes

* code review fixes

* code cleanup

* cleanup

* fix max datetime validation, update tests

* remove e2e already covered by unit tests

* fix search date range

* remove fake demo shell e2e for search

* remove fake demo shell e2e for search page

* cleanup e2e

* migrate dynamic table to date-fns

* fix e2e formatting

* migrate protractor to unit tests

* cleanup e2e
2023-10-15 15:58:22 +01:00
MichalKinas c637f3eb2a [ACS-5611] Add the option to initially expand custom panel (#8986) 2023-10-12 11:08:35 -04:00
Denys Vuika 96d0a617a4 [APPS-2108] migrate unit tests to date-fns (#8991)
* migrate unit tests

* [ci:force] cleanup
2023-10-11 14:52:37 +01:00
Denys Vuika 03a52dc10f [APPS-2108] migrate form field validators to date-fns (#8988)
* migrate test

* migrate datetime validator

* date validator

* min/max date validators

* migrate form-field validators to date-fns

* [ci:force] update docs

* form-field-model date

* field model: datetime

* migrate form field model, extra tests and fixes
2023-10-11 12:01:58 +01:00
Aayush RohilaandDenys Vuika 2f28ec9b6f [ACS-5877] Migrate widget-visibility service do date-fns (#8870)
* [ACS-5877] Migrate from moment to date-fns for widget-visibility service

* [ACS-5877] Migration from moment to date-fns in widget-visiblity.service

* migrate widget visibility service to date-fns

* restore clean method

---------

Co-authored-by: Denys Vuika <denys.vuika@gmail.com>
2023-10-10 17:12:44 +01:00
Denys Vuika a86b9e625c [APPS-2108] migrate analytics report to date-fns (#8985)
* migrate analytics report to date-fns

* migrate bar chart model
2023-10-10 16:14:31 +01:00
Mykyta Maliarchuk f6d48cb85c [ACS-5348] Fixed accessibility issues for the Date facet (#8982)
* [ACS-5348] fixed accessibility issues

* [ACS-5348] removed .mat customizations
2023-10-10 08:46:09 -04:00
Denys Vuika ce549249e5 [APPS-2108] ADF date-fns adapter implementation (#8983)
* adf date-fns adapter, migrate date widget

* [ci:force] fix tests

* [ci:force] update docs

* fix types and tests

* fix how the real date is stored, extra tests

* remove useless e2e as covered by tests already
2023-10-10 11:58:04 +01:00
MichalKinas 4cc4498b0e [ACS-5611] Add custom metadata side panels to metadata card component (#8974)
* [ACS-5611] Add custom panels to metadata card component

* [ACS-5611] Add custom metadata panels unit tests

* [ACS-5611] CR fixes

* [ACS-5611] CR fixes
2023-10-09 13:47:45 +02:00
Denys Vuika 3a374ad2a4 [APPS-2108] migrate date widget to Angular date picker (#8975)
* migrate date widget to Angular date picker

* [ci:force] fix tests

* [ci:force] fix tests

* [ci:force] test fixes

* [ci:force] missing label attributes

* added type for value
2023-10-09 10:28:13 +01:00
2154 changed files with 108954 additions and 29557 deletions
+11
View File
@@ -0,0 +1,11 @@
.angular
nxcache
node_modules
dist
coverage
.github
.vscode
scripts
/angular.json
docs/**/*.md
lib/js-api/docs/**/*.md
+2 -1
View File
@@ -78,6 +78,7 @@ module.exports = {
accessibility: 'explicit'
}
],
'@typescript-eslint/await-thenable': 'error',
'@typescript-eslint/prefer-optional-chain': 'warn',
'@typescript-eslint/no-inferrable-types': 'off',
'@typescript-eslint/no-require-imports': 'off',
@@ -101,7 +102,7 @@ module.exports = {
],
'@typescript-eslint/member-ordering': 'off',
'prefer-arrow/prefer-arrow-functions': 'off',
'prefer-promise-reject-errors': 'error',
'brace-style': 'off',
'@typescript-eslint/brace-style': 'error',
'comma-dangle': 'error',
+3 -3
View File
@@ -22,13 +22,13 @@ runs:
- run: echo "Artifact Append"
shell: bash
- name: Download artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
with:
name: ${{ inputs.artifact-name }}
- run: ls
shell: bash
- name: Append content
uses: actions/github-script@v6
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
env:
contentFile: ${{ inputs.content }}
fileName: ${{ inputs.file-name }}
@@ -83,7 +83,7 @@ runs:
}
}
- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: ${{ inputs.artifact-name }}
path: ${{ inputs.file-name }}
+2 -2
View File
@@ -24,11 +24,11 @@ runs:
using: "composite"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- run: echo "Artifact Extract"
shell: bash
- name: Download artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
with:
name: ${{ inputs.artifact-name }}
- id: extract
@@ -19,14 +19,14 @@ runs:
using: "composite"
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Create empty artifact
shell: bash
run:
echo "${{inputs.content}}" > ${{ inputs.file-name }}
- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: ${{ inputs.artifact-name }}
path: ${{ inputs.file-name }}
+3 -2
View File
@@ -60,8 +60,9 @@ runs:
echo "Setting up CI flags for Push develop patch"
else
echo "Setting up CI flags for Push on develop branch"
base=$(git describe --tags $(git rev-list --tags --max-count=1))
echo "NX_CALCULATION_FLAGS=--base=$base --head=$HEAD_HASH" >> $GITHUB_ENV
# base=$(git describe --tags $(git rev-list --tags --max-count=1))
# we publish always all the libs until we don't handle partial release
echo "NX_CALCULATION_FLAGS=--all" >> $GITHUB_ENV
fi
echo "BREAK_ACTION=true" >> $GITHUB_ENV
+2 -2
View File
@@ -153,7 +153,7 @@ runs:
echo $PROXY_HOST_BPM
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
- name: run test
- name: run test
id: e2e_run
if: ${{ steps.determine-affected.outputs.isAffected == 'true' }}
env:
@@ -184,7 +184,7 @@ runs:
- name: upload artifacts on gh
id: upload_gh
if: ${{ steps.determine-affected.outputs.isAffected == 'true' }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: e2e-artifact-output
path: /home/runner/work/alfresco-ng2-components/alfresco-ng2-components/e2e-output-*
+3 -5
View File
@@ -20,9 +20,7 @@ runs:
id: sha_out
run: |
if [[ -z $TAG_NPM ]]; then
echo "TAG_NPM not set, aborting"
exit 1
echo "TAG_NPM not set, aborting"
exit 1
fi
ADF_VERSION=$(npm view @alfresco/adf-core@${TAG_NPM} version)
echo "check bundle on TAG_NPM='${TAG_NPM}' and ADF_VERSION='${ADF_VERSION}'"
./scripts/github/build/npm-check-bundles.sh -v ${ADF_VERSION}
./scripts/github/build/npm-check-bundles.sh
+4 -4
View File
@@ -20,18 +20,18 @@ runs:
using: "composite"
steps:
- name: install NPM
uses: actions/setup-node@v3
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version-file: '.nvmrc'
cache-dependency-path: package-lock.json
- name: get latest tag sha
id: tag-sha
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@v1.29.0
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@b88340ccab0e8f2351eb1e056235f5671cfc5aab # v5.6.0
# CACHE
- name: Node Modules cache
id: node-modules-cache
if: ${{ inputs.enable-node-modules-cache == 'true' }}
uses: actions/cache@v3
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
env:
cache-name: node-modules-cache
with:
@@ -43,7 +43,7 @@ runs:
node_modules-${{ runner.os }}-build-
node_modules-${{ runner.os }}-
- name: pip cache
uses: actions/cache@v3
uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
if: ${{ inputs.enable-cache == 'true' }}
with:
path: ~/.cache/pip
+1 -1
View File
@@ -18,7 +18,7 @@ runs:
steps:
- name: Append group
id: group
uses: actions/github-script@v6
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
env:
affectedLib: ${{ inputs.affected }}
with:
+86 -25
View File
@@ -1,31 +1,92 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
time: "07:00"
open-pull-requests-limit: 5
target-branch: develop
groups:
- label: "Angular Updates"
packages:
- package-ecosystem: npm
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
time: "07:00"
open-pull-requests-limit: 5
target-branch: develop
groups:
angular:
patterns:
- "@angular/*"
version: "widen"
- label: "Angular-devkit Updates"
packages:
angular-devkit:
patterns:
- "@angular-devkit/*"
version: "widen"
- label: "ngrx Updates"
packages:
ngrx:
patterns:
- "@ngrx/*"
version: "widen"
- label: "nrwl Updates"
packages:
nrwl:
patterns:
- "@nrwl/*"
version: "widen"
ignore:
- dependency-name: "pdfjs-dist"
- dependency-name: "@types/*"
- dependency-name: "typescript"
ignore:
- dependency-name: "pdfjs-dist"
- dependency-name: "@types/*"
- dependency-name: "typescript"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/artifact-append"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/artifact-extract"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/artifact-initialize"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/before-install"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/download-node-modules-and-artifacts"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/e2e"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/enable-dryrun"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/get-latest-tag-sha"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/npm-check-bundle"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/print-affected-libs"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/set-npm-tag"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/setup"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/setup-chrome"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/slack-group-area"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/upload-node-modules-and-artifacts"
schedule:
interval: "weekly"
+4 -4
View File
@@ -22,7 +22,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -30,7 +30,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@c0d1daa7f7e14667747d73a7dbbe8c074bc8bfe2 # v2.22.9
# Override language selection by uncommenting this and choosing your languages
with:
languages: javascript
@@ -39,7 +39,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@c0d1daa7f7e14667747d73a7dbbe8c074bc8bfe2 # v2.22.9
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -53,4 +53,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@c0d1daa7f7e14667747d73a7dbbe8c074bc8bfe2 # v2.22.9
+1 -1
View File
@@ -73,7 +73,7 @@ jobs:
runs-on: ubuntu-latest
name: Initialize artifacts
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ./.github/actions/artifact-initialize
with:
artifact-name: global-e2e-result
+2 -2
View File
@@ -96,13 +96,13 @@ jobs:
GITHUB_TOKEN: $BOT_GITHUB_TOKEN
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- id: set-dryrun
uses: ./.github/actions/enable-dryrun
with:
dry-run-flag: ${{ inputs.dry-run-flag }}
- name: install NPM
uses: actions/setup-node@v3
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
with:
node-version-file: '.nvmrc'
- name: "Release tag"
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
if: github.event.registry_package.package_type == 'npm' && github.event.registry_package.name == 'adf-core'
steps:
- name: Dispatch event to monorepo
uses: actions/github-script@v6
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ secrets.PAT_WRITE_PKG }}
retries: 3
+28 -32
View File
@@ -94,11 +94,14 @@ env:
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
jobs:
check-package-lock:
pre-checks:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Ensure SHA pinned actions
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@b1b635d24259e8a047a6ce7d6501ea432aa7a830 # v3.0.2
- name: Check package-lock.json version
run: |
@@ -113,15 +116,15 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- name: Get branch name
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@v1.36.0
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@b88340ccab0e8f2351eb1e056235f5671cfc5aab # v5.6.0
- name: Save commit message
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@v1.36.0
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@b88340ccab0e8f2351eb1e056235f5671cfc5aab # v5.6.0
- name: ci:force flag parser
shell: bash
@@ -136,7 +139,7 @@ jobs:
- name: Get PR number
if: ${{ github.event_name != 'schedule' }}
uses: kamatama41/get-pr-number-action@5c77b38a1b4974ebf8a9521a689f38a5898eadd6
uses: kamatama41/get-pr-number-action@0bcaab5752c0b699149e74667c8ce2f764cbb7fa # v0.9.1
id: action
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -193,10 +196,10 @@ jobs:
timeout-minutes: 30
name: "Setup"
runs-on: ubuntu-22.04
needs: [check-if-pr-is-approved, check-package-lock]
needs: [check-if-pr-is-approved, pre-checks]
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0 # Fetch all history for all tags and branches
- uses: ./.github/actions/setup
@@ -218,19 +221,21 @@ jobs:
# max-parallel: 4
matrix:
unit-tests:
- name: js-api
exclude: "core,insights,content-services,process-services,process-services-cloud,eslint-plugin-eslint-angular"
- name: content-services
exclude: "insights,core,extensions,process-services,process-services-cloud,eslint-plugin-eslint-angular"
exclude: "insights,core,extensions,process-services,process-services-cloud,eslint-plugin-eslint-angular,js-api"
- name: core
exclude: "insights,content-services,process-services,process-services-cloud,eslint-plugin-eslint-angular"
exclude: "insights,content-services,process-services,process-services-cloud,eslint-plugin-eslint-angular,js-api"
- name: insights
exclude: "core,extensions,content-services,process-services-cloud,process-services,eslint-plugin-eslint-angular"
exclude: "core,extensions,content-services,process-services-cloud,process-services,eslint-plugin-eslint-angular,js-api"
- name: process-services
exclude: "core,extensions,content-services,process-services-cloud,insights,eslint-plugin-eslint-angular"
exclude: "core,extensions,content-services,process-services-cloud,insights,eslint-plugin-eslint-angular,js-api"
- name: process-cloud
exclude: "insights,core,extensions,content-services,process-services,eslint-plugin-eslint-angular"
exclude: "insights,core,extensions,content-services,process-services,eslint-plugin-eslint-angular,js-api"
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0 # Fetch all history for all tags and branches
- uses: ./.github/actions/setup
@@ -247,7 +252,7 @@ jobs:
needs: [setup]
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0 # Fetch all history for all tags and branches
- uses: ./.github/actions/setup
@@ -262,7 +267,7 @@ jobs:
needs: [setup]
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0 # Fetch all history for all tags and branches
- uses: ./.github/actions/setup
@@ -279,7 +284,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0 # Fetch all history for all
- uses: ./.github/actions/setup
@@ -392,15 +397,6 @@ jobs:
check-cs-env: "true"
check-ps-cloud-env: "true"
deps: "testing"
- description: "Process Cloud: People"
test-id: "process-services-cloud"
folder: "process-services-cloud/people"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
deps: "testing"
- description: "Process Cloud: Process"
test-id: "process-services-cloud"
folder: "process-services-cloud/process"
@@ -431,7 +427,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0 # Fetch all history for all
- uses: ./.github/actions/setup
@@ -461,12 +457,12 @@ jobs:
steps:
- id: checkoutRepo
name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 1
- name: PR contains forbidden labels
id: pr-forbidden
uses: actions/github-script@v6
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const issueHasLabels = require('./scripts/github/update/check-issue-has-label.js');
@@ -486,9 +482,9 @@ jobs:
if: ${{ always() }}
runs-on: ubuntu-latest
name: Final Results
needs: [check-if-pr-is-approved, check-package-lock, setup, unit-tests, lint, build-libs, e2e, e2e-storybook]
needs: [check-if-pr-is-approved, pre-checks, setup, unit-tests, lint, build-libs, e2e, e2e-storybook]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Log e2e result
id: e2e-result
if: ${{ github.event_name == 'schedule' }}
@@ -502,7 +498,7 @@ jobs:
uses: ./.github/actions/slack-group-area
with:
affected: ${{ steps.e2e-result.outputs.result }}
- uses: slackapi/slack-github-action@v1.23.0
- uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 # v1.24.0
name: Nofify QA failure
if: ${{ github.event_name == 'schedule' && contains(needs.*.result, 'failure') }}
env:
+2 -2
View File
@@ -9,10 +9,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.8
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+6 -6
View File
@@ -87,7 +87,7 @@ jobs:
echo "Set TAG with name: ${TAG_NPM}"
echo "TAG_NPM=${TAG_NPM}" >> $GITHUB_ENV
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
@@ -110,7 +110,7 @@ jobs:
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
@@ -125,10 +125,10 @@ jobs:
- name: build libraries
run: |
set -u;
./scripts/update-version.sh -gnu -nextalpha|| exit 1;
./scripts/update-version.sh -gnu || exit 1;
npx nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
npx nx affected $NX_CALCULATION_FLAGS --target=pretheme
- uses: actions/setup-node@v3
- uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
name: release libraries GH registry
with:
node-version-file: '.nvmrc'
@@ -137,7 +137,7 @@ jobs:
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=branch|| exit 1
env:
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
- uses: actions/setup-node@v3
- uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
name: release libraries Npm registry
with:
node-version-file: '.nvmrc'
@@ -153,5 +153,5 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ./.github/actions/npm-check-bundle
+11 -11
View File
@@ -88,7 +88,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
@@ -109,7 +109,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 1
- run: git fetch --all
@@ -135,7 +135,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 1
- run: git fetch --all
@@ -165,7 +165,7 @@ jobs:
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- uses: ./.github/actions/setup
@@ -183,7 +183,7 @@ jobs:
./scripts/github/build/bumpversion.sh
npx nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
npx nx affected $NX_CALCULATION_FLAGS --target=pretheme
- uses: actions/setup-node@v3
- uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
name: release libraries GH registry
with:
node-version-file: '.nvmrc'
@@ -192,7 +192,7 @@ jobs:
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
env:
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
- uses: actions/setup-node@v3
- uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0
name: release libraries Npm registry
with:
node-version-file: '.nvmrc'
@@ -209,7 +209,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ./.github/actions/npm-check-bundle
finalize:
@@ -219,11 +219,11 @@ jobs:
needs: [release-demoshell, release-storybook, release-npm, npm-check-bundle]
steps:
- uses: slackapi/slack-github-action@v1.23.0
name: Nofify FE hxp-front-end-apps workflow failed
- uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 # v1.24.0
name: Nofify FE eng-guild-front-end workflow failed
if: ${{ contains(toJson(needs.*.result), 'failure') }}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
with:
channel-id: 'C04N93XU491' #hxp-front-end-apps
slack-message: "🔴 Warning: The release workflow of alfresco-ng2-components pipe failed\n Author: name:${{ github.event.pusher.name }}\n Workflow run : <https://github.com/Alfresco/alfresco-ng2-components/actions/runs/${{ github.run_id }}| here>\n>"
channel-id: 'C016SMNNL8L' #eng-guild-front-end
slack-message: "🔴 Warning: The release workflow of alfresco-ng2-components pipe failed\n Author: name:${{ github.event.pusher.name }} username:${{ github.event.pusher.username }}\n Workflow run : <https://github.com/Alfresco/alfresco-ng2-components/actions/runs/${{ github.run_id }}| here>\n>"
-214
View File
@@ -1,214 +0,0 @@
name: Upstream js
on:
schedule:
- cron: '0 */3 * * *' # “At minute 0 past every 3rd hour.”
workflow_dispatch:
inputs:
tag_version:
description: image tag
type: choice
required: true
options:
- alpha
- latest
default: alpha
jobs:
upstream:
runs-on: ubuntu-latest
outputs:
hasAtLeastOneNewVersion: ${{ steps.fetchLatestPkg.outputs.hasAtLeastOneNewVersion }}
hasNewVersionAvailableJS: ${{ steps.fetchLatestPkg.outputs.hasVersionNewJS }}
latestVersionAvailableJS: ${{ steps.fetchLatestPkg.outputs.latestVersionJS }}
hasAtLeastOneNewVersionWithoutPR: ${{ steps.checkPrAlreadyExist.outputs.hasAtLeastOneNewVersionWithoutPR }}
steps:
- id: checkoutRepo
name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 1
- id: fetchLatestPkg
name: Fetch the latest package version
uses: actions/github-script@v6
env:
TAG_VERSION: ${{ inputs.tag_version }}
with:
github-token: ${{ secrets.PAT_WRITE_PKG }}
script: |
const tagVersion = process.env.TAG_VERSION;
console.log('tagVersion:',tagVersion);
const getLatestVersionOf = require('./scripts/github/update/latest-version-of.js');
const { hasVersionNew: hasVersionNewJS, latestVersion: latestVersionJS } = await getLatestVersionOf({github, context, dependencyName: 'js-api', tagVersion});
console.log('hasVersionNewJS', hasVersionNewJS)
console.log('latestVersionJS', latestVersionJS)
if (hasVersionNewJS === 'true' ) {
core.setOutput('hasAtLeastOneNewVersion', 'true');
core.setOutput('hasVersionNewJS', 'true');
core.setOutput('latestVersionJS', latestVersionJS);
} else {
core.setOutput('hasAtLeastOneNewVersion', 'false');
console.log('No new version available, skipping upstream!')
}
- name: Check value after
run: |
echo "The value hasAtLeastOneNewVersion is: ${{ steps.fetchLatestPkg.outputs.hasAtLeastOneNewVersion }}"
echo "The value hasVersionNewJS is: ${{ steps.fetchLatestPkg.outputs.hasVersionNewJS }}"
echo "The value latestVersionJS is: ${{ steps.fetchLatestPkg.outputs.latestVersionJS }}"
- id: checkPrAlreadyExist
name: Check PR with latest already exist
if: ${{ steps.fetchLatestPkg.outputs.hasAtLeastOneNewVersion == 'true' }}
uses: actions/github-script@v6
env:
HAS_NEW_JS_VERSION: ${{ steps.fetchLatestPkg.outputs.hasVersionNewJS }}
LATEST_JS_VERSION: ${{ steps.fetchLatestPkg.outputs.latestVersionJS }}
with:
github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
script: |
const hasVersionNewJS = process.env.HAS_NEW_JS_VERSION;
const latestVersionJS = process.env.LATEST_JS_VERSION;
const checkPRAlreadyExist = require('./scripts/github/update/check-pr-already-exist.js');
let isPRWithLatestJSAlreadyAvailable = false;
if (hasVersionNewJS === 'true') {
isPRWithLatestJSAlreadyAvailable = await checkPRAlreadyExist({github, context, version: latestVersionJS});
console.log('isPRWithLatestJSAlreadyAvailable', isPRWithLatestJSAlreadyAvailable);
}
if (isPRWithLatestJSAlreadyAvailable) {
console.log('Warning: Upstream PR already exist, stop the migration execution!');
core.setOutput('hasAtLeastOneNewVersionWithoutPR', 'false');
} else {
core.setOutput('hasAtLeastOneNewVersionWithoutPR', 'true');
}
migrate:
if: ${{ needs.upstream.outputs.hasAtLeastOneNewVersionWithoutPR == 'true' }}
runs-on: ubuntu-latest
needs: upstream
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ secrets.BOT_GITHUB_TOKEN }}
fetch-depth: 1
- name: setup NPM
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache-dependency-path: package-lock.json
- name: "General :: dbpci-install"
run: |
npm ci --ignore-scripts
- name: Migration
shell: bash
env:
IS_JS_AFFECTED: ${{ needs.upstream.outputs.hasNewVersionAvailableJS }}
PACKAGE_VERSION_JS: ${{ needs.upstream.outputs.latestVersionAvailableJS }}
BRANCH_TO_CREATE: "upstream-dependencies"
run: |
migrateDependenciesJS() {
echo "Update JS dependencies to: ${PACKAGE_VERSION_JS}"
echo "Calling migration JS"
npx nx migrate @alfresco/js-api@${PACKAGE_VERSION_JS}
echo "Migration JS done"
}
migrateLibDependenciesJS() {
eval projects=( "cli"
"core"
"content-services"
"process-services"
"process-services-cloud"
"insights"
"testing"
"extensions" )
projectslength=${#projects[@]}
for (( i=0; i<${projectslength}; i++ ));
do
echo "Update JS dependencies in adf-${projects[$i]} to: ${PACKAGE_VERSION_JS}"
DESTDIR="lib/${projects[$i]}"
sed -i "${sedi[@]}" "s/\"@alfresco\/js-api\": \".*\"/\"@alfresco\/js-api\": \">=${PACKAGE_VERSION_JS}\"/g" ${DESTDIR}/package.json
done
}
regeneratePackageLock() {
echo "Regenerate lock"
npm i --package-lock-only
echo "Package-lock done."
}
if git checkout ${BRANCH_TO_CREATE} 2>/dev/null ; then
git reset --hard origin/develop
echo "Reset branch"
fi
if [[ "$IS_JS_AFFECTED" == "true" ]]; then
migrateDependenciesJS
migrateLibDependenciesJS
fi
regeneratePackageLock
- name: Commit Code
if: ${{ needs.upstream.outputs.hasAtLeastOneNewVersion == 'true' }}
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "[ci:force][auto-commit] Update dependencies JS:${{ needs.upstream.outputs.latestVersionAvailableJS }}"
branch: upstream-dependencies
push_options: '--force'
create_branch: true
- name: Create a Pull request
uses: actions/github-script@v6
env:
PACKAGE_VERSION_JS: ${{ needs.upstream.outputs.latestVersionAvailableJS }}
with:
github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
script: |
const { PACKAGE_VERSION_JS } = process.env
const BRANCH_TO_CREATE = 'upstream-dependencies';
const { data: prs } = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
head: `${context.repo.owner}:${BRANCH_TO_CREATE}`,
base: 'develop'
});
if (prs.length < 1) {
const payloadPullRequest = {
owner: context.repo.owner,
repo: context.repo.repo,
title: `GH Auto: Upstream dependencies JS-API:${PACKAGE_VERSION_JS}`,
head: `${context.repo.owner}:${BRANCH_TO_CREATE}`,
base: 'develop',
body: `Automatic PR`
};
console.log('Payload: ',payloadPullRequest);
const { data: pr } = await github.rest.pulls.create(payloadPullRequest);
return pr.number;
} else {
const upstreamPrOpen = prs[0];
// override the title to contains the latest js dep number
const payloadUpdatePullRequest = {
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: upstreamPrOpen.number,
title: `GH Auto: Upstream dependencies JS-API:${PACKAGE_VERSION_JS}`,
};
await github.rest.pulls.update(payloadUpdatePullRequest);
return upstreamPrOpen.number;
}
console.log(`Trigger a dispatch event for the monorepo`);
+1 -1
View File
@@ -1 +1 @@
18
18.18.2
+1 -1
View File
@@ -10,7 +10,7 @@
"name": "e2e",
"program": "${workspaceFolder}/node_modules/protractor/bin/protractor",
"args": [
"`${workspaceFolder}/.vscode/closest-config-finder.sh ${file} e2e/protractor.conf.js`",
"./e2e/protractor.conf.js",
"--specs=${file}"
],
"envFile": "${workspaceFolder}/.env",
+156 -31
View File
@@ -29,7 +29,7 @@
"polyfills": "demo-shell/src/polyfills.ts",
"stylePreprocessorOptions": {
"includePaths": [
"lib"
"lib", "lib/core/src/lib"
]
},
"assets": [
@@ -108,7 +108,6 @@
}
],
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
@@ -117,8 +116,7 @@
"scripts": [
"node_modules/pdfjs-dist/build/pdf.js",
"node_modules/pdfjs-dist/web/pdf_viewer.js",
"node_modules/raphael/raphael.min.js",
"node_modules/moment/min/moment.min.js"
"node_modules/raphael/raphael.min.js"
],
"vendorChunk": true,
"extractLicenses": false,
@@ -240,6 +238,52 @@
}
}
},
"js-api": {
"projectType": "library",
"root": "lib/js-api/src",
"sourceRoot": "lib/js-api/src",
"architect": {
"build": {
"builder": "nx:run-commands",
"options": {
"command": "npm run js_api_build"
},
"configurations": {
"production": {}
},
"defaultConfiguration": "production"
},
"test": {
"executor": "nx:run-commands",
"options": {
"commands": ["TS_NODE_PROJECT=lib/js-api/test/tsconfig.json mocha --full-trace --config lib/js-api/.mocharc.json"]
}
},
"lint": {
"builder": "@nrwl/linter:eslint",
"options": {
"lintFilePatterns": [
"lib/js-api/**/*.ts"
]
}
},
"npm-publish": {
"executor": "nx:run-commands",
"dependsOn": [
"build"
],
"options": {
"cwd": "dist/libs/js-api",
"commands": [
{
"command": "npm publish --tag {args.tag}",
"forwardAllArgs": true
}
]
}
}
}
},
"core": {
"projectType": "library",
"root": "lib/core",
@@ -272,6 +316,11 @@
"karmaConfig": "lib/core/karma.conf.js",
"sourceMap": true,
"codeCoverage": true,
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
},
"styles": [
"demo-shell/src/styles.scss"
]
@@ -302,12 +351,16 @@
"configDir": "lib/core/.storybook",
"compodoc": false,
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
"node_modules/pdfjs-dist/web/pdf_viewer.css"
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"ci": {
@@ -323,12 +376,16 @@
"outputDir": "dist/storybook/core",
"compodoc": false,
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
"node_modules/pdfjs-dist/web/pdf_viewer.css"
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"ci": {
@@ -378,7 +435,12 @@
"command": "npm publish --tag {args.tag}",
"forwardAllArgs": true
}
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
}
}
}
@@ -410,7 +472,12 @@
"tsConfig": "lib/content-services/tsconfig.spec.json",
"karmaConfig": "lib/content-services/karma.conf.js",
"sourceMap": true,
"codeCoverage": true
"codeCoverage": true,
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
}
},
"lint": {
@@ -430,12 +497,16 @@
"configDir": "lib/content-services/.storybook",
"compodoc": false,
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
"node_modules/pdfjs-dist/web/pdf_viewer.css"
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"ci": {
@@ -451,12 +522,16 @@
"outputDir": "dist/storybook/content-services",
"compodoc": false,
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
"node_modules/pdfjs-dist/web/pdf_viewer.css"
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"ci": {
@@ -518,7 +593,12 @@
"tsConfig": "lib/process-services/tsconfig.spec.json",
"karmaConfig": "lib/process-services/karma.conf.js",
"sourceMap": true,
"codeCoverage": true
"codeCoverage": true,
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
}
},
"lint": {
@@ -584,7 +664,12 @@
"tsConfig": "lib/process-services-cloud/tsconfig.spec.json",
"karmaConfig": "lib/process-services-cloud/karma.conf.js",
"sourceMap": true,
"codeCoverage": true
"codeCoverage": true,
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
}
},
"lint": {
@@ -604,12 +689,16 @@
"configDir": "lib/process-services-cloud/.storybook",
"compodoc": false,
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
"node_modules/pdfjs-dist/web/pdf_viewer.css"
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"ci": {
@@ -625,12 +714,16 @@
"outputDir": "dist/storybook/process-services-cloud",
"compodoc": false,
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
"node_modules/pdfjs-dist/web/pdf_viewer.css"
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"ci": {
@@ -703,7 +796,12 @@
"tsConfig": "lib/insights/tsconfig.spec.json",
"karmaConfig": "lib/insights/karma.conf.js",
"sourceMap": true,
"codeCoverage": true
"codeCoverage": true,
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
}
},
"lint": {
@@ -768,7 +866,12 @@
"tsConfig": "lib/extensions/tsconfig.spec.json",
"karmaConfig": "lib/extensions/karma.conf.js",
"sourceMap": true,
"codeCoverage": true
"codeCoverage": true,
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
}
},
"lint": {
@@ -816,7 +919,12 @@
"entryName": "shared",
"entryPath": "/lib/testing/src/lib/shared/index.ts"
}
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"production": {
@@ -897,7 +1005,12 @@
"outputPath": "dist/libs/eslint-plugin-eslint-angular",
"main": "lib/eslint-angular/index.ts",
"generatePackageJson" : true,
"tsConfig": "lib/eslint-angular/tsconfig.lib.prod.json"
"tsConfig": "lib/eslint-angular/tsconfig.lib.prod.json",
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"production": {
@@ -952,11 +1065,15 @@
"prefix": "adf",
"architect": {
"build": {
"builder": "@nrwl/workspace:run-commands",
"builder": "nx:run-commands",
"options": {
"commands": [
"cd lib/cli && npm i && npm run dist"
]
"command": "cd lib/cli && npm run dist",
"stylePreprocessorOptions": {
"includePaths": [
"lib",
"lib/core/src/lib"
]
}
},
"configurations": {
"production": {
@@ -1032,8 +1149,12 @@
"browserTarget": "stories:storybook",
"configDir": "lib/stories/.storybook",
"compodoc": false,
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
},
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
@@ -1054,12 +1175,16 @@
"outputDir": "dist/storybook/stories",
"compodoc": false,
"styles": [
"demo-shell/src/assets/fonts/muli/muli.css",
"demo-shell/src/styles.scss",
"demo-shell/src/custom-style-dev.scss",
"node_modules/cropperjs/dist/cropper.min.css",
"node_modules/pdfjs-dist/web/pdf_viewer.css"
]
],
"stylePreprocessorOptions": {
"includePaths": [
"lib", "lib/core/src/lib"
]
}
},
"configurations": {
"ci": {
+3 -2
View File
@@ -1,5 +1,5 @@
{
"version": "0.1",
"version": "0.2",
"language": "en",
"words": [
"activiti",
@@ -141,7 +141,8 @@
"webscript",
"Whitespaces",
"xdescribe",
"xsrf"
"xsrf",
"BPMECM"
],
"dictionaries": [
"html",
+1 -1
View File
@@ -25,7 +25,7 @@ const fs = require("fs");
const os = require("os");
const cp = require("child_process");
const isWindows = os.platform() === "win32";
const { output } = require("@nrwl/workspace");
const output = require('nx/src/utils/output').output;
/**
* Paths to files being patched
-9
View File
@@ -1,9 +0,0 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"module": "commonjs",
"target": "es5",
"types": ["jasmine", "jasminewd2", "node"]
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "Alfresco-ADF-Angular-Demo",
"description": "Demo shell for Alfresco Angular components",
"version": "6.3.0",
"version": "6.5.2",
"author": "Hyland Software, Inc. and its affiliates",
"repository": {
"type": "git",
+9 -19
View File
@@ -1,5 +1,5 @@
{
"$schema": "../../lib/core/src/lib/app-config/schema.json",
"$schema": "../../lib/core/src/lib/app-config/app.config.schema.json",
"ecmHost": "{protocol}//{hostname}{:port}",
"bpmHost": "{protocol}//{hostname}{:port}",
"identityHost": "{protocol}//{hostname}{:port}/auth/admin/realms/alfresco",
@@ -20,7 +20,8 @@
"clientId": "alfresco",
"scope": "openid profile email",
"secret": "",
"implicitFlow": true,
"implicitFlow": false,
"codeFlow": true,
"silentLogin": true,
"redirectSilentIframeUri": "{protocol}//{hostname}{:port}/assets/silent-refresh.html",
"redirectUri": "/",
@@ -309,25 +310,12 @@
}
}
},
{
"id": "createdDateRange",
"name": "Created Date (range)",
"enabled": true,
"component": {
"selector": "date-range",
"settings": {
"field": "cm:created",
"dateFormat": "DD-MMM-YY",
"maxDate": "today"
}
}
},
{
"id": "createdModifiedDateRange",
"name": "Date",
"enabled": true,
"component": {
"selector": "date-range-advanced",
"selector": "date-range",
"settings": {
"dateFormat": "dd-MMM-yy",
"maxDate": "today",
@@ -745,15 +733,17 @@
{
"id": "createdDateRange",
"name": "SEARCH.SEARCH_HEADER.FILTERS.DATE.TITLE",
"columnKey": "createdAt",
"enabled": true,
"component": {
"selector": "date-range",
"settings": {
"allowUpdateOnChange": false,
"dateFormat": "dd-MMM-yy",
"maxDate": "today",
"field": "cm:created",
"dateFormat": "DD-MMM-YY",
"maxDate": "today"
"displayedLabelsByField": {
"cm:created": "Created Date"
}
}
}
}
-4
View File
@@ -11,7 +11,3 @@ router-outlet[name='overlay'] + * {
height: 100%;
width: 100%;
}
[dir='rtl'] .mat-icon {
transform: scale(-1, 1);
}
+3 -3
View File
@@ -18,11 +18,11 @@
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import {
AuthenticationService,
AlfrescoApiService,
PageTitleService
} from '@alfresco/adf-core';
import { Router } from '@angular/router';
import { MatDialog } from '@angular/material/dialog';
import { AdfHttpClient } from '@alfresco/adf-core/api';
@Component({
selector: 'app-root',
@@ -33,7 +33,7 @@ import { MatDialog } from '@angular/material/dialog';
export class AppComponent implements OnInit {
constructor(private pageTitleService: PageTitleService,
private alfrescoApiService: AlfrescoApiService,
private adfHttpClient: AdfHttpClient,
private authenticationService: AuthenticationService,
private router: Router,
private dialogRef: MatDialog) {
@@ -43,7 +43,7 @@ export class AppComponent implements OnInit {
ngOnInit() {
this.pageTitleService.setTitle('title');
this.alfrescoApiService.getInstance().on('error', (error) => {
this.adfHttpClient.on('error', (error) => {
if (error.status === 401) {
if (!this.authenticationService.isLoggedIn()) {
this.dialogRef.closeAll();
+2 -15
View File
@@ -22,20 +22,12 @@ import { NgChartsModule } from 'ng2-charts';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
import { TranslateModule } from '@ngx-translate/core';
import {
AppConfigService,
DebugAppConfigService,
CoreModule,
CoreAutomationService,
AuthModule,
provideTranslations
} from '@alfresco/adf-core';
import { AppConfigService, DebugAppConfigService, CoreModule, CoreAutomationService, AuthModule, provideTranslations } from '@alfresco/adf-core';
import { ExtensionsModule } from '@alfresco/adf-extensions';
import { AppComponent } from './app.component';
import { MaterialModule } from './material.module';
import { LogoutComponent } from './components/logout/logout.component';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { HomeComponent } from './components/home/home.component';
import { SearchBarComponent } from './components/search/search-bar.component';
import { SearchResultComponent } from './components/search/search-result.component';
import { FormComponent } from './components/form/form.component';
@@ -46,7 +38,6 @@ import { FormNodeViewerComponent } from './components/process-service/form-node-
import { AppsViewComponent } from './components/process-service/apps-view.component';
import { FilesComponent } from './components/files/files.component';
import { VersionManagerDialogAdapterComponent } from './components/files/version-manager-dialog-adapter.component';
import { MetadataDialogAdapterComponent } from './components/files/metadata-dialog-adapter.component';
import { appRoutes } from './app.routes';
import { TaskAttachmentsComponent } from './components/process-service/task-attachments.component';
import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component';
@@ -55,7 +46,6 @@ import { MonacoEditorModule } from 'ngx-monaco-editor-v2';
import { ContentModule } from '@alfresco/adf-content-services';
import { InsightsModule } from '@alfresco/adf-insights';
import { ProcessModule } from '@alfresco/adf-process-services';
import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component';
import { CloudLayoutComponent } from './components/cloud/cloud-layout.component';
import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component';
import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component';
@@ -84,7 +74,7 @@ import { UserInfoComponent } from './components/app-layout/user-info/user-info.c
environment.e2e ? NoopAnimationsModule : BrowserAnimationsModule,
ReactiveFormsModule,
RouterModule.forRoot(appRoutes, { useHash: true, relativeLinkResolution: 'legacy' }),
...(environment.oidc ? [AuthModule.forRoot({ useHash: true })] : []),
AuthModule.forRoot({ useHash: true }),
FormsModule,
HttpClientModule,
MaterialModule,
@@ -104,7 +94,6 @@ import { UserInfoComponent } from './components/app-layout/user-info/user-info.c
LogoutComponent,
AppLayoutComponent,
UserInfoComponent,
HomeComponent,
SearchBarComponent,
SearchResultComponent,
ProcessServiceComponent,
@@ -115,12 +104,10 @@ import { UserInfoComponent } from './components/app-layout/user-info/user-info.c
FilesComponent,
FormComponent,
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent,
TaskAttachmentsComponent,
ProcessAttachmentsComponent,
DemoPermissionComponent,
DemoErrorComponent,
TreeViewSampleComponent,
CloudLayoutComponent,
AppsCloudDemoComponent,
TasksCloudDemoComponent,
-6
View File
@@ -30,7 +30,6 @@ import { FilesComponent } from './components/files/files.component';
import { FormComponent } from './components/form/form.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { AppComponent } from './app.component';
import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component';
import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component';
import { CloudLayoutComponent } from './components/cloud/cloud-layout.component';
import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component';
@@ -245,11 +244,6 @@ export const appRoutes: Routes = [
component: DemoPermissionComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'treeview',
component: TreeViewSampleComponent,
canActivate: [AuthGuardEcm]
},
{ path: 'form-cloud', component: FormCloudDemoComponent },
{ path: 'form', component: FormComponent },
{
@@ -23,13 +23,13 @@
</adf-sidenav-layout-header>
<adf-sidenav-layout-navigation>
<ng-template let-isMenuMinimized="isMenuMinimized">
<ng-template>
<mat-nav-list class="app-sidenav-linklist">
<ng-container *ngFor="let link of links">
<ng-container *ngIf="link.children">
<mat-list-item (click)="trigger.openMenu()" [attr.data-automation-id]="link.title | translate" class="app-sidenav-link">
<mat-icon matListIcon>{{link.icon}}</mat-icon>
<span matLine *ngIf="!isMenuMinimized()">{{link.title | translate }}</span>
<span matLine>{{ link.title | translate }}</span>
<mat-icon class="app-sidenav-link__expand-button" [matMenuTriggerData]="{links: link.children}"
rippleTrigger mat-icon-button #trigger="matMenuTrigger"
[matMenuTriggerFor]="nestedMenu">arrow_right</mat-icon>
@@ -41,14 +41,14 @@
routerLinkActive="app-sidenav-link--active" [routerLinkActiveOptions]="{ exact: true }"
[attr.data-automation-id]="link.title | translate" class="app-sidenav-link">
<mat-icon matListIcon >{{link.icon}}</mat-icon>
<span matLine *ngIf="!isMenuMinimized()">{{link.title | translate }}</span>
<span matLine>{{link.title | translate }}</span>
</mat-list-item>
</ng-container>
</ng-container>
<mat-list-item adf-logout [enableRedirect]="enableRedirect" redirectUri="/logout" class="app-sidenav-link" data-automation-id="Logout" >
<mat-icon matListIcon>exit_to_app</mat-icon>
<span matLine *ngIf="!isMenuMinimized()">Logout</span>
<span matLine>Logout</span>
</mat-list-item>
</mat-nav-list>
@@ -1,7 +1,3 @@
adf-file-uploading-dialog {
z-index: 1100;
}
.app-layout {
display: flex;
flex: 1;
@@ -12,25 +8,7 @@ adf-file-uploading-dialog {
color: var(--theme-primary-color);
}
.app-sidenav-link {
.mat-list-text {
font-size: 14px;
white-space: nowrap;
min-width: 120px;
padding: 0 10px;
}
}
&-menu-spacer {
flex: 1 1 auto;
}
}
mat-sidenav-content > div {
display: flex;
height: 100%;
> div {
flex: auto;
}
}
@@ -42,8 +42,7 @@ export class AppLayoutComponent {
{ href: '/form', icon: 'poll', title: 'Form' }
]},
{ href: '/login', icon: 'vpn_key', title: 'Login' },
{ href: '/settings-layout', icon: 'settings', title: 'Settings' },
{ href: '/treeview', icon: 'nature', title: 'Tree View' }
{ href: '/settings-layout', icon: 'settings', title: 'Settings' }
];
enableRedirect = true;
@@ -17,7 +17,13 @@
import { EcmUserModel, PeopleContentService } from '@alfresco/adf-content-services';
import { BpmUserModel, PeopleProcessService } from '@alfresco/adf-process-services';
import { AuthenticationService, IdentityUserModel, IdentityUserService, UserInfoMode } from '@alfresco/adf-core';
import {
AuthenticationService,
BasicAlfrescoAuthService,
IdentityUserModel,
IdentityUserService,
UserInfoMode
} from '@alfresco/adf-core';
import { Component, OnInit, Input } from '@angular/core';
import { MenuPositionX, MenuPositionY } from '@angular/material/menu';
import { Observable, of } from 'rxjs';
@@ -46,6 +52,7 @@ export class UserInfoComponent implements OnInit {
constructor(private peopleContentService: PeopleContentService,
private peopleProcessService: PeopleProcessService,
private identityUserService: IdentityUserService,
private basicAlfrescoAuthService: BasicAlfrescoAuthService,
private authService: AuthenticationService) {
}
@@ -77,7 +84,7 @@ export class UserInfoComponent implements OnInit {
}
get isLoggedIn(): boolean {
if (this.authService.isKerberosEnabled()) {
if (this.basicAlfrescoAuthService.isKerberosEnabled()) {
return true;
}
return this.authService.isLoggedIn();
@@ -96,15 +103,15 @@ export class UserInfoComponent implements OnInit {
}
private isAllLoggedIn() {
return (this.authService.isEcmLoggedIn() && this.authService.isBpmLoggedIn()) || (this.authService.isALLProvider() && this.authService.isKerberosEnabled());
return (this.authService.isEcmLoggedIn() && this.authService.isBpmLoggedIn()) || (this.authService.isALLProvider() && this.basicAlfrescoAuthService.isKerberosEnabled());
}
private isBpmLoggedIn() {
return this.authService.isBpmLoggedIn() || (this.authService.isECMProvider() && this.authService.isKerberosEnabled());
return this.authService.isBpmLoggedIn() || (this.authService.isECMProvider() && this.basicAlfrescoAuthService.isKerberosEnabled());
}
private isEcmLoggedIn() {
return this.authService.isEcmLoggedIn() || (this.authService.isECMProvider() && this.authService.isKerberosEnabled());
return this.authService.isEcmLoggedIn() || (this.authService.isECMProvider() && this.basicAlfrescoAuthService.isKerberosEnabled());
}
}
@@ -1,17 +1,15 @@
<div class="app-main-content">
<h1>CardView Component</h1>
<mat-card class="app-card-view">
<adf-card-view
[properties]="properties"
[editable]="isEditable"
[displayClearAction]="showClearDateAction"
[displayNoneOption]="showNoneOption"
[displayLabelForChips]="showLabelForChips">
</adf-card-view>
</mat-card>
<adf-card-view
[properties]="properties"
[editable]="isEditable"
[displayClearAction]="showClearDateAction"
[displayNoneOption]="showNoneOption"
[displayLabelForChips]="showLabelForChips">
</adf-card-view>
<div class="app-console" #console>
<div class="app-console">
<h3>Changes log:</h3>
<p *ngFor="let log of logs">{{ log }}</p>
</div>
@@ -2,7 +2,7 @@
padding: 0 15px;
}
.app-card-view {
adf-card-view {
width: 30%;
display: inline-block;
}
@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Component, OnInit, ElementRef, ViewChild, OnDestroy } from '@angular/core';
import { Component, OnInit, OnDestroy } from '@angular/core';
import {
CardViewTextItemModel,
CardViewDateItemModel,
@@ -39,9 +39,6 @@ import { takeUntil } from 'rxjs/operators';
styleUrls: ['./card-view.component.scss']
})
export class CardViewComponent implements OnInit, OnDestroy {
@ViewChild('console', { static: true }) console: ElementRef;
isEditable = true;
properties: any;
logs: string[];
@@ -51,8 +48,7 @@ export class CardViewComponent implements OnInit, OnDestroy {
private onDestroy$ = new Subject<boolean>();
constructor(private cardViewUpdateService: CardViewUpdateService,
private decimalNumberPipe: DecimalNumberPipe) {
constructor(private cardViewUpdateService: CardViewUpdateService, private decimalNumberPipe: DecimalNumberPipe) {
this.logs = [];
this.createCard();
}
@@ -62,9 +58,7 @@ export class CardViewComponent implements OnInit, OnDestroy {
}
ngOnInit() {
this.cardViewUpdateService.itemUpdated$
.pipe(takeUntil(this.onDestroy$))
.subscribe(this.onItemChange.bind(this));
this.cardViewUpdateService.itemUpdated$.pipe(takeUntil(this.onDestroy$)).subscribe(this.onItemChange.bind(this));
}
ngOnDestroy() {
@@ -192,20 +186,29 @@ export class CardViewComponent implements OnInit, OnDestroy {
}),
new CardViewKeyValuePairsItemModel({
label: 'CardView Key-Value Pairs Item',
value: [{ name: 'hey', value: 'you' }, { name: 'hey', value: 'you' }],
value: [
{ name: 'hey', value: 'you' },
{ name: 'hey', value: 'you' }
],
key: 'key-value-pairs',
editable: this.isEditable
}),
new CardViewKeyValuePairsItemModel({
label: 'CardView Key-Value Pairs Item',
value: [{ name: 'hey', value: 'you' }, { name: 'hey', value: 'you' }],
value: [
{ name: 'hey', value: 'you' },
{ name: 'hey', value: 'you' }
],
key: 'key-value-pairs',
editable: false
}),
new CardViewSelectItemModel({
label: 'CardView Select Item',
value: 'one',
options$: of([{ key: 'one', label: 'One' }, { key: 'two', label: 'Two' }]),
options$: of([
{ key: 'one', label: 'One' },
{ key: 'two', label: 'Two' }
]),
key: 'select',
editable: this.isEditable
}),
@@ -253,7 +256,6 @@ export class CardViewComponent implements OnInit, OnDestroy {
}
this.logs.push(`[${notification.target.label}] - ${value}`);
this.console.nativeElement.scrollTop = this.console.nativeElement.scrollHeight;
}
toggleEditable() {
@@ -16,7 +16,8 @@
<mat-slide-toggle [checked]="processDetailsRedirection" (change)="toggleProcessDetailsRedirection()" data-automation-id="processDetailsRedirection">
Display process details on process click
</mat-slide-toggle>
<mat-form-field data-automation-id="selectionMode">
<mat-form-field data-automation-id="selectionMode" class="adf-cloud-settings-selection-mode">
<mat-label>Selection Mode</mat-label>
<mat-select [(ngModel)]="selectionMode" (selectionChange)="onSelectionModeChange()">
<mat-option *ngFor="let option of selectionModeOptions" [value]="option.value">
@@ -24,32 +25,29 @@
</mat-option>
</mat-select>
</mat-form-field>
<mat-card *ngIf="actionMenu || contextMenu">
<mat-card-header>
<mat-card-title>Add Action</mat-card-title>
</mat-card-header>
<mat-card-content>
<form class="app-cloud-settings-form" [formGroup]="actionMenuForm">
<mat-form-field>
<input matInput formControlName="key" placeholder="Key">
</mat-form-field>
<mat-form-field>
<input matInput formControlName="title" placeholder="Title">
</mat-form-field>
<mat-form-field>
<input matInput formControlName="icon" placeholder="Icon">
</mat-form-field>
<mat-checkbox formControlName="visible">Visible</mat-checkbox>
<mat-checkbox formControlName="disabled">Disable</mat-checkbox>
<button mat-raised-button (click)="addAction()">Add</button>
</form>
<div *ngIf="actions.length > 0">
<mat-chip-list>
<mat-chip *ngFor="let action of actions" [removable]="true">
{{action.title}}
<mat-icon matChipRemove (click)="removeAction(action)">cancel</mat-icon>
</mat-chip>
</mat-chip-list>
</div>
</mat-card-content>
</mat-card>
<div class="app-cloud-actions" *ngIf="actionMenu || contextMenu">
<h2>Add Action</h2>
<form class="app-cloud-settings-form" [formGroup]="actionMenuForm">
<mat-form-field class="app-cloud-settings-form-input">
<input matInput formControlName="key" placeholder="Key">
</mat-form-field>
<mat-form-field class="app-cloud-settings-form-input">
<input matInput formControlName="title" placeholder="Title">
</mat-form-field>
<mat-form-field class="app-cloud-settings-form-input">
<input matInput formControlName="icon" placeholder="Icon">
</mat-form-field>
<mat-checkbox formControlName="visible">Visible</mat-checkbox>
<mat-checkbox formControlName="disabled">Disable</mat-checkbox>
<button mat-raised-button (click)="addAction()">Add</button>
</form>
<div *ngIf="actions.length > 0">
<mat-chip-list>
<mat-chip *ngFor="let action of actions" [removable]="true">
{{action.title}}
<mat-icon matChipRemove (click)="removeAction(action)">cancel</mat-icon>
</mat-chip>
</mat-chip-list>
</div>
</div>
@@ -4,7 +4,11 @@ app-cloud-settings {
display: flex;
flex: 1;
mat-form-field {
.app-cloud-actions {
background-color: white;
}
.adf-cloud-settings-selection-mode {
max-width: 200px;
}
@@ -13,13 +17,9 @@ app-cloud-settings {
place-content: center space-around;
align-items: center;
mat-form-field {
.app-cloud-settings-form-input {
flex: 1 1 100%;
max-width: 23%;
}
mat-form-field, mat-checkbox {
margin-right: 20px;
}
}
}
@@ -1,71 +1,24 @@
<ng-container *ngIf="nodeId">
<adf-alfresco-viewer
(showViewerChange)="onViewerClosed()"
[nodeId]="nodeId"
[versionId]="versionId"
[showRightSidebar]="showRightSidebar"
[showLeftSidebar]="showLeftSidebar"
[allowGoBack]="allowGoBack"
[showToolbar]="showToolbar"
[allowPrint]="allowPrint"
[allowDownload]="allowDownload"
[allowRightSidebar]="allowRightSidebar"
[allowLeftSidebar]="allowLeftSidebar"
[sidebarLeftTemplate]="sidebarLeftTemplate"
[showToolbar]="true"
[allowRightSidebar]="true"
[sidebarRightTemplate]="sidebarRightTemplate">
<adf-viewer-toolbar *ngIf="customToolbar" data-automation-id="adf-viewer-custom-toolbar">
<h1>My custom toolbar</h1>
</adf-viewer-toolbar>
<adf-viewer-toolbar-actions *ngIf="moreActions">
<button mat-icon-button id="adf-viewer-time">
<mat-icon>alarm</mat-icon>
</button>
<button mat-icon-button id="adf-viewer-upload">
<mat-icon>backup</mat-icon>
</button>
<button mat-icon-button id="adf-viewer-bug">
<mat-icon>bug_report</mat-icon>
</button>
</adf-viewer-toolbar-actions>
<adf-viewer-more-actions *ngIf="moreActionsMenu">
<button mat-menu-item id="adf-viewer-more-menu-alarm">
<mat-icon>alarm</mat-icon>
<span>Alarm</span>
</button>
<button mat-menu-item id="adf-viewer-more-menu-backup">
<mat-icon>backup</mat-icon>
<span>Backup</span>
</button>
<button mat-menu-item id="adf-viewer-more-menu-bug">
<mat-icon>bug_report</mat-icon>
<span>Bug report</span>
</button>
</adf-viewer-more-actions>
<ng-container *ngIf="openWith">
<adf-viewer-open-with>
<button mat-menu-item>
<mat-icon>dialpad</mat-icon>
<span>Option 1</span>
</button>
<button mat-menu-item disabled>
<mat-icon>voicemail</mat-icon>
<span>Option 2</span>
</button>
<button mat-menu-item>
<mat-icon>notifications_off</mat-icon>
<span>Option 3</span>
</button>
</adf-viewer-open-with>
</ng-container>
</adf-alfresco-viewer>
</ng-container>
<ng-container *ngIf="blobFile">
<adf-viewer
[blobFile]="blobFile"
[fileName]="fileName"
[showToolbar]="true"
[allowRightSidebar]="true"
(showViewerChange)="onViewerClosed()"
[sidebarRightTemplate]="sidebarRightTemplate">
</adf-viewer>
</ng-container>
<ng-template let-node="node" #sidebarRightTemplate>
<adf-info-drawer title="Details">
@@ -157,242 +110,10 @@
</adf-info-drawer-tab>
<adf-info-drawer-tab label="Versions">
<mat-card>
<mat-card-content>
<adf-version-manager [node]="node"
(uploadError)="onUploadError($event)"
(viewVersion)="onViewVersion($event)">
</adf-version-manager>
</mat-card-content>
</mat-card>
<adf-version-manager [node]="node"
(uploadError)="onUploadError($event)"
(viewVersion)="onViewVersion($event)">
</adf-version-manager>
</adf-info-drawer-tab>
</adf-info-drawer>
</ng-template>
<ng-template #sidebarLeftTemplate>
<adf-info-drawer [title]="'Viewer Options'">
<adf-info-drawer-tab label="Settings">
<p class="toggle">
<mat-slide-toggle
id="adf-switch-fileurl"
(change)="toggleFileUrl()"
[checked]="fileUrlSwitch">
Url File
</mat-slide-toggle>
</p>
<p class="toggle">
<ng-container *ngIf="fileUrlSwitch">
<mat-form-field floatPlaceholder="float">
<input matInput
placeholder="Url File"
[(ngModel)]="urlFile"
data-automation-id="adf-text-file-url">
</mat-form-field>
</ng-container>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-toolbar"
(change)="toggleShowToolbar()"
[checked]="showToolbar">
Show Toolbar
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-goback"
(change)="toggleAllowGoBack()"
[checked]="allowGoBack">
Allow GoBack
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-openwith"
(change)="toggleOpenWith()"
[checked]="openWith">
Open With
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-moreactions"
(change)="toggleOpenMoreActions()"
[checked]="moreActions">
More Actions
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-moreactionsmenu"
(change)="toggleMoreActionsMenu()"
[checked]="moreActionsMenu">
More Actions Menu
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-download"
(change)="toggleAllowDownload()"
[checked]="allowDownload">
Allow Download
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-print"
(change)="toggleAllowPrint()"
[checked]="allowPrint">
Allow Print
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-allowsidebar"
(change)="toggleAllowRightSidebar()"
[checked]="allowRightSidebar">
Allow Right Sidebar
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-allowLeftSidebar"
(change)="toggleAllowLeftSidebar()"
[checked]="allowLeftSidebar">
Allow Left Sidebar
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-toggle-custom-toolbar"
(change)="toggleToolbar()"
[checked]="customToolbar">
Custom Toolbar
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-tab-with-icon"
(change)="toggleShowTabWithIcon()"
[checked]="showTabWithIcon">
Show tab with icon
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-icon-and-label-tab"
(change)="toggleShowTabWithIconAndLabel()"
[checked]="showTabWithIconAndLabel">
Show tab with icon and label
</mat-slide-toggle>
</p>
<p class="toggle">
<button mat-raised-button id="adf-switch-showrightsidebar" (click)="toggleShowRightSidebar()">
Toggle Right Sidebar
</button>
</p>
<p class="toggle">
<button mat-raised-button id="adf-switch-showleftsidebar" (click)="hideLeftSidebar()">
Hide Left Sidebar
</button>
</p>
</adf-info-drawer-tab>
<adf-info-drawer-tab
*ngIf="showTabWithIcon"
[label]=""
[icon]="'face'"
data-automation-id="adf-settings-tab">
</adf-info-drawer-tab>
<adf-info-drawer-tab
*ngIf="showTabWithIconAndLabel"
[label]="'Comments'"
[icon]="'comment'"
data-automation-id="adf-settings-tab">
</adf-info-drawer-tab>
</adf-info-drawer>
</ng-template>
<ng-container *ngIf="blobFile">
<adf-viewer
[blobFile]="blobFile"
[fileName]="fileName"
[showRightSidebar]="showRightSidebar"
[showLeftSidebar]="showLeftSidebar"
[allowGoBack]="allowGoBack"
[showToolbar]="showToolbar"
[allowRightSidebar]="allowRightSidebar"
[allowLeftSidebar]="allowLeftSidebar"
(showViewerChange)="onViewerClosed()"
[sidebarLeftTemplate]="sidebarLeftTemplate"
[sidebarRightTemplate]="sidebarRightTemplate">
<adf-viewer-toolbar *ngIf="customToolbar" data-automation-id="adf-viewer-custom-toolbar">
<h1>My custom toolbar</h1>
</adf-viewer-toolbar>
<adf-viewer-toolbar-actions *ngIf="moreActions">
<button mat-icon-button id="adf-viewer-time">
<mat-icon>alarm</mat-icon>
</button>
<button mat-icon-button id="adf-viewer-upload">
<mat-icon>backup</mat-icon>
</button>
<button mat-icon-button id="adf-viewer-bug">
<mat-icon>bug_report</mat-icon>
</button>
</adf-viewer-toolbar-actions>
<adf-viewer-more-actions *ngIf="moreActionsMenu">
<button mat-menu-item id="adf-viewer-more-menu-alarm">
<mat-icon>alarm</mat-icon>
<span>Alarm</span>
</button>
<button mat-menu-item id="adf-viewer-more-menu-backup">
<mat-icon>backup</mat-icon>
<span>Backup</span>
</button>
<button mat-menu-item id="adf-viewer-more-menu-bug">
<mat-icon>bug_report</mat-icon>
<span>Bug report</span>
</button>
</adf-viewer-more-actions>
<ng-container *ngIf="openWith">
<adf-viewer-open-with>
<button mat-menu-item>
<mat-icon>dialpad</mat-icon>
<span>Option 1</span>
</button>
<button mat-menu-item disabled>
<mat-icon>voicemail</mat-icon>
<span>Option 2</span>
</button>
<button mat-menu-item>
<mat-icon>notifications_off</mat-icon>
<span>Option 3</span>
</button>
</adf-viewer-open-with>
</ng-container>
</adf-viewer>
</ng-container>
@@ -1,12 +0,0 @@
.app-viewer__sidebar {
width: 380px !important;
}
/* stylelint-disable */
.monaco-scrollable-element {
width: 600px;
}
app-preview-extension {
width: 600px;
}
@@ -17,26 +17,16 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router, PRIMARY_OUTLET } from '@angular/router';
import {
NotificationService
} from '@alfresco/adf-core';
import {
ContentService,
AllowableOperationsEnum,
PermissionsEnum,
NodesApiService,
FileUploadErrorEvent
} from '@alfresco/adf-content-services';
import { NotificationService } from '@alfresco/adf-core';
import { ContentService, AllowableOperationsEnum, PermissionsEnum, NodesApiService, FileUploadErrorEvent } from '@alfresco/adf-content-services';
import { PreviewService } from '../../services/preview.service';
@Component({
selector: 'app-file-view',
templateUrl: './file-view.component.html',
styleUrls: ['./file-view.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class FileViewComponent implements OnInit {
nodeId: string = null;
versionId: string = null;
displayEmptyMetadata = false;
@@ -46,36 +36,21 @@ export class FileViewComponent implements OnInit {
isPreset = false;
customPreset: string = null;
displayDefaultProperties = true;
showToolbar = true;
urlFile = null;
allowGoBack = true;
openWith = false;
allowDownload = true;
allowPrint = true;
allowRightSidebar = true;
allowLeftSidebar = true;
moreActions = true;
moreActionsMenu = false;
fileUrlSwitch = false;
showLeftSidebar = null;
showRightSidebar = false;
customToolbar = false;
isCommentEnabled = false;
showTabWithIcon = false;
showTabWithIconAndLabel = false;
desiredAspect: string = null;
showAspect: string = null;
name: string;
fileName: string;
blobFile: Blob;
constructor(private router: Router,
private route: ActivatedRoute,
private nodeApiService: NodesApiService,
private contentServices: ContentService,
private preview: PreviewService,
private notificationService: NotificationService) {
}
constructor(
private router: Router,
private route: ActivatedRoute,
private nodeApiService: NodesApiService,
private contentServices: ContentService,
private preview: PreviewService,
private notificationService: NotificationService
) {}
ngOnInit() {
this.route.params.subscribe((params) => {
@@ -85,7 +60,8 @@ export class FileViewComponent implements OnInit {
this.nodeApiService.getNode(id).subscribe(
(node) => {
if (node?.isFile) {
this.isCommentEnabled = this.contentServices.hasPermissions(node, PermissionsEnum.NOT_CONSUMER) ||
this.isCommentEnabled =
this.contentServices.hasPermissions(node, PermissionsEnum.NOT_CONSUMER) ||
this.contentServices.hasAllowableOperations(node, AllowableOperationsEnum.UPDATE);
this.nodeId = id;
return;
@@ -131,66 +107,6 @@ export class FileViewComponent implements OnInit {
this.displayDefaultProperties = !this.displayDefaultProperties;
}
toggleShowToolbar() {
this.showToolbar = !this.showToolbar;
}
toggleAllowGoBack() {
this.allowGoBack = !this.allowGoBack;
}
toggleOpenWith() {
this.openWith = !this.openWith;
}
toggleAllowDownload() {
this.allowDownload = !this.allowDownload;
}
toggleAllowPrint() {
this.allowPrint = !this.allowPrint;
}
toggleOpenMoreActions() {
this.moreActions = !this.moreActions;
}
toggleMoreActionsMenu() {
this.moreActionsMenu = !this.moreActionsMenu;
}
toggleShowRightSidebar() {
this.showRightSidebar = !this.showRightSidebar;
}
hideLeftSidebar() {
this.showLeftSidebar = false;
}
toggleAllowRightSidebar() {
this.allowRightSidebar = !this.allowRightSidebar;
}
toggleAllowLeftSidebar() {
this.allowLeftSidebar = !this.allowLeftSidebar;
}
toggleShowTabWithIcon() {
this.showTabWithIcon = !this.showTabWithIcon;
}
toggleShowTabWithIconAndLabel() {
this.showTabWithIconAndLabel = !this.showTabWithIconAndLabel;
}
toggleFileUrl() {
this.fileUrlSwitch = !this.fileUrlSwitch;
if (!this.fileUrlSwitch) {
this.urlFile = null;
}
}
togglePreset() {
this.isPreset = !this.isPreset;
if (!this.isPreset) {
@@ -198,10 +114,6 @@ export class FileViewComponent implements OnInit {
}
}
toggleToolbar() {
this.customToolbar = !this.customToolbar;
}
applyCustomPreset() {
this.isPreset = false;
setTimeout(() => {
@@ -1,9 +1,4 @@
<div class="app-container">
<div *ngIf="showSitePicker" class="app-site-container-style" id="site-container">
<adf-sites-dropdown (change)="onSiteChange($event)" [hideMyFiles]="false" [relations]="'members'">
</adf-sites-dropdown>
</div>
<div
id="document-list-container"
class="app-document-list-container">
@@ -14,7 +9,6 @@
[versioning]="versioning"
[adf-check-allowable-operation]="'create'"
[adf-nodes]="disableDragArea ? getCurrentDocumentListNode() : []"
(beginUpload)="onBeginUpload($event)"
(updateFileVersion)="onUploadNewVersion($event)">
<div *ngIf="errorMessage" class="app-error-message">
<button (click)="resetError()" mat-icon-button>
@@ -30,16 +24,7 @@
</adf-dropdown-breadcrumb>
</adf-toolbar-title>
<adf-toolbar-divider></adf-toolbar-divider>
<div class="app-document-action-buttons">
<button
mat-icon-button
data-automation-id="document-list-grid-view"
title="Toggle display mode"
(click)="toggleGalleryView()">
<mat-icon>list</mat-icon>
</button>
<button
data-automation-id="create-new-folder"
mat-icon-button
@@ -79,11 +64,6 @@
<mat-icon>more_vert</mat-icon>
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item (click)="toggleGalleryView()">
<mat-icon *ngIf="displayMode === 'list'">view_comfy</mat-icon>
<mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
<span>Card view mode</span>
</button>
<button mat-menu-item
(error)="openSnackMessageError($event)"
[adf-create-folder]="currentFolderId">
@@ -125,7 +105,6 @@
[sorting]="sorting"
[sortingMode]="sortingMode"
[showHeader]="showHeader"
[thumbnails]="thumbnails"
[stickyHeader]="stickyHeader"
[headerFilters]="headerFilters"
[filterValue]="paramValues"
@@ -147,41 +126,26 @@
<data-column
key="$thumbnail"
type="image"
[sortable]="false"
class="app-image-table-cell"
[class.adf-cell-thumbnail]="thumbnails">
[sortable]="false">
</data-column>
<data-column
*ngIf="showNameColumn && hyperlinkNavigation"
key="name"
sortingKey="name"
class="app-ellipsis-cell"
title="Display name"
[formatTooltip]="getNodeNameTooltip">
<ng-template let-context>
<adf-name-column key="name" [context]="context"></adf-name-column>
</ng-template>
</data-column>
<data-column
*ngIf="showNameColumn && !hyperlinkNavigation"
key="name"
sortingKey="name"
title="Display name"
[formatTooltip]="getNodeNameTooltip"
class="app-ellipsis-cell adf-expand-cell-5">
class="adf-expand-cell-5">
</data-column>
<data-column
key="content.sizeInBytes"
title="Size"
type="fileSize"
sortingKey="sizeInBytes"
class="app-desktop-only adf-ellipsis-cell">
class="adf-ellipsis-cell">
</data-column>
<data-column
*ngIf="searchTerm"
key="search"
title="Search"
class="app-desktop-only adf-expand-cell-3">
class="adf-expand-cell-3">
<ng-template let-entry="$implicit">
<div [innerHTML]="searchResultsHighlight(entry.row.node.entry.search) | highlight:searchTerm">
</div>
@@ -200,7 +164,7 @@
key="lock"
[focus]="false"
[sortable]="false"
class="app-desktop-only adf-ellipsis-cell">
class="adf-ellipsis-cell">
<ng-template let-entry="$implicit">
<button mat-icon-button [adf-node-lock]="entry.row.node.entry" class="app-lock-button">
<mat-icon *ngIf="entry.row.getValue('isLocked')">lock</mat-icon>
@@ -212,15 +176,15 @@
title="Created by"
key="createdByUser.displayName"
sortingKey="createdByUser"
class="app-desktop-only adf-ellipsis-cell">
class="adf-ellipsis-cell">
</data-column>
<data-column
title="Created"
key="createdAt"
sortingKey="createdAt"
type="date"
[format]="enableMediumTimeFormat ? 'medium' : 'timeAgo'"
class="app-desktop-only adf-ellipsis-cell">
[format]="'timeAgo'"
class="adf-ellipsis-cell">
</data-column>
</data-columns>
@@ -240,11 +204,6 @@
(success)="onDeleteActionSuccess($event)"
handler="delete">
</content-action>
<content-action
icon="info"
title="Info"
(execute)="onManageMetadata($event)">
</content-action>
<content-action
icon="supervisor_account"
title="Permission"
@@ -269,21 +228,12 @@
</adf-document-list>
</div>
<adf-pagination
#standardPagination
*ngIf="!infiniteScrolling"
class="app-documentlist-pagination"
[target]="documentList"
(changePageSize)="onChangePageSize($event)"
(changePageNumber)="onChangePageNumber($event)"
(nextPage)="onNextPage($event)"
(prevPage)="onPrevPage($event)">
</adf-pagination>
<adf-infinite-pagination
[hidden]="!infiniteScrolling"
[target]="documentList"
[loading]="documentList.loading">
{{ 'ADF-DOCUMENT-LIST.LAYOUT.LOAD_MORE' | translate }}
</adf-infinite-pagination>
</adf-upload-drag-area>
<adf-info-drawer-layout *ngIf="showVersions" class="app-manage-versions-sidebar">
@@ -301,7 +251,7 @@
<ng-container *ngIf="userHasPermissionToManageVersions(); else no_permission_to_versions">
<adf-version-manager
[node]="documentList.selection[0].entry"
[showComments]="showVersionComments"
[showComments]="true"
[allowDownload]="allowVersionDownload">
</adf-version-manager>
</ng-container>
@@ -338,18 +288,6 @@
</div>
<div class="app-container">
<section>
<mat-slide-toggle [(ngModel)]="showNameColumn">
Show Name Column
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [(ngModel)]="hyperlinkNavigation">
Hyperlink navigation
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle data-automation-id="multiSelectToggle" [(ngModel)]="multiselect">
Multiselect (with checkboxes)
@@ -380,48 +318,18 @@
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle id="adf-thumbnails-upload-switch" (click)="toggleThumbnails()">
Enable Thumbnails
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle id="adf-version-upload-switch" [(ngModel)]="versioning">
Enable versioning
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle (click)="onInfiniteScrolling()">
Enable Infinite Scrolling
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [(ngModel)]="showVersionComments">
Show comments on versions
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [(ngModel)]="allowVersionDownload">
Enable version download
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [(ngModel)]="warnOnMultipleUploads">
Display warning for multiple uploads
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [(ngModel)]="enableMediumTimeFormat" id="enableMediumTimeFormat">
Enable medium time format for document list
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [(ngModel)]="displayEmptyMetadata" id="displayEmptyMetadata">
Display Empty Metadata
@@ -461,8 +369,7 @@
[versioning]="versioning"
[adf-check-allowable-operation]="'create'"
[adf-nodes]="enableUpload ? getCurrentDocumentListNode() : []"
(permissionEvent)="handlePermissionError($event)"
(beginUpload)="onBeginUpload($event)">
(permissionEvent)="handlePermissionError($event)">
</adf-upload-button>
</div>
<div *ngIf="acceptedFilesTypeShow">
@@ -2,16 +2,6 @@
margin: 10px !important;
}
@media screen and (max-width: 599px) {
.app-container {
margin: 0;
}
.app-show-versions-button.mat-icon-button {
display: none;
}
}
.app-error-message {
text-align: left;
}
@@ -37,18 +27,6 @@
.app-document-action-buttons {
flex: 0 0 auto;
}
@media screen and (max-width: 600px) {
adf-breadcrumb, .app-document-action-buttons {
display: none;
}
}
@media screen and (min-width: 600px) {
adf-dropdown-breadcrumb, .app-toolbar-divider-before-more-menu, .app-toolbar-more-menu-button {
display: none;
}
}
}
&:not(.app-document-list-container-in-upload-drag-area) {
@@ -64,13 +42,6 @@
position: absolute;
}
.app-site-container-style {
margin-top: 10px;
margin-bottom: 10px;
width: 100%;
min-width: 200px;
}
.app-content-service-settings {
padding: 16px;
}
@@ -28,29 +28,23 @@ import {
Output,
ViewEncapsulation
} from '@angular/core';
import { Location } from '@angular/common';
import { MatDialog } from '@angular/material/dialog';
import { ActivatedRoute, Params, Router } from '@angular/router';
import { NodeEntry, NodePaging, Pagination, Node, SiteEntry, SearchEntry } from '@alfresco/js-api';
import { NodeEntry, NodePaging, Pagination, Node, SearchEntry } from '@alfresco/js-api';
import {
NotificationService,
DataRow,
UserPreferencesService,
PaginationComponent,
DisplayMode,
ShowHeaderMode,
InfinitePaginationComponent,
FormRenderingService
} from '@alfresco/adf-core';
import {
ContentService,
FolderCreatedEvent,
UploadService,
DocumentListComponent,
PermissionStyleModel,
UploadFilesEvent,
ConfirmDialogComponent,
ContentMetadataService,
FilterSearch,
DialogAspectListService,
@@ -59,7 +53,6 @@ import {
} from '@alfresco/adf-content-services';
import { ProcessFormRenderingService } from '@alfresco/adf-process-services';
import { VersionManagerDialogAdapterComponent } from './version-manager-dialog-adapter.component';
import { MetadataDialogAdapterComponent } from './metadata-dialog-adapter.component';
import { Subject } from 'rxjs';
import { PreviewService } from '../../services/preview.service';
import { takeUntil, debounceTime, scan } from 'rxjs/operators';
@@ -100,12 +93,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Input()
sortingMode: 'server' | 'client' = 'server';
@Input()
showRecentFiles = true;
@Input()
showSitePicker = true;
@Input()
showSettingsPanel = true;
@@ -130,9 +117,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Input()
maxSizeShow = false;
@Input()
showVersionComments = true;
@Input()
versioning = false;
@@ -157,9 +141,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Input()
disableDragArea = false;
@Input()
showNameColumn = true;
@Input()
searchTerm = '';
@@ -202,24 +183,15 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@ViewChild('standardPagination')
standardPagination: PaginationComponent;
@ViewChild(InfinitePaginationComponent, { static: true })
infinitePaginationComponent: InfinitePaginationComponent;
permissionsStyle: PermissionStyleModel[] = [];
infiniteScrolling: boolean;
stickyHeader: boolean;
warnOnMultipleUploads = false;
thumbnails = false;
enableMediumTimeFormat = false;
displayEmptyMetadata = false;
hyperlinkNavigation = false;
constructor(
private notificationService: NotificationService,
private uploadService: UploadService,
private contentService: ContentService,
private dialog: MatDialog,
private location: Location,
private router: Router,
private preference: UserPreferencesService,
private preview: PreviewService,
@@ -236,11 +208,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
}
toggleThumbnails() {
this.thumbnails = !this.thumbnails;
this.documentList.reload();
}
ngOnInit() {
if (!this.pagination) {
this.pagination = {
@@ -399,7 +366,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
onManageVersions(event: any) {
const contentEntry = event.value.entry;
const showComments = this.showVersionComments;
const showComments = true;
const allowDownload = this.allowVersionDownload;
if (this.contentService.hasAllowableOperations(contentEntry, 'update')) {
@@ -421,28 +388,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
});
}
onManageMetadata(event: any) {
const contentEntry = event.value.entry;
const displayEmptyMetadata = this.displayEmptyMetadata;
if (this.contentService.hasAllowableOperations(contentEntry, 'update')) {
this.dialog.open(MetadataDialogAdapterComponent, {
data: {
contentEntry,
displayEmptyMetadata
},
panelClass: 'adf-metadata-manager-dialog',
width: '630px'
});
} else {
this.openSnackMessageError('OPERATION.ERROR.PERMISSION');
}
}
onSiteChange(site: SiteEntry) {
this.currentFolderId = site.entry.guid;
}
hasSelection(selection: Array<any>): boolean {
return selection && selection.length > 0;
}
@@ -457,13 +402,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
return this.contentService.hasAllowableOperations(selection[0].entry, 'update');
}
getNodeNameTooltip(row: DataRow): string {
if (row) {
return row.getValue('name');
}
return null;
}
canEditFolder(selection: Array<NodeEntry>): boolean {
if (selection && selection.length === 1) {
const entry = selection[0].entry;
@@ -507,44 +445,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
this.turnedPreviousPage.emit(event);
}
toggleGalleryView(): void {
this.displayMode = this.displayMode === DisplayMode.List ? DisplayMode.Gallery : DisplayMode.List;
const url = this.router.createUrlTree(['/files', this.currentFolderId, 'display', this.displayMode]).toString();
this.location.go(url);
}
onInfiniteScrolling(): void {
this.infiniteScrolling = !this.infiniteScrolling;
this.infinitePaginationComponent.reset();
}
onBeginUpload(event: UploadFilesEvent) {
if (this.warnOnMultipleUploads && event) {
const files = event.files || [];
if (files.length > 1) {
event.pauseUpload();
const dialogRef = this.dialog.open(ConfirmDialogComponent, {
data: {
title: 'Upload',
message: `Are you sure you want to upload ${files.length} file(s)?`
},
minWidth: '250px'
});
dialogRef.afterClosed().subscribe((result) => {
if (result === true) {
event.resumeUpload();
}
});
}
}
}
onUploadNewVersion(ev) {
const contentEntry = ev.detail.data.node.entry;
const showComments = this.showVersionComments;
const showComments = true;
const allowDownload = this.allowVersionDownload;
const newFileVersion = ev.detail.files[0].file;
@@ -1,10 +0,0 @@
<header mat-dialog-title>Metadata</header>
<section mat-dialog-content>
<adf-content-metadata-card
[node]="contentEntry"
[displayEmpty]="displayEmptyMetadata">
</adf-content-metadata-card>
</section>
<footer mat-dialog-actions>
<button mat-button (click)="close()">Close</button>
</footer>
@@ -1,38 +0,0 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, Inject, ViewEncapsulation } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { Node } from '@alfresco/js-api';
@Component({
templateUrl: './metadata-dialog-adapter.component.html',
encapsulation: ViewEncapsulation.None
})
export class MetadataDialogAdapterComponent {
contentEntry: Node;
displayEmptyMetadata = false;
constructor(@Inject(MAT_DIALOG_DATA) data: any, private containingDialog?: MatDialogRef<MetadataDialogAdapterComponent>) {
this.contentEntry = data.contentEntry;
this.displayEmptyMetadata = data.displayEmptyMetadata;
}
close() {
this.containingDialog.close();
}
}
@@ -3,6 +3,4 @@
<h1>ADF</h1>
<h2>Angular components for Alfresco</h2>
</div>
<a mat-raised-button href="https://github.com/Alfresco/alfresco-ng2-components/tree/master/docs">Documentation</a>
</div>
@@ -18,6 +18,7 @@
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
standalone: true,
selector: 'app-home-view',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss'],
@@ -1,4 +1,4 @@
<a mat-fab class="app-setting-button" data-automation-id="settings" href="" routerLink="/settings">
<a class="app-setting-button" data-automation-id="settings" href="" routerLink="/settings">
<mat-icon>settings</mat-icon>
</a>
@@ -1,6 +1,7 @@
.app-setting-button.mat-fab {
.app-setting-button {
position: absolute;
right: 10px;
top: 10px;
z-index: 1;
color: white;
}
@@ -1,15 +1,11 @@
<header class="app-logout-background">
<header>
<div class="app-logout-section" data-automation-id="adf-logout-section">
<div class="app-logout-headline">
<h1 class="mat-h1">Logout Page</h1>
<h2 class="mat-h2">You are now logged out</h2>
</div>
<div class="app-logout-login">
<a mat-raised-button class="app-logout-docs-button" href="#/login">Login}</a>
</div>
<div class="app-logout-home">
<a mat-raised-button class="app-logout-docs-button" href="/">Home</a>
</div>
<a mat-raised-button class="app-logout-docs-button" href="#/login">Login</a>
<a mat-raised-button class="app-logout-docs-button" href="/">Home</a>
</div>
</header>
@@ -4,10 +4,6 @@
align-items: center;
}
.app-logout-header-background {
overflow: hidden;
}
.app-logout-section {
text-align: center;
padding-top: 60px;
@@ -24,9 +20,5 @@
}
.app-logout-docs-button {
margin: 30px;
}
.app-logout-login {
float: left;
margin: 8px;
}
@@ -20,8 +20,6 @@
[showHeader]="showHeader"
[sorting]="sorting"
[sortingMode]="'server'"
[showRecentFiles]="false"
[showSitePicker]="false"
[showSettingsPanel]="false"
[currentFolderId]="null"
[nodeResult]="$any(data)"
@@ -18,8 +18,6 @@
[showHeader]="showHeader"
[sorting]="sorting"
[sortingMode]="'server'"
[showRecentFiles]="false"
[showSitePicker]="false"
[showSettingsPanel]="false"
[currentFolderId]="null"
[nodeResult]="$any(data)"
@@ -1,120 +1,106 @@
<div class="adf-setting-container">
<mat-card class="adf-setting-card">
<form id="host-form" [formGroup]="form" (submit)="onSubmit(form.value)" (keydown)="keyDownFunction($event)">
<mat-form-field *ngIf="showSelectProviders">
<mat-select id="adf-provider-selector" [formControl]="providersControl">
<mat-option *ngFor="let provider of providers" [value]="provider">
{{ provider }}
</mat-option>
</mat-select>
<form id="host-form" [formGroup]="form" (submit)="onSubmit(form.value)" (keydown)="keyDownFunction($event)">
<mat-form-field *ngIf="showSelectProviders">
<mat-select id="adf-provider-selector" [formControl]="providersControl">
<mat-option *ngFor="let provider of providers" [value]="provider">
{{ provider }}
</mat-option>
</mat-select>
</mat-form-field>
<div class="adf-authentication-type">
<div>Authentication type:</div>
<mat-radio-group formControlName="authType" class="adf-authentication-radio-group">
<mat-radio-button value="BASIC" class="adf-authentication-radio-button">Basic Authentication</mat-radio-button>
<mat-radio-button value="OAUTH" class="adf-authentication-radio-button">SSO</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field *ngIf="isALL() || isECM()" class="adf-full-width">
<mat-label>Content Services URL</mat-label>
<input matInput [formControl]="ecmHost" data-automation-id="ecmHost" type="text" id="ecmHost" [placeholder]="PLACEHOLDER_URL">
<mat-error *ngIf="ecmHost.hasError('pattern')">{{ ERR_INVALID_URL }}</mat-error>
<mat-error *ngIf="ecmHost.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-form-field *ngIf="isALL() || isBPM()" class="adf-full-width">
<mat-label>Process Services URL</mat-label>
<input matInput [formControl]="bpmHost" data-automation-id="bpmHost" type="text" id="bpmHost" [placeholder]="PLACEHOLDER_URL">
<mat-error *ngIf="bpmHost.hasError('pattern')">{{ ERR_INVALID_URL }}</mat-error>
<mat-error *ngIf="bpmHost.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-form-field *ngIf="isOAUTH()" class="adf-full-width">
<mat-label>Identity Host</mat-label>
<input matInput name="identityHost" id="identityHost" formControlName="identityHost" [placeholder]="PLACEHOLDER_URL">
<mat-error *ngIf="identityHost.hasError('pattern')">{{ ERR_INVALID_URL }}</mat-error>
<mat-error *ngIf="identityHost.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<div *ngIf="isOAUTH()" formGroupName="oauthConfig">
<mat-form-field class="adf-full-width">
<mat-label>Auth Host</mat-label>
<input matInput name="host" id="oauthHost" formControlName="host" [placeholder]="PLACEHOLDER_URL">
<mat-error *ngIf="host.hasError('pattern')">{{ ERR_INVALID_URL }}</mat-error>
<mat-error *ngIf="host.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<div class="adf-authentication-type">
<div>Authentication type :</div>
<mat-radio-group formControlName="authType" >
<mat-radio-button value="BASIC">Basic Authentication</mat-radio-button>
<mat-radio-button value="OAUTH">SSO</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field class="adf-full-width">
<mat-label>Client ID</mat-label>
<input matInput name="clientId" id="clientId" formControlName="clientId">
<mat-error *ngIf="clientId.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<ng-container *ngIf="isALL() || isECM()">
<mat-card-content>
<mat-form-field class="adf-full-width">
<mat-label>Content Services URL</mat-label>
<input matInput [formControl]="ecmHost" data-automation-id="ecmHost" type="text" id="ecmHost" [placeholder]="PLACEHOLDER_URL">
<mat-error *ngIf="ecmHost.hasError('pattern')">{{ ERR_INVALID_URL }}</mat-error>
<mat-error *ngIf="ecmHost.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
</mat-card-content>
<mat-form-field class="adf-full-width">
<mat-label>Scope Id</mat-label>
<input matInput name="Scope" formControlName="scope">
<mat-error *ngIf="scope.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>Secret</mat-label>
<input matInput name="Secret" formControlName="secret">
<mat-error *ngIf="secret.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-label>Silent Login</mat-label>
<mat-slide-toggle class="adf-full-width" name="silentLogin" formControlName="silentLogin">
</mat-slide-toggle>
<mat-label>Implicit Flow</mat-label>
<mat-slide-toggle class="adf-full-width" name="implicitFlow" formControlName="implicitFlow">
</mat-slide-toggle>
<ng-container *ngIf="isOAUTH">
<mat-label>Code Flow</mat-label>
<mat-slide-toggle class="adf-full-width" name="codeFlow" formControlName="codeFlow">
</mat-slide-toggle>
</ng-container>
<ng-container *ngIf="isALL() || isBPM()">
<mat-card-content>
<mat-form-field class="adf-full-width">
<mat-label>Process Services URL</mat-label>
<input matInput [formControl]="bpmHost" data-automation-id="bpmHost" type="text" id="bpmHost" [placeholder]="PLACEHOLDER_URL">
<mat-error *ngIf="bpmHost.hasError('pattern')">{{ ERR_INVALID_URL }}</mat-error>
<mat-error *ngIf="bpmHost.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
</mat-card-content>
</ng-container>
<mat-form-field class="adf-full-width">
<mat-label>Redirect URI</mat-label>
<input matInput name="redirectUri" formControlName="redirectUri">
<mat-error *ngIf="redirectUri.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<ng-container *ngIf="isOAUTH()">
<mat-card-content>
<mat-form-field class="adf-full-width">
<mat-label>Identity Host</mat-label>
<input matInput name="identityHost" id="identityHost" formControlName="identityHost" [placeholder]="PLACEHOLDER_URL">
<mat-error *ngIf="identityHost.hasError('pattern')">{{ ERR_INVALID_URL }}</mat-error>
<mat-error *ngIf="identityHost.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
</mat-card-content>
</ng-container>
<mat-form-field class="adf-full-width">
<mat-label>Redirect URI Logout</mat-label>
<input id="logout-url" matInput name="redirectUriLogout" formControlName="redirectUriLogout">
</mat-form-field>
<ng-container *ngIf="isOAUTH()">
<div formGroupName="oauthConfig">
<mat-form-field class="adf-full-width">
<mat-label>Auth Host</mat-label>
<input matInput name="host" id="oauthHost" formControlName="host" [placeholder]="PLACEHOLDER_URL">
<mat-error *ngIf="host.hasError('pattern')">{{ ERR_INVALID_URL }}</mat-error>
<mat-error *ngIf="host.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>Public urls silent Login</mat-label>
<input id="public-url" matInput name="publicUrls" formControlName="publicUrls">
</mat-form-field>
</div>
<mat-form-field class="adf-full-width">
<mat-label>Client ID</mat-label>
<input matInput name="clientId" id="clientId" formControlName="clientId">
<mat-error *ngIf="clientId.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>Scope Id</mat-label>
<input matInput name="Scope" formControlName="scope">
<mat-error *ngIf="scope.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>Secret</mat-label>
<input matInput name="Secret" formControlName="secret">
<mat-error *ngIf="secret.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-label>Silent Login</mat-label>
<mat-slide-toggle class="adf-full-width" name="silentLogin" formControlName="silentLogin">
</mat-slide-toggle>
<mat-label>Implicit Flow</mat-label>
<mat-slide-toggle class="adf-full-width" name="implicitFlow" formControlName="implicitFlow">
</mat-slide-toggle>
<ng-container *ngIf="supportsCodeFlow">
<mat-label>Code Flow</mat-label>
<mat-slide-toggle class="adf-full-width" name="codeFlow" formControlName="codeFlow">
</mat-slide-toggle>
</ng-container>
<mat-form-field class="adf-full-width">
<mat-label>Redirect URI</mat-label>
<input matInput name="redirectUri" formControlName="redirectUri">
<mat-error *ngIf="redirectUri.hasError('required')">{{ ERR_REQUIRED }}</mat-error>
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>Redirect URI Logout</mat-label>
<input id="logout-url" matInput name="redirectUriLogout" formControlName="redirectUriLogout">
</mat-form-field>
<mat-form-field class="adf-full-width">
<mat-label>Public urls silent Login</mat-label>
<input id="public-url" matInput name="publicUrls" formControlName="publicUrls">
</mat-form-field>
</div>
</ng-container>
<mat-card-actions align="end">
<button mat-button (click)="onCancel()">Back</button>
<button type="submit" class="adf-login-button" mat-button
color="primary" data-automation-id="settings-apply-button"
[disabled]="!form.valid">Apply</button>
</mat-card-actions>
</form>
</mat-card>
<div class="adf-host-settings-actions">
<button mat-button (click)="onCancel()">Back</button>
<button type="submit"
mat-button
color="primary"
data-automation-id="settings-apply-button"
[disabled]="!form.valid">Apply</button>
</div>
</form>
</div>
@@ -3,11 +3,26 @@
min-height: 100%;
align-items: center;
.adf-host-settings-actions {
text-align: end;
}
.adf-authentication-type {
margin-bottom: 20px;
margin-top: 10px;
}
.adf-authentication-radio-group {
display: flex;
flex-direction: column;
margin: 15px 0;
align-items: flex-start;
}
.adf-authentication-radio-button {
margin: 5px;
}
.adf-setting-container {
width: 800px;
display: table;
@@ -65,7 +65,7 @@ export class HostSettingsComponent implements OnInit {
private storageService: StorageService,
private alfrescoApiService: AlfrescoApiService,
private appConfig: AppConfigService,
private auth: AuthenticationService
private authenticationService: AuthenticationService
) {}
ngOnInit() {
@@ -191,8 +191,8 @@ export class HostSettingsComponent implements OnInit {
this.storageService.setItem(AppConfigValues.AUTHTYPE, values.authType);
this.alfrescoApiService.reset();
this.auth.reset();
this.alfrescoApiService.getInstance().invalidateSession();
this.authenticationService.reset();
this.authenticationService.logout();
this.success.emit(true);
}
@@ -235,10 +235,6 @@ export class HostSettingsComponent implements OnInit {
return this.form.get('authType').value === 'OAUTH';
}
get supportsCodeFlow(): boolean {
return this.auth.supportCodeFlow;
}
get providersControl(): UntypedFormControl {
return this.form.get('providersControl') as UntypedFormControl;
}
@@ -19,7 +19,7 @@ import { NgModule } from '@angular/core';
import { TaskListDemoComponent } from './task-list-demo.component';
import { Routes, RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { CoreModule } from '@alfresco/adf-core';
import { CoreModule, LocalizedDatePipe } from '@alfresco/adf-core';
import { ProcessModule } from '@alfresco/adf-process-services';
const routes: Routes = [
@@ -38,7 +38,8 @@ const routes: Routes = [
CommonModule,
RouterModule.forChild(routes),
CoreModule,
ProcessModule.forChild()
ProcessModule.forChild(),
LocalizedDatePipe
],
declarations: [TaskListDemoComponent]
})
@@ -1,19 +0,0 @@
<div>TREE VIEW TEST</div>
<mat-form-field class="example-full-width">
<input matInput placeholder="Node Id"
[(ngModel)]="nodeIdSample"
(ngModelChange)="reset()">
</mat-form-field>
<span>
CLICKED NODE: {{clickedNodeName}}
</span>
<adf-tree-view-list *ngIf="!errorMessage; else errorOccurred"
[nodeId]="nodeIdSample"
(nodeClicked)="onClick($event)"
(error)="onErrorOccurred($event)">
</adf-tree-view-list>
<ng-template #errorOccurred>
<span>An Error Occurred </span>
<span>{{errorMessage}}</span>
</ng-template>
@@ -1,3 +0,0 @@
.example-full-width {
width: 100%;
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-93
View File
@@ -1,93 +0,0 @@
Copyright (c) 2016 The Muli Project Authors (contact@sansoxygen.com)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
-63
View File
@@ -1,63 +0,0 @@
/* vietnamese */
@font-face {
font-family: 'Muli';
font-style: normal;
font-weight: 400;
src: local('Muli Regular'),
local('Muli-Regular'),
url(Muli-Regular.ttf) format('truetype');
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Muli';
font-style: normal;
font-weight: 400;
src: local('Muli Regular'),
local('Muli-Regular'),
url(Muli-Regular.ttf) format('truetype');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Muli';
font-style: normal;
font-weight: 400;
src: local('Muli Regular'),
local('Muli-Regular'),
url(Muli-Regular.ttf) format('truetype');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
/* vietnamese */
@font-face {
font-family: 'Muli';
font-style: normal;
font-weight: 100;
src: local('Muli Light'),
local('Muli-Light'),
url(Muli-Light.ttf) format('truetype');
unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Muli';
font-style: normal;
font-weight: 100;
src: local('Muli Light'),
local('Muli-Light'),
url(Muli-Light.ttf) format('truetype');
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Muli';
font-style: normal;
font-weight: 100;
src: local('Muli Light'),
local('Muli-Light'),
url(Muli-Light.ttf) format('truetype');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
@@ -33,6 +33,11 @@ if [ -n "${APP_CONFIG_OAUTH2_IMPLICIT_FLOW}" ]; then
-i "${NGINX_ENVSUBST_OUTPUT_DIR}/app.config.json"
fi
if [ -n "${APP_CONFIG_OAUTH2_CODE_FLOW}" ]; then
sed -e "s/\"codeFlow\": [^,]*/\"codeFlow\": ${APP_CONFIG_OAUTH2_CODE_FLOW}/g" \
-i "${NGINX_ENVSUBST_OUTPUT_DIR}/app.config.json"
fi
if [ -n "${APP_CONFIG_OAUTH2_SILENT_LOGIN}" ]; then
sed -e "s/\"silentLogin\": [^,]*/\"silentLogin\": ${APP_CONFIG_OAUTH2_SILENT_LOGIN}/g" \
-i "${NGINX_ENVSUBST_OUTPUT_DIR}/app.config.json"
+1
View File
@@ -14,6 +14,7 @@ docker run --rm -it \
--env APP_CONFIG_OAUTH2_HOST=$APP_CONFIG_OAUTH2_HOST \
--env APP_CONFIG_OAUTH2_CLIENTID=$APP_CONFIG_OAUTH2_CLIENTID \
--env APP_CONFIG_OAUTH2_IMPLICIT_FLOW=$APP_CONFIG_OAUTH2_IMPLICIT_FLOW \
--env APP_CONFIG_OAUTH2_IMPLICIT_FLOW=$APP_CONFIG_OAUTH2_CODE_FLOW \
--env APP_CONFIG_OAUTH2_SILENT_LOGIN=$APP_CONFIG_OAUTH2_SILENT_LOGIN \
--env APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI=$APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI \
--env APP_CONFIG_BPM_HOST=$APP_CONFIG_BPM_HOST \
+3 -3
View File
@@ -290,10 +290,9 @@ for more information about installing and using the source code.
| [Search Chip Input Component](content-services/components/search-chip-input.component.md) | Displays input for providing phrases display as "chips". | [Source](../lib/content-services/src/lib/search/components/search-chip-input/search-chip-input.component.ts) |
| [Search Chip Autocomplete Input component](content-services/components/search-chip-autocomplete-input.component.md) | Displays an input with autocomplete options. | [Source](../lib/content-services/src/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.ts) |
| [Search Chip List Component](content-services/components/search-chip-list.component.md) | Displays search criteria as a set of "chips". | [Source](../lib/content-services/src/lib/search/components/search-chip-list/search-chip-list.component.ts) |
| [Search Date Range Advanced Component](content-services/components/search-date-range-advanced.component.md) | Displays a UI to configure different kinds of search criteria around date. Options are 'Anyytime', 'In the last' and 'Between' | [Source](../lib/content-services/src/lib/search/components/search-date-range-advanced-tabbed/search-date-range-advanced/search-date-range-advanced.component.ts) |
| [Search control component](content-services/components/search-control.component.md) | Displays a input text that shows find-as-you-type suggestions. | [Source](../lib/content-services/src/lib/search/components/search-control.component.ts) |
| [Search date range component](content-services/components/search-date-range.component.md) | Implements a search widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-date-range/search-date-range.component.ts) |
| [Search date range advanced tabbed component](content-services/components/search-date-range-advanced-tabbed.component.md) | Implements a tabbed advanced search widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-date-range-advanced-tabbed/search-date-range-advanced-tabbed.component.ts) |
| [Search Date Range Component](content-services/components/search-date-range.component.md) | Displays a UI to configure different kinds of search criteria around date. Options are 'Anytime', 'In the last' and 'Between' | [Source](../lib/content-services/src/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.ts) |
| [Search Date Range Tabbed component](content-services/components/search-date-range-tabbed.component.md) | Implements a tabbed advanced search widget for the Search Date Range component. | [Source](../lib/content-services/src/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.ts) |
| [Search datetime range component](content-services/components/search-datetime-range.component.md) | Implements a search widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-datetime-range/search-datetime-range.component.ts) |
| [Search Filter Autocomplete Chips component](content-services/components/search-filter-autocomplete-chips.component.md) | Implements a search widget for the Search Filter component. | [Source](../lib/content-services/src/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.ts) |
| [Search Filter Chips component](content-services/components/search-filter-chips.component.md) | Represents a chip based container component for custom search and faceted search settings. | [Source](../lib/content-services/src/lib/search/components/search-filter-chips/search-filter-chips.component.ts) |
@@ -357,6 +356,7 @@ for more information about installing and using the source code.
| [Base Card View Content Update interface](content-services/interfaces/base-card-view-content-update.interface.md) | Specifies required properties and methods for Card View Content Update service. | |
| Extends from BaseCardViewUpdate. | [Source](../lib/content-services/src/lib/interfaces/base-card-view-content-update.interface.ts) | |
| [Search widget interface](content-services/interfaces/search-widget.interface.md) | Specifies required properties for Search filter component widgets. | [Source](../lib/content-services/src/lib/search/models/search-widget.interface.ts) |
| [Content Metadata Custom Panel interface](content-services/interfaces/content-metadata-custom-panel.interface.md) | Specifies required properties for metadata custom panel. | [Source](../lib/content-services/src/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.ts) |
### Models
@@ -29,6 +29,7 @@ export interface AspectListDialogComponentData {
overTableMessage: string;
select: Subject<string[]>;
nodeId?: string;
excludedAspects?: string[];
}
```
@@ -41,6 +42,7 @@ The properties are described in the table below:
| overTableMessage | `string` | "" | Text that will be showed on the top of the aspect list table |
| select | [`Subject<Node>`](https://github.com/Alfresco/alfresco-js-api/blob/develop/src/api/content-rest-api/docs/Node.md) | | Event emitted with the current node selection when the dialog closes |
| nodeId | `string` | "" | Identifier of a node to apply aspects to. |
| excludedAspects | `string[]` | undefined | List of aspects' ids which should not be displayed. |
If you don't want to manage the dialog yourself then it is easier to use the
[Aspect List component](aspect-list.component.md), or the
@@ -30,6 +30,7 @@ The aspect are filtered via the app.config.json in this way :
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| nodeId | `string` | "" | Node Id of the node that we want to update |
| excludedAspects | `string[]` | undefined | List of aspects' ids which should not be displayed. |
### Events
@@ -27,6 +27,7 @@ Displays and edits metadata related to a node.
- [Use chips for multi value properties](#use-chips-for-multi-value-properties)
- [Copy to Clipboard on click](#copy-to-clipboard-on-click)
- [Search select options (ACS 7+)](#search-select-options-acs-7)
- [Custom metadata panels](#custom-metadata-panels)
## Basic Usage
@@ -53,6 +54,7 @@ Displays and edits metadata related to a node.
| readOnly | `boolean` | false | (optional) This flag sets the metadata in read only mode preventing changes. |
| displayDefaultProperties | `boolean` | | (optional) This flag displays/hides the metadata properties. |
| editable | `boolean` | | (optional) This flag toggles editable of content. |
| customPanels | [`ContentMetadataCustomPanel`](../interfaces/content-metadata-custom-panel.interface.md)`[]` | | (optional) List of custom metadata panels to be displayed as [`Dynamic components`](../../extensions/components/dynamic.component.md). |
### Events
@@ -438,3 +440,7 @@ When the list of values is too long, the options selection panel will be enhance
```
![Chips for multi value properties](../../docassets/images/adf-search-select.png)
## Custom metadata panels
If there is a need to display some custom node properties that require additional UI or data to be fetched you can define custom metadata panels for the metadata component. After creating custom component to be displayed it has to be registered in [Extension Service](../../extensions/services/extension.service.md). Both `panelTitle` and `component` properties have to be defined.
@@ -60,6 +60,8 @@ Displays the documents from a repository.
| ---- | ---- | ------------- | ----------- |
| additionalSorting | [`DataSorting`](../../../lib/core/src/lib/datatable/data/data-sorting.model.ts) | | Defines default sorting. The format is an array of strings `[key direction, otherKey otherDirection]` i.e. `['name desc', 'nodeType asc']` or `['name asc']`. Set this value if you want a base rule to be added to the sorting apart from the one driven by the header. |
| allowDropFiles | `boolean` | false | When true, this enables you to drop files directly into subfolders shown as items in the list or into another file to trigger updating it's version. When false, the dropped file will be added to the current folder (ie, the one containing all the items shown in the list). See the [Upload directive](../../core/directives/upload.directive.md) for further details about how the file drop is handled. |
| blurOnResize | `boolean` | true | Toggles blur when columns of the list are being resized. |
| columnsPresetKey | `string` | | Key of columns preset set in extension.json|
| contentActions | `boolean` | false | Toggles content actions for each row |
| contentActionsPosition | `string` | "right" | Position of the content actions dropdown menu. Can be set to "left" or "right". |
| contextMenuActions | `boolean` | false | Toggles context menus for each row |
@@ -70,8 +72,10 @@ Displays the documents from a repository.
| headerFilters | `boolean` | false | Toggles the header filters mode. |
| imageResolver | `any \| null` | null | Custom function to choose image file paths to show. See the [Image Resolver Model](image-resolver.model.md) page for more information. |
| includeFields | `string[]` | | Include additional information about the node in the server request. For example: association, isLink, isLocked and others. |
| isResizingEnabled | `boolean` | false | Toggles column resizing for document list. |
| loading | `boolean` | false | Toggles the loading state and animated spinners for the component. Used in combination with `navigate=false` to perform custom navigation and loading state indication. |
| locationFormat | `string` | "/" | The default route for all the location-based columns (if declared). |
| maxColumnsVisible | `number` | | Limit of possible visible columns, including "$thumbnail" column if provided |
| maxItems | `number` | | Default value is stored in the user preference settings. Use this only if you are not using pagination. |
| multiselect | `boolean` | false | Toggles multiselect mode |
| navigate | `boolean` | true | Toggles navigation to folder content or file preview |
@@ -76,7 +76,7 @@ items in the list.
- [Search Configuration Guide](../../user-guide/search-configuration-guide.md)
- [Search filter chips component](search-filter-chips.component.md)
- [Search filter component](search-filter.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -50,7 +50,7 @@ Represents an input with autocomplete options.
- [Search Filter Autocomplete Chips component](search-filter-autocomplete-chips.component.md)
- [Search Logical Filter component](search-logical-filter.component.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -1,47 +0,0 @@
---
Title: Search date range advanced component
Added: v6.2.0
Status: Active
Last reviewed: 2023-07-10
---
# [Search date range advanced component](../../../lib/content-services/src/lib/search/components/search-date-range-advanced-tabbed/search-date-range-advanced/search-date-range-advanced.component.ts "Defined in search-date-range-advanced.component.ts")
Represents an advanced date range component for
the [SearchAdvancedDateRangeTabbedComponent](search-date-range-advanced-tabbed.component.md).
![Date Range Advanced Widget](../../docassets/images/search-date-range-advanced.png)
## Basic usage
```html
<adf-search-date-range-advanced></adf-search-date-range-advanced>
```
## Class Members
### Properties
| Name | Type | Description |
|--------------|-------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| field | string | Field to apply the query to. Required value |
| maxDate | string | A fixed date (default format: dd-MMM-yy) or the string `"today"` that will set the maximum searchable date. Default is today. |
| dateFormat | string | Date format. Dates used by the datepicker are Javascript Date objects, using [date-fns](https://date-fns.org/v2.30.0/docs/format) for formatting, so you can use any date format supported by the library. Default is 'dd-MMM-yy (sample date - 07-Jun-23) |
| initialValue | SearchDateRangeAdvanced | Initial value for the component |
### Events
| Name | Type | Description |
|---------------------|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| changed | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<Partial<SearchDateRangeAdvanced>>` | Emitted whenever a change is made in the component values. Emits the changes being made in the component. |
| valid | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<boolean>` | Emitted whenever a change is made in the component values. Emits a flag indicating whether the current state of the component is valid or not. |
## Details
This component lets the user choose a variety of options to perform date related operations.
- Anytime - No date related data will be returned. This option is selected by default
- In the last - Allows user to perform date related operations over a period of time. The user can select the length of the period from current time,
as well as its unit. Currently, 3 units are supported - Days, Weeks, and Months.
- Between - Allows the user to select a range of dates to perform operations on.
@@ -1,16 +1,15 @@
---
Title: Search date range advanced tabbed component
Title: Search date range tabbed component
Added: v6.2.0
Status: Active
Last reviewed: 2023-07-10
---
# [Search date range advanced tabbed component](../../../lib/content-services/src/lib/search/components/search-date-range-advanced-tabbed/search-date-range-advanced-tabbed.component.ts "Defined in search-date-range-advanced-tabbed.component.ts")
# [Search date range tabbed component](../../../lib/content-services/src/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.ts "Defined in search-date-range-tabbed.component.ts")
Represents a tabbed advanced date range [search widget](../../../lib/content-services/src/lib/search/models/search-widget.interface.ts) for
the [Search Filter component](search-filter.component.md).
Represents a tabbed date range [search widget](../../../lib/content-services/src/lib/search/models/search-widget.interface.ts) for the [Search Filter component](search-filter.component.md).
![Date Range Advanced Widget](../../docassets/images/search-date-range-advanced-tabbed.png)
![Date Range Tabbed Widget](../../docassets/images/search-date-range-tabbed.png)
## Basic usage
@@ -23,7 +22,7 @@ the [Search Filter component](search-filter.component.md).
"name": "Date",
"enabled": true,
"component": {
"selector": "date-range-advanced",
"selector": "date-range",
"settings": {
"dateFormat": "dd-MMM-yy",
"maxDate": "today",
@@ -51,7 +50,7 @@ the [Search Filter component](search-filter.component.md).
## Details
This component creates a tabbed layout where each tab consists of the [SearchDateRangeAdvanced](./search-date-range-advanced-tabbed.component.md) component, which allows user to create a query containing multiple date related queries in one go.
This component creates a tabbed layout where each tab consists of the [SearchDateRange](./search-date-range.component.md) component, which allows user to create a query containing multiple date related queries in one go.
See the [Search filter component](search-filter.component.md) for full details of how to use widgets in a search query.
@@ -70,7 +69,7 @@ in the `dateFormat` and in the `maxDate` setting:
"name": "Date",
"enabled": true,
"component": {
"selector": "date-range-advanced",
"selector": "date-range",
"settings": {
"dateFormat": "dd-MMM-yy",
"maxDate": "02-May-23",
@@ -87,7 +86,7 @@ in the `dateFormat` and in the `maxDate` setting:
}
```
The [SearchDateRangeAdvanced](./search-date-range-advanced-tabbed.component.md) component allows 3 different kinds of date related operations to be performed.
The [SearchDateRange](./search-date-range.component.md) component allows 3 different kinds of date related operations to be performed.
Based on what information is provided to that component, this component will create different kinds of queries -
- Anytime - No date filters are applied on the `field`. This option is selected by default
@@ -105,7 +104,6 @@ The queries generated by this filter when using the 'In the last' or 'Between' o
- [Search Query Builder service](../services/search-query-builder.service.md)
- [Search Widget Interface](../interfaces/search-widget.interface.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -1,88 +1,49 @@
---
Title: Search date range component
Added: v2.4.0
Added: v6.2.0
Status: Active
Last reviewed: 2018-06-11
Last reviewed: 2023-07-10
---
# [Search date range component](../../../lib/content-services/src/lib/search/components/search-date-range/search-date-range.component.ts "Defined in search-date-range.component.ts")
# [Search date range component](../../../lib/content-services/src/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.ts "Defined in search-date-range.component.ts")
Implements a [search widget](../../../lib/content-services/src/lib/search/search-widget.interface.ts) for the [Search Filter component](search-filter.component.md).
Represents a date range component for the [SearchDateRangeTabbedComponent](search-date-range-tabbed.component.md).
![Date Range Widget](../../docassets/images/search-date-range.png)
NOTE: As of v6.5.0, the settings configuration for the original SearchDateRangeComponent have changed. If you have been using this component since
before that release, please ensure that your component configuration is updated according to the new settings listed below.
## Basic usage
```json
{
"search": {
"categories": [
{
"id": "createdDateRange",
"name": "Created Date (range)",
"enabled": true,
"component": {
"selector": "date-range",
"settings": {
"field": "cm:created"
}
}
}
]
}
}
```html
<adf-search-date-range></adf-search-date-range>
```
### Settings
## Class Members
| Name | Type | Description |
| ---- | ---- | ----------- |
| field | string | Field to apply the query to. Required value |
| dateFormat | string | Date format. Dates used by the datepicker are [Moment.js](https://momentjs.com/docs/#/parsing/string-format/) instances, so you can use any date format supported by Moment. Default is 'DD/MM/YYYY'. |
| maxDate | string | A fixed date or the string `"today"` that will set the maximum searchable date. Default is no maximum. |
| hideDefaultAction | boolean | Show/hide the [widget](../../../lib/testing/src/lib/core/pages/form/widgets/widget.ts) actions. By default is false. |
### Properties
| Name | Type | Description |
|--------------|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| field | string | Field to apply the query to. Required value |
| maxDate | string | A fixed date (default format: dd-MMM-yy) or the string `"today"` that will set the maximum searchable date. Default is today. |
| dateFormat | string | Date format. Dates used by the datepicker are Javascript Date objects, using [date-fns](https://date-fns.org/v2.30.0/docs/format) for formatting, so you can use any date format supported by the library. Default is 'dd-MMM-yy (sample date - 07-Jun-23) |
| initialValue | SearchDateRange | Initial value for the component |
### Events
| Name | Type | Description |
|---------------------|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| changed | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<Partial<SearchDateRange>>` | Emitted whenever a change is made in the component values. Emits the changes being made in the component. |
| valid | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<boolean>` | Emitted whenever a change is made in the component values. Emits a flag indicating whether the current state of the component is valid or not. |
## Details
This component lets the user select a range between two dates based on the particular `field`.
See the [Search filter component](search-filter.component.md) for full details of how to use widgets
in a search query.
This component lets the user choose a variety of options to perform date related operations.
### Custom date format
You can set the date range picker to work with any date format your app requires. You can use
any date format supported by [Moment.js](https://momentjs.com/docs/#/parsing/string-format/)
in the `dateFormat` and in the `maxDate` setting:
```json
{
"search": {
"categories": [
{
"id": "createdDateRange",
"name": "Created Date (range)",
"enabled": true,
"component": {
"selector": "date-range",
"settings": {
"field": "cm:created",
"dateFormat": "DD-MMM-YY",
"maxDate": "02-Mar-20"
}
}
}
]
}
}
```
## See also
- [Search Configuration Guide](../../user-guide/search-configuration-guide.md)
- [Search filter chips component](search-filter-chips.component.md)
- [Search filter component](search-filter.component.md)
- [Search check list component](search-check-list.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
- [Search text component](search-text.component.md)
- Anytime - No date related data will be returned. This option is selected by default
- In the last - Allows user to perform date related operations over a period of time. The user can select the length of the period from current time,
as well as its unit. Currently, 3 units are supported - Days, Weeks, and Months.
- Between - Allows the user to select a range of dates to perform operations on.
@@ -59,7 +59,7 @@ See the [Search Chip Autocomplete Input component](search-chip-autocomplete-inpu
- [Search Chip Autocomplete Input component](search-chip-autocomplete-input.component.md)
- [Search Chip Input component](search-chip-input.component.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -70,7 +70,7 @@ here is the [example configuration](https://github.com/Alfresco/alfresco-ng2-com
- [Search Query Builder service](../services/search-query-builder.service.md)
- [Search Widget Interface](../interfaces/search-widget.interface.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -34,7 +34,7 @@ with the name input property being assigned the value of whatever name should be
- [Search Widget Interface](../interfaces/search-widget.interface.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range advanced component](search-date-range-advanced.component.md)
- [Search date range component](search-date-range.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -36,8 +36,8 @@ to build and execute the query.
- [Search Sorting Picker Component](search-sorting-picker.component.md)
- [Search Widget Interface](../interfaces/search-widget.interface.md)
- [Search check list component](search-check-list.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range advanced component](search-date-range-advanced.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -52,7 +52,7 @@ This component lets the user provide logical conditions to apply to each `field`
- [Search Query Builder service](../services/search-query-builder.service.md)
- [Search Widget Interface](../interfaces/search-widget.interface.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -75,7 +75,7 @@ cm:content.size:[0 TO 100]
- [Search filter chips component](search-filter-chips.component.md)
- [Search filter component](search-filter.component.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -54,7 +54,7 @@ Allows to search by file size and type.
- [Search Query Builder service](../services/search-query-builder.service.md)
- [Search Widget Interface](../interfaces/search-widget.interface.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -66,7 +66,7 @@ buttons as appropriate.
- [Search filter chips component](search-filter-chips.component.md)
- [Search filter component](search-filter.component.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search slider component](search-slider.component.md)
- [Search text component](search-text.component.md)
@@ -73,7 +73,7 @@ or zero and the corresponsing query fragment is removed from the query.
- [Search filter chips component](search-filter-chips.component.md)
- [Search filter component](search-filter.component.md)
- [Search check list component](search-check-list.component.md)
- [Search date range component](search-date-range.component.md)
- [Search date range tabbed component](search-date-range-tabbed.component.md)
- [Search number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search text component](search-text.component.md)

Some files were not shown because too many files have changed in this diff Show More