Compare commits

...
194 Commits
Author SHA1 Message Date
Eugenio Romano b0587da7b7 Update RelNote310.md 2019-03-29 17:29:50 +00:00
Eugenio Romano 3a79bdbb91 3.1.0 version package.json (#4521) 2019-03-29 16:49:19 +00:00
Eugenio Romano eb18af8945 fix doc small issue 2019-03-29 16:24:03 +00:00
Denys Vuika 3b53184598 info drawer fixes (#4529) 2019-03-29 16:09:54 +00:00
davidcanonieto be904dbe9b [ADF-4264] Fix content node selector breadcrumb and styling (#4527) 2019-03-29 15:16:28 +00:00
Suzana Dirla 888113fdc2 [ADF-4280] fix initial display for search-sorting-picker (#4522)
* [ADF-4280] fix initial display for search-sorting-picker

* [ADF-4280] fix unrelated error TS6133: 'renderingQueueServices' is declared but its value is never read

* [ADF-4280] update e2e test
2019-03-29 11:54:47 +00:00
Andy Stark 95ee2bca71 [ADF-4249] Doc review updates (#4524)
* [ADF-4249] Edit latest changes to release notes

* [ADF-4249] Fixed links
2019-03-29 11:54:07 +00:00
Eugenio Romano 3f05bdc009 fix lint 2019-03-29 02:51:39 +00:00
Eugenio Romano a8999b77e5 fix lint 2019-03-29 02:49:39 +00:00
Eugenio Romano ed333089cf fix lint pdf test 2019-03-29 02:26:39 +00:00
Eugenio Romano 2e151ed412 minor fix e2e and styles 2019-03-29 02:09:07 +00:00
Eugenio Romano 24dfd33544 Merge branch 'master' into development 2019-03-28 19:19:04 +00:00
Eugenio Romano dd5e0e81a4 remove unused folder 2019-03-28 19:07:55 +00:00
Eugenio Romano 944ca8e5d8 add click callback and remove icon if is not editable (#4516) 2019-03-28 18:52:43 +00:00
Francesco Corti 71fc1fd039 Release note and compatibility matrix for ADF 3.1 (#4505)
* Initial draft of the release note and compatiobility matrix.

* Release note review.

* Update RelNote310.md

* Update RelNote310.md

* Release notes review (#4519)

* Reviewed text

* Fixed Markdown and anchors

* tech part release
2019-03-28 18:40:04 +00:00
arditdomi b3c0c8380b [ADF-4324] Fix Role label in Content Services permissions (#4517) 2019-03-28 16:55:47 +00:00
arditdomi f98ea79d26 [ADF-4287] Fix tasks UI in Process Cloud (#4514)
* [ADF-4287] Fix tasks UI in Process Cloud

* [ADF-4287] Remove uneeded code
2019-03-28 16:54:33 +00:00
davidcanonieto 4a49c086a4 [ADF-4316] Regression - Fix People component layout (#4515) 2019-03-28 16:37:44 +00:00
davidcanonieto 2b4f42e042 [ADF-4325] Demo-Shell - Fix alignment in document-list (#4513) 2019-03-28 16:15:53 +00:00
davidcanonieto 55a9782960 [ADF-4301] Regression - Fix accesibility issue (#4510) 2019-03-28 12:05:08 +00:00
davidcanonieto f00ee43b60 [ADF-4305] Fix document list component styling (#4509) 2019-03-28 10:54:39 +00:00
Eugenio Romano 18bf2c58c2 add logout sso redirect e2e 2019-03-27 20:08:51 +00:00
Andy Stark ded6c4736c [ADF-4300] Updated sort properties lists with the non-filter properties (#4508) 2019-03-27 17:40:03 +00:00
Eugenio Romano df9db7981c fix tes process-filter 2019-03-27 17:38:21 +00:00
Eugenio Romano 0513548d4d fix PS filter tests 2019-03-27 16:57:38 +00:00
Andy Stark 49dab5d030 [ADF-4294] Added licence info page for 3.1 (#4507)
* [ADF-4300] Clarified info about sort properties for Edit task/proc cloud docs

* [ADF-4294] Generated new licence info page for 3.1
2019-03-27 15:04:20 +00:00
Eugenio Romano 6e4bf23d06 fix people cloud navigation e2e 2019-03-27 12:18:25 +00:00
Eugenio Romano 80aaaef65d fix part PS Cloud e2e 2019-03-26 18:05:06 +00:00
arditdomi 4a640d962d [ADF-4287] Fix tasks UI in Process Cloud (#4504) 2019-03-26 17:06:51 +00:00
Andy Stark c2d639ff66 [ADF-4300] Clarified info about sort properties for Edit task/proc cloud docs (#4503) 2019-03-26 17:01:55 +00:00
Maurizio Vitale 3897bafe0c Fix typo on startprocesscloud spec and remove useless method (#4500) 2019-03-26 14:33:16 +00:00
cristinaj 57f6532c7c Moved aps2 apps to repository (#4502) 2019-03-26 14:32:45 +00:00
Eugenio Romano 47139e6804 Update test.config.js 2019-03-26 13:36:53 +00:00
maurizio vitale 0c73851759 Enable travis on branche that contains next-release 2019-03-26 12:40:46 +00:00
Eugenio Romano 5f4fef63f1 search should not be always show 2019-03-26 12:19:32 +00:00
siva kumar 31eb1d8ee7 * Provided way to config applications from config (#4498)
editor.
2019-03-26 12:13:05 +00:00
arditdomi 0a3c4367a0 [ADF-4282] Fix document list UI when on small screen devices (#4497)
* [ADF-4282] Fix document list content UI in small resolution devices

* [ADF-4282] Fix document list content UI in small resolution devices
2019-03-26 11:41:00 +00:00
Andy Stark cec08f50d7 [ADF-4249] Updates for doc review (#4494)
* [ADF-4249] Doc review updates

* [ADF-4249] Updated doc index pages

* [ADF-4249] Minor corrections to un/claim task docs
2019-03-26 10:18:44 +00:00
siva kumar 04c6436ed2 [EditProcessFilterCloudComponent] Unit tests are failing* Fixed failing unit tests. (#4495) 2019-03-26 10:15:55 +00:00
davidcanonieto f7a07967af [ADF-4179] Fix styles of facet-buttons (#4491) 2019-03-25 18:00:38 +00:00
Andy Stark 8a86981da7 [ADF-4249] Fixed issues with ToC and auto-linking tools (#4492)
* [ADF-4249] Fixed issues with anchors in contents sections

* [ADF-4249] Removed redundant copy of edit proc filter cloud docs

* [ADF-4249] Fixed YAML template generation for accessor props

* [ADF-4249] Fixed ToC link generation

* [ADF-4249] Fixed type alias links in component docs
2019-03-25 17:56:25 +00:00
davidcanonieto dac4f1bcef Fix app layout (#4493) 2019-03-25 17:55:53 +00:00
Andy Stark fe016f2580 [ADF-4146] Added 2.6 -> 3.0 upgrade guide (#4481)
* [ADF-4146] Started upgrade guide for 2.6->3.0

* [ADF-4146] Finished upgrade guide and updated indexes

* [ADF-4146] Added lib/Yeoman update instructions

* [ADF-4146] Fixed broken links to scss files
2019-03-25 17:08:16 +00:00
Eugenio Romano 3945df4ef3 Update search-component.e2e.ts 2019-03-25 16:46:22 +00:00
Marouan Bentaleb ae1e2f6fff [ADF-4265] Automation test for search highlight (#4466) 2019-03-25 16:43:46 +00:00
davidcanonieto c1138ec08e [ADF-4281] Fix process filter cloud selection (#4490) 2019-03-25 16:42:07 +00:00
Eugenio Romano dc36082e11 [LOC-112] 3.1.0 Localization files (#4489)
* 3.1.0 Localization files

* Update ar.json
2019-03-25 16:39:20 +00:00
Eugenio Romano 967091defd add sites and supported page size configuration 2019-03-25 15:58:03 +00:00
spark66rc d215eac204 fix export tree-view component into content-services module (#4487) 2019-03-25 15:33:53 +00:00
Silviu Popa 31658c0974 [ADF-4127] ProcessServicesCloud - add claim/unclaim directive (#4464)
* [ADF-4127] ProessServicesCloud - claim task directive

* [ADF-4127] - fix doc

* [ADF-4127] - revert docs changes

* [ADF-4127] - revert doc changes

* [ADF-4127] - fix doc and reset sourceLinker.js

* [ADF-4127] - refractor task-cloud.service. add validation for claim/unclaim and fix unit tests

* [ADF-4127] - fix docs files

* [ADF-4127[ - add aditional complete task validation

* [ADF-4127] - PR changes

* [ADF-4127] - complete docs file

* [ADF-4127] - more PR changes

* [ADF-4127] - change Unclaim task name and wait for task to be claimed and unclaimed before emit the success event

* [ADF-4127] - fix unit tests
2019-03-25 12:24:26 +00:00
Silviu Popa 0b1e5d31d8 [ADF-4155] ProcessServiceCloud - show AppList when service is missing (#4462)
* [ADF-4155] ProcessServiceCloud - show AppList when service is missing

* [ADF-4155] - lint

* [ADF-4155] - move docs content

* [ADF-4155]  - reset unnecesary doc file changes

* [ADF-4155] - fix unit tests

* [ADF-4155]  AppListCloudComponent -  Fix unit test

* [ADF-4155] - remove calls reset

* [ADF-4155] - skip app list test

* [ADF-4155] - fix unit test

* [ADF-4155] -  app- list unit test
2019-03-25 11:01:43 +00:00
cristinaj 77bad96d0d [ADF-4226]Adding tests for infinite pagination. (#4428)
* Adding tests for infinite pagination.

* sustitute function

* remove wrong file

* Remove a check

* Fix after rebase
2019-03-24 23:20:18 +00:00
Eugenio Romano e3804e0e70 restore -b insight test 2019-03-24 11:19:25 +00:00
Eugenio Romano 18e276df41 remove -b process cloud test 2019-03-24 00:04:06 +00:00
Eugenio Romano 6059690e79 exclude upload folder test as far we don't find a solution in chrome 73 (#4473)
* exclude upload folder test as far we don't find a solution in chrome 73

* exclude folder drag and drop test chrome 73

* fix test search

* Update .travis.yml

* xit C279918 C279916

* fix process-service cloud application list
2019-03-23 20:32:03 +00:00
Eugenio Romano 4a32fb920f travis change 2019-03-23 20:28:03 +00:00
Eugenio Romano 6a7a9666ad rtl configuraation (#4482) 2019-03-22 15:39:27 +00:00
Eugenio Romano f9e798a18c remove duplicate import 2019-03-22 11:02:07 +00:00
Marouan Bentaleb 4235d3ca29 [ADF-3976] Update doc (#4475) 2019-03-22 10:58:15 +00:00
mhalczuk 20c8291bd8 [ADF-4478] Add missing WidgetVisibilityService export (#4479) 2019-03-22 10:58:00 +00:00
Denys Vuika 726398838a add missing service export, refs #4478 2019-03-22 09:28:47 +00:00
Denys Vuika 505aad4cb5 css fixes for datatable (#4471) 2019-03-20 21:33:06 +00:00
arditdomi b8d3a5b878 [ADF-4230] Fix pagination arrows direction when ADF set to RTL (#4469)
* [ADF-4230] Fix pagination arrows direction when ADF set to RTL

* Update pagination.component.scss
2019-03-20 18:14:04 +00:00
Andy Stark e5c7ffb314 [ADF-4249] Updates for doc review (#4470)
* [ADF-4249] Updated review checker tool to work with new doc subfolders

* [ADF-4249] Updates for doc review
2019-03-20 18:12:22 +00:00
arditdomi 10e91bed2a [ADF-4229] Fix big space issue when ADF set to RTL (#4467)
* [ADF-4229] Fix big space issue when ADF Application set to RTL

* [ADF-4229] Fix big space issue when ADF Application set to RTL

* Update layout-container.component.scss
2019-03-20 15:55:16 +00:00
siva kumar c4bd7a93ab [ADF-3986] ProcessListCloudComponent - Be able to filter process with all possible params (#4233)
* [ADF-3986][ProcessListCloudComponent] Be able to filter process with all possible params* Added missing parameters* Added unit test the recent changes* Updated docs

* * Removed unwanted appVersion from process list

* * Removed unwanted properties

* * Reverted changes related status

* Update edit-task-filter-cloud.component.ts

* Fix the task and process filters value

* Rollback the process instance id

* * Added more process list properties in the demo

* * After rebase
* Used application query api.

* * Fixed failing unit test

* * After rebase

* * Fixed message

* * Fixed conflicts.

* * Fixed Lint error

* * Documentation conflicts fixed.
2019-03-20 15:53:28 +00:00
siva kumar dccc6b8127 [ADF-3976] EditTaskComponent - Be able to customise the sorting and actions (#4251)
* [ADF-3841] Improve edit-task-filter-cloud by adding inputs to control filters, sort and actions* Provided an input to pass  sort properties* Provided an input to pass filter actions

* * Provided way to configure sort and action properties from app.config
* Updated unit tests the recent changes

* * Added missing properties* Removed unwanted properties* Provided a way to to show range when the lastModified is passed* Fixed order should be visible if sort as been passed

* * Provided way to show checkbox

* * Changed to state, assignment to status and assignee* Updated Document* Updated unit tests

* * Removed unnecessary mock object

* * Removed FilterActionType * Updated documentation

* * Modified editTaskFilterCLoud component e2e tests to the recent changes

* * Fixed e2e tests

* * Fixed failing e2e test

* * Removed unwanted comment

* * After rebase

* * After rebase

* * After rebase

* * Fixed e2e conflict
2019-03-20 15:49:54 +00:00
Maurizio Vitale 355e97ef39 Cloud people component - Fix the unit test related to the subject initialization (#4456)
* Fix the unit test related to the cloud people component

* Fix init subject and add unit test
2019-03-20 15:32:59 +00:00
Silviu Popa 997c53b47b [ADF-4233] - fixed nested menu layout for minimized sidebar menu (#4459)
* [ADF-4233] - fix layout when side menu is minimized

* [ADF-4233] - lint

* [ADF-4233] - fixed nested menu layout for minimized sidebar menu
2019-03-20 10:31:07 +00:00
siva kumar bfc4205522 [ADF-4263][EditProcessFilterCloudComponent] Unit tests are failing (#4453)
* [ADF-4263][EditProcessFilterCloudComponent] Unit tests are failing* Fixed failing unit test.

* * Fixed lint error in the group/people component.

* * Removed any type
2019-03-20 08:03:22 +00:00
Eugenio Romano 814bd46d5b fix aspect test 2019-03-20 02:10:24 +00:00
arditdomi 203dc488f8 [ADF-4199] Fix permission manager UI (#4460)
* [ADF-4199] Fix permission manager UI

* Update permission-list.component.scss
2019-03-20 01:13:43 +00:00
Eugenio Romano 561dd15b04 improve gnu scripts 2019-03-20 00:35:15 +00:00
Eugenio Romano e392d3e602 slow down clean env 2019-03-20 00:34:34 +00:00
Andy Stark 5c63b7c0f8 [ADF-4252] Added doc link fixing tool (#4461)
* [ADF-4252] Added basic fixer for link and image URLs

* [ADF-4252] Added full check to link fixing tool

* [ADF-4252] Manually replaced http Github doc URLs

* [ADF-4252] Fixed rel note doc links with tool
2019-03-19 22:17:30 +00:00
Eugenio Romano 5dd1d25371 clean env root add 2019-03-19 17:29:23 +00:00
Eugenio Romano 85f84e38ec store errors 2019-03-19 17:04:49 +00:00
Eugenio Romano 5a7fe6f499 [ADF-4267] expose stiky heder in document list (#4455)
* expose stiky heder in document list

* lint fix
2019-03-19 16:41:28 +00:00
Andy Stark 7fe066b068 [ADF-4249] Updates for doc review (#4454)
* [ADF-4249] Updates for doc review

* [ADF-4249] Clarified text slightly
2019-03-19 15:35:59 +00:00
cristinaj 34b5c5a1b3 [ADF-4099]Implement tests for The metadata group is always showed even though the properties are not there (#4421)
* Create a custom empty aspect.

* Implement empty aspect

* Add ' The aspect with empty properties is displayed' test.

* Fix lint errors

* Enabling screenshots

* no message

* Fix upload tests

* no message

* Trying to fix upload tests

* no message

* remove save

* lint

* Fix lint
2019-03-19 15:12:35 +00:00
Marouan Bentaleb 355971e0ad [ADF-4195] Automation tests for SSO login with implicitFlow false (#4410)
* [ADF-4195] Automation tests for SSO login with implicitFlow false

* rebase

* fix test sso implicit flow false

* lint fix

* fix test
2019-03-19 15:00:26 +00:00
cristinaj a04077679c [ADF-4045]Add Delete folder when infinite scrolling is enabled test. (#4400)
* Add Delete folder when infinite scrolling is enabled test.

* Changed the number of files.

* Fix lint errors

* no message

* no message

* Fix infinite-scrolling test
2019-03-19 10:22:17 +00:00
Eugenio Romano cee34922ca fix submenu 2019-03-19 01:21:14 +00:00
Eugenio Romano 2f4da55e67 [ADF-3978] execute docker step only in PR branch (#4451)
* execute docker step only in PR branch

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml
2019-03-18 18:53:40 +00:00
Eugenio Romano 43764824a2 fix test 2019-03-18 17:36:36 +00:00
Georgiana Roman aa3464a7d9 ADF-4201 About Component - added input params (#4435)
* ADF-4201 about-component added imput params

* ADF-4201 updated docs
2019-03-18 14:34:42 +00:00
davidcanonieto 3e29c7cd9d [ADF-4162] Add includeAll/exclude capabilities to metadata config (#4436)
* [ADF-4162] Add includeAll/exclude capabilities to metadata config

* Revert app config

* Update documentation

* fix schema change
2019-03-18 12:45:08 +00:00
Silviu Popa 791051edee [ADF-4128] ProcessCloud - add complete task directive (#4364)
* [ADF-4128] ProcessCloud - add complete task directive

* [ADF-4128]  ProcessCloud - fix completion functionality and add documentation

* [ADF-4128] ProcessCloud - PR changes

* [ADF-4128] ProcessCloud - lint

* [ADF-4148] ProcessServicesCloud - change layout

* [ADF-4128] fix PR changes

* [ADF-4128] - refractor complete task directive

* [ADF-4128] - fix lint

* [ADF-4128] - PR changes

* [ADF-4128] - replace isCompleted method  from service with model method

* [ADF-4128] fix unit tests

* [ADF-4128] - change travis yml

* [ADF-4128] - fix travis.yml

* [ADF-4128] - travis lint
2019-03-18 12:34:08 +00:00
Denys Vuika e586ee17d5 fix package lock 2019-03-18 12:22:21 +00:00
Silviu Popa 2adfe67e83 [ADF-4124] DemoShell - Show task-list inside process-cloud-details (#4420)
* [ADF-4124] DemoShell - Show task list inside process-cloud details

* [ADF-4124] ProcessServiceCloud - remove process header files

* Revert changes

* [ADF-4124] - add missing files

* [ADF-4124] - add process-cloud header in process details

* [ADF-4124] - change process details layout

* [ADF-4124] - lint
2019-03-18 12:10:57 +00:00
Silviu Popa 0d611030a1 [ADF-4233] DemoShell - change nested menu layout (#4438) 2019-03-18 12:08:53 +00:00
rgherghelas 5f17ee0b01 [ADF-4149] - Moved the StartTasksCloudComponent/TaskDetailsCloudComponent pages (#4407)
* moved the taskDetailsCloudComponent page and startTaskCloudComponent page

* update the import and fix tests

* update import and tests

* update exports

* update imports

* remove comment and index.ts

* update imports and class name

* remove comment

* Modify task-details-cloud-component page name in task-header-cloud-component

* update method

* remove user-info-dialog

* remove task details page

* revert task details changes

* revert changes
2019-03-18 11:58:39 +00:00
Eugenio Romano 2e9c57cf45 Update .travis.yml 2019-03-18 02:22:58 +00:00
Eugenio Romano 7cced3f55a Update .travis.yml 2019-03-18 02:13:16 +00:00
Eugenio Romano 51feafff1e Update .travis.yml 2019-03-18 01:42:08 +00:00
Eugenio Romano 9d98f3196e [NO-ISSUE] Fix Core E2E tes (#4450)
* fix Identity service in core using internal identity service in test env

* fix lint

* fix lint

* fix login

* fix travis yml

* remove log script
2019-03-18 00:18:56 +00:00
davidcanonieto 8dc9eba4c7 [ADF-3677] Add highlight configuration to SearchQueryBuilder (#4358)
* [ADF-3677] Add highlight configuration to SearchQueryBuilder

* highlight property in search

* Update files.component.ts

* remove comma

* highlight missspell

* fix schhema json highilight

* fix test

* fix lint

* fix lint

* fix lint

* fix search sorting tests

* fix search sorting

* fix lint

* remove useless test

* check for null nodes

* remove duplicated test

* lint

* fix sorting tests

* remove test not search component related
2019-03-17 17:23:07 +00:00
gmandakini d6f391c40e [ADF-4106] Permissions Component automated (#4449)
* Permissions Component automated

* linting fixes

* making tests stable

* making tests stable

* making tests stable
2019-03-17 01:15:37 +00:00
Denys Vuika 94cd14bf71 fix responsiveness issues for empty screen (#4389)
* fix responsiveness issues for empty screen

* fix test

* fix test
2019-03-16 15:23:39 +00:00
gmandakini fc2132e248 [AD-4222] e2e compilation fixes (#4426)
* Run tsc on the e2e folder and as part of the sh script

* in progress

* in progress

* in progress

* in progress

* in progress

* in progress

* fixing compile errors

* fixing compile errors.

* Fix the apiService and exclude nodemodules

* Add semicolumn

* fix import

* fix configuration test package

* fix

* fix errors

* fix typescript

* restore packages.json

* fix errors after rebase

* fix type prolems and add protracotr path mapping

* remove undefined
2019-03-15 23:11:58 +00:00
davidcanonieto f891ea3df5 Fix redirection to tasks tab on process task click (#4446)
* [ADF-4076] Fix redirection to tasks tab on process task click

* [ADF-4076] Remove unneeded code
2019-03-15 17:49:18 +00:00
Andy Stark dafda33740 [ADF-588] Explicitly added task/process list model classes to docs (#4447)
* [ADF-588] Added short clarifications of where task/proc list props are defined

* [ADF-588] Added short clarifications of where task/proc list props are defined

* [ADF-588] Fixed links and merge glitches
2019-03-15 17:48:44 +00:00
Andy Stark 74738f1f8b [ADF-4249] Started doc review for 3.1 (#4448)
* [ADF-4249] Reviewed new proc cloud component docs

* [ADF-4249] Reviewed Preview extension component docs
2019-03-15 17:48:20 +00:00
Andy Stark 48b685fe25 [ADF-4160] Fixed default props description for cont metadata card docs (#4445) 2019-03-15 17:47:37 +00:00
arditdomi e7197b9bd2 [ADF-1954] Fix breadcrumb on IE 11 (#4442) 2019-03-15 12:06:39 +00:00
davidcanonieto 60ed8655e6 [ADF-4205] Fix permission error snackbar (#4444) 2019-03-15 11:47:40 +00:00
Eugenio Romano cd24875e5d add clean env script 2019-03-15 11:41:20 +00:00
Eugenio Romano 9a49fc3dbc new dialog import js-api 2019-03-15 00:08:30 +00:00
Eugenio Romano 88870cd4da [ADF-NO-ISSUE] update e2e js-api 3 (#4124)
* update e2e js-api node

* fix protractor import

* use new client

* fix protractor conf comaptibility

* processClient fix

* new js-api

* fix new import

* fix identity call

* fix identity call

* remove aut param

* fix model

* fix model

* increase timeout CS bigFile

* Refactor task details e2e tests

* Fix e2e test

* Rebase branch
2019-03-15 00:06:55 +00:00
Eugenio Romano 8126dfc6cb restore two step docker deploy 2019-03-14 23:54:36 +00:00
davidcanonieto ebf6610cd0 [ADF-4076] Fix redirection to tasks tab on process task click (#4437) 2019-03-14 22:04:35 +00:00
Andy Stark 31479cfaa4 [ADF-4152] Restructured remaining doc folders and fixed links (#4441)
* [ADF-4152] Moved proc services cloud docs to subfolders

* [ADF-4152] Fixed links in PS cloud docs

* [ADF-4152] Added subfolders and checked links for extensions and insights docs

* [ADF-4152] Moved proc services cloud docs to subfolders

* [ADF-4152] Fixed links in PS cloud docs

* [ADF-4152] Added subfolders and checked links for extensions and insights docs

* [ADF-4152] Fixed links in Proc cloud, Insights and Extensions docs

* [ADF-4152] Updated links in user guide

* [ADF-4152] Fixed broken links in tutorials

* [ADF-4152] Fixed remaining links in core docs

* [ADF-4152] Fixed remaining links in proc services docs

* [ADF-4152] Fixed remaining links in content services docs

* [ADF-4152] Fixed links in breaking changes docs

* [ADF-4152] Updated main README index page

* [ADF-4152] Fixed glitches with preview ext component docs
2019-03-14 22:01:55 +00:00
davidcanonieto 8edf92f325 [ADF-4205] Fix console error when adding user or group in Permissions Page (#4440) 2019-03-14 22:01:29 +00:00
Andy Stark e49ba58d65 [ADF-4239] Updated and moved ADF introduction page (#4434)
* [ADF-4239] Updated introduction text and moved to docs folder

* [ADF-4239] Fixed bad link
2019-03-14 11:43:07 +00:00
Andy Stark ae12e3f019 [ADF-4228] Started basic doc for RTL support (#4432) 2019-03-14 11:36:24 +00:00
gmandakini ced2e05d10 ADF-3735 automated (#4433) 2019-03-14 11:22:45 +00:00
Eugenio Romano f1014706cf squash task pipeline 2019-03-14 03:20:19 +00:00
Eugenio Romano 7bc2fafcca fix metadata test 2019-03-14 02:30:24 +00:00
Eugenio Romano 4c8bd831f0 fix pr deploy script 2019-03-13 21:04:17 +00:00
Andy Stark dfea5c2f04 [ADF-4152] Restructured Content Services docs (#4429)
* [ADF-4152] Moved content services docs to subfolders

* [ADF-4152] Manual URL fixes for cont services docs

* [ADF-4152] Moved content services docs to subfolders

* [ADF-4152] Manual URL fixes for cont services docs

* [ADF-4152] Updated doc index pages for content services
2019-03-13 18:44:37 +00:00
siva kumar bc5208b767 [ADF-3977] EditProcessComponent - Be able to change the sort and actions (#4250)
* [ADF-3883] Improve edit-process-filter-cloud by adding inputs to control filters, sort and actions

* Provided an input to pass sort properties
* Provided an input to pass filter actions
* Provided a way to configure sort properties and actions

* * Updated unit tests to the recent changes
* Fixed order should be visible if sort as been added to the config
* Fixed if lastModified if defined the component should show the range lastModifiedTo lastModifiedFrom
* Updated doc

* * Removed ProcessFilterActionType* Renamed state to status* Refactored edit-process-filter * Updated doc

* * After rebase

* * Fixed editProcessFilter e2e tests.

* * Removed unwanted comment

* * After rebase

* * After rebase

* * After rebase
2019-03-13 17:10:19 +00:00
Eugenio Romano 2b5b915d55 not store locale if not present in app.config.json or changed by the language picker (#4431) 2019-03-13 16:50:34 +00:00
Marouan Bentaleb 5193a42983 [ADF-4197] Automation test for redirection after page reload (#4412)
* [ADF-4197] Automation test for redirection after page reload

* Removing browser sleep
2019-03-13 14:54:04 +00:00
davidcanonieto 250e5e52c4 [ADF-4196] Improve Datatable component row click selection (#4411) 2019-03-13 12:12:33 +00:00
Silviu Popa 9c33eeeb81 [ADF-4068] ProcessServices/TaskDetails - disable save button on validation errors (#4414)
* [ADF-4068] StartTaskComponent - fix name and description empty space validation

* [ADF-4068] StartTakComponent - add unit test

* [ADF-4068] ProcessServices - add description validaton on edit task form

* [ADF-4068] ProcessServies - fix build issue

* [ADF-4068] ProcessServices - disable save button on validation errors

* [ADF-4068] - lint

* [ADf-4068] - fix e2e
2019-03-13 11:56:31 +00:00
Silviu Popa 3a7376af9f [ADF-4159] DemoShell - add nested menu on ProcessCloud (#4385)
* [ADF-4159] DemoShell - add nested menu on ProcessCloud

* [ADF-4159] DemoShell - fix e2e tests

* [ADF-4159] DemoShell fix typo

* [ADF-4159] - fix e2e lint

* [ADF-4159] - change app nested menu for process list

* [ADF-4159] - lint
2019-03-13 11:37:00 +00:00
Deepak Paul 574cc9c1a6 [ADF-4123] Process Cloud Instance Details Header component (#4418)
* [ADF-4123] Added service to get process instance details

* [ADF-4123] Added process header component

* [ADF-4123] Added more properties to model

* [ADF-4123] Exported process sidebar

* [ADF-4123] Added new process instance details demo component

* [ADF-4123] Added tests for module

* [ADF-4123] Added tests for process-header

* [ADF-4123] Added documentation
2019-03-13 11:33:40 +00:00
Vito 0b218f0978 [ADF-4223] Exporting folder-name validators to allow reuse (#4424) 2019-03-13 10:48:25 +00:00
gmandakini fca9e51c16 [ADF-3401] Filter facets are not reseted when updating the search query (#4425)
* C299200 automated

* Test package version

* Save the head of development into a tmp file (this will avoid error in case of rebase meanwhile the pipeline is running)
Remove the -gnu in the wrong position

* Update test-e2e-lib.sh

* Print adf version on each step

* Print adf version on each step

* Add console log and skip install on the unit test demo shell

* Remove the print dependendy
2019-03-13 10:39:55 +00:00
Eugenio Romano 3136580bba [ADF-4225] Viewer extension accept multiple file type (#4427)
* viewer extension can target multiple types.

* fix lint
2019-03-12 21:18:09 +00:00
Andy Stark 5fc05da7aa [ADF-4152] Updated folder structure of core docs (#4415)
* [ADF-4152] Moved core library docs into subfolders

* [ADF-4152] Moved core library docs into subfolders

* [ADF-4152] Manual fixes to core doc file links

* [ADF-4152] Further automatic + manual link tidying
2019-03-12 14:20:20 +00:00
gmandakini 285e56e9fb [ADF-4166] move app-list-cloud.page to adf-testing (#4404)
* in progress

* moved UserInfoDialogPage, AppListCloudPage, LoginSSOPage and TabsPage. ADF-4166

* moved UserInfoDialogPage, AppListCloudPage, LoginSSOPage and TabsPage. ADF-4166

* linting fixes

* crc's

* crc's

* added adf-testing to package.json file

* fix for failing unit tests

* fixes

* test failure fixes

* test failure fixes

* reverted ot old location pages/adf/navigationBarPage

* added the testing variable to affected-libs file and changed the version to 3.1.0-beta5 and added the missing adf-content-services dependency.

* Fix the material export

* Remove the reference to the tse2econfig not allowed

* fix failing test

* Update user-info.page.ts
2019-03-12 10:00:09 +00:00
Marouan Bentaleb 4feb8c3f95 [ADF-4208] Make the pipeline green again (#4419)
* [ADF-4209] Fix Core tests

* [ADF-4209] Fix Core tests

* [ADF-4218] Fix Insight tests

* Fix process-services-cloud tests
2019-03-12 09:55:50 +00:00
gmandakini 117170a433 [ADF-4083] Parse 'escaped' empty spaced labels inside facetFields (#4390)
* C299124 - automated

* C299124 - automated
2019-03-08 15:38:12 +00:00
cristinaj 88b49b8c66 Remove wait for spinner from editTaskFilterCloudComponent test (#4408) 2019-03-08 14:30:46 +00:00
gmandakini 10699cb7b0 [ADF-3989] appname duplicated after switching between saved filters (#4395)
* C297646 - automated

* linting fixes
2019-03-08 13:30:50 +00:00
Andy Stark 8b8f1e147f [ADF-4190] Fixed bad auto-generated URLs (#4413)
* [ADF-4190] Tool + config updates to fix Typedoc issues

* [ADF-4190] Added missing AppDefinitionRepresentation link
2019-03-08 13:29:06 +00:00
cristinaj ec13d88e61 [ADF-4061]Automate test for navigating to a non empty folder on last page (#4392)
* Create folders

* Add navigation to a non-empty folder test
2019-03-08 13:27:46 +00:00
Marouan Bentaleb 27c6e18a10 [ADF-4089] Refactoring ContentListPage (#4162)
* [ADF-NO-ISSUE] Refactoring ContentListPage

* Applying changes

* [ADF-4089] contentListPage refactoring

* Fixing missing dependencies

* Fixing core and search failing tests

* Fix tooltip document-list tests

* no message
2019-03-08 10:49:23 +00:00
davidcanonieto 88ef01011e [ADF-3945] Add Infinite Pagination to configuration editor (#4388)
* [ADF-3945] Add Infinite Pagination to configuration editor

* [ADF-3945] Switch to user preference instead of app config

* Update content-node-selector-panel.component.scss
2019-03-08 00:15:26 +00:00
Eugenio Romano 9344dbe969 Update cspell.json 2019-03-06 20:36:01 +00:00
Andy Stark e74f545aa8 [ADF-4152] Updated doc folder structure and index tool (#4403)
* [ADF-4152] Initial GraphQL implementation

* [ADF-4152] Schema updates

* [ADF-4152] Rounded out basic fields

* [ADF-4152] Added basic template functionality

* [ADF-4152] Added full template generation

* [ADF-4152] Moved proc services doc files to new folders

* [ADF-4152] Updated README.md with section from new template

* [ADF-4152] Fixed another problem with relative URLs

* [ADF-4152] Fixed links and some more bugs

* [ADF-4152] Removed proc services folder README file
2019-03-06 20:23:31 +00:00
Andy Stark 75b90c5e08 [ADF-4189] Improved document list prop description (#4405) 2019-03-06 17:12:22 +00:00
Silviu Popa f7a399c3e8 [ADF-4048] PeopleCloudComponent - improve preselect input functionality (#4286)
* fix conflicts

* [ADF-4048] - fix add same user on multiple selection

* [ADF-4048] PeopleCloudComponent change validation users functionality

* [ADF-4048] PeopleCloudComponent - focus input when preselected user exists

* [ADF-4048] PeopleCloudComponent - pull request changes

* [ADF-4048] - lint

* [ADF-4048] PeopleCloud - PR changes

* [ADF-4048] - fix conflicts

* [ADF-4048] fx lint
2019-03-06 13:26:51 +00:00
davidcanonieto 5d3f47eacf [ADF-4122] Improve Datatable and fix broken e2e tests (#4398)
* [ADF-4122] Improve Datatable and fix broken e2e tests

* [ADF-4122] Fix e2e element selector
2019-03-06 13:19:55 +00:00
Denys Vuika f6341e31a0 [ADF-4183] improved auth redirection (#4399)
* base auth guard implementation

* remove code duplication

* unit test fixes
2019-03-06 13:14:23 +00:00
Eugenio Romano bf331f1145 enable arabic in the menu 2019-03-06 11:23:27 +00:00
Eugenio Romano aba5674e80 [ADF-3735] SSO Role guard and Login error improvement (#4377)
* fix lint and doc

* Update auth-guard-sso-role.service.md

* Update auth-guard-sso-role.service.md

* fix json en

* restore en.json file
2019-03-06 09:53:43 +00:00
Eugenio Romano 0802ff7e7d arabic support (#4397) 2019-03-05 17:33:29 +00:00
davidcanonieto a0007d82b2 [ADF-4156] Regression - Return ISO format for date properties on Task List Component (#4393) 2019-03-05 14:51:48 +00:00
Suzana Dirla fb11cc879d [ADF-3401] Search filters - fix facet update (#4249)
* [ADF-3401] refactoring - different way to call the facet parsers

* [ADF-3401] fix duplicate search call

* [ADF-3401] add new fields and buckets from the response

- If a facet is already displayed, just update the bucket count, else add the new facet to the responseFields
- this way any existing filters are preserved, the collapsed state is preserved, facet selection is preserved

* [ADF-3401] reset & clear all selections buttons

* [ADF-3401] delete facets that are not in the response

- for better UX, prevent deletion of items from the category where there is a selected item
- clean-up reset buttons

* [ADF-3401] apply filters to the newly created items

* [ADF-3401] update tests

* [ADF-3401] fix after rebase

* [ADF-3401] Code refactoring

* [ADF-3401] show count value inside tooltip

* [ADF-3401] translatable strings

* [ADF-3401] move 'Clear all selections' button to search-chip-list

* [ADF-3401] option to configure having a reset button for filters

* [ADF-3401] code cleanup and improvements after review

* Update lib/content-services/search/components/search-filter/search-filter.component.ts

Co-Authored-By: suzanadirla <dirla.silvia.suzana@gmail.com>

* [ADF-3401] Better namings

* fix failing e2e tests on search radio

* [ADF-3401] add documentation for search resetButton
2019-03-05 14:08:38 +00:00
Silviu Popa 933a7256a3 [ADF-4068] ProcessServices - add description validation on Edit Task Form (#4366)
* [ADF-4068] StartTaskComponent - fix name and description empty space validation

* [ADF-4068] StartTakComponent - add unit test

* [ADF-4068] ProcessServices - add description validaton on edit task form

* [ADF-4068] ProcessServies - fix build issue
2019-03-05 12:37:18 +00:00
Eugenio Romano 1fef1e14ff split upload files to optimize re-execute in case of failing 2019-03-05 00:05:50 +00:00
Eugenio Romano dc785ab445 reverted [ADF-4122] Improve ellipsis class in Datatable component (#4386) 2019-03-04 22:48:07 +00:00
Eugenio Romano bf09b6b25b fix spellcheck 2019-03-04 19:48:02 +00:00
gmandakini cc1accff28 Automate ADF-3497 - Facet intervals on search filter (#4379) 2019-03-04 17:40:31 +00:00
davidcanonieto f8d183b606 [ADF-4122] Improve ellipsis class in Datatable component (#4386) 2019-03-04 17:37:33 +00:00
Eugenio Romano bce7c0993e change cancel big file upload e2e strategy 2019-03-04 17:09:57 +00:00
cristinaj 64cd91d66d [ADF-3873] Implement automated tests for edit process filter cloud (#4118)
* Implement edit process filter tests

* Added tests to edit-process-filters-component.e2e.ts

* Fix lint error

* Rebase

* Fixing a part of the existent tests for edit-process

* no message

* Fixing the tests.

* Fixing edit process filter tests

* Fixing lint errors.

* Remove some waits

* Removed some more waits

* Delete a file that is not used.

* Fix edit process filter tests

* Update editProcessFilterCloudComponent.ts

* Remove checkSpinnerIsDisplayed() check from tests

* Moved clickCustomiseFilterHeader() to beforeEach()
2019-03-04 16:47:58 +00:00
Eugenio Romano b5631b9a7f pre publish script to fix the needs of removing packcage 2019-03-04 15:10:23 +00:00
Denys Vuika d6f856f1c5 [ADF-4158] improved Docker image security (#4371)
* improved Docker image security

* remove layer duplication

* update scripts
2019-03-04 11:18:32 +00:00
Eugenio Romano bbf1f20439 Update ADF packages version 3.1.0-beta4 (#4378) 2019-03-04 11:16:30 +00:00
maurizio vitale 5d697d69e3 Move the readme of testing 2019-03-03 22:30:50 +00:00
Maurizio Vitale 8ea4e164ff Add basic Readme and exclude bundle checks (#4384) 2019-03-03 21:49:23 +00:00
Maurizio Vitale cd069fbc58 Change name of testing project and bundle size (#4383) 2019-03-03 19:02:56 +00:00
Maurizio Vitale 414e4656cc Add build testing to ng packager (#4382) 2019-03-03 16:48:23 +00:00
Maurizio Vitale ce2ced97e5 Add build testing to ng packager (#4381) 2019-03-03 15:24:16 +00:00
Maurizio Vitale 0afc5e95b4 add adf-testing to the pipeline and publish (#4380) 2019-03-03 12:56:20 +00:00
gmandakini 3ac0018160 [ADF-4126] add roles filtering to people cloud component (#4338)
* in progress

* in progress testcase C297674

* linting fixes

* modularised clear field method

* made the appearance of select user dropdown work.

* in progress

* final version

* linting fixes

* linting fixes

* in progress

* in progress testcase C297674

* linting fixes

* modularised clear field method

* made the appearance of select user dropdown work.

* in progress

* final version

* linting fixes

* linting fixes

* ADF-4103 automated

* in progress

* Roles Filter automated

* async updates

* removed the identity User details

* roleId extraction done.

* linting fixes

* using constants instead of hardcoding the typing values.

* crc's

* crc's

* linting

* removed hte indexes, as api returns only 1 user record.

* fixed errors

* in progress

* redoing the tests as the PeopleGroupCloudPage has been updated.

* redoing the tests as the PeopleGroupCloudPage has been updated.
2019-03-01 23:10:00 +00:00
davidcanonieto 222b42d5b4 [ADF-3861] Make datatable 508 compliance according (#4375)
* [ADF-3861] Make datatable 508 compliance according

* [ADF-3861] Rebase branch
2019-03-01 17:57:25 +00:00
davidcanonieto 7da9bd89cb [ADF-4122] Add sticky header feature to datatable and refactor styles (#4370)
* [ADF-4122] Add sticky header config to datatable and refactor styles

* [ADF-4122] Fix core unit tests

* [ADF-4122] Commit requested changes

* [ADF-4122] Fix e2e tests

* Update docs/core/datatable.component.md

Co-Authored-By: davidcanonieto <david.cano@alfresco.com>
2019-03-01 16:23:31 +00:00
Maurizio Vitale a7d058fd2e Process Service Cloud - Add the identity user service (#4374)
* Add the identity service to cloud

* Expose the service
2019-03-01 16:19:41 +00:00
Maurizio Vitale 249d688820 adf-testing - Cloud - Move user info e2e to adf-testing (#4369)
* Move user info e2e to adf-testing

* Create testing wrapper for the api sevice
2019-03-01 16:18:53 +00:00
cristinaj 3adc569b0a [ADF-4015] Implementing edit task filter automated tests (#4337)
* Added a few test cases to cover task list and edit task filters cloud components properties.

* Add tests for task name property.

* Add processInstanceId tests

* Added lastModifiedTo and lastModifiedFrom tests.

* Added tests for all the properties

* Add selectionMode tests.

* Add selectionMode tests

* Update task-list-selection.e2e.ts

* [ADF-4015] Fix lint issues

* Using clearField

* Modified selection tests

* Fixing selection tests

* no message

* Fix spelling

* Removed a sleep from the test

* Fix siteListDropDown locator
2019-03-01 09:53:50 +00:00
davidcanonieto e08bb1ebed [ADF-4023] Demo-shell - Fix pagination in tasks list (#4372) 2019-02-28 14:39:34 +00:00
gmandakini 00ba61cdea [ADF-4105] Role Site Dropdown is Displayed (#4356)
* in progress

* C277002 - Role Site Dropdown automated.

* C277002 - Role Site Dropdown automated.

* async updates

* async updates

* in progress

* fixed errors

* Fixing tests

* fixed errors
2019-02-28 09:38:09 +00:00
Eugenio Romano 596e801283 [ADF-3444] Site list displays only a certain number of sites. (#4368)
* add infinite scrolling to sites loading

* add infinite scrolling to sites loading

* add infinite scrolling to sites loading
2019-02-27 22:25:25 +00:00
Eugenio Romano fb12da4ae0 [ADF-NO-ISSUE] remove unused pacakges (#4352)
* remove unused pacakge

* Update package.json

tsickle reintroduce
2019-02-27 11:56:22 +00:00
Marouan Bentaleb cd5870790d [ADF-4151] Automation test for code viewer (#4355) 2019-02-27 09:12:47 +00:00
cristinaj bfe046637a [ADF-3995]Implemented test cases for preserved value for process filter (#4353)
* Implemented test cases for preserved value for process filter

* Update process-custom-filters.e2e.ts
2019-02-27 09:11:14 +00:00
Silviu Popa 49edeb7468 [ADF-4153] TaskListCloud - fix details page redirect issue (#4360) 2019-02-26 23:54:42 +00:00
Suzana Dirla 9530cc3dcb [ADF-4154] add FileTypePipe to module's providers (#4362) 2019-02-26 23:53:25 +00:00
Eugenio Romano 30c5965dc4 whitelist greenkeeper 2019-02-26 12:14:40 +00:00
Eugenio Romano 3d771aef3e name update pkg stages 2019-02-26 12:10:43 +00:00
Francesco Corti 69b3591e95 uodated roadmap. (#4359) 2019-02-26 10:56:20 +00:00
Silviu Popa 898d62477e [ADF-4038] People/GroupCloudDemo - add appName filter (#4283)
* [ADF-4038] - People/Group Cloud Component add app name filter

* [ADF-4038] add unit test, modify ngOnChange appName condition

* [ADF-4038] People/GroupCloudDemo - add radio button to filter application name or roles
2019-02-26 09:41:42 +00:00
Denys Vuika 8901261ec9 Update login.component.md 2019-02-26 09:18:32 +00:00
Silviu Popa 0aaa6bea16 [ADF-4068] StartTaskComponent - fix name and description empty space … (#4351)
* [ADF-4068] StartTaskComponent - fix name and description empty space validation

* [ADF-4068] StartTakComponent - add unit test
2019-02-25 19:53:20 +00:00
Suzana Dirla 71dca95749 [ADF-4083] search facetIntervals - empty spaced labels support (#4327)
* [ADF-4083] fix space-label issue for intervals

* [ADF-4083] remove mention to [SEARCH-1487] issue

- for future reference, also check https://issues.alfresco.com/jira/browse/ADF-4144

* [ADF-4083] add missing types

* [ADF-4083] refactor method

* [ADF-4083] fix test

* [ADF-4083] small refactoring

* [ADF-4083] better param naming

* [ADF-4083] changes after rebase - keep better param naming

* [ADF-4083] fix space-label issue for the sets of intervals

* [ADF-4083] update test
2019-02-25 19:49:36 +00:00
Eugenio Romano 1142f510c0 Update RelNote300.md 2019-02-13 21:14:46 +00:00
Eugenio Romano a5348ddeaa Update RelNote300.md 2019-02-13 21:13:41 +00:00
Eugenio Romano 20f60d45e9 restore packages after release 2019-02-13 19:16:05 +00:00
Eugenio Romano d2b6bcf942 remove for release 2019-02-13 17:55:12 +00:00
Eugenio Romano 44c7669e8a update version to 3.0.0 2019-02-13 16:49:40 +00:00
925 changed files with 28048 additions and 29119 deletions
+53 -47
View File
@@ -15,7 +15,9 @@ branches:
only:
- master
- development
- /.*next-release.*/
- /.*beta.*/
- /.*greenkeeper.*/
# TRAVIS_PULL_REQUEST == false means is running on dev branch and is not a PR
stages:
@@ -50,79 +52,78 @@ jobs:
- ./scripts/update-version.sh -gnu -alpha || exit 1
- npm install
- ./scripts/lint.sh || exit 1
- npm run spellcheck || exit 1
- npm run stylelint || exit 1
- rm -rf tmp && (./scripts/smart-build.sh -b $TRAVIS_BRANCH || exit 1;);
- rm -rf tmp && mkdir tmp
- git merge-base origin/$TRAVIS_BRANCH HEAD > ./tmp/devhead.txt
- (./scripts/smart-build.sh -b $TRAVIS_BRANCH -gnu || exit 1;);
- npm run build:dist || exit 1
- ./scripts/license-list-generator.sh
- stage: Unit test
name: core
name: core and extensions
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "core$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test core --watch=false || exit 1;
fi
- stage: Unit test
name: extensions
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
fi;
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "extensions$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test extensions --watch=false || exit 1;
fi
fi;
- stage: Unit test
name: process-services
name: process-services and insights
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test process-services --watch=false || exit 1;
fi
- stage: Unit test
name: insights
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
fi;
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "insights$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test insights --watch=false || exit 1;
fi
fi;
- stage: Unit test
name: content-services
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test content-services --watch=false || exit 1;
fi
fi;
- stage: Unit test
name: process-services-cloud
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test process-services-cloud --watch=false || exit 1;
fi
fi;
- stage: Unit test
name: demo-shell
script: if ([ "$TRAVIS_BRANCH" = "master" ]); then
(./scripts/start.sh -t -ss || exit 1;);
(./scripts/start.sh -t -ss -si || exit 1;);
else
(./scripts/start.sh -dev -t -ss -vjsapi alpha || exit 1;);
fi
(./scripts/start.sh -dev -t -ss -si || exit 1;);
fi;
- stage: Update children projects dependency #Update generator-ng2-alfresco-app
name: Update Generator
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n generator-ng2-alfresco-app
- stage: Update children projects dependency # Test Update alfresco-content-app
name: Update ACA
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-content-app
- stage: Update children projects dependency # Test Update adf-app-manager-ui
name: Update adf-app-manager-ui
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n adf-app-manager-ui
- stage: Update children projects dependency # Test Update aalfresco-ng2-components
- stage: Update children projects dependency # Test Update alfresco-ng2-components
name: Update alfresco-ng2-components
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-ng2-components
- stage: Update children projects dependency # Test Update alfresco-modeler-app
name: Update alfresco modeler app
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-modeler-app
- stage: e2e Test # Test core
@@ -132,8 +133,8 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "core$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
(./scripts/test-e2e-lib.sh -host localhost:4200 --host_sso "$E2E_HOST_SSO" --host_bpm "$E2E_HOST_BPM" --host_identity "$E2E_HOST_IDENTITY" -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder core --skip-lint --use-dist || exit 1;);
fi
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder core --skip-lint -save --use-dist || exit 1;);
fi;
- stage: e2e Test # Test process-services
name: process-services
script:
@@ -141,8 +142,8 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder process-services --skip-lint --use-dist || exit 1;);
fi
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder process-services --skip-lint --use-dist || exit 1;);
fi;
- stage: e2e Test # Test content-services
name: content-services
script:
@@ -150,45 +151,50 @@ jobs:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder content-services --skip-lint --use-dist || exit 1;);
fi
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder content-services --skip-lint --use-dist || exit 1;);
fi;
- stage: e2e Test # Test search
name: search
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder search --skip-lint --use-dist || exit 1;);
fi
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder search --skip-lint --use-dist || exit 1;);
fi;
- stage: e2e Test # Test process-services-cloud
name: process-services-cloud
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
(./scripts/test-e2e-lib.sh -host localhost:4200 --host_sso "$E2E_HOST_SSO" --host_bpm "$E2E_HOST_BPM" --host_identity "$E2E_HOST_IDENTITY" -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder process-services-cloud --skip-lint --use-dist || exit 1;);
fi
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST_BPM" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder process-services-cloud --skip-lint --use-dist || exit 1;);
fi;
- stage: e2e Test # Test insights
name: insights
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -gnu -b $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $AFFECTED_E2E = "e2e" || $TRAVIS_PULL_REQUEST == "false" ]];
then
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b --folder insights --skip-lint --use-dist || exit 1;);
fi
- stage: Create Docker PR
script: node ./scripts/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1)
- stage: Deploy Docker PR
script: node --no-deprecation ./scripts/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1
(./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e "$E2E_EMAIL" --folder insights --skip-lint --use-dist -b || exit 1;);
fi;
- stage: Create Docker and Deploy Docker PR
script:
- if [ "$TRAVIS_PULL_REQUEST" != "false" ];
then
node ./scripts/move-dist-folder.js --base-href $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1);
fi;
- if [ "$TRAVIS_PULL_REQUEST" != "false" ];
then
(node --no-deprecation ./scripts/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1);
fi;
# Send coverage data to codecov
after_success:
bash <(curl -s https://codecov.io/bash) -X gcov
cache:
directories:
- node_modules
+37 -2
View File
@@ -1,6 +1,41 @@
FROM nginx:alpine
# 1. Generate licenses
COPY demo-shell/nginx.conf /etc/nginx/nginx.conf
FROM node:11.9-alpine AS builder
WORKDIR /usr/src/alfresco
COPY package.json package.json
RUN mkdir -p ./licenses && \
yarn licenses list > ./licenses/licenses.txt && \
yarn licenses generate-disclaimer > ./licenses/disclaimer.txt
# 2. Generate image
FROM nginx:stable-alpine
LABEL version="3.0.0"
ARG GROUPNAME=Alfresco
ARG GROUPID=1000
ARG USERNAME=adf
ARG USERID=33011
ARG BUILD_NUMBER
COPY ./docker/nginx.conf /etc/nginx/nginx.conf
COPY ./docker/entrypoint.sh /
WORKDIR /usr/share/nginx/html
COPY demo-shell/dist/ .
COPY --from=builder /usr/src/alfresco/licenses ./licenses
RUN addgroup -g ${GROUPID} ${GROUPNAME} && \
adduser -S -u ${USERID} -G ${GROUPNAME} -s "/bin/bash" ${USERNAME} && \
chown -R ${USERNAME}:${GROUPNAME} ./${BUILD_NUMBER}/app.config.json && \
chown -R ${USERNAME}:${GROUPNAME} /var/cache/nginx && \
touch /var/run/nginx.pid && \
chown -R ${USERNAME}:${GROUPNAME} /var/run/nginx.pid && \
chmod +x /entrypoint.sh && \
chown -R ${USERNAME}:${GROUPNAME} /entrypoint.sh
EXPOSE 8080
USER ${USERNAME}
ENTRYPOINT [ "/entrypoint.sh" ]
+4 -38
View File
@@ -1,39 +1,5 @@
# Introduction to the Alfresco Application Development Framework
The Alfresco Application Development Framework (ADF) is based on the [Angular framework](https://angular.io/).
ADF is provided by Alfresco to make it easy to build custom web applications to manage and view content in the [Alfresco Platform Repository](https://docs.alfresco.com/5.2/concepts/content-repo-about.html).
As you probably know, there is a general user interface called [Alfresco Share](https://docs.alfresco.com/5.2/concepts/gs-intro.html) available out-of-the-box.
Share is usually used as a quick way of getting started with content management in Alfresco. It gives you access to pretty much all
the features provided by the ACS system and a lot of customers customize it for their specific domain.
However, there are use cases that Share does not fit very well, such as:
- Feature-based clients, exposing functionality to perform a specific task(s)
- Role-based clients, exposing functionality based on role
- Clients where the UI layout and style differs significantly from the Share layout and styling
- [Mashup clients](http://whatis.techtarget.com/definition/mash-up)
This is where ADF comes into play. You can use it to create exactly the user interface
(i.e. web client) that you require.
The framework consists of several libraries that can be used to form a customized content management application. The available libraries are:
- [Core](lib/core/README.md)
- [Content Services](lib/content-services/README.md)
- [Process Services](lib/process-services/README.md)
- [Insights](lib/insights/README.md)
You can browse documentation for all the components at the
[ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
An overview of the architecture is shown below:
<p align="center">
<img title="alfresco-angular-components-architecture" alt='alfresco' src='assets/alfresco-app-dev-framework-architecture.png'></img>
</p>
Here we can also see that there is an Alfresco JavaScript framework in use that wraps the Alfresco REST API, to make things easier for the client developer.
# Introduction
See the [introduction page](docs/user-guide/adf-introduction.md) in our
[documentation](docs/README.md) for an overview of ADF along with links
to useful starting points.
+2 -1
View File
@@ -123,7 +123,8 @@
"BASESHAREURL",
"hardend",
"filedata",
"uncheck"
"uncheck",
"subfolders"
],
"dictionaries": [
"html",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "Alfresco-ADF-Angular-Demo",
"description": "Demo shell for Alfresco Angular components",
"version": "3.0.0",
"version": "3.1.0",
"author": "Alfresco Software, Ltd.",
"repository": {
"type": "git",
+321
View File
@@ -0,0 +1,321 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "التفاصيل",
"COMMENTS": "تعليقات",
"PROPERTIES": "الخصائص",
"VERSIONS": "الإصدارات"
},
"HOME": {
"TITLE": "Alfresco المكونات الزاوّية لـ",
"DOCUMENTATION": "الوثائق"
},
"LOGOUT": {
"TITLE": "صفحة الخروج",
"SUB_TITLE": "تم خروجك الآن",
"LOGIN": "دخول",
"HOME": "رئيسية"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "السماح بالحذف",
"SHOW_COMMENTS": "إظهار التعليقات على الإصدارات",
"ALLOW_DOWNLOAD": "تمكين تنزيل الإصدار",
"READ_ONLY": "للقراءة فقط",
"COMMENTS": "إظهار التعليقات"
},
"PERSONAL-FILES": "الملفات الشخصية",
"WARN-MULTIPLE-UPLOADS": "عرض تحذير للتحميلات المتعددة.",
"CUSTOM-PERMISSION-MESSAGE": "تمكين رسالة إذن مخصصة",
"MEDIUM-TIME-FORMAT": "تمكين تنسيق وقت متوسط لقائمة المستندات",
"SEARCH": {
"RADIO": {
"NONE": "بلا",
"ALL": "الكل",
"FOLDER": "مجلد",
"DOCUMENT": "مستند"
}
}
},
"title": "مرحبًا",
"VERSION": {
"NO_PERMISSION": "ليس لديك إذن لإدارة إصدارات هذا المحتوى",
"NO_PERMISSION_EVENT": "ليس لديك إذن ${event.permission} ل${event.action} ${event.type}",
"CHOOSE_FILE": "تحديد ملف لرؤية إصداراته",
"DIALOG": {
"CLOSE": "إغلاق",
"TITLE": "إدارة الإصدارات"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "إغلاق",
"TITLE": "بيانات تعريف"
}
},
"APP_LAYOUT": {
"APP": "تطبيق",
"APP_NAME": "تطبيق ADF التوضيحي",
"HOME": "رئيسية",
"NODE-SELECTOR": "محدد العقدة",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "مسار التنقل",
"NOTIFICATIONS": "إعلامات",
"TASK_LIST": "قائمة المهام",
"PROCESS_LIST": "مهام عملية",
"PROCESS_CLOUD": "سحابة العملية",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "دخول",
"CUSTOM_SOURCES": "مصادر مخصصة",
"DATATABLE": "جدول بيانات",
"DATATABLE_LAZY": "جدول بيانات (بطيء)",
"DOCUMENT_LIST": "قائمة المستندات",
"TEMPLATE": "قالب",
"FORM": "نموذج",
"FORM_LIST": "قائمة النماذج",
"FORM_LOADING": "تحميل النموذج",
"UPLOADER": "مُحمِّل",
"WEBSCRIPT": "برنامج الويب النصي",
"TAG": "علامة",
"TRASHCAN": "سلة المحذوفات",
"SOCIAL": "اجتماعي",
"SETTINGS": "إعدادات",
"CONFIG-EDITOR": "محرر التكوين",
"OVERLAY_VIEWER": "عارض مركّب",
"ABOUT": "حول",
"SEARCH": "بحث ممتد",
"EXTENDED_SEARCH_QUERY_BODY": "بحث ممتد بنص الاستعلام",
"WORD_TO_SEARCH": "بحث عن كلمة",
"SEARCH_CREATED_BY": "تم الإنشاء بواسطة",
"SEARCH_SERVICE_APPROACH": "حدد هذا لتعطيل خاصية الإدخال والتكوين باستخدام الخدمة",
"HEADER_DATA": "بيانات العنوان",
"TREE_VIEW": "طريقة عرض الشجرة",
"ICONS": "أيقونات",
"PEOPLE_GROUPS_CLOUD": "سحابة الأشخاص/المجموعة",
"PEOPLE_CLOUD": "مكون سحابة الأشخاص",
"GROUPS_CLOUD": "مكون سحابة المجموعة"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "حذف بشكل دائم",
"RESTORE": "استعادة"
},
"EMPTY_STATE": {
"TITLE": "المهملات فارغة",
"FIRST_TEXT": "تم نقل العناصر المحذوفة إلى المهملات.",
"SECOND_TEXT": "أفرغ المهملات لحذف العناصر بشكل دائم."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "تحديد متعدد (مع خانات اختيارات)",
"THUMBNAILS": "تمكين الصور المصغرة",
"ALLOW_DROP_FILES": "تمكين إسقاط ملفات في مجلد",
"MULTIPLE_FILE_UPLOAD": "تحميل ملفات متعددة",
"FOLDER_UPLOAD": "تحميل مجلد",
"CUSTOM_FILTER": "عامل تصفية امتدادات مخصص",
"MAX_SIZE": "عامل تصفية الحد الأقصى للحجم",
"ENABLE_VERSIONING": "تمكين تعيين الإصدار",
"DESCRIPTION_UPLOAD": "تمكين التحميل",
"ENABLE_INFINITE_SCROLL": "تمكين التمرير اللانهائي",
"MULTISELECT_DESCRIPTION": "استخدام Cmd (Mac) أو Ctrl (Windows) لتبديل تحديد العناصر المتعددة",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "قائمة أحدث الملفات فارغة"
},
"TITLE": "أحدث الملفات"
},
"COLUMNS": {
"DISPLAY_NAME": "اسم العرض",
"IS_LOCKED": "قفل",
"TAG": "علامة",
"NODE_ID": "معرف العقدة",
"CREATED_BY": "تم الإنشاء بواسطة",
"CREATED_ON": "تم الإنشاء في",
"CREATED": "تم الإنشاء",
"SIZE": "الحجم",
"DELETED_ON": "تم الحذف",
"DELETED_BY": "تم الحذف بواسطة"
},
"TOOLBAR": {
"CARDVIEW": "وضع عرض البطاقة",
"SHARE_EDIT": "إعدادات التحرير",
"NEW_FOLDER": "مجلد جديد",
"EDIT_FOLDER": "تحرير مجلد",
"DOWNLOAD": "تنزيل",
"DELETE": "حذف",
"FAVORITES": "إضافة إلى المفضلات",
"SHARE": "مشاركة",
"THEME": "تحديد نسق",
"SHOW_VERSION": "إظهار الإصدار",
"HIDE_VERSION": "إخفاء الإصدار",
"LISTVIEW": "وضع عرض القائمة",
"CREATE_LIBRARY": "إنشاء مكتبة"
},
"ACTIONS": {
"VERSIONS": "إدارة الإصدارات",
"LOCK": "قفل",
"METADATA": "معلومات",
"DOWNLOAD": "تنزيل",
"PERMISSION": "إذن",
"FOLDER": {
"COPY": "نسخ",
"MOVE": "نقل",
"DELETE": "حذف"
},
"DOCUMENT": {
"COPY": "نسخ",
"MOVE": "نقل",
"DELETE": "حذف",
"PROCESS_ACTION": "بدء العملية"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "إعادة تعيين إلى افتراضي",
"ADD_ROW": "إضافة صف",
"REPLACE_ROWS": "استبدال صفوف",
"REPLACE_COLUMNS": "استبدال أعمدة",
"LOAD_NODE": "تحميل عقدة",
"MULTISELECT": "تحديد متعدد",
"MULTISELECT_DESCRIPTION": "استخدام Cmd (Mac) أو Ctrl (Windows) لتبديل تحديد العناصر المتعددة"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "لم يتم تحديد تقرير. اختر تقريرًا من القائمة"
},
"PS-TAB": {
"TASKS-TAB": "المهام",
"PROCESSES-TAB": "العملية",
"REPORTS-TAB": "تقارير",
"SETTINGS-TAB": "إعدادات",
"START-TASK": "بدء مهمة",
"START-PROCESS": "بدء العملية",
"PROCESS-AUDIT-LOG": "سجل تدقيق العملية",
"TASK-AUDIT-LOG": "سجل تدقيق المهمة",
"TASK-SHOW-HEADER": "إظهار تفاصيل العنوان"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "تطبيق",
"SETTINGS_TAB": "إعدادات"
},
"FORM-LIST": {
"STORE": "متجر",
"RESTORE": "استعادة"
},
"FORM-LOADING": {
"FORM_DATA": "بيانات النموذج",
"FORM_DATA_MESSAGE": "إدخال قيم لملء النموذج",
"TYPEAHEAD_PLACEHOLDER": "التنبؤ بالحروف",
"RADIO_PLACEHOLDER": "زر الراديو",
"SELECT_PLACEHOLDER": "القائمة المنسدلة"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "تذييل الدخول",
"SHOW_REMEMBERME": "إظهار تذكرني",
"SHOW_SUCCESS_ROUTE": "إظهار طريق النجاح",
"CUSTOM_LOGO": "شعار مخصص"
},
"SEARCH": {
"RESULTS": "نتائج البحث",
"NO_RESULT": "لم يتم العثور على نتائج",
"FACET_FIELDS": {
"TYPE": "1:النوع",
"SIZE": "2:الحجم",
"CREATOR": "3:المُنشئ",
"MODIFIER": "4:المُعدل",
"CREATED": "5:تم الإنشاء"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "استعلامات واجهتي",
"CREATED_THIS_YEAR": "1.تم الإنشاء هذا العام",
"MIMETYPE": "2.النوع: HTML",
"XTRASMALL": "3.الحجم: فائق الصغر",
"SMALL": "4.الحجم: صغير",
"MEDIUM": "5.الحجم: متوسط",
"LARGE": "6.الحجم: كبير",
"XTRALARGE": "7.الحجم: فائق الكبر",
"XXTRALARGE": "8.الحجم: كبير XX"
}
},
"SOCIAL": {
"LIKE": "مكون الإعجاب",
"RATING": "مكون التقييم"
},
"TAG": {
"LIST": "خدمات محتوى علامات القائمة",
"INSERT": "إدراج معرف العقدة",
"NODE_LIST": "قائمة العلامات حسب معرف العقدة"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "إذن التوريث",
"INHERITED_PERMISSIONS_BUTTON": "تم توريث الإذن"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "إدراج معرف التطبيق",
"APP_ID_TYPE_ERROR": "يجب أن يكون معرف التطبيق رقمًا",
"NUMBER_TYPE_ERROR": "يجب أن تكون القيمة رقمًا",
"NUMBER_GREATER_THAN": "يجب أن تكون القيمة أكبر من {{ value }} أو تساويها"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "صفحة البدء"
}
},
"PROCESS_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "إدراج معرف التطبيق",
"APP_ID_TYPE_ERROR": "يجب أن يكون معرف التطبيق رقمًا",
"NUMBER_GREATER_THAN": "يجب أن تكون القيمة أكبر من {{ value }} أو تساويها"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "الترجمة الأولى للعنوان المخصص",
"GROUP-TITLE2-TRANSLATION-KEY": "الترجمة الثانية للعنوان المخصص",
"ERROR_CONTENT": {
"507": {
"TITLE": "قرص ACS ممتلئ",
"DESCRIPTION": "يتجاوز المحتوى حد سعة التخزين المكون للشبكة أو النظام",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "عودة إلى الرئيسية"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "العرض التوضيحي لسحابة قائمة العملية",
"CUSTOMIZE_FILTERS": "تخصيص عامل التصفية"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "تخصيص عامل التصفية"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "تحديد واحد",
"MULTI": "تحديد متعدد",
"PRESELECTED_VALUE": "تحديد مسبق: ",
"ROLE": "الأدوار: ",
"APP_NAME": "اسم التطبيق",
"APP_FILTER_MODE": "التصفية حسب اسم التطبيق",
"ROLE_FILTER_MODE": "التصفية حسب الدور",
"PRESELECT_VALIDATION": "التحديد المسبق للتحقق من الصحة"
},
"ABOUT": {
"TITLE": "مكونات إضافية",
"TABLE_HEADERS": {
"ID": "المعرف",
"NAME": "الاسم",
"VERSION": "الإصدار",
"VENDOR": "المورد",
"LICENSE": "الترخيص",
"RUNTIME": "وقت التشغيل",
"DESCRIPTION": "الوصف"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "تحديد متعدد",
"TESTING_MODE": "وضع الاختبار",
"SELECTION_MODE": "وضع التحديد",
"TASK_DETAILS_REDIRECTION": "عرض تفاصيل المهمة عند النقر فوق المهمة"
}
}
+12 -5
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "Anwendung",
"APP_NAME": "ADF-Demoanwendung",
"HOME": "Startseite",
"NODE-SELECTOR": "Node-Auswahl",
@@ -61,7 +62,7 @@
"NOTIFICATIONS": "Benachrichtigungen",
"TASK_LIST": "Aufgabenliste",
"PROCESS_LIST": "Prozessliste",
"PROCESS_CLOUD": "Prozess-Cloud",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Anmelden",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "Ihren Filter anpassen"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Einzeln",
"MULTI": "Mehrfach",
"PRESELECTED_VALUE": "Vorausgewählter Wert"
"SINGLE": "Einzelauswahl",
"MULTI": "Mehrfachauswahl",
"PRESELECTED_VALUE": "Vorauswahl: ",
"ROLE": "Rollen: ",
"APP_NAME": "Anwendungsname",
"APP_FILTER_MODE": "Nach Anwendungsname filtern",
"ROLE_FILTER_MODE": "Nach Rolle filtern",
"PRESELECT_VALIDATION": "Vorauswahl-Prüfung"
},
"ABOUT": {
"TITLE": "Plugins",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "Mehrfachauswahl",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Auswahlmodus"
"SELECTION_MODE": "Auswahlmodus",
"TASK_DETAILS_REDIRECTION": "Bei Klicken auf Aufgabe Aufgabendetails einblenden"
}
}
+11 -5
View File
@@ -53,9 +53,11 @@
}
},
"APP_LAYOUT": {
"APP": "App",
"APP_NAME": "ADF Demo Application",
"HOME": "Home",
"NODE-SELECTOR": "Node Selector",
"SITES": "Sites",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"NOTIFICATIONS": "Notifications",
@@ -293,7 +295,11 @@
"SINGLE": "Single Selection",
"MULTI": "Multiple Selection",
"PRESELECTED_VALUE": "Preselect: ",
"ROLE": "Roles: "
"ROLE": "Roles: ",
"APP_NAME": "Application Name",
"APP_FILTER_MODE": "Filter by application name",
"ROLE_FILTER_MODE": "Filter by role",
"PRESELECT_VALIDATION": "Preselect validation"
},
"ABOUT": {
"TITLE": "Plugins",
@@ -308,9 +314,9 @@
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multiselection",
"TESTING_MODE": "Testing Mode",
"SELECTION_MODE": "Selection Mode",
"TASK_DETAILS_REDIRECTION": "Display task details on task click"
"MULTISELECTION": "Multiselection",
"TESTING_MODE": "Testing Mode",
"SELECTION_MODE": "Selection Mode",
"TASK_DETAILS_REDIRECTION": "Display task details on task click"
}
}
+12 -5
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "Aplicación",
"APP_NAME": "Aplicación ADF Demo",
"HOME": "Inicio",
"NODE-SELECTOR": "Selector de nodo",
@@ -61,7 +62,7 @@
"NOTIFICATIONS": "Notificaciones",
"TASK_LIST": "Lista de tareas",
"PROCESS_LIST": "Lista de procesos",
"PROCESS_CLOUD": "Procesos en la nube",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Iniciar sesión",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "Personalice su filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Individual",
"MULTI": "Múltiple",
"PRESELECTED_VALUE": "Valor preseleccionado"
"SINGLE": "Selección individual",
"MULTI": "Selección múltiple",
"PRESELECTED_VALUE": "Preseleccionar: ",
"ROLE": "Funciones: ",
"APP_NAME": "Nombre de la aplicación",
"APP_FILTER_MODE": "Filtrar por nombre de la aplicación",
"ROLE_FILTER_MODE": "Filtrar por función",
"PRESELECT_VALIDATION": "Preseleccionar validación"
},
"ABOUT": {
"TITLE": "Complementos",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "Selección múltiple",
"TESTING_MODE": "Modo de prueba",
"SELECTION_MODE": "Modo de selección"
"SELECTION_MODE": "Modo de selección",
"TASK_DETAILS_REDIRECTION": "Mostrar detalles de la tarea haciendo clic en la tarea"
}
}
+11 -4
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "Application",
"APP_NAME": "Application Démo ADF",
"HOME": "Accueil",
"NODE-SELECTOR": "Sélecteur de nœud",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "Personnaliser votre filtre"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Simple",
"MULTI": "Multi",
"PRESELECTED_VALUE": "Valeur présélectionnée"
"SINGLE": "Sélection unique",
"MULTI": "Sélection multiple",
"PRESELECTED_VALUE": "Présélection : ",
"ROLE": "Rôles : ",
"APP_NAME": "Nom de l'application",
"APP_FILTER_MODE": "Filtrer par nom d'application",
"ROLE_FILTER_MODE": "Filtrer par rôle",
"PRESELECT_VALIDATION": "Validation présélectionnée"
},
"ABOUT": {
"TITLE": "Plugins",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multisélection",
"TESTING_MODE": "Mode de test",
"SELECTION_MODE": "Mode de sélection"
"SELECTION_MODE": "Mode de sélection",
"TASK_DETAILS_REDIRECTION": "Afficher les détails de la tâche en cliquant dessus"
}
}
+12 -5
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "Applicazione",
"APP_NAME": "Applicazione demo ADF",
"HOME": "Home",
"NODE-SELECTOR": "Selezione nodo",
@@ -61,7 +62,7 @@
"NOTIFICATIONS": "Notifiche",
"TASK_LIST": "Elenco attività",
"PROCESS_LIST": "Elenco processi",
"PROCESS_CLOUD": "Cloud processo",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "Personalizza il filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Singolo",
"MULTI": "Multiplo",
"PRESELECTED_VALUE": "Valore preselezionato"
"SINGLE": "Selezione singola",
"MULTI": "Selezione multipla",
"PRESELECTED_VALUE": "Preselezione: ",
"ROLE": "Ruoli: ",
"APP_NAME": "Nome applicazione",
"APP_FILTER_MODE": "Filtra per nome applicazione",
"ROLE_FILTER_MODE": "Filtra per ruolo",
"PRESELECT_VALIDATION": "Convalida preselezione"
},
"ABOUT": {
"TITLE": "Plug-in",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "Selezione multipla",
"TESTING_MODE": "Modalità di test",
"SELECTION_MODE": "Modalità di selezione"
"SELECTION_MODE": "Modalità di selezione",
"TASK_DETAILS_REDIRECTION": "Mostra dettagli compito dopo clic su compito"
}
}
+12 -5
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "アプリ",
"APP_NAME": "ADF デモアプリケーション",
"HOME": "ホーム",
"NODE-SELECTOR": "ノードセレクター",
@@ -61,7 +62,7 @@
"NOTIFICATIONS": "通知",
"TASK_LIST": "タスクリスト",
"PROCESS_LIST": "プロセスリスト",
"PROCESS_CLOUD": "Process Cloud",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "ログイン",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "フィルタのカスタマイズ"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "1 ",
"MULTI": "複数",
"PRESELECTED_VALUE": "事前選択値"
"SINGLE": "1 つ選択",
"MULTI": "複数選択",
"PRESELECTED_VALUE": "事前選択: ",
"ROLE": "役割: ",
"APP_NAME": "アプリケーション名",
"APP_FILTER_MODE": "アプリケーション名でフィルタ",
"ROLE_FILTER_MODE": "役割でフィルタ",
"PRESELECT_VALIDATION": "事前選択の検証"
},
"ABOUT": {
"TITLE": "プラグイン",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "複数選択",
"TESTING_MODE": "テストモード",
"SELECTION_MODE": "選択モード"
"SELECTION_MODE": "選択モード",
"TASK_DETAILS_REDIRECTION": "タスクのクリック時にタスクの詳細を表示"
}
}
+11 -4
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "App",
"APP_NAME": "ADF-demoprogam",
"HOME": "Hjem",
"NODE-SELECTOR": "Nodevelger",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "Tilpass filteret ditt"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Enkel",
"MULTI": "Flere",
"PRESELECTED_VALUE": "Forhåndsvalgt verdi"
"SINGLE": "Ett valg",
"MULTI": "Flere valg",
"PRESELECTED_VALUE": "Forhåndsvelg: ",
"ROLE": "Roller: ",
"APP_NAME": "Programnavn",
"APP_FILTER_MODE": "Filtrer etter programnavn",
"ROLE_FILTER_MODE": "Filtrer etter rolle",
"PRESELECT_VALIDATION": "Forhåndsvelg validering"
},
"ABOUT": {
"TITLE": "Plugin-moduler",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "Flervalg",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Valgmodus"
"SELECTION_MODE": "Valgmodus",
"TASK_DETAILS_REDIRECTION": "Vis oppgavedetaljer ved oppgaveklikk"
}
}
+12 -5
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "App",
"APP_NAME": "ADF-demotoepassing",
"HOME": "Home",
"NODE-SELECTOR": "Selectiefunctie voor node",
@@ -61,7 +62,7 @@
"NOTIFICATIONS": "Meldingen",
"TASK_LIST": "Lijst met taken",
"PROCESS_LIST": "Lijst met processen",
"PROCESS_CLOUD": "Process Cloud",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Aanmelden",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "Uw filter aanpassen"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Eén",
"MULTI": "Multi",
"PRESELECTED_VALUE": "Vooraf geselecteerde waarde"
"SINGLE": "Enkelvoudige selectie",
"MULTI": "Meervoudige selectie",
"PRESELECTED_VALUE": "Voorselecteren: ",
"ROLE": "Rollen: ",
"APP_NAME": "Toepassingsnaam",
"APP_FILTER_MODE": "Filteren op toepassingsnaam",
"ROLE_FILTER_MODE": "Filteren op rol",
"PRESELECT_VALIDATION": "Validatie voorselecteren"
},
"ABOUT": {
"TITLE": "Plug-ins",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multiselectie",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Selectiemodus"
"SELECTION_MODE": "Selectiemodus",
"TASK_DETAILS_REDIRECTION": "Taakdetails weergeven bij klikken op taak"
}
}
+12 -5
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "Aplicativo",
"APP_NAME": "Aplicativo Demo ADF",
"HOME": "Página Inicial",
"NODE-SELECTOR": "Seletor de nó",
@@ -61,7 +62,7 @@
"NOTIFICATIONS": "Notificações",
"TASK_LIST": "Lista de tarefas",
"PROCESS_LIST": "Lista de processos",
"PROCESS_CLOUD": "Process Cloud",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "Personalizar seu filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Único",
"MULTI": "Múltiplo",
"PRESELECTED_VALUE": "Valor pré-selecionado"
"SINGLE": "Seleção única",
"MULTI": "Seleção múltipla",
"PRESELECTED_VALUE": "Pré-seleção: ",
"ROLE": "Funções: ",
"APP_NAME": "Nome do aplicativo",
"APP_FILTER_MODE": "Filtrar por nome do aplicativo",
"ROLE_FILTER_MODE": "Filtrar por função",
"PRESELECT_VALIDATION": "Validação de pré-seleção"
},
"ABOUT": {
"TITLE": "Plugins",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "Seleção Múltipla",
"TESTING_MODE": "Modo de Teste",
"SELECTION_MODE": "Modo de Seleção"
"SELECTION_MODE": "Modo de Seleção",
"TASK_DETAILS_REDIRECTION": "Exibir detalhes da tarefa ao clicar na tarefa"
}
}
+12 -5
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "Приложение",
"APP_NAME": "Демонстрационное приложение ADF",
"HOME": "Домашняя",
"NODE-SELECTOR": "Селектор узлов",
@@ -61,7 +62,7 @@
"NOTIFICATIONS": "Оповещения",
"TASK_LIST": "Список задач",
"PROCESS_LIST": "Список процессов",
"PROCESS_CLOUD": "Процесс в облаке",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Войти",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "Настройка фильтра"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Один",
"MULTI": "Несколько",
"PRESELECTED_VALUE": "Предустановленное значение"
"SINGLE": "Единичный выбор",
"MULTI": "Групповой выбор",
"PRESELECTED_VALUE": "Предварительный выбор: ",
"ROLE": "Роли: ",
"APP_NAME": "Имя приложения",
"APP_FILTER_MODE": "Фильтровать по имени приложения",
"ROLE_FILTER_MODE": "Фильтровать по роли",
"PRESELECT_VALIDATION": "Проверка предварительного выбора"
},
"ABOUT": {
"TITLE": "Подключаемые модули",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "Выбор нескольких",
"TESTING_MODE": "Режим тестирования",
"SELECTION_MODE": "Режим выбора"
"SELECTION_MODE": "Режим выбора",
"TASK_DETAILS_REDIRECTION": "Отображать подробные сведения о задаче при нажатии на задачу"
}
}
+12 -5
View File
@@ -53,6 +53,7 @@
}
},
"APP_LAYOUT": {
"APP": "APP",
"APP_NAME": "ADF 演示应用程序",
"HOME": "主页",
"NODE-SELECTOR": "节点选择器",
@@ -61,7 +62,7 @@
"NOTIFICATIONS": "通知",
"TASK_LIST": "任务列表",
"PROCESS_LIST": "流程列表",
"PROCESS_CLOUD": "Process Cloud",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "登录",
@@ -290,9 +291,14 @@
"CUSTOMIZE_FILTERS": "自定义您的筛选器"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "单个",
"MULTI": "多",
"PRESELECTED_VALUE": "预选值"
"SINGLE": "单个选择",
"MULTI": "多重选择",
"PRESELECTED_VALUE": "预先选择: ",
"ROLE": "角色: ",
"APP_NAME": "应用程序名称",
"APP_FILTER_MODE": "按应用程序名称筛选",
"ROLE_FILTER_MODE": "按角色筛选",
"PRESELECT_VALIDATION": "预先选择验证"
},
"ABOUT": {
"TITLE": "插件",
@@ -309,6 +315,7 @@
"SETTINGS_CLOUD": {
"MULTISELECTION": "多重选择",
"TESTING_MODE": "测试模式",
"SELECTION_MODE": "选择模式"
"SELECTION_MODE": "选择模式",
"TASK_DETAILS_REDIRECTION": "单击任务时显示任务详情"
}
}
+37 -8
View File
@@ -70,6 +70,10 @@
{
"key": "zh-CN",
"label": "中文简体"
},
{
"key": "ar",
"label": "عربى"
}
],
"search": {
@@ -102,6 +106,7 @@
}
]
},
"resetButton": true,
"filterQueries": [
{ "query": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
{ "query": "NOT cm:creator:System" }
@@ -136,7 +141,7 @@
"expanded": true,
"intervals":[
{
"label":"TheCreated",
"label":"The Created",
"field":"cm:created",
"sets":[
{ "label":"lastYear", "start":"2018", "end":"2019", "endInclusive":false },
@@ -244,7 +249,23 @@
}
}
}
]
],
"highlight": {
"prefix": " ",
"postfix": " ",
"mergeContiguous": true,
"fields": [
{
"field": "cm:title"
},
{
"field": "description",
"prefix": "(",
"postfix": ")"
}
]
}
},
"pagination": {
"size": 20,
@@ -566,14 +587,20 @@
}
},
"adf-edit-task-filter": {
"properties": [
"state", "assignment", "sort", "order"
]
"filterProperties": [ "status", "assignee", "sort", "order" ],
"sortProperties": [ "id", "name", "createdDate", "priority", "processDefinitionId" ],
"actions": [ "save", "saveAs", "delete" ]
},
"adf-edit-process-filter": {
"filterProperties": [ "status", "sort", "order", "processName" ],
"sortProperties": [ "id", "name", "status", "startDate" ],
"actions": ["save", "saveAs", "delete"]
},
"content-metadata": {
"presets": {
"default": {
"exif:exif": "*"
"exif:exif": "*"
}
}
},
@@ -588,6 +615,7 @@
"key": "entry.id",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.ID",
"cssClass": "adf-expand-cell-4",
"sortable": true
},
{
@@ -595,7 +623,7 @@
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.NAME",
"sortable": true,
"cssClass": "full-width name-column ellipsis-cell"
"cssClass": "name-column adf-ellipsis-cell"
},
{
"key": "entry.status",
@@ -656,5 +684,6 @@
}
]
}
}
},
"alfresco-deployed-apps": []
}
+4 -2
View File
@@ -1,2 +1,4 @@
<router-outlet></router-outlet>
<router-outlet name="overlay"></router-outlet>
<div [dir]="textOrientation" class="adf-demo-app-container" >
<router-outlet></router-outlet>
<router-outlet name="overlay"></router-outlet>
</div>
+8 -3
View File
@@ -7,15 +7,20 @@ router-outlet[name='overlay'] + * {
right: 0;
}
.adf-demo-app-container {
height: 100%;
width: 100%;
}
@media (max-width: 425px) {
adf-content-node-selector {
.adf-content-node-selector-content-list {
.adf-data-table-cell {
.adf-datatable-cell {
display: none;
}
.adf-data-table-cell:first-child,
.adf-data-table-cell:nth-child(2) {
.adf-datatable-cell:first-child,
.adf-datatable-cell:nth-child(2) {
display: table-cell;
}
}
+16 -1
View File
@@ -16,7 +16,12 @@
*/
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import { AuthenticationService, AlfrescoApiService, PageTitleService } from '@alfresco/adf-core';
import {
UserPreferencesService,
AuthenticationService,
AlfrescoApiService,
PageTitleService
} from '@alfresco/adf-core';
import { Router } from '@angular/router';
import { MatDialog } from '@angular/material';
@@ -28,14 +33,24 @@ import { MatDialog } from '@angular/material';
})
export class AppComponent implements OnInit {
textOrientation: string = 'ltr';
constructor(private pageTitleService: PageTitleService,
private alfrescoApiService: AlfrescoApiService,
private authenticationService: AuthenticationService,
private userPreferencesService: UserPreferencesService,
private router: Router,
private dialogRef: MatDialog) {
this.userPreferencesService.set('textOrientation', this.textOrientation);
}
ngOnInit() {
this.userPreferencesService.select('textOrientation').subscribe((textOrientation) => {
this.textOrientation = textOrientation;
});
this.pageTitleService.setTitle('title');
this.alfrescoApiService.getInstance().on('error', (error) => {
+8 -3
View File
@@ -64,7 +64,7 @@ import { ContentModule } from '@alfresco/adf-content-services';
import { InsightsModule } from '@alfresco/adf-insights';
import { ProcessModule } from '@alfresco/adf-process-services';
import { AuthBearerInterceptor } from './services';
import { ProcessServicesCloudModule, GroupCloudModule } from '@alfresco/adf-process-services-cloud';
import { ProcessServicesCloudModule, GroupCloudModule, TaskDirectiveModule } from '@alfresco/adf-process-services-cloud';
import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component';
import { CloudLayoutComponent } from './components/app-layout/cloud/cloud-layout.component';
import { AppsCloudDemoComponent } from './components/app-layout/cloud/apps-cloud-demo.component';
@@ -79,6 +79,8 @@ import { TemplateDemoComponent } from './components/template-list/template-demo.
import { PeopleGroupCloudDemoComponent } from './components/app-layout/cloud/people-groups-cloud-demo.component';
import { CloudSettingsComponent } from './components/app-layout/cloud/cloud-settings.component';
import { AppExtensionsModule } from './app-extension.module';
import { ProcessDetailsCloudDemoComponent } from './components/app-layout/cloud/process-details-cloud-demo.component';
import { NestedMenuPositionDirective } from './components/app-layout/cloud/directives/nested-menu-position.directive';
@NgModule({
imports: [
@@ -101,7 +103,8 @@ import { AppExtensionsModule } from './app-extension.module';
ChartsModule,
MonacoEditorModule.forRoot(),
ProcessServicesCloudModule,
GroupCloudModule
GroupCloudModule,
TaskDirectiveModule
],
declarations: [
AppComponent,
@@ -137,13 +140,15 @@ import { AppExtensionsModule } from './app-extension.module';
TasksCloudDemoComponent,
ProcessesCloudDemoComponent,
TaskDetailsCloudDemoComponent,
ProcessDetailsCloudDemoComponent,
StartTaskCloudDemoComponent,
StartProcessCloudDemoComponent,
CloudBreadcrumbsComponent,
CloudFiltersDemoComponent,
TemplateDemoComponent,
PeopleGroupCloudDemoComponent,
CloudSettingsComponent
CloudSettingsComponent,
NestedMenuPositionDirective
],
providers: [
{
+23 -1
View File
@@ -17,7 +17,7 @@
import { ModuleWithProviders } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm } from '@alfresco/adf-core';
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm, AuthGuardSsoRoleService } from '@alfresco/adf-core';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { LoginComponent } from './components/login/login.component';
import { HomeComponent } from './components/home/home.component';
@@ -48,6 +48,7 @@ import { StartTaskCloudDemoComponent } from './components/app-layout/cloud/start
import { StartProcessCloudDemoComponent } from './components/app-layout/cloud/start-process-cloud-demo.component';
import { TemplateDemoComponent } from './components/template-list/template-demo.component';
import { PeopleGroupCloudDemoComponent } from './components/app-layout/cloud/people-groups-cloud-demo.component';
import { ProcessDetailsCloudDemoComponent } from './components/app-layout/cloud/process-details-cloud-demo.component';
export const appRoutes: Routes = [
{ path: 'login', component: LoginComponent },
@@ -118,6 +119,16 @@ export const appRoutes: Routes = [
}
]
},
{
path: 'sites',
component: AppLayoutComponent,
children: [
{
path: '',
loadChildren: 'app/components/sites/sites.module#SitesModule'
}
]
},
{
path: 'header-data',
component: AppLayoutComponent,
@@ -143,6 +154,8 @@ export const appRoutes: Routes = [
},
{
path: 'cloud',
canActivate: [AuthGuardSsoRoleService],
data: { roles: ['ACTIVITI_USER'], redirectUrl: '/error/403'},
children: [
{
path: '',
@@ -180,7 +193,12 @@ export const appRoutes: Routes = [
{
path: 'task-details/:taskId',
component: TaskDetailsCloudDemoComponent
},
{
path: 'process-details/:processInstanceId',
component: ProcessDetailsCloudDemoComponent
}
]
}
]
@@ -359,6 +377,10 @@ export const appRoutes: Routes = [
path: 'error/:id',
component: ErrorContentComponent
},
{
path: 'error/no-authorization',
component: ErrorContentComponent
},
{
path: '**',
redirectTo: 'error/404'
@@ -1,51 +1 @@
<h3>{{ 'ABOUT.TITLE' | translate }}</h3>
<div class="adf-extension-details-container">
<mat-table [dataSource]="extensions$ | async">
<!-- $id Column -->
<ng-container matColumnDef="$id">
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.ID' | translate }}</mat-header-cell>
<mat-cell *matCellDef="let element">{{element.$id}}</mat-cell>
</ng-container>
<!-- $name Column -->
<ng-container matColumnDef="$name">
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.NAME' | translate }}</mat-header-cell>
<mat-cell *matCellDef="let element">{{element.$name}}</mat-cell>
</ng-container>
<!-- $version Column -->
<ng-container matColumnDef="$version">
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.VERSION' | translate }}</mat-header-cell>
<mat-cell *matCellDef="let element">{{element.$version}}</mat-cell>
</ng-container>
<!-- $vendor Column -->
<ng-container matColumnDef="$vendor">
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.VENDOR' | translate }}</mat-header-cell>
<mat-cell *matCellDef="let element">{{element.$vendor}}</mat-cell>
</ng-container>
<!-- $license Column -->
<ng-container matColumnDef="$license">
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.LICENSE' | translate }}</mat-header-cell>
<mat-cell *matCellDef="let element">{{element.$license}}</mat-cell>
</ng-container>
<!-- $runtime Column -->
<ng-container matColumnDef="$runtime">
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.RUNTIME' | translate }}</mat-header-cell>
<mat-cell *matCellDef="let element">{{element.$runtime}}</mat-cell>
</ng-container>
<!-- $description Column -->
<ng-container matColumnDef="$description">
<mat-header-cell *matHeaderCellDef>{{ 'ABOUT.TABLE_HEADERS.DESCRIPTION' | translate }}</mat-header-cell>
<mat-cell *matCellDef="let element">{{element.$description}}</mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="extensionColumns"></mat-header-row>
<mat-row *matRowDef="let row; columns: extensionColumns;"></mat-row>
</mat-table>
</div>
<adf-about></adf-about>
@@ -16,8 +16,6 @@
*/
import { Component } from '@angular/core';
import { AppExtensionService, ExtensionRef } from '@alfresco/adf-extensions';
import { Observable } from 'rxjs';
@Component({
selector: 'app-about-page',
@@ -25,10 +23,8 @@ import { Observable } from 'rxjs';
styleUrls: ['about.component.scss']
})
export class AboutComponent {
extensionColumns: string[] = ['$id', '$name', '$version', '$vendor', '$license', '$runtime', '$description'];
extensions$: Observable<ExtensionRef[]>;
constructor(appExtensions: AppExtensionService) {
this.extensions$ = appExtensions.references$;
constructor() {
}
}
@@ -1,19 +1,12 @@
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="220" [stepOver]="780" [hideSidenav]="hideSidenav"
[expandedSidenav]="expandedSidenav" (expanded)="setState($event)"
[position]="position">
[expandedSidenav]="expandedSidenav" (expanded)="setState($event)" [position]="position">
<adf-sidenav-layout-header>
<ng-template let-toggleMenu="toggleMenu">
<adf-layout-header id="adf-header"
[title]="title | translate"
[redirectUrl]="redirectUrl"
[logo]="logo"
[tooltip]="tooltip | translate"
[showSidenavToggle]="showMenu"
[color]="color"
[position]="position"
(clicked)=toggleMenu($event)>
<adf-layout-header id="adf-header" [title]="title | translate" [redirectUrl]="redirectUrl" [logo]="logo"
[tooltip]="tooltip | translate" [showSidenavToggle]="showMenu" [color]="color" [position]="position"
(clicked)=toggleMenu($event)>
<div class="adf-app-layout-menu-spacer"></div>
@@ -21,10 +14,7 @@
<div class="adf-header-delimiexpandedSidenavter"></div>
<adf-userinfo
class="adf-app-layout-user-profile"
[menuPositionX]="'before'"
[menuPositionY]="'above'">
<adf-userinfo class="adf-app-layout-user-profile" [menuPositionX]="'before'" [menuPositionY]="'above'">
</adf-userinfo>
<app-theme-picker></app-theme-picker>
@@ -42,14 +32,30 @@
<adf-sidenav-layout-navigation>
<ng-template let-isMenuMinimized="isMenuMinimized">
<mat-nav-list class="adf-sidenav-linklist">
<a mat-list-item *ngFor="let link of links" [attr.data-automation-id]="link.title | translate"
[routerLink]="link.href" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }"
class="adf-sidenav-link">
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">{{link.title | translate }}</div>
</a>
<ng-container *ngFor="let link of links">
<a appNestedMenuPosition mat-list-item #appMenuTrigger *ngIf="link.children" [attr.data-automation-id]="link.title | translate"
class="adf-sidenav-link" [matMenuTriggerFor]="nestedMenu" [menuMinimized]="isMenuMinimized()"
[matMenuTriggerData]="{links: link.children}">
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">
{{link.title | translate }}</div>
<mat-icon class="adf-menu-expand-icon">arrow_right</mat-icon>
</a>
<a mat-list-item *ngIf="!link.children" [attr.data-automation-id]="link.title | translate"
class="adf-sidenav-link" [routerLink]="link.href" routerLinkActive="active"
[routerLinkActiveOptions]="{ exact: true }">
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">
{{link.title | translate }}</div>
</a>
</ng-container>
<a mat-list-item adf-logout [enableRedirect]="enableRedirect" redirectUri="/logout"
class="adf-sidenav-link">
class="adf-sidenav-link">
<mat-icon matListIcon class="adf-sidenav-menu-icon">exit_to_app</mat-icon>
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">Logout</div>
</a>
@@ -66,3 +72,17 @@
</adf-sidenav-layout>
<app-log></app-log>
<mat-menu #nestedMenu="matMenu" [xPosition]="'before'">
<ng-template matMenuContent let-links="links">
<button mat-menu-item *ngFor="let link of links"
[attr.data-automation-id]="link.title | translate"
routerLinkActive="active"
[routerLink]="link.href"
[routerLinkActiveOptions]="{ exact: true }">
<mat-icon matListIcon class="adf-sidenav-menu-icon">{{link.icon}}</mat-icon>
{{ link.title | translate }}
</button>
</ng-template>
</mat-menu>
@@ -55,6 +55,7 @@
.adf-sidenav-menu-label {
font-size: 14px;
white-space: nowrap;
min-width: 120px;
}
}
@@ -38,20 +38,27 @@ export class AppLayoutComponent implements OnInit {
{ href: '/card-view', icon: 'view_headline', title: 'APP_LAYOUT.CARD_VIEW' },
{ href: '/header-data', icon: 'edit', title: 'APP_LAYOUT.HEADER_DATA' },
{ href: '/node-selector', icon: 'attachment', title: 'APP_LAYOUT.NODE-SELECTOR' },
{ href: '/sites', icon: 'format_list_bulleted', title: 'APP_LAYOUT.SITES' },
{ href: '/task-list', icon: 'assignment', title: 'APP_LAYOUT.TASK_LIST' },
{ href: '/process-list', icon: 'assignment', title: 'APP_LAYOUT.PROCESS_LIST' },
{ href: '/cloud', icon: 'cloud', title: 'APP_LAYOUT.PROCESS_CLOUD' },
{ href: '/cloud/people-group-cloud', icon: 'group', title: 'APP_LAYOUT.PEOPLE_GROUPS_CLOUD' },
{ href: '/activiti', icon: 'device_hub', title: 'APP_LAYOUT.PROCESS_SERVICES' },
{ href: '/cloud', icon: 'cloud', title: 'APP_LAYOUT.PROCESS_CLOUD', children: [
{ href: '/cloud/', icon: 'cloud', title: 'APP_LAYOUT.HOME' },
{ href: '/cloud/people-group-cloud', icon: 'group', title: 'APP_LAYOUT.PEOPLE_GROUPS_CLOUD' }
]},
{ href: '/activiti', icon: 'device_hub', title: 'APP_LAYOUT.PROCESS_SERVICES', children: [
{ href: '/activiti', icon: 'vpn_key', title: 'APP_LAYOUT.APP' },
{ href: '/process-list', icon: 'assignment', title: 'APP_LAYOUT.PROCESS_LIST' },
{ href: '/form', icon: 'poll', title: 'APP_LAYOUT.FORM' },
{ href: '/form-list', icon: 'library_books', title: 'APP_LAYOUT.FORM_LIST' },
{ href: '/form-loading', icon: 'cached', title: 'APP_LAYOUT.FORM_LOADING' }
]},
{ href: '/login', icon: 'vpn_key', title: 'APP_LAYOUT.LOGIN' },
{ href: '/trashcan', icon: 'delete', title: 'APP_LAYOUT.TRASHCAN' },
{ href: '/dl-custom-sources', icon: 'extension', title: 'APP_LAYOUT.CUSTOM_SOURCES' },
{ href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE' },
{ href: '/datatable-lazy', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE_LAZY' },
{ href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE', children: [
{ href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE' },
{ href: '/datatable-lazy', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE_LAZY' }
]},
{ href: '/template-list', icon: 'list_alt', title: 'APP_LAYOUT.TEMPLATE' },
{ href: '/form', icon: 'poll', title: 'APP_LAYOUT.FORM' },
{ href: '/form-list', icon: 'library_books', title: 'APP_LAYOUT.FORM_LIST' },
{ href: '/form-loading', icon: 'cached', title: 'APP_LAYOUT.FORM_LOADING' },
{ href: '/webscript', icon: 'extension', title: 'APP_LAYOUT.WEBSCRIPT' },
{ href: '/tag', icon: 'local_offer', title: 'APP_LAYOUT.TAG' },
{ href: '/social', icon: 'thumb_up', title: 'APP_LAYOUT.SOCIAL' },
@@ -8,7 +8,7 @@
<mat-slide-toggle [color]="'primary'" [checked]="taskDetailsRedirection" (change)="toggleTaskDetailsRedirection()" data-automation-id="taskDetailsRedirection">
{{ 'SETTINGS_CLOUD.TASK_DETAILS_REDIRECTION' | translate }}
</mat-slide-toggle>
<mat-form-field>
<mat-form-field data-automation-id="selectionMode">
<mat-label>
{{ 'SETTINGS_CLOUD.SELECTION_MODE' | translate }}
</mat-label>
@@ -0,0 +1,43 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* 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 { Directive, HostListener, Input } from '@angular/core';
@Directive({
selector: '[appNestedMenuPosition]'
})
export class NestedMenuPositionDirective {
@Input()
menuMinimized: string;
nestedMenuLeftPadding: string = '220px';
@HostListener('click', ['$event'])
onClick() {
let overlayContainer = (document.querySelector('.cdk-overlay-connected-position-bounding-box') as HTMLElement);
(document.querySelector('.cdk-overlay-pane') as HTMLElement).style.width = '100%';
if (!this.menuMinimized) {
setTimeout(() => {
overlayContainer.style.left = this.nestedMenuLeftPadding;
});
}
}
}
@@ -6,23 +6,41 @@
<mat-card-content>
<br>
<mat-radio-group (change)="onChangePeopleMode($event)">
<mat-radio-button checked="true" class="adf-people-single-mode" value="{{ peopleSingleMode }}">{{
<mat-radio-button checked="true" class="adf-people-single-mode" data-automation-id="adf-people-single-mode" value="{{ peopleSingleMode }}">{{
'PEOPLE_GROUPS_CLOUD.SINGLE' | translate }}</mat-radio-button>
<mat-radio-button class="adf-people-multiple-mode" value="{{ peopleMultipleMode }}">{{
<mat-radio-button class="adf-people-multiple-mode" data-automation-id="adf-people-multiple-mode" value="{{ peopleMultipleMode }}">{{
'PEOPLE_GROUPS_CLOUD.MULTI' | translate }}</mat-radio-button>
</mat-radio-group>
<div class="people-control-options">
<mat-form-field class="adf-preselect-value">
<mat-radio-group (change)="onChangePeopleFilterMode($event)">
<mat-radio-button checked="true" class="adf-people-single-mode" value="appName">{{
'PEOPLE_GROUPS_CLOUD.APP_FILTER_MODE' | translate }}</mat-radio-button>
<mat-radio-button class="adf-people-multiple-mode" data-automation-id="adf-people-filter-role" value="role">{{
'PEOPLE_GROUPS_CLOUD.ROLE_FILTER_MODE' | translate }}</mat-radio-button>
</mat-radio-group>
<mat-form-field *ngIf="!isPeopleAppNameSelected()" class="adf-preselect-value">
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.ROLE' | translate }} ['ACTIVITI_ADMIN', "ACTIVITI_USER"]</mat-label>
<input matInput (input)="setPeopleRoles($event)" />
<input matInput (input)="setPeopleRoles($event)" data-automation-id="adf-people-roles-input" />
</mat-form-field>
<mat-form-field class="adf-preselect-value full">
<mat-form-field *ngIf="isPeopleAppNameSelected()" class="adf-preselect-value">
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.APP_NAME' | translate }}</mat-label>
<input matInput (input)="setPeopleAppName($event)" />
</mat-form-field>
<mat-form-field class="adf-preselect-value-full">
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.PRESELECTED_VALUE' | translate }}: {{ DEFAULT_PEOPLE_PLACEHOLDER }}</mat-label>
<input matInput (input)="setPeoplePreselectValue($event)" />
<input matInput (input)="setPeoplePreselectValue($event)" data-automation-id="adf-people-preselect-input" />
</mat-form-field>
<mat-checkbox class="adf-preselect-value" (change)="onChangePeopleValidation($event)">{{
'PEOPLE_GROUPS_CLOUD.PRESELECT_VALIDATION' | translate }}</mat-checkbox>
</div>
<div>
<adf-cloud-people [preSelectUsers]="preSelectUsers" [roles]="peopleRoles" [mode]="peopleMode"></adf-cloud-people>
<adf-cloud-people
[preSelectUsers]="preSelectUsers"
[validate]="peoplePreselectValidation"
[appName]="peopleAppName"
[roles]="peopleRoles"
[appName]="peopleAppName"
[mode]="peopleMode"></adf-cloud-people>
</div>
<div class="adf-people-list" *ngIf="canShowPeopleList()">
@@ -44,24 +62,34 @@
<mat-card-content>
<br>
<mat-radio-group (change)="onChangeGroupsMode($event)">
<mat-radio-button checked="true" class="adf-people-single-mode" value="{{ groupSingleMode }}">{{
<mat-radio-button checked="true" class="adf-people-single-mode" data-automation-id="adf-group-single-mode" value="{{ groupSingleMode }}">{{
'PEOPLE_GROUPS_CLOUD.SINGLE' | translate }}</mat-radio-button>
<mat-radio-button class="adf-people-multiple-mode" value="{{ groupMultipleMode }}">{{
<mat-radio-button class="adf-people-multiple-mode" data-automation-id="adf-group-multiple-mode" value="{{ groupMultipleMode }}">{{
'PEOPLE_GROUPS_CLOUD.MULTI' | translate }}</mat-radio-button>
</mat-radio-group>
<div class="groups-control-options">
<mat-form-field class="adf-preselect-value">
<mat-radio-group (change)="onChangeGroupsFilterMode($event)">
<mat-radio-button checked="true" class="adf-people-single-mode" value="appName">{{
'PEOPLE_GROUPS_CLOUD.APP_FILTER_MODE' | translate }}</mat-radio-button>
<mat-radio-button class="adf-people-multiple-mode" data-automation-id="adf-group-filter-role" value="role">{{
'PEOPLE_GROUPS_CLOUD.ROLE_FILTER_MODE' | translate }}</mat-radio-button>
</mat-radio-group>
<mat-form-field *ngIf="!isGroupAppNameSelected()" class="adf-preselect-value">
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.ROLE' | translate }} ['ACTIVITI_ADMIN', "ACTIVITI_USER"]</mat-label>
<input matInput (input)="setGroupRoles($event)" />
<input matInput (input)="setGroupRoles($event)" data-automation-id="adf-group-roles-input"/>
</mat-form-field>
<mat-form-field class="adf-preselect-value full">
<mat-form-field *ngIf="isGroupAppNameSelected()" class="adf-preselect-value">
<mat-label>{{ 'PEOPLE_GROUPS_CLOUD.APP_NAME' | translate }}</mat-label>
<input matInput (input)="setGroupAppName($event)" />
</mat-form-field>
<mat-form-field class="adf-preselect-value-full">
<mat-label>Preselect: {{ DEFAULT_GROUP_PLACEHOLDER }}</mat-label>
<input matInput (input)="setGroupsPreselectValue($event)" />
<input matInput (input)="setGroupsPreselectValue($event)" data-automation-id="adf-group-preselect-input" />
</mat-form-field>
</div>
<div>
<adf-cloud-group [mode]="groupMode" [roles]="groupRoles" [preSelectGroups]="preSelectGroup" (selectGroup)="onSelectGroup($event)"
(removeGroup)="onRemoveGroup($event)"></adf-cloud-group>
<adf-cloud-group [mode]="groupMode" [roles]="groupRoles" [appName]="groupAppName" [preSelectGroups]="preSelectGroup"
(selectGroup)="onSelectGroup($event)" (removeGroup)="onRemoveGroup($event)"></adf-cloud-group>
</div>
<div class="adf-group-list" *ngIf="canShowGroupList()">
@@ -73,4 +101,4 @@
</mat-list>
</div>
</mat-card-content>
</mat-card>
</mat-card>
@@ -18,9 +18,13 @@
margin-right: 15px;
min-width: 330px;
&-full {
&-big {
width:60%;
}
&-full {
width:100%;
}
}
}
}
@@ -17,7 +17,7 @@
import { Component, ViewEncapsulation } from '@angular/core';
import { PeopleCloudComponent, GroupCloudComponent, GroupModel } from '@alfresco/adf-process-services-cloud';
import { MatRadioChange } from '@angular/material';
import { MatRadioChange, MatCheckboxChange } from '@angular/material';
@Component({
selector: 'app-people-groups-cloud',
@@ -27,17 +27,23 @@ import { MatRadioChange } from '@angular/material';
})
export class PeopleGroupCloudDemoComponent {
DEFAULT_FILTER_MODE: string = 'appName';
DEFAULT_GROUP_PLACEHOLDER: string = `[{"id": "1", "name":"activitiUserGroup"}]`;
DEFAULT_PEOPLE_PLACEHOLDER: string = `[{"email": "example@alfresco.com", "firstName":"Administrator", "lastName": "ADF"}]`;
DEFAULT_PEOPLE_PLACEHOLDER: string = `[{"id": "1", email": "user@user.com", "firstName":"user", "lastName": "lastName", "username": "user"}]`;
peopleMode: string = PeopleCloudComponent.MODE_SINGLE;
preSelectUsers: string[] = [];
peopleRoles: string[] = [];
peopleAppName: string;
peopleFilterMode: string = this.DEFAULT_FILTER_MODE;
peoplePreselectValidation: Boolean = false;
groupMode: string = GroupCloudComponent.MODE_SINGLE;
preSelectGroup: GroupModel[] = [];
selectedGroupList: GroupModel[] = [];
groupRoles: string[];
groupAppName: string;
groupFilterMode: string = this.DEFAULT_FILTER_MODE;
setPeoplePreselectValue(event: any) {
this.preSelectUsers = this.getArrayFromString(event.target.value);
@@ -55,6 +61,14 @@ export class PeopleGroupCloudDemoComponent {
this.groupRoles = this.getArrayFromString(event.target.value);
}
setPeopleAppName(event: any) {
this.peopleAppName = event.target.value;
}
setGroupAppName(event: any) {
this.groupAppName = event.target.value;
}
onChangePeopleMode(event: MatRadioChange) {
this.peopleMode = event.value;
this.preSelectUsers = [...this.preSelectUsers];
@@ -65,6 +79,45 @@ export class PeopleGroupCloudDemoComponent {
this.preSelectGroup = [...this.preSelectGroup];
}
onChangePeopleFilterMode(event: MatRadioChange) {
this.peopleFilterMode = event.value;
this.resetPeopleFilter();
}
onChangeGroupsFilterMode(event: MatRadioChange) {
this.groupFilterMode = event.value;
this.restGroupFilter();
}
isPeopleAppNameSelected() {
return this.peopleFilterMode === 'appName';
}
isGroupAppNameSelected() {
return this.groupFilterMode === 'appName';
}
resetPeopleFilter() {
if (this.isPeopleAppNameSelected()) {
this.peopleRoles = [];
} else {
this.peopleAppName = '';
}
}
restGroupFilter() {
if (this.isGroupAppNameSelected()) {
this.groupRoles = [];
} else {
this.groupAppName = '';
}
}
onChangePeopleValidation(event: MatCheckboxChange) {
this.peoplePreselectValidation = event.checked;
this.preSelectUsers = [...this.preSelectUsers];
}
isStringArray(str: string) {
try {
const result = JSON.parse(str);
@@ -0,0 +1,25 @@
<button data-automation-id="go-back" mat-icon-button (click)="onGoBack()">
<mat-icon>arrow_back</mat-icon> Go Back
</button>
<h4 data-automation-id="process-details-header">Simple page to show the process instance: {{ processInstanceId }} of the app: {{ appName }}</h4>
<div class="adf-process-cloud-container">
<adf-cloud-task-list
fxFlex
class="adf-cloud-layout-overflow"
[appName]="appName"
[processInstanceId]="processInstanceId"
(rowClick)="onRowClick($event)"
#taskCloud>
</adf-cloud-task-list>
<adf-cloud-process-header
class="adf-process-cloud-header"
[appName]="appName"
[processInstanceId]="processInstanceId">
</adf-cloud-process-header>
</div>
@@ -0,0 +1,14 @@
.adf {
&-process-cloud-container {
display: flex;
}
&-cloud-layout-overflow {
width:67%;
}
&-process-cloud-header {
margin-left: 10px;
width: 25%;
}
}
@@ -0,0 +1,49 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* 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 } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
@Component({
templateUrl: './process-details-cloud-demo.component.html',
styleUrls: ['./process-details-cloud-demo.component.scss']
})
export class ProcessDetailsCloudDemoComponent {
processInstanceId: string;
appName: string;
constructor(private route: ActivatedRoute, private router: Router) {
this.route.params.subscribe((params) => {
this.processInstanceId = params.processInstanceId;
});
this.route.parent.params.subscribe((params) => {
this.appName = params.appName;
});
}
onGoBack() {
this.router.navigate([`/cloud/${this.appName}/`]);
}
onRowClick(taskId: string) {
if (taskId) {
this.router.navigate([`/cloud/${this.appName}/task-details/${taskId}`]);
}
}
}
@@ -2,25 +2,31 @@
<adf-cloud-edit-process-filter
[appName]="appName"
[id]="filterId"
[filterProperties]="processFilterProperties"
[filterProperties]="processFilterProperties.filterProperties"
[sortProperties]="processFilterProperties.sortProperties"
[actions]="processFilterProperties.actions"
(filterChange)="onFilterChange($event)"
(action)="onProcessFilterAction($event)">
</adf-cloud-edit-process-filter>
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter">
<adf-cloud-process-list fxFlex class="adf-cloud-layout-overflow"
[appName]="editedFilter.appName"
[initiator]="editedFilter.initiator"
[processDefinitionId]="editedFilter.processDefinitionId"
[processDefinitionKey]="editedFilter.processDefinitionKey"
[id]="editedFilter.processInstanceId"
[status]="editedFilter.state"
[name]="editedFilter.processName"
[sorting]="sortArray"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
(rowClick)="onRowClick($event)"
(rowsSelected)="onRowsSelected($event)"
#processCloud>
<adf-cloud-process-list #processCloud
fxFlex
class="adf-cloud-layout-overflow"
[appName]="editedFilter.appName"
[initiator]="editedFilter.initiator"
[processDefinitionId]="editedFilter.processDefinitionId"
[processDefinitionKey]="editedFilter.processDefinitionKey"
[id]="editedFilter.processInstanceId"
[status]="editedFilter.status"
[name]="editedFilter.processName"
[businessKey]="editedFilter.businessKey"
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
[lastModifiedTo]="editedFilter.lastModifiedTo"
[sorting]="sortArray"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
(rowClick)="onRowClick($event)"
(rowsSelected)="onRowsSelected($event)">
</adf-cloud-process-list>
<adf-pagination
[target]="processCloud"
@@ -33,8 +33,8 @@ import { CloudLayoutService } from './services/cloud-layout.service';
})
export class ProcessesCloudDemoComponent implements OnInit {
public static ACTION_SAVE_AS = 'SAVE_AS';
static PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter.properties';
public static ACTION_SAVE_AS = 'saveAs';
static PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter';
@ViewChild('processCloud')
processCloud: ProcessListCloudComponent;
@@ -52,7 +52,7 @@ export class ProcessesCloudDemoComponent implements OnInit {
selectionMode: string;
selectedRows: string[] = [];
testingMode: boolean;
processFilterProperties: any[] = [];
processFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] };
editedFilter: ProcessFilterCloudModel;
@@ -100,8 +100,8 @@ export class ProcessesCloudDemoComponent implements OnInit {
this.selectedRows = [];
}
onRowClick($event) {
this.selectedRow = $event;
onRowClick(processInstanceId) {
this.router.navigate([`/cloud/${this.appName}/process-details/${processInstanceId}`]);
}
onFilterChange(query: any) {
@@ -1,12 +1,19 @@
<button data-automation-id="go-back" mat-icon-button (click)="onGoBack()">
<mat-icon>arrow_back</mat-icon> Go Back
</button>
<h4 data-automation-id="task-details-header">Simple page to show the taskId: {{ taskId }} of the app: {{ appName }}</h4>
<adf-cloud-task-header
[appName]="appName"
[taskId]="taskId"
[readOnly]="readOnly">
</adf-cloud-task-header>
<div class="adf-task-detail-container">
<div class="adf-task-control">
<button mat-button (click)="goBack()">Cancel</button>
<button mat-button color="primary" *ngIf="canCompleteTask()" adf-cloud-complete-task [appName]="appName" [taskId]="taskId"
(success)="onCompletedTask()">{{ 'ADF_TASK_LIST.DETAILS.BUTTON.COMPLETE' | translate }}</button>
<button mat-button color="primary" *ngIf="canClaimTask()" adf-cloud-claim-task [appName]="appName" [taskId]="taskId"
(success)="onClaimTask()">{{ 'ADF_TASK_LIST.DETAILS.BUTTON.CLAIM' | translate }}</button>
<button mat-button color="primary" *ngIf="canUnClaimTask()" adf-cloud-unclaim-task [appName]="appName" [taskId]="taskId"
(success)="onUnclaimTask()">{{ 'ADF_TASK_LIST.DETAILS.BUTTON.UNCLAIM' | translate }}</button>
</div>
<adf-cloud-task-header class="adf-demop-card-container" [appName]="appName" [taskId]="taskId" [readOnly]="readOnly">
</adf-cloud-task-header>
</div>
@@ -0,0 +1,20 @@
.adf {
&-task-detail-container {
display: flex;
}
&-task-tiitle {
margin-left:15px;
}
&-task-control {
width:70%;
}
&-demop-card-container {
width:30%;
font-family: inherit;
}
}
@@ -15,20 +15,26 @@
* limitations under the License.
*/
import { Component } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { TaskDetailsCloudModel, TaskCloudService } from '@alfresco/adf-process-services-cloud';
@Component({
templateUrl: './task-details-cloud-demo.component.html',
styleUrls: ['./task-details-cloud-demo.component.scss']
})
export class TaskDetailsCloudDemoComponent {
export class TaskDetailsCloudDemoComponent implements OnInit {
taskDetails: TaskDetailsCloudModel;
taskId: string;
appName: string;
readOnly = false;
constructor(private route: ActivatedRoute, private router: Router) {
constructor(
private route: ActivatedRoute,
private router: Router,
private taskCloudService: TaskCloudService
) {
this.route.params.subscribe((params) => {
this.taskId = params.taskId;
});
@@ -37,8 +43,46 @@ export class TaskDetailsCloudDemoComponent {
});
}
onGoBack() {
this.router.navigate([`/cloud/${this.appName}/`]);
ngOnInit() {
this.loadTaskDetailsById(this.appName, this.taskId);
}
loadTaskDetailsById(appName: string, taskId: string) {
this.taskCloudService.getTaskById(appName, taskId).subscribe(
(taskDetails: TaskDetailsCloudModel ) => {
this.taskDetails = taskDetails;
});
}
isTaskValid(): boolean {
return this.appName !== undefined && this.taskId !== undefined;
}
canCompleteTask(): boolean {
return this.taskDetails && this.taskCloudService.canCompleteTask(this.taskDetails);
}
canClaimTask(): boolean {
return this.taskDetails && this.taskCloudService.canClaimTask(this.taskDetails);
}
canUnClaimTask(): boolean {
return this.taskDetails && this.taskCloudService.canUnclaimTask(this.taskDetails);
}
goBack() {
this.router.navigate([`/cloud/${this.appName}/`]);
}
onCompletedTask() {
this.goBack();
}
onUnclaimTask() {
this.goBack();
}
onClaimTask() {
this.goBack();
}
}
@@ -2,12 +2,16 @@
<adf-cloud-edit-task-filter
[appName]="appName"
[id]="filterId"
[filterProperties]="taskFilterProperties"
[filterProperties]="taskFilterProperties.filterProperties"
[sortProperties]="taskFilterProperties.sortProperties"
[actions]="taskFilterProperties.actions"
(action)="onTaskFilterAction($event)"
(filterChange)="onFilterChange($event)">
</adf-cloud-edit-task-filter>
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter">
<adf-cloud-task-list #taskCloud
fxFlex
class="adf-cloud-layout-overflow"
[appName]="editedFilter.appName"
[processDefinitionId]="editedFilter.processDefinitionId"
[processInstanceId]="editedFilter.processInstanceId"
@@ -17,8 +21,10 @@
[owner]="editedFilter.owner"
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
[lastModifiedTo]="editedFilter.lastModifiedTo"
[status]="editedFilter.state"
[assignee]="editedFilter.assignment"
[status]="editedFilter.status"
[assignee]="editedFilter.assignee"
[createdDate]="editedFilter.createdDate"
[dueDate]="editedFilter.dueDate"
[sorting]="sortArray"
[multiselect]="multiselect"
[selectionMode]="selectionMode"
@@ -27,8 +27,8 @@ import { CloudLayoutService } from './services/cloud-layout.service';
})
export class TasksCloudDemoComponent implements OnInit {
public static ACTION_SAVE_AS = 'SAVE_AS';
static TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter.properties';
public static ACTION_SAVE_AS = 'saveAs';
static TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter';
@ViewChild('taskCloud')
taskCloud: TaskListCloudComponent;
@@ -41,7 +41,7 @@ export class TasksCloudDemoComponent implements OnInit {
sortArray: TaskListCloudSortingModel[];
editedFilter: TaskFilterCloudModel;
taskFilterProperties: any[] = [];
taskFilterProperties: any = { filterProperties: [], sortProperties: [], actions: [] };
filterId;
multiselect: boolean;
@@ -84,7 +84,7 @@ export class TasksCloudDemoComponent implements OnInit {
this.multiselect = settings.multiselect;
this.testingMode = settings.testingMode;
this.selectionMode = settings.selectionMode;
this.selectionMode = settings.taskDetailsRedirection;
this.taskDetailsRedirection = settings.taskDetailsRedirection;
}
}
@@ -48,6 +48,10 @@ export class CardViewComponent implements OnInit {
this.createCard();
}
respondToCardClick() {
this.logs.push(`clickable field`);
}
ngOnInit() {
this.cardViewUpdateService.itemUpdated$.subscribe(this.onItemChange.bind(this));
}
@@ -118,6 +122,17 @@ export class CardViewComponent implements OnInit {
value: new Map([['999', 'My Value']]),
key: 'map',
default: 'default map value'
}),
new CardViewTextItemModel({
label: 'This is clickable ',
value: 'click here',
key: 'click',
default: 'click here',
editable: this.isEditable,
clickable: true,
clickCallBack: () => {
this.respondToCardClick();
}
})
];
}
@@ -42,6 +42,13 @@
</button>
</mat-list-item>
<mat-list-item (click)="applicationListCloudConfClick()">
<a matLine id="adf-apps-cloud-conf">Application List Cloud</a>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</button>
</mat-list-item>
<mat-list-item (click)="taskListCloudConfClick()">
<a matLine id="adf-task-list-cloud-conf">Task List Cloud</a>
<button mat-icon-button>
@@ -49,12 +56,12 @@
</button>
</mat-list-item>
<mat-list-item (click)="editProcessFilterConfClick()">
<a matLine id="adf-edit-process-filter-conf">Edit process filter</a>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</button>
</mat-list-item>
<mat-list-item (click)="editProcessFilterConfClick()">
<a matLine id="adf-edit-process-filter-conf">Edit process filter</a>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</button>
</mat-list-item>
<mat-list-item (click)="processListCloudConfClick()">
<a matLine id="adf-process-list-cloud-conf">Process List Cloud</a>
@@ -63,11 +70,32 @@
</button>
</mat-list-item>
<mat-list-item (click)="editTaskFilterConfClick()">
<a matLine id="adf-edit-task-filter-conf">Edit task filter</a>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</button>
<mat-list-item (click)="editTaskFilterConfClick()">
<a matLine id="adf-edit-task-filter-conf">Edit task filter</a>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</button>
</mat-list-item>
<mat-list-item (click)="infinitePaginationConfClick()">
<a matLine id="adf-infinite-pagination-conf">Infinite pagination</a>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</button>
</mat-list-item>
<mat-list-item (click)="supportedPageSizesClick()">
<a matLine id="adf-supported-page-size">Supported Page Sizes </a>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</button>
</mat-list-item>
<mat-list-item (click)="textOrientationClick()">
<a matLine id="adf-page-orientation-conf">Page Orientation</a>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</button>
</mat-list-item>
</mat-nav-list>
@@ -16,7 +16,7 @@
*/
import { Component } from '@angular/core';
import { AppConfigService, NotificationService } from '@alfresco/adf-core';
import { AppConfigService, NotificationService, UserPreferencesService, UserPreferenceValues } from '@alfresco/adf-core';
@Component({
selector: 'app-config-editor',
@@ -29,6 +29,8 @@ export class ConfigEditorComponent {
code: any;
field = 'content-metadata';
invalidJson = false;
isUserPreference = false;
userPreferenceProperty: string;
editorOptions = {
theme: 'vs-dark',
@@ -43,13 +45,19 @@ export class ConfigEditorComponent {
this.indentCode();
}
constructor(private appConfig: AppConfigService, private notificationService: NotificationService) {
constructor(private appConfig: AppConfigService,
private userPreferencesService: UserPreferencesService,
private notificationService: NotificationService) {
this.code = JSON.stringify(appConfig.config['content-metadata']);
}
onSave() {
try {
this.appConfig.config[this.field] = JSON.parse(this.editor.getValue());
if (this.isUserPreference) {
this.userPreferencesService.set(this.userPreferenceProperty, JSON.parse(this.editor.getValue()));
} else {
this.appConfig.config[this.field] = JSON.parse(this.editor.getValue());
}
} catch (error) {
this.invalidJson = true;
this.notificationService.openSnackMessage(
@@ -71,65 +79,115 @@ export class ConfigEditorComponent {
}
fileConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['files']);
this.field = 'files';
this.indentCode();
}
textOrientationClick() {
this.isUserPreference = true;
this.userPreferenceProperty = 'textOrientation';
this.userPreferencesService.select( this.userPreferenceProperty).subscribe((textOrientation: number) => {
this.code = JSON.stringify(textOrientation);
this.field = 'textOrientation';
this.indentCode();
});
this.indentCode();
}
searchConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['search']);
this.field = 'search';
this.indentCode();
}
metadataConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['content-metadata']);
this.field = 'content-metadata';
this.indentCode();
}
taskHeaderConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['adf-task-header']);
this.field = 'adf-task-header';
this.indentCode();
}
processInstanceHeaderConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['adf-process-instance-header']);
this.field = 'adf-process-instance-header';
this.indentCode();
}
startProcessConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['adf-start-process']);
this.field = 'adf-start-process';
this.indentCode();
}
taskListCloudConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['adf-cloud-task-list']);
this.field = 'adf-cloud-task-list';
this.indentCode();
}
editProcessFilterConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['adf-edit-process-filter']);
this.field = 'adf-edit-process-filter';
this.indentCode();
}
editTaskFilterConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['adf-edit-task-filter']);
this.field = 'adf-edit-task-filter';
this.indentCode();
}
processListCloudConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['adf-cloud-process-list']);
this.field = 'adf-cloud-process-list';
this.indentCode();
}
infinitePaginationConfClick() {
this.isUserPreference = true;
this.userPreferenceProperty = UserPreferenceValues.PaginationSize;
this.userPreferencesService.select(this.userPreferenceProperty).subscribe((pageSize: number) => {
this.code = JSON.stringify(pageSize);
this.field = 'adf-infinite-pagination';
this.indentCode();
});
}
supportedPageSizesClick() {
this.isUserPreference = true;
this.userPreferenceProperty = UserPreferenceValues.SupportedPageSizes;
this.userPreferencesService.select(this.userPreferenceProperty).subscribe((supportedPageSizes: number) => {
this.code = JSON.stringify(supportedPageSizes);
this.field = 'adf-supported-page-size';
this.indentCode();
});
}
applicationListCloudConfClick() {
this.isUserPreference = false;
this.code = JSON.stringify(this.appConfig.config['alfresco-deployed-apps']);
this.field = 'alfresco-deployed-apps';
this.indentCode();
}
indentCode() {
setTimeout(() => {
this.editor.getAction('editor.action.formatDocument').run();
@@ -2,28 +2,37 @@
<input id="adf-datatable-filter-input" matInput placeholder="Name filter" [(ngModel)]="data.filterValue">
</mat-form-field>
<adf-datatable
#dataTable
[data]="data"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
[actions]="true"
rowStyleClass="custom-row-style"
(showRowActionsMenu)="onShowRowActionsMenu($event)"
(executeRowAction)="onExecuteRowAction($event)"
(row-click)="onRowClick($event)"
(row-dblclick)="onRowDblClick($event)">
<!-- HTML column definition demo -->
<!--
<data-columns>
<data-column type="image" key="icon" [sortable]="false"></data-column>
<data-column key="id" title="Id"></data-column>
<data-column key="createdOn" title="Created"></data-column>
<data-column key="name" title="Name" class="adf-full-width name-column"></data-column>
<data-column key="createdBy.name" title="Created By"></data-column>
</data-columns>
-->
</adf-datatable>
<mat-slide-toggle
id="adf-toggle-sticky-header"
[color]="'primary'"
(change)="toggleStickyHeader()"
[checked]="stickyHeader">
Sticky header
</mat-slide-toggle>
<div style="height: 310px; overflow-y: auto;">
<adf-datatable
#dataTable
[data]="data"
[stickyHeader]="stickyHeader"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
[actions]="true"
rowStyleClass="custom-row-style"
(showRowActionsMenu)="onShowRowActionsMenu($event)" (executeRowAction)="onExecuteRowAction($event)"
(row-click)="onRowClick($event)" (row-dblclick)="onRowDblClick($event)">
<!-- HTML column definition demo -->
<!--
<data-columns>
<data-column type="image" key="icon" [sortable]="false"></data-column>
<data-column key="id" title="Id"></data-column>
<data-column key="createdOn" title="Created"></data-column>
<data-column key="name" title="Name" class="adf-full-width name-column"></data-column>
<data-column key="createdBy.name" title="Created By"></data-column>
</data-columns>
-->
</adf-datatable>
</div>
<div>
Selected items: {{ dataTable.selection?.length }}
@@ -47,4 +56,4 @@
<button mat-raised-button (click)="addRow()">{{ 'DATATABLE.ADD_ROW'| translate }}</button>
<button mat-raised-button (click)="replaceRows()">{{ 'DATATABLE.REPLACE_ROWS'| translate }}</button>
<button mat-raised-button (click)="replaceColumns()">{{ 'DATATABLE.REPLACE_COLUMNS'| translate }}</button>
</div>
</div>
@@ -54,6 +54,7 @@ export class DataTableComponent {
multiselect = false;
data: FilteredDataAdapter;
stickyHeader = false;
@Input()
selectionMode = 'single';
@@ -74,12 +75,18 @@ export class DataTableComponent {
this.reset();
}
/* spellchecker: disable */
reset() {
this.data = new FilteredDataAdapter(
[
{
id: 1,
name: 'Name 1',
name: `Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident,
sunt in culpa qui officia deserunt mollit anim id est laborum.`,
createdOn: new Date(2016, 6, 2, 15, 8, 1),
createdBy: this._createdBy,
icon: 'material-icons://folder_open'
@@ -100,23 +107,24 @@ export class DataTableComponent {
},
{
id: 4,
name: 'Image 1',
name: 'Image 8',
createdOn: new Date(2016, 6, 2, 15, 8, 4),
createdBy: this._createdBy,
icon: this._imageUrl
icon: 'material-icons://alarm'
}
],
[
{ type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail' },
{ type: 'text', key: 'id', title: 'Id', sortable: true , cssClass: 'adf-desktop-only'},
{ type: 'text', key: 'createdOn', title: 'Created On', sortable: true },
{ type: 'text', key: 'name', title: 'Name', cssClass: 'adf-full-width adf-name-column', sortable: true },
{ type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true, cssClass: 'adf-desktop-only'}
{ type: 'text', key: 'id', title: 'Id', sortable: true , cssClass: '' },
{ type: 'text', key: 'createdOn', title: 'Created On', sortable: true, cssClass: 'adf-ellipsis-cell adf-expand-cell-5' },
{ type: 'text', key: 'name', title: 'Name', cssClass: 'adf-ellipsis-cell', sortable: true },
{ type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true, cssClass: ''}
]
);
this.data.setSorting(new DataSorting('id', 'asc'));
}
/* spellchecker: enable */
addRow() {
const id = this.data.getRows().length + 1;
@@ -199,4 +207,8 @@ export class DataTableComponent {
onRowDblClick(event) {
this.logService.log(event);
}
toggleStickyHeader() {
this.stickyHeader = !this.stickyHeader;
}
}
@@ -1,10 +1,11 @@
<div class="adf-container">
<mat-accordion *ngIf="showRecentFiles" class="adf-container-recent">
<mat-expansion-panel hideToggle="true">
<mat-expansion-panel-header >
<mat-expansion-panel hideToggle="true">
<mat-expansion-panel-header>
<mat-panel-title>
{{ 'DOCUMENT_LIST.RECENT.TITLE' | translate }}<mat-icon>history</mat-icon>
{{ 'DOCUMENT_LIST.RECENT.TITLE' | translate }}
<mat-icon>history</mat-icon>
</mat-panel-title>
</mat-expansion-panel-header>
@@ -31,7 +32,8 @@
</adf-sites-dropdown>
</div>
<div id="document-list-container" class="adf-document-list-container" fxLayout="row" fxLayoutAlign="start stretch" fxLayoutGap="16px">
<div id="document-list-container" class="adf-document-list-container" fxLayout="row" fxLayoutAlign="start stretch"
fxLayoutGap="16px">
<adf-upload-drag-area fxFlex="1 1 auto"
[disabled]="disableDragArea"
[acceptedFilesType]="getFileFiltering()"
@@ -47,7 +49,7 @@
<span class="adf-error-message--text">{{errorMessage}}</span>
</div>
<adf-toolbar *ngIf="!disableDragArea" [color]="toolbarColor" class="adf-files-toolbar">
<adf-toolbar-title fxFlex="0 1 auto">
<adf-toolbar-title fxFlex="0 1 auto">
<adf-breadcrumb fxShow fxHide.lt-sm="true"
class="adf-files-breadcrumb"
root="APP.PERSONAL-FILES"
@@ -67,8 +69,12 @@
data-automation-id="document-list-grid-view"
title="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}"
(click)="toggleGalleryView()">
<mat-icon *ngIf="displayMode === 'list'" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}">view_comfy</mat-icon>
<mat-icon *ngIf="displayMode === 'gallery'" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.LISTVIEW' | translate }}">list</mat-icon>
<mat-icon *ngIf="displayMode === 'list'"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}">view_comfy
</mat-icon>
<mat-icon *ngIf="displayMode === 'gallery'"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.LISTVIEW' | translate }}">list
</mat-icon>
</button>
<button
data-automation-id="create-new-folder"
@@ -136,7 +142,8 @@
</button>
</div>
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.THEME' | translate }}">
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.THEME' | translate }}">
<mat-icon>format_color_fill</mat-icon>
</button>
@@ -148,8 +155,12 @@
</mat-menu>
<button mat-icon-button (click)="showVersions = !showVersions" class="adf-show-versions-button">
<mat-icon *ngIf="!showVersions" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.SHOW_VERSION' | translate }}">chevron_left</mat-icon>
<mat-icon *ngIf="showVersions" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.HIDE_VERSION' | translate }}">chevron_right</mat-icon>
<mat-icon *ngIf="!showVersions" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.SHOW_VERSION' | translate }}">
chevron_left
</mat-icon>
<mat-icon *ngIf="showVersions" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.HIDE_VERSION' | translate }}">
chevron_right
</mat-icon>
</button>
<adf-toolbar-divider fxFlex="0 0 auto" fxHide fxShow.lt-sm="true"></adf-toolbar-divider>
@@ -160,7 +171,7 @@
<mat-menu #menu="matMenu">
<button mat-menu-item
(click)="toggleGalleryView()">
<mat-icon *ngIf="displayMode === 'list'" >view_comfy</mat-icon>
<mat-icon *ngIf="displayMode === 'list'">view_comfy</mat-icon>
<mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}</span>
</button>
@@ -200,8 +211,10 @@
</mat-menu>
</adf-toolbar>
<adf-document-list
<div class="adf-document-list-container" [ngClass]="{'adf-sticky-document-list': stickyHeader }">
<adf-document-list
#documentList
class="adf-file-list-container"
[permissionsStyle]="permissionsStyle"
[currentFolderId]="currentFolderId"
[contextMenuActions]="true"
@@ -216,6 +229,7 @@
[sortingMode]="sortingMode"
[showHeader]="showHeader"
[thumbnails]="thumbnails"
[stickyHeader]="stickyHeader"
(error)="onNavigationError($event)"
(success)="resetError()"
(ready)="emitReadyEvent($event)"
@@ -224,27 +238,26 @@
(permissionError)="handlePermissionError($event)"
(name-click)="documentList.onNodeDblClick($event.detail?.node)">
<adf-custom-no-permission-template *ngIf="enableCustomPermissionMessage">
<h1>You don't have permissions</h1>
<h1>You don't have permissions</h1>
</adf-custom-no-permission-template>
<adf-custom-empty-content-template *ngIf="disableDragArea">
<div class="adf-empty_template">
<div class="adf-no-result-message">{{ 'SEARCH.NO_RESULT' | translate }}</div>
</div>
<div class="adf-empty_template">
<div class="adf-no-result-message">{{ 'SEARCH.NO_RESULT' | translate }}</div>
</div>
</adf-custom-empty-content-template>
<data-columns>
<data-column
key="$thumbnail"
type="image"
[sortable]="false"
class="adf-image-table-cell"
class="adf-image-table-cell "
[class.adf-cell-thumbnail]="thumbnails">
</data-column>
<data-column
*ngIf="showNameColumn && hyperlinkNavigation"
key="name"
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
[formatTooltip]="getNodeNameTooltip"
class="adf-full-width adf-ellipsis-cell">
[formatTooltip]="getNodeNameTooltip">
<ng-template let-context>
<adf-name-column [context]="context"></adf-name-column>
</ng-template>
@@ -254,7 +267,7 @@
key="name"
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
[formatTooltip]="getNodeNameTooltip"
class="adf-full-width adf-ellipsis-cell">
class="adf-ellipsis-cell adf-expand-cell-5">
</data-column>
<!-- Location column demo -->
<!--
@@ -268,7 +281,18 @@
<data-column
key="content.sizeInBytes"
title="{{'DOCUMENT_LIST.COLUMNS.SIZE' | translate}}"
type="fileSize">
type="fileSize"
class="adf-desktop-only">
</data-column>
<data-column
*ngIf="searchTerm"
key="search"
title="Search"
class="adf-desktop-only">
<ng-template let-entry="$implicit">
<div [innerHTML]="searchResultsHighlight(entry.row.node.entry.search) | highlight:searchTerm">
</div>
</ng-template>
</data-column>
<!-- Notes: has performance overhead due to multiple files/folders causing separate HTTP calls to get tags -->
<!--
@@ -282,14 +306,14 @@
</data-column>
-->
<data-column
class="adf-full-width adf-ellipsis-cell"
class="adf-full-width adf-ellipsis-cell adf-desktop-only"
title="{{'DOCUMENT_LIST.COLUMNS.NODE_ID' | translate}}"
key="id">
</data-column>
<data-column
class="adf-desktop-only"
title="{{'DOCUMENT_LIST.COLUMNS.IS_LOCKED' | translate}}"
key="id">
key="id"
class="adf-desktop-only">
<ng-template let-entry="$implicit">
<button mat-icon-button [adf-node-lock]="entry.row.node.entry" class="adf-lock-button">
<mat-icon *ngIf="entry.row.getValue('isLocked')">lock</mat-icon>
@@ -300,14 +324,14 @@
<data-column
title="{{'DOCUMENT_LIST.COLUMNS.CREATED_BY' | translate}}"
key="createdByUser.displayName"
class="adf-desktop-only">
class="adf-desktop-only adf-ellipsis-cell">
</data-column>
<data-column
title="{{'DOCUMENT_LIST.COLUMNS.CREATED' | translate}}"
key="createdAt"
type="date"
[format]="enableMediumTimeFormat ? 'medium' : 'timeAgo'"
class="adf-desktop-only">
class="adf-desktop-only adf-ellipsis-cell">
</data-column>
</data-columns>
@@ -400,6 +424,7 @@
</content-action>
</content-actions>
</adf-document-list>
</div>
<adf-pagination
#standardPagination
*ngIf="!infiniteScrolling"
@@ -421,7 +446,7 @@
<adf-info-drawer-layout *ngIf="showVersions" class="adf-manage-versions-sidebar" fxFlex="0 0 auto">
<div info-drawer-content>
<adf-info-drawer [title]="'Details'" *ngIf="documentList.selection[0]" >
<adf-info-drawer [title]="'Details'" *ngIf="documentList.selection[0]">
<adf-info-drawer-tab [label]="'Properties'">
<adf-content-metadata-card
[node]="documentList.selection[0].entry"
@@ -513,7 +538,8 @@
</section>
<section>
<mat-slide-toggle id="adf-extension-filter-upload-switch" [color]="'primary'" [(ngModel)]="acceptedFilesTypeShow">
<mat-slide-toggle id="adf-extension-filter-upload-switch" [color]="'primary'"
[(ngModel)]="acceptedFilesTypeShow">
{{'DOCUMENT_LIST.CUSTOM_FILTER' | translate}}
</mat-slide-toggle>
</section>
@@ -531,13 +557,14 @@
</section>
<section>
<mat-slide-toggle id="adf-document-list-enable-drop-files" [color]="'primary'" [(ngModel)]="allowDropFiles" (click)="toggleAllowDropFiles()" >
<mat-slide-toggle id="adf-document-list-enable-drop-files" [color]="'primary'" [(ngModel)]="allowDropFiles"
(click)="toggleAllowDropFiles()">
{{'DOCUMENT_LIST.ALLOW_DROP_FILES' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle id="adf-version-upload-switch" [color]="'primary'" [(ngModel)]="versioning">
<mat-slide-toggle id="adf-version-upload-switch" [color]="'primary'" [(ngModel)]="versioning">
{{'DOCUMENT_LIST.ENABLE_VERSIONING' | translate}}
</mat-slide-toggle>
</section>
@@ -585,6 +612,12 @@
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle
color="primary" [(ngModel)]="stickyHeader" id="stickyHeader">
Sticky Header
</mat-slide-toggle>
</section>
<h5>Upload</h5>
<section *ngIf="acceptedFilesTypeShow">
@@ -655,4 +688,4 @@
</div>
</div>
<adf-file-uploading-dialog #fileDialog (error)="openSnackMessage($event)" ></adf-file-uploading-dialog>
<adf-file-uploading-dialog #fileDialog (error)="openSnackMessage($event)"></adf-file-uploading-dialog>
@@ -1,7 +1,7 @@
@mixin adf-file-component-theme($theme) {
$minimumDocumentListWidth: 900px;
$foreground: map-get($theme, foreground);
.adf-container {
margin: 10px !important;
}
@@ -38,9 +38,21 @@
adf-document-list ::ng-deep .adf-datatable-selected > svg {
fill: #00bcd4 !important;
margin-top: -4px;
margin-left: -4px;
width: 32px;
height: 32px;
}
.adf-data-table-card .adf-lock-button {
.adf-document-list-container {
min-height: 400px;
.adf-datatable-list {
min-height: 400px;
}
}
.adf-datatable-card .adf-lock-button {
top: -10px;
}
@@ -59,10 +71,6 @@
.adf-toolbar-title {
display: flex;
width: 100%;
.adf-breadcrumb {
width: 0;
}
}
}
@@ -128,46 +136,115 @@
}
}
@media (max-device-width: $minimumDocumentListWidth) {
adf-document-list .adf-data-table {
.adf-data-table-cell,
.adf-datatable-table-cell-header {
display: none;
}
.adf-data-table-cell:first-child,
.adf-datatable-table-cell-header:first-child,
.adf-data-table-cell:nth-child(2),
.adf-datatable-table-cell-header:nth-child(2) {
display: table-cell;
}
@media all {
.adf-isLocked-column {
max-width: 30px !important;
margin-right: 5px;
}
.adf-site-container-style {
width: 100%;
display: block;
& ::ng-deep .adf-site-dropdown-list-element {
width: 100%;
}
.adf-folder-image-column {
max-width: 28px!important;
}
}
adf-file-uploading-dialog ::ng-deep .adf-upload-dialog {
width: 80%;
@media (max-width: 768px) {
.adf-createdOn-column {
display: none !important;
}
}
& ::ng-deep adf-file-uploading-list ::ng-deep adf-file-uploading-list-row
.adf-file-uploading-row__group {
min-width: 0;
@media (max-width: 500px) {
.adf-datatable-list {
.adf {
&-display-name-column {
max-width: 50% !important;
}
&-size-column {
display: none !important;
}
&-createdBy-column {
max-width: 45% !important;
}
&-nodeId-column {
display: none !important;
}
}
}
}
@media (max-device-width: 1024px) {
adf-document-list .adf-data-table {
@media (max-width: 600px) {
.adf-datatable-list {
.adf {
&-display-name-column {
max-width: 35%;
}
&-size-column {
max-width: 8%;
}
&-createdBy-column {
max-width: 35%;
}
&-createdOn-column {
max-width: 15%;
}
&-nodeId-column {
max-width: 10%;
}
&-isLocked-column {
display: none!important;
}
&-standard-breadcrumb {
display: none !important;
}
}
}
}
.adf-data-table-cell:nth-child(5),
.adf-datatable-table-cell-header:nth-child(5) {
display: none;
@media (min-width: 601px) {
.adf-datatable-list {
.adf {
&-display-name-column {
max-width: 30%;
}
&-size-column {
max-width: 10%;
}
&-createdBy-column {
max-width: 30%;
}
&-createdOn-column {
max-width: 15%;
}
&-nodeId-column {
max-width: 12%;
}
&-alternate-breadcrumb {
display: none !important;
}
}
}
}
@media (min-width: 1400px) {
.adf-datatable-list {
.adf {
&-display-name-column {
max-width: 40%;
}
&-size-column {
max-width: 15%;
}
&-createdBy-column {
max-width: 20%;
}
&-createdOn-column {
max-width: 20%;
}
&-nodeId-column {
max-width: 20%;
}
}
}
}
@@ -28,7 +28,7 @@ import {
AlfrescoApiService, AuthenticationService, AppConfigService, AppConfigValues, ContentService, TranslationService,
FileUploadEvent, FolderCreatedEvent, LogService, NotificationService,
UploadService, DataColumn, DataRow, UserPreferencesService,
PaginationComponent, FormValues, DisplayMode, InfinitePaginationComponent
PaginationComponent, FormValues, DisplayMode, InfinitePaginationComponent, HighlightDirective
} from '@alfresco/adf-core';
import {
@@ -46,6 +46,7 @@ import { MetadataDialogAdapterComponent } from './metadata-dialog-adapter.compon
import { Subscription } from 'rxjs';
import { PreviewService } from '../../services/preview.service';
import { debounceTime } from 'rxjs/operators';
import { SearchEntry } from '@alfresco/js-api';
const DEFAULT_FOLDER_TO_SHOW = '-my-';
@@ -150,6 +151,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Input()
showNameColumn = true;
@Input()
searchTerm = '';
@Output()
documentListReady: EventEmitter<any> = new EventEmitter();
@@ -180,8 +184,12 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@ViewChild(InfinitePaginationComponent)
infinitePaginationComponent: InfinitePaginationComponent;
@ViewChild(HighlightDirective)
highlighter: HighlightDirective;
permissionsStyle: PermissionStyleModel[] = [];
infiniteScrolling: boolean;
stickyHeader: boolean;
warnOnMultipleUploads = false;
thumbnails = false;
enableCustomPermissionMessage = false;
@@ -581,4 +589,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
);
});
}
searchResultsHighlight(search: SearchEntry): string {
if (search && search.highlight) {
return search.highlight.map((currentHighlight) => currentHighlight.snippets).join(', ');
}
}
}
@@ -1,5 +1,5 @@
<header class="adf-logout-background">
<div class="adf-logout-section">
<div class="adf-logout-section" data-automation-id="adf-logout-section">
<div class="adf-logout-headline">
<h1>{{ 'APP.LOGOUT.TITLE' | translate}}</h1>
<h2>{{ 'APP.LOGOUT.SUB_TITLE' | translate}}</h2>
@@ -63,17 +63,15 @@ export class DemoPermissionComponent implements OnInit {
}
openAddPermissionDialog(event: Event) {
this.nodePermissionDialogService.updateNodePermissionByDialog(this.nodeId).subscribe(() => {
this.displayPermissionComponent.reload();
},
(error) => {
this.showErrorMessage(error);
});
this.nodePermissionDialogService.updateNodePermissionByDialog(this.nodeId).subscribe(
() => this.displayPermissionComponent.reload(),
(error) => this.showErrorMessage(error));
}
showErrorMessage(error) {
const message = error.message ? error.message : error;
this.notificationService.openSnackMessage(
error,
message,
4000
);
}
@@ -71,23 +71,23 @@
}
.adf-list {
.adf-data-table {
.adf-datatable-list {
border: none;
}
.adf-data-table tr,
.adf-data-table td {
.adf-datatable tr,
.adf-datatable td {
height: 36px;
font-size: 14px;
}
.adf-data-table td {
.adf-datatable td {
padding-top: 0;
padding-bottom: 0;
border-bottom: none;
}
.adf-data-table th {
.adf-datatable th {
padding-top: 0;
padding-bottom: 0;
height: 40px;
@@ -419,7 +419,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
}
relocateLocationToTask(): void {
this.location.go(`/activiti/apps/${this.appId || 0}/tasks/${this.taskFilter.id}`);
this.location.go(`/activiti/apps/${this.appId || 0}/tasks/${this.taskFilter ? this.taskFilter.id : 0}`);
}
relocateLocationToReport(): void {
@@ -484,7 +484,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
name: event.value.name || 'No name',
created: event.value.created
};
this.activitiFilter.selectFilter(null);
if (this.taskList) {
this.taskList.setCustomDataSource([processTaskDataRow]);
this.taskList.selectTask(taskId);
@@ -1,5 +1,5 @@
<div class="adf-search-results__facets">
<adf-search-chip-list [searchFilter]="searchFilter"></adf-search-chip-list>
<adf-search-chip-list [searchFilter]="searchFilter" [clearAll]="true"></adf-search-chip-list>
</div>
<div class="adf-search-results">
@@ -21,6 +21,7 @@
[nodeResult]="data"
[disableDragArea]="true"
[pagination]="pagination"
[searchTerm]="searchedWord"
(changedPageSize)="onRefreshPagination($event)"
(changedPageNumber)="onRefreshPagination($event)"
(turnedNextPage)="onRefreshPagination($event)"
@@ -0,0 +1,28 @@
<h1>Select Site</h1>
<adf-sites-dropdown (change)="onSiteChange($event)" [relations]="'members'">
</adf-sites-dropdown>
Current Selected Site {{currentSelectedSite}}
<h1>Hide My Files</h1>
<adf-sites-dropdown [hideMyFiles]="true" [relations]="'members'">
</adf-sites-dropdown>
<h1>Select Default Site</h1>
<section>
<mat-form-field>
<label>Insert a Default site ID</label>
<input matInput [(ngModel)]="defaultSite">
</mat-form-field>
</section>
<button (click)="applySite()" mat-button color="primary">Apply</button>
<div *ngIf="showDefaultSite">
<adf-sites-dropdown [relations]="'members'" [value]="defaultSite">
</adf-sites-dropdown>
</div>
@@ -0,0 +1,40 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* 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 } from '@angular/core';
@Component({
selector: 'app-sites',
templateUrl: 'sites.component.html',
styleUrls: ['sites.component.scss']
})
export class SitesComponent {
currentSelectedSite: string;
hideMyFiles: boolean = false;
showDefaultSite: boolean = false;
defaultSite: string;
onSiteChange($event: any) {
this.currentSelectedSite = JSON.stringify($event.entry);
}
applySite() {
this.showDefaultSite = true;
}
}
@@ -0,0 +1,41 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* 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 { NgModule } from '@angular/core';
import { SitesComponent } from './sites.component';
import { Routes, RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { CoreModule } from '@alfresco/adf-core';
import { ContentModule } from '@alfresco/adf-content-services';
const routes: Routes = [
{
path: '',
component: SitesComponent
}
];
@NgModule({
imports: [
CommonModule,
RouterModule.forChild(routes),
CoreModule.forChild(),
ContentModule.forChild()
],
declarations: [SitesComponent]
})
export class SitesModule {}
@@ -169,8 +169,16 @@
</data-column>
<data-column key="name" title="Name"></data-column>
<data-column key="description" title="Description"></data-column>
<data-column key="created" title="Created"></data-column>
<data-column key="dueDate" title="Due Date"></data-column>
<data-column key="created" title="Created">
<ng-template let-entry="$implicit">
<div>{{entry.row.obj.created | date:'MMM d, yyyy' }} </div>
</ng-template>
</data-column>
<data-column key="dueDate" title="Due Date" type="date">
<ng-template let-entry="$implicit">
<div>{{entry.row.obj.dueDate | date:'MMM d, yyyy' }} </div>
</ng-template>
</data-column>
<data-column key="processInstanceId" title="Process Instance Id"></data-column>
<data-column key="processDefinitionId" title="Process Definition Id"></data-column>
</data-columns>
@@ -42,8 +42,8 @@
<adf-empty-content
icon="delete"
[title]="'TRASHCAN.EMPTY_STATE.TITLE'">
<p class="adf-empty-content__text">{{ 'TRASHCAN.EMPTY_STATE.FIRST_TEXT' | translate }}</p>
<p class="adf-empty-content__text">{{ 'TRASHCAN.EMPTY_STATE.SECOND_TEXT' | translate }}</p>
<div class="adf-empty-content__text">{{ 'TRASHCAN.EMPTY_STATE.FIRST_TEXT' | translate }}</div>
<div class="adf-empty-content__text">{{ 'TRASHCAN.EMPTY_STATE.SECOND_TEXT' | translate }}</div>
</adf-empty-content>
</adf-custom-empty-content-template>
@@ -57,7 +57,7 @@
</data-column>
<data-column
class="adf-data-table-cell--ellipsis__name"
class="adf-datatable-cell--ellipsis__name"
key="name"
title="DOCUMENT_LIST.COLUMNS.DISPLAY_NAME">
<ng-template let-value="value" let-context>
@@ -80,7 +80,7 @@
</data-column>
<data-column
class="adf-data-table-cell--ellipsis"
class="adf-datatable-cell--ellipsis"
key="archivedByUser.displayName"
title="DOCUMENT_LIST.COLUMNS.DELETED_BY">
</data-column>
+60
View File
@@ -0,0 +1,60 @@
#!/bin/sh
if [ -n "${APP_CONFIG_AUTH_TYPE}" ];then
sed -e "s/\"authType\": \".*\"/\"authType\": \"${APP_CONFIG_AUTH_TYPE}\"/g" \
-i ./app.config.json
fi
if [ -n "${APP_CONFIG_OAUTH2_HOST}" ];then
replace="\/"
encoded=${APP_CONFIG_OAUTH2_HOST//\//$replace}
sed -e "s/\"host\": \".*\"/\"host\": \"${encoded}\"/g" \
-i ./app.config.json
fi
if [ -n "${APP_CONFIG_OAUTH2_CLIENTID}" ];then
sed -e "s/\"clientId\": \".*\"/\"clientId\": \"${APP_CONFIG_OAUTH2_CLIENTID}\"/g" \
-i ./app.config.json
fi
if [ -n "${APP_CONFIG_OAUTH2_IMPLICIT_FLOW}" ];then
sed "/implicitFlow/s/true/${APP_CONFIG_OAUTH2_IMPLICIT_FLOW}/" \
-i ./app.config.json
fi
if [ -n "${APP_CONFIG_OAUTH2_SILENT_LOGIN}" ];then
sed "/silentLogin/s/true/${APP_CONFIG_OAUTH2_SILENT_LOGIN}/" \
-i ./app.config.json
fi
if [ -n "${APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI}" ];then
replace="\/"
encoded=${APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI//\//$replace}
sed -e "s/\"redirectSilentIframeUri\": \".*\"/\"redirectSilentIframeUri\": \"${encoded}\"/g" \
-i ./app.config.json
fi
if [ -n "${APP_CONFIG_OAUTH2_REDIRECT_LOGIN}" ];then
replace="\/"
encoded=${APP_CONFIG_OAUTH2_REDIRECT_LOGIN//\//$replace}
sed -e "s/\"redirectUri\": \".*\"/\"redirectUri\": \"${encoded}\"/g" \
-i ./app.config.json
fi
if [ -n "${APP_CONFIG_OAUTH2_REDIRECT_LOGOUT}" ];then
replace="\/"
encoded=${APP_CONFIG_OAUTH2_REDIRECT_LOGOUT//\//$replace}
sed -e "s/\"redirectUriLogout\": \".*\"/\"redirectUriLogout\": \"${encoded}\"/g" \
-i ./app.config.json
fi
if [[ $ACSURL ]]; then
sed -i s%{protocol}//{hostname}{:port}%"$ACSURL"%g /usr/share/nginx/html/app.config.json
fi
if [ -n "${APP_BASE_SHARE_URL}" ];then
sed -e "s/\"baseShareUrl\": \".*\"/\"baseShareUrl\": \"${APP_BASE_SHARE_URL}\"/g" \
-i ./app.config.json
fi
nginx -g "daemon off;"
+7 -1
View File
@@ -6,7 +6,7 @@ events {
http {
server {
listen 80;
listen 8080;
server_name localhost;
root /usr/share/nginx/html;
@@ -22,6 +22,12 @@ http {
try_files $uri $uri/ /index.html;
}
location ~ \.html$ {
add_header Cache-Control "private, no-cache, no-store, must-revalidate";
add_header Expires "Sat, 01 Jan 2000 00:00:00 GMT";
add_header Pragma no-cache;
}
location ~ ^/[a-zA-Z0-9_-]+/ {
try_files $uri $uri/ /index.html;
}
+271 -254
View File
@@ -38,6 +38,7 @@ A few other pages of information are also available:
libraries used by ADF along with links to their Open Source licenses.
- The [Breaking changes](breaking-changes/breaking-change-2.6.0-3.0.0.md) section lists
all breaking changes between major versions, such as removal of deprecated items.
- The [Upgrade guide](upgrade-guide/upgrade26-30.md) explains how to upgrade your project from an earlier version of ADF to the current version.
## Contents
@@ -74,146 +75,151 @@ for more information about installing and using the source code.
<!--core start-->
## Components
### Components
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [About component](core/about.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows a general version and status overview of the installed ADF library. | [Source](../lib/core/about/about.component.ts) |
| [Buttons menu component](core/buttons-menu.component.md) | Displays buttons on a responsive menu. | [Source](../lib/core/buttons-menu/buttons-menu.component.ts) |
| [Card view component](core/card-view.component.md) | Displays a configurable property list renderer. | [Source](../lib/core/card-view/components/card-view/card-view.component.ts) |
| [Comment list component](core/comment-list.component.md) | Shows a list of comments. | [Source](../lib/core/comments/comment-list.component.ts) |
| [Comments component](core/comments.component.md) | Displays comments from users involved in a specified task or content and allows an involved user to add a comment to a task or a content. | [Source](../lib/core/comments/comments.component.ts) |
| [Data column component](core/data-column.component.md) | Defines column properties for DataTable, Tasklist, Document List and other components. | [Source](../lib/core/data-column/data-column.component.ts) |
| [Datatable component](core/datatable.component.md) | Displays data as a table with customizable columns and presentation. | [Source](../lib/core/datatable/components/datatable/datatable.component.ts) |
| [Empty list component](core/empty-list.component.md) | Displays a message indicating that a list is empty. | [Source](../lib/core/datatable/components/datatable/empty-list.component.ts) |
| [Form field component](core/form-field.component.md) | Represents a UI field in a form. | [Source](../lib/core/form/components/form-field/form-field.component.ts) |
| [Form list component](core/form-list.component.md) | Shows forms as a list. | [Source](../lib/core/form/components/form-list.component.ts) |
| [Form component](core/form.component.md) | Shows a Form from APS | [Source](../lib/core/form/components/form.component.ts) |
| [Start form component](core/start-form.component.md) | Displays the Start Form for a process. | [Source](../lib/core/form/components/start-form.component.ts) |
| [Text mask component](core/text-mask.component.md) | Implements text field input masks. | [Source](../lib/core/form/components/widgets/text/text-mask.component.ts) |
| [Icon component](core/icon.component.md) | Provides a universal way of rendering registered and named icons. | [Source](../lib/core/icon/icon.component.ts) |
| [Info drawer layout component](core/info-drawer-layout.component.md) | Displays a sidebar-style information panel. | [Source](../lib/core/info-drawer/info-drawer-layout.component.ts) |
| [Info drawer component](core/info-drawer.component.md) | Displays a sidebar-style information panel with tabs. | [Source](../lib/core/info-drawer/info-drawer.component.ts) |
| [Language menu component](core/language-menu.component.md) | Displays all the languages that are present in "app.config.json" and the default (EN). | [Source](../lib/core/language-menu/language-menu.component.ts) |
| [Header component](core/header.component.md) | Reusable header for Alfresco applications. | [Source](../lib/core/layout/components/header/header.component.ts) |
| [Sidebar action menu component](core/sidebar-action-menu.component.md) | Displays a sidebar-action menu information panel. | [Source](../lib/core/layout/components/sidebar-action/sidebar-action-menu.component.ts) |
| [Sidenav layout component](core/sidenav-layout.component.md) | Displays the standard three-region ADF application layout. | [Source](../lib/core/layout/components/sidenav-layout/sidenav-layout.component.ts) |
| [Login dialog panel component](core/login-dialog-panel.component.md) | Shows and manages a login dialog. | [Source](../lib/core/login/components/login-dialog-panel.component.ts) |
| [Login dialog component](core/login-dialog.component.md) | Allows a user to perform a login via a dialog. | [Source](../lib/core/login/components/login-dialog.component.ts) |
| [Login component](core/login.component.md) | Authenticates to Alfresco Content Services and Alfresco Process Services. | [Source](../lib/core/login/components/login.component.ts) |
| [Infinite pagination component](core/infinite-pagination.component.md) | Adds "infinite" pagination to the component it is used with. | [Source](../lib/core/pagination/infinite-pagination.component.ts) |
| [Pagination component](core/pagination.component.md) | Adds pagination to the component it is used with. | [Source](../lib/core/pagination/pagination.component.ts) |
| [Host settings component](core/host-settings.component.md) ![Internal](docassets/images/InternalIcon.png) | Validates the URLs for ACS and APS and saves them in the user's local storage | [Source](../lib/core/settings/host-settings.component.ts) |
| [Sorting picker component](core/sorting-picker.component.md) | Selects from a set of predefined sorting definitions and directions. | [Source](../lib/core/sorting-picker/sorting-picker.component.ts) |
| [Empty content component](core/empty-content.component.md) | Provides a generic "Empty Content" placeholder for components. | [Source](../lib/core/templates/empty-content/empty-content.component.ts) |
| [Error content component](core/error-content.component.md) | Displays info about a specific error. | [Source](../lib/core/templates/error-content/error-content.component.ts) |
| [Toolbar divider component](core/toolbar-divider.component.md) | Divides groups of elements in a Toolbar with a visual separator. | [Source](../lib/core/toolbar/toolbar-divider.component.ts) |
| [Toolbar title component](core/toolbar-title.component.md) | Supplies custom HTML to be included in a Toolbar component title. | [Source](../lib/core/toolbar/toolbar-title.component.ts) |
| [Toolbar component](core/toolbar.component.md) | Simple container for headers, titles, actions and breadcrumbs. | [Source](../lib/core/toolbar/toolbar.component.ts) |
| [User info component](core/user-info.component.md) | Shows user information. | [Source](../lib/core/userinfo/components/user-info.component.ts) |
| [Viewer component](core/viewer.component.md) | Displays content from an ACS repository. | [Source](../lib/core/viewer/components/viewer.component.ts) |
| [About Component](core/components/about.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows a general version and status overview of the installed ADF library. | [Source](../lib/core/about/about.component.ts) |
| [Buttons Menu Component](core/components/buttons-menu.component.md) | Displays buttons on a responsive menu. | [Source](../lib/core/buttons-menu/buttons-menu.component.ts) |
| [Card View component](core/components/card-view.component.md) | Displays a configurable property list renderer. | [Source](../lib/core/card-view/components/card-view/card-view.component.ts) |
| [Comment list component](core/components/comment-list.component.md) | Shows a list of comments. | [Source](../lib/core/comments/comment-list.component.ts) |
| [Comments Component](core/components/comments.component.md) | Displays comments from users involved in a specified task or content and allows an involved user to add a comment to a task or a content. | [Source](../lib/core/comments/comments.component.ts) |
| [Data Column Component](core/components/data-column.component.md) | Defines column properties for DataTable, Tasklist, Document List and other components. | [Source](../lib/core/data-column/data-column.component.ts) |
| [DataTable component](core/components/datatable.component.md) | Displays data as a table with customizable columns and presentation. | [Source](../lib/core/datatable/components/datatable/datatable.component.ts) |
| [Empty Content Component](core/components/empty-content.component.md) | Provides a generic "Empty Content" placeholder for components. | [Source](../lib/core/templates/empty-content/empty-content.component.ts) |
| [Empty list component](core/components/empty-list.component.md) | Displays a message indicating that a list is empty. | [Source](../lib/core/datatable/components/datatable/empty-list.component.ts) |
| [Error Content Component](core/components/error-content.component.md) | Displays info about a specific error. | [Source](../lib/core/templates/error-content/error-content.component.ts) |
| [Form field component](core/components/form-field.component.md) | Represents a UI field in a form. | [Source](../lib/core/form/components/form-field/form-field.component.ts) |
| [Form List Component](core/components/form-list.component.md) | Shows forms as a list. | [Source](../lib/core/form/components/form-list.component.ts) |
| [Form component](core/components/form.component.md) | Shows a Form from APS | [Source](../lib/core/form/components/form.component.ts) |
| [Header component](core/components/header.component.md) | Reusable header for Alfresco applications. | [Source](../lib/core/layout/components/header/header.component.ts) |
| [Host settings component](core/components/host-settings.component.md) ![Internal](docassets/images/InternalIcon.png) | Validates the URLs for ACS and APS and saves them in the user's local storage | [Source](../lib/core/settings/host-settings.component.ts) |
| [Icon Component](core/components/icon.component.md) | Provides a universal way of rendering registered and named icons. | [Source](../lib/core/icon/icon.component.ts) |
| [Infinite Pagination component](core/components/infinite-pagination.component.md) | Adds "infinite" pagination to the component it is used with. | [Source](../lib/core/pagination/infinite-pagination.component.ts) |
| [Info drawer layout component](core/components/info-drawer-layout.component.md) | Displays a sidebar-style information panel. | [Source](../lib/core/info-drawer/info-drawer-layout.component.ts) |
| [Info Drawer Tab component](core/components/info-drawer-tab.component.md) | Renders tabs in a Info drawer component. | [Source](../lib/core/info-drawer/info-drawer.component.ts) |
| [Info Drawer component](core/components/info-drawer.component.md) | Displays a sidebar-style information panel with tabs. | [Source](../lib/core/info-drawer/info-drawer.component.ts) |
| [Language Menu component](core/components/language-menu.component.md) | Displays all the languages that are present in "app.config.json" and the default (EN). | [Source](../lib/core/language-menu/language-menu.component.ts) |
| [Login Dialog Panel component](core/components/login-dialog-panel.component.md) | Shows and manages a login dialog. | [Source](../lib/core/login/components/login-dialog-panel.component.ts) |
| [Login Dialog component](core/components/login-dialog.component.md) | Allows a user to perform a login via a dialog. | [Source](../lib/core/login/components/login-dialog.component.ts) |
| [Login component](core/components/login.component.md) | Authenticates to Alfresco Content Services and Alfresco Process Services. | [Source](../lib/core/login/components/login.component.ts) |
| [Pagination Component](core/components/pagination.component.md) | Adds pagination to the component it is used with. | [Source](../lib/core/pagination/pagination.component.ts) |
| [Sidebar action menu component](core/components/sidebar-action-menu.component.md) | Displays a sidebar-action menu information panel. | [Source](../lib/core/layout/components/sidebar-action/sidebar-action-menu.component.ts) |
| [Sidenav Layout component](core/components/sidenav-layout.component.md) | Displays the standard three-region ADF application layout. | [Source](../lib/core/layout/components/sidenav-layout/sidenav-layout.component.ts) |
| [Sorting Picker Component](core/components/sorting-picker.component.md) | Selects from a set of predefined sorting definitions and directions. | [Source](../lib/core/sorting-picker/sorting-picker.component.ts) |
| [Start Form component](core/components/start-form.component.md) | Displays the Start Form for a process. | [Source](../lib/core/form/components/start-form.component.ts) |
| [Text Mask directive](core/components/text-mask.component.md) | Implements text field input masks. | [Source](../lib/core/form/components/widgets/text/text-mask.component.ts) |
| [Toolbar Divider Component](core/components/toolbar-divider.component.md) | Divides groups of elements in a Toolbar with a visual separator. | [Source](../lib/core/toolbar/toolbar-divider.component.ts) |
| [Toolbar Title Component](core/components/toolbar-title.component.md) | Supplies custom HTML to be included in a Toolbar component title. | [Source](../lib/core/toolbar/toolbar-title.component.ts) |
| [Toolbar Component](core/components/toolbar.component.md) | Simple container for headers, titles, actions and breadcrumbs. | [Source](../lib/core/toolbar/toolbar.component.ts) |
| [User Info component](core/components/user-info.component.md) | Shows user information. | [Source](../lib/core/userinfo/components/user-info.component.ts) |
| [Viewer component](core/components/viewer.component.md) | Displays content from an ACS repository. | [Source](../lib/core/viewer/components/viewer.component.ts) |
## Directives
### Directives
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Context menu directive](core/context-menu.directive.md) | Adds a context menu to a component. | [Source](../lib/core/context-menu/context-menu.directive.ts) |
| [Check allowable operation directive](core/check-allowable-operation.directive.md) | Selectively disables an HTML element or Angular component. | [Source](../lib/core/directives/check-allowable-operation.directive.ts) |
| [Highlight directive](core/highlight.directive.md) | Adds highlighting to selected sections of an HTML element's content. | [Source](../lib/core/directives/highlight.directive.ts) |
| [Logout directive](core/logout.directive.md) | Logs the user out when the decorated element is clicked. | [Source](../lib/core/directives/logout.directive.ts) |
| [Node delete directive](core/node-delete.directive.md) | Deletes multiple files and folders. | [Source](../lib/core/directives/node-delete.directive.ts) |
| [Node download directive](core/node-download.directive.md) | Allows folders and/or files to be downloaded, with multiple nodes packed as a '.ZIP' archive. | [Source](../lib/core/directives/node-download.directive.ts) |
| [Node favorite directive](core/node-favorite.directive.md) | Selectively toggles nodes as favorites. | [Source](../lib/core/directives/node-favorite.directive.ts) |
| [Node restore directive](core/node-restore.directive.md) | Restores deleted nodes to their original location. | [Source](../lib/core/directives/node-restore.directive.ts) |
| [Upload directive](core/upload.directive.md) | Uploads content in response to file drag and drop. | [Source](../lib/core/directives/upload.directive.ts) |
| [Check Allowable Operation directive](core/directives/check-allowable-operation.directive.md) | Selectively disables an HTML element or Angular component. | [Source](../lib/core/directives/check-allowable-operation.directive.ts) |
| [Context Menu directive](core/directives/context-menu.directive.md) | Adds a context menu to a component. | [Source](../lib/core/context-menu/context-menu.directive.ts) |
| [Highlight directive](core/directives/highlight.directive.md) | Adds highlighting to selected sections of an HTML element's content. | [Source](../lib/core/directives/highlight.directive.ts) |
| [Logout directive](core/directives/logout.directive.md) | Logs the user out when the decorated element is clicked. | [Source](../lib/core/directives/logout.directive.ts) |
| [Node Delete directive](core/directives/node-delete.directive.md) | Deletes multiple files and folders. | [Source](../lib/core/directives/node-delete.directive.ts) |
| [Node Download directive](core/directives/node-download.directive.md) | Allows folders and/or files to be downloaded, with multiple nodes packed as a '.ZIP' archive. | [Source](../lib/core/directives/node-download.directive.ts) |
| [Node Favorite directive](core/directives/node-favorite.directive.md) | Selectively toggles nodes as favorites. | [Source](../lib/core/directives/node-favorite.directive.ts) |
| [Node Restore directive](core/directives/node-restore.directive.md) | Restores deleted nodes to their original location. | [Source](../lib/core/directives/node-restore.directive.ts) |
| [Upload Directive](core/directives/upload.directive.md) | Uploads content in response to file drag and drop. | [Source](../lib/core/directives/upload.directive.ts) |
## Models
### Interfaces
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Form field model](core/form-field.model.md) | Contains the value and metadata for a field of a Form component. | [Source](../lib/core/form/components/widgets/core/form-field.model.ts) |
| [Product version model](core/product-version.model.md) | Contains version and license information classes for Alfresco products. | [Source](../lib/core/models/product-version.model.ts) |
| [User process model](core/user-process.model.md) | Represents a Process Services user. | [Source](../lib/core/models/user-process.model.ts) |
| [Bpm user model](core/bpm-user.model.md) | Contains information about a Process Services user. | [Source](../lib/core/userinfo/models/bpm-user.model.ts) |
| [Ecm user model](core/ecm-user.model.md) | Contains information about a Content Services user. | [Source](../lib/core/userinfo/models/ecm-user.model.ts) |
| [Card View Item interface](core/interfaces/card-view-item.interface.md) | Defines the implementation of an item in a Card View component. | [Source](../lib/core/card-view/interfaces/card-view-item.interface.ts) |
| [DataTableAdapter interface](core/interfaces/datatable-adapter.interface.md) | Defines how table data is supplied to DataTable and Tasklist components. | [Source](../lib/core/datatable/data/datatable-adapter.ts) |
| [FormFieldValidator interface](core/interfaces/form-field-validator.interface.md) | Defines how the input fields of Form and Task Details components are validated. | [Source](../lib/core/form/components/widgets/core/form-field-validator.ts) |
| [Search Configuration interface](core/interfaces/search-configuration.interface.md) | Provides fine control of parameters to a search. | [Source](../lib/core/interface/search-configuration.interface.ts) |
## Pipes
### Models
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [File size pipe](core/file-size.pipe.md) | Converts a number of bytes to the equivalent in KB, MB, etc. | [Source](../lib/core/pipes/file-size.pipe.ts) |
| [Format space pipe](core/format-space.pipe.md) | Replaces all the white space in a string with a supplied character. | [Source](../lib/core/pipes/format-space.pipe.ts) |
| [Full name pipe](core/full-name.pipe.md) | Joins the first and last name properties from a UserProcessModel object into a single string. | [Source](../lib/core/pipes/full-name.pipe.ts) |
| [Mime type icon pipe](core/mime-type-icon.pipe.md) | Retrieves an icon to represent a MIME type. | [Source](../lib/core/pipes/mime-type-icon.pipe.ts) |
| [Node name tooltip pipe](core/node-name-tooltip.pipe.md) | Formats the tooltip for a Node. | [Source](../lib/core/pipes/node-name-tooltip.pipe.ts) |
| [Text highlight pipe](core/text-highlight.pipe.md) | Adds highlighting to words or sections of text that match a search string. | [Source](../lib/core/pipes/text-highlight.pipe.ts) |
| [Time ago pipe](core/time-ago.pipe.md) | Converts a recent past date into a number of days ago. | [Source](../lib/core/pipes/time-ago.pipe.ts) |
| [User initial pipe](core/user-initial.pipe.md) | Takes the name fields of a UserProcessModel object and extracts and formats the initials. | [Source](../lib/core/pipes/user-initial.pipe.ts) |
| [Bpm User model](core/models/bpm-user.model.md) | Contains information about a Process Services user. | [Source](../lib/core/userinfo/models/bpm-user.model.ts) |
| [Ecm User model](core/models/ecm-user.model.md) | Contains information about a Content Services user. | [Source](../lib/core/userinfo/models/ecm-user.model.ts) |
| [Form Field model](core/models/form-field.model.md) | Contains the value and metadata for a field of a Form component. | [Source](../lib/core/form/components/widgets/core/form-field.model.ts) |
| [Product Version model](core/models/product-version.model.md) | Contains version and license information classes for Alfresco products. | [Source](../lib/core/models/product-version.model.ts) |
| [User Process model](core/models/user-process.model.md) | Represents a Process Services user. | [Source](../lib/core/models/user-process.model.ts) |
## Services
### Pipes
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Card item types service](core/card-item-types.service.md) | Maps type names to field component types for the Card View component. | [Source](../lib/core/card-view/services/card-item-types.service.ts) |
| [Card view update service](core/card-view-update.service.md) | Reports edits and clicks within fields of a Card View component. | [Source](../lib/core/card-view/services/card-view-update.service.ts) |
| [Activiti alfresco service](core/activiti-alfresco.service.md) | Gets Alfresco Repository folder content based on a Repository account configured in Alfresco Process Services (APS). | [Source](../lib/core/form/services/activiti-alfresco.service.ts) |
| [Form rendering service](core/form-rendering.service.md) | Maps a form field type string onto the corresponding form widget component type. | [Source](../lib/core/form/services/form-rendering.service.ts) |
| [Form service](core/form.service.md) | Implements Process Services form methods | [Source](../lib/core/form/services/form.service.ts) |
| [Node service](core/node.service.md) | Gets Alfresco Repository node metadata and creates nodes with metadata. | [Source](../lib/core/form/services/node.service.ts) |
| [Process content service](core/process-content.service.md) | Manipulates content related to a Process Instance or Task Instance in APS. | [Source](../lib/core/form/services/process-content.service.ts) |
| [Alfresco api service](core/alfresco-api.service.md) | Provides access to an initialized **AlfrescoJSApi** instance. | [Source](../lib/core/services/alfresco-api.service.ts) |
| [Apps process service](core/apps-process.service.md) | Gets details of the Process Services apps that are deployed for the user. | [Source](../lib/core/services/apps-process.service.ts) |
| [Auth guard bpm service](core/auth-guard-bpm.service.md) | Adds authentication with Process Services to a route within the app. | [Source](../lib/core/services/auth-guard-bpm.service.ts) |
| [Auth guard ecm service](core/auth-guard-ecm.service.md) | Adds authentication with Content Services to a route within the app. | [Source](../lib/core/services/auth-guard-ecm.service.ts) |
| [Auth guard service](core/auth-guard.service.md) | Adds authentication to a route within the app. | [Source](../lib/core/services/auth-guard.service.ts) |
| [Authentication service](core/authentication.service.md) | Provides authentication to ACS and APS. | [Source](../lib/core/services/authentication.service.ts) |
| [Comment content service](core/comment-content.service.md) | Adds and retrieves comments for nodes in Content Services. | [Source](../lib/core/services/comment-content.service.ts) |
| [Comment process service](core/comment-process.service.md) | Adds and retrieves comments for task and process instances in Process Services. | [Source](../lib/core/services/comment-process.service.ts) |
| [Content service](core/content.service.md) | Accesses app-generated data objects via URLs and file downloads. | [Source](../lib/core/services/content.service.ts) |
| [Cookie service](core/cookie.service.md) | Stores key-value data items as browser cookies. | [Source](../lib/core/services/cookie.service.ts) |
| [Deleted nodes api service](core/deleted-nodes-api.service.md) | Gets a list of Content Services nodes currently in the trash. | [Source](../lib/core/services/deleted-nodes-api.service.ts) |
| [Discovery api service](core/discovery-api.service.md) | Gets version and license information for Process Services and Content Services. | [Source](../lib/core/services/discovery-api.service.ts) |
| [Download zip service](core/download-zip.service.md) | Creates and manages downloads. | [Source](../lib/core/services/download-zip.service.ts) |
| [Favorites api service](core/favorites-api.service.md) | Gets a list of items a user has marked as their favorites. | [Source](../lib/core/services/favorites-api.service.ts) |
| [Highlight transform service](core/highlight-transform.service.md) | Adds HTML to a string to highlight chosen sections. | [Source](../lib/core/services/highlight-transform.service.ts) |
| [Jwt helper service](core/jwt-helper.service.md) | Decodes a JSON Web Token (JWT) to a JavaScript object. | [Source](../lib/core/services/jwt-helper.service.ts) |
| [Log service](core/log.service.md) | Provides log functionality. | [Source](../lib/core/services/log.service.ts) |
| [Login dialog service](core/login-dialog.service.md) | Manages login dialogs. | [Source](../lib/core/services/login-dialog.service.ts) |
| [Nodes api service](core/nodes-api.service.md) | Accesses and manipulates ACS document nodes using their node IDs. | [Source](../lib/core/services/nodes-api.service.ts) |
| [Notification service](core/notification.service.md) | Shows a notification message with optional feedback. | [Source](../lib/core/services/notification.service.ts) |
| [Page title service](core/page-title.service.md) | Sets the page title. | [Source](../lib/core/services/page-title.service.ts) |
| [People content service](core/people-content.service.md) | Gets information about a Content Services user. | [Source](../lib/core/services/people-content.service.ts) |
| [People process service](core/people-process.service.md) | Gets information about Process Services users. | [Source](../lib/core/services/people-process.service.ts) |
| [Renditions service](core/renditions.service.md) | Manages prearranged conversions of content to different formats. | [Source](../lib/core/services/renditions.service.ts) |
| [Search configuration service](core/search-configuration.service.md) | Provides fine control of parameters to a search. | [Source](../lib/core/services/search-configuration.service.ts) |
| [Search service](core/search.service.md) | Accesses the Content Services Search API. | [Source](../lib/core/services/search.service.ts) |
| [Shared links api service](core/shared-links-api.service.md) | Finds shared links to Content Services items. | [Source](../lib/core/services/shared-links-api.service.ts) |
| [Sites service](core/sites.service.md) | Accesses and manipulates sites from a Content Services repository. | [Source](../lib/core/services/sites.service.ts) |
| [Storage service](core/storage.service.md) | Stores items in the form of key-value pairs. | [Source](../lib/core/services/storage.service.ts) |
| [Thumbnail service](core/thumbnail.service.md) | Retrieves an SVG thumbnail image to represent a document type. | [Source](../lib/core/services/thumbnail.service.ts) |
| [Translation service](core/translation.service.md) | Supports localisation. | [Source](../lib/core/services/translation.service.ts) |
| [Upload service](core/upload.service.md) | Provides access to various APIs related to file upload features. | [Source](../lib/core/services/upload.service.ts) |
| [User preferences service](core/user-preferences.service.md) | Stores preferences for the app and for individual components. | [Source](../lib/core/services/user-preferences.service.ts) |
| [Bpm user service](core/bpm-user.service.md) | Gets information about the current Process Services user. | [Source](../lib/core/userinfo/services/bpm-user.service.ts) |
| [Ecm user service](core/ecm-user.service.md) | Gets information about a Content Services user. | [Source](../lib/core/userinfo/services/ecm-user.service.ts) |
| [Identity user service](core/identity-user.service.md) | Gets OAuth2 personal details and roles for users. | [Source](../lib/core/userinfo/services/identity-user.service.ts) |
| [App Config Pipe](core/pipes/app-config.pipe.md) | Retrieves values from the application configuration file directly. | [Source](../lib/core/app-config/app-config.pipe.ts) |
| [File Size pipe](core/pipes/file-size.pipe.md) | Converts a number of bytes to the equivalent in KB, MB, etc. | [Source](../lib/core/pipes/file-size.pipe.ts) |
| [Format Space pipe](core/pipes/format-space.pipe.md) | Replaces all the white space in a string with a supplied character. | [Source](../lib/core/pipes/format-space.pipe.ts) |
| [Full name pipe](core/pipes/full-name.pipe.md) | Joins the first and last name properties from a UserProcessModel object into a single string. | [Source](../lib/core/pipes/full-name.pipe.ts) |
| [Mime Type Icon pipe](core/pipes/mime-type-icon.pipe.md) | Retrieves an icon to represent a MIME type. | [Source](../lib/core/pipes/mime-type-icon.pipe.ts) |
| [Node Name Tooltip pipe](core/pipes/node-name-tooltip.pipe.md) | Formats the tooltip for a Node. | [Source](../lib/core/pipes/node-name-tooltip.pipe.ts) |
| [Text Highlight pipe](core/pipes/text-highlight.pipe.md) | Adds highlighting to words or sections of text that match a search string. | [Source](../lib/core/pipes/text-highlight.pipe.ts) |
| [Time Ago pipe](core/pipes/time-ago.pipe.md) | Converts a recent past date into a number of days ago. | [Source](../lib/core/pipes/time-ago.pipe.ts) |
| [User Initial pipe](core/pipes/user-initial.pipe.md) | Takes the name fields of a UserProcessModel object and extracts and formats the initials. | [Source](../lib/core/pipes/user-initial.pipe.ts) |
## Widgets
### Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Content widget](core/content.widget.md) | Shows the content preview. | [Source](../lib/core/form/components/widgets/content/content.widget.ts) |
| [APS Alfresco Content Service](core/services/activiti-alfresco.service.md) | Gets Alfresco Repository folder content based on a Repository account configured in Alfresco Process Services (APS). | [Source](../lib/core/form/services/activiti-alfresco.service.ts) |
| [Alfresco Api Service](core/services/alfresco-api.service.md) | Provides access to an initialized AlfrescoJSApi instance. | [Source](../lib/core/services/alfresco-api.service.ts) |
| [App Config service](core/services/app-config.service.md) | Supports app configuration settings, stored server side. | [Source](../lib/core/app-config/app-config.service.ts) |
| [Apps Process service](core/services/apps-process.service.md) | Gets details of the Process Services apps that are deployed for the user. | [Source](../lib/core/services/apps-process.service.ts) |
| [Auth Guard Bpm service](core/services/auth-guard-bpm.service.md) | Adds authentication with Process Services to a route within the app. | [Source](../lib/core/services/auth-guard-bpm.service.ts) |
| [Auth Guard Ecm service](core/services/auth-guard-ecm.service.md) | Adds authentication with Content Services to a route within the app. | [Source](../lib/core/services/auth-guard-ecm.service.ts) |
| [Auth Guard SSO Role service](core/services/auth-guard-sso-role.service.md) | Checks the user roles of a user. | [Source](../lib/core/services/auth-guard-sso-role.service.ts) |
| [Auth Guard service](core/services/auth-guard.service.md) | Adds authentication to a route within the app. | [Source](../lib/core/services/auth-guard.service.ts) |
| [Authentication Service](core/services/authentication.service.md) | Provides authentication to ACS and APS. | [Source](../lib/core/services/authentication.service.ts) |
| [Bpm User service](core/services/bpm-user.service.md) | Gets information about the current Process Services user. | [Source](../lib/core/userinfo/services/bpm-user.service.ts) |
| [Card Item Type service](core/services/card-item-types.service.md) | Maps type names to field component types for the Card View component. | [Source](../lib/core/card-view/services/card-item-types.service.ts) |
| [Card View Update service](core/services/card-view-update.service.md) | Reports edits and clicks within fields of a Card View component. | [Source](../lib/core/card-view/services/card-view-update.service.ts) |
| [Comment Content service](core/services/comment-content.service.md) | Adds and retrieves comments for nodes in Content Services. | [Source](../lib/core/services/comment-content.service.ts) |
| [Comment Process service](core/services/comment-process.service.md) | Adds and retrieves comments for task and process instances in Process Services. | [Source](../lib/core/services/comment-process.service.ts) |
| [Content service](core/services/content.service.md) | Accesses app-generated data objects via URLs and file downloads. | [Source](../lib/core/services/content.service.ts) |
| [Cookie service](core/services/cookie.service.md) | Stores key-value data items as browser cookies. | [Source](../lib/core/services/cookie.service.ts) |
| [Deleted Nodes Api service](core/services/deleted-nodes-api.service.md) | Gets a list of Content Services nodes currently in the trash. | [Source](../lib/core/services/deleted-nodes-api.service.ts) |
| [Discovery Api service](core/services/discovery-api.service.md) | Gets version and license information for Process Services and Content Services. | [Source](../lib/core/services/discovery-api.service.ts) |
| [Download zip service](core/services/download-zip.service.md) | Creates and manages downloads. | [Source](../lib/core/services/download-zip.service.ts) |
| [Ecm User service](core/services/ecm-user.service.md) | Gets information about a Content Services user. | [Source](../lib/core/userinfo/services/ecm-user.service.ts) |
| [Favorites Api service](core/services/favorites-api.service.md) | Gets a list of items a user has marked as their favorites. | [Source](../lib/core/services/favorites-api.service.ts) |
| [Form Rendering service](core/services/form-rendering.service.md) | Maps a form field type string onto the corresponding form widget component type. | [Source](../lib/core/form/services/form-rendering.service.ts) |
| [Form service](core/services/form.service.md) | Implements Process Services form methods | [Source](../lib/core/form/services/form.service.ts) |
| [Highlight Transform service](core/services/highlight-transform.service.md) | Adds HTML to a string to highlight chosen sections. | [Source](../lib/core/services/highlight-transform.service.ts) |
| [Identity user service](core/services/identity-user.service.md) | Gets OAuth2 personal details and roles for users. | [Source](../lib/process-services-cloud/src/lib/services/identity-user.service.ts) |
| [JWT helper service](core/services/jwt-helper.service.md) | Decodes a JSON Web Token (JWT) to a JavaScript object. | [Source](../lib/core/services/jwt-helper.service.ts) |
| [Log Service](core/services/log.service.md) | Provides log functionality. | [Source](../lib/core/services/log.service.ts) |
| [Login Dialog service](core/services/login-dialog.service.md) | Manages login dialogs. | [Source](../lib/core/services/login-dialog.service.ts) |
| [Node Service](core/services/node.service.md) | Gets Alfresco Repository node metadata and creates nodes with metadata. | [Source](../lib/core/form/services/node.service.ts) |
| [Nodes Api service](core/services/nodes-api.service.md) | Accesses and manipulates ACS document nodes using their node IDs. | [Source](../lib/core/services/nodes-api.service.ts) |
| [Notification Service](core/services/notification.service.md) | Shows a notification message with optional feedback. | [Source](../lib/core/services/notification.service.ts) |
| [Page Title service](core/services/page-title.service.md) | Sets the page title. | [Source](../lib/core/services/page-title.service.ts) |
| [People Content service](core/services/people-content.service.md) | Gets information about a Content Services user. | [Source](../lib/core/services/people-content.service.ts) |
| [People Process service](core/services/people-process.service.md) | Gets information about Process Services users. | [Source](../lib/core/services/people-process.service.ts) |
| [Process Content Service](core/services/process-content.service.md) | Manipulates content related to a Process Instance or Task Instance in APS. | [Source](../lib/core/form/services/process-content.service.ts) |
| [Renditions service](core/services/renditions.service.md) | Manages prearranged conversions of content to different formats. | [Source](../lib/core/services/renditions.service.ts) |
| [Search Configuration service](core/services/search-configuration.service.md) | Provides fine control of parameters to a search. | [Source](../lib/core/services/search-configuration.service.ts) |
| [Search service](core/services/search.service.md) | Accesses the Content Services Search API. | [Source](../lib/core/services/search.service.ts) |
| [Shared Links Api service](core/services/shared-links-api.service.md) | Finds shared links to Content Services items. | [Source](../lib/core/services/shared-links-api.service.ts) |
| [Sites service](core/services/sites.service.md) | Accesses and manipulates sites from a Content Services repository. | [Source](../lib/core/services/sites.service.ts) |
| [Storage service](core/services/storage.service.md) | Stores items in the form of key-value pairs. | [Source](../lib/core/services/storage.service.ts) |
| [Thumbnail service](core/services/thumbnail.service.md) | Retrieves an SVG thumbnail image to represent a document type. | [Source](../lib/core/services/thumbnail.service.ts) |
| [Translation service](core/services/translation.service.md) | Supports localisation. | [Source](../lib/core/services/translation.service.ts) |
| [Upload Service](core/services/upload.service.md) | Provides access to various APIs related to file upload features. | [Source](../lib/core/services/upload.service.ts) |
| [User Preferences Service](core/services/user-preferences.service.md) | Stores preferences for the app and for individual components. | [Source](../lib/core/services/user-preferences.service.ts) |
### Widgets
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [APS Content Component](core/widgets/content.widget.md) | Shows the content preview. | [Source](../lib/core/form/components/widgets/content/content.widget.ts) |
<!--core end-->
## Other classes and interfaces
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Data Table Adapter interface](core/datatable-adapter.interface.md) | Defines how table data is supplied to DataTable and Tasklist components. | [Source](../lib/core/datatable/data/datatable-adapter.ts) |
| [Form Field Validator interface](core/form-field-validator.interface.md) | Defines how the input fields of Form and Task Details components are validated. | [Source](../lib/core/form/components/widgets/core/form-field-validator.ts) |
| [Search Configuration interface](core/search-configuration.interface.md) | Provides fine control of parameters to a search. | [Source](../lib/core/services/search-configuration.service.ts) |
[(Back to Contents)](#contents)
## Content Services API
@@ -225,104 +231,103 @@ for more information about installing and using the source code.
<!--content-services start-->
## Components
### Components
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Breadcrumb component](content-services/breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../lib/content-services/breadcrumb/breadcrumb.component.ts) |
| [Dropdown breadcrumb component](content-services/dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts) |
| [Content metadata component](content-services/content-metadata.component.md) | Displays and edits metadata related to a node. | [Source](../lib/content-services/content-metadata/components/content-metadata/content-metadata.component.ts) |
| [Content metadata card component](content-services/content-metadata-card.component.md) | Displays and edits metadata related to a node. | [Source](../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts) |
| [Content node selector panel component](content-services/content-node-selector-panel.component.md) | Opens a Content Node Selector in its own dialog window. | [Source](../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) |
| [Content node selector component](content-services/content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../lib/content-services/content-node-selector/content-node-selector.component.ts) |
| [Content action component](content-services/content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../lib/content-services/document-list/components/content-action/content-action.component.ts) |
| [Document list component](content-services/document-list.component.md) | Displays the documents from a repository. | [Source](../lib/content-services/document-list/components/document-list.component.ts) |
| [Add permission dialog component](content-services/add-permission-dialog.component.md) | Displays a dialog to search for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts) |
| [Add permission panel component](content-services/add-permission-panel.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts) |
| [Add permission component](content-services/add-permission.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts) |
| [Permission list component](content-services/permission-list.component.md) | Shows node permissions as a table. | [Source](../lib/content-services/permission-manager/components/permission-list/permission-list.component.ts) |
| [Search check list component](content-services/search-check-list.component.md) | Implements a checklist widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-check-list/search-check-list.component.ts) |
| [Search chip list component](content-services/search-chip-list.component.md) | Displays search criteria as a set of "chips". | [Source](../lib/content-services/search/components/search-chip-list/search-chip-list.component.ts) |
| [Search control component](content-services/search-control.component.md) | Displays a input text that shows find-as-you-type suggestions. | [Source](../lib/content-services/search/components/search-control.component.ts) |
| [Search date range component](content-services/search-date-range.component.md) | Implements a date range widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-date-range/search-date-range.component.ts) |
| [Search filter component](content-services/search-filter.component.md) | Represents a main container component for custom search and faceted search settings. | [Source](../lib/content-services/search/components/search-filter/search-filter.component.ts) |
| [Search number range component](content-services/search-number-range.component.md) | Implements a number range widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-number-range/search-number-range.component.ts) |
| [Search radio component](content-services/search-radio.component.md) | Implements a radio button list widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-radio/search-radio.component.ts) |
| [Search slider component](content-services/search-slider.component.md) | Implements a numeric slider widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-slider/search-slider.component.ts) |
| [Search sorting picker component](content-services/search-sorting-picker.component.md) | Provides an ability to select one of the predefined sorting definitions for search results: | [Source](../lib/content-services/search/components/search-sorting-picker/search-sorting-picker.component.ts) |
| [Search text component](content-services/search-text.component.md) | Implements a text input widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-text/search-text.component.ts) |
| [Search component](content-services/search.component.md) | Searches items for supplied search terms. | [Source](../lib/content-services/search/components/search.component.ts) |
| [Sites dropdown component](content-services/sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../lib/content-services/site-dropdown/sites-dropdown.component.ts) |
| [Like component](content-services/like.component.md) | Allows a user to add "likes" to an item. | [Source](../lib/content-services/social/like.component.ts) |
| [Rating component](content-services/rating.component.md) | Allows a user to add ratings to an item. | [Source](../lib/content-services/social/rating.component.ts) |
| [Tag actions component](content-services/tag-actions.component.md) | Shows available actions for tags. | [Source](../lib/content-services/tag/tag-actions.component.ts) |
| [Tag list component](content-services/tag-list.component.md) | Shows tags for an item. | [Source](../lib/content-services/tag/tag-list.component.ts) |
| [Tag node list component](content-services/tag-node-list.component.md) | Shows tags for a node. | [Source](../lib/content-services/tag/tag-node-list.component.ts) |
| [Tree view component](content-services/tree-view.component.md) | Shows the folder and subfolders of a node as a tree view. | [Source](../lib/content-services/tree-view/components/tree-view.component.ts) |
| [File uploading dialog component](content-services/file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../lib/content-services/upload/components/file-uploading-dialog.component.ts) |
| [Upload button component](content-services/upload-button.component.md) | Activates a file upload. | [Source](../lib/content-services/upload/components/upload-button.component.ts) |
| [Upload drag area component](content-services/upload-drag-area.component.md) | Adds a drag and drop area to upload files to ACS. | [Source](../lib/content-services/upload/components/upload-drag-area.component.ts) |
| [Upload version button component](content-services/upload-version-button.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Activates a file version upload. | [Source](../lib/content-services/upload/components/upload-version-button.component.ts) |
| [Version list component](content-services/version-list.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Displays the version history of a node in a Version Manager component. | [Source](../lib/content-services/version-manager/version-list.component.ts) |
| [Version manager component](content-services/version-manager.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Displays the version history of a node with the ability to upload a new version. | [Source](../lib/content-services/version-manager/version-manager.component.ts) |
| [Webscript component](content-services/webscript.component.md) | Provides access to Webscript features. | [Source](../lib/content-services/webscript/webscript.component.ts) |
| [Add Permission Dialog Component](content-services/components/add-permission-dialog.component.md) | Displays a dialog to search for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts) |
| [Add Permission Panel Component](content-services/components/add-permission-panel.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts) |
| [Add Permission Component](content-services/components/add-permission.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts) |
| [Breadcrumb Component](content-services/components/breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../lib/content-services/breadcrumb/breadcrumb.component.ts) |
| [Content Action component](content-services/components/content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../lib/content-services/document-list/components/content-action/content-action.component.ts) |
| [Content Metadata Card component](content-services/components/content-metadata-card.component.md) | Displays and edits metadata related to a node. | [Source](../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts) |
| [Content Node Selector Panel component](content-services/components/content-node-selector-panel.component.md) | Opens a Content Node Selector in its own dialog window. | [Source](../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) |
| [Content Node Selector component](content-services/components/content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../lib/content-services/content-node-selector/content-node-selector.component.ts) |
| [Document List component](content-services/components/document-list.component.md) | Displays the documents from a repository. | [Source](../lib/content-services/document-list/components/document-list.component.ts) |
| [Dropdown Breadcrumb Component](content-services/components/dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts) |
| [File Uploading Dialog Component](content-services/components/file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../lib/content-services/upload/components/file-uploading-dialog.component.ts) |
| [Like component](content-services/components/like.component.md) | Allows a user to add "likes" to an item. | [Source](../lib/content-services/social/like.component.ts) |
| [Permission List Component](content-services/components/permission-list.component.md) | Shows node permissions as a table. | [Source](../lib/content-services/permission-manager/components/permission-list/permission-list.component.ts) |
| [Rating component](content-services/components/rating.component.md) | Allows a user to add ratings to an item. | [Source](../lib/content-services/social/rating.component.ts) |
| [Search check list component](content-services/components/search-check-list.component.md) | Implements a checklist widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-check-list/search-check-list.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/search/components/search-chip-list/search-chip-list.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/search/components/search-control.component.ts) |
| [Search date range component](content-services/components/search-date-range.component.md) | Implements a date range widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-date-range/search-date-range.component.ts) |
| [Search Filter component](content-services/components/search-filter.component.md) | Represents a main container component for custom search and faceted search settings. | [Source](../lib/content-services/search/components/search-filter/search-filter.component.ts) |
| [Search number range component](content-services/components/search-number-range.component.md) | Implements a number range widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-number-range/search-number-range.component.ts) |
| [Search radio component](content-services/components/search-radio.component.md) | Implements a radio button list widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-radio/search-radio.component.ts) |
| [Search slider component](content-services/components/search-slider.component.md) | Implements a numeric slider widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-slider/search-slider.component.ts) |
| [Search Sorting Picker Component](content-services/components/search-sorting-picker.component.md) | Provides an ability to select one of the predefined sorting definitions for search results: | [Source](../lib/content-services/search/components/search-sorting-picker/search-sorting-picker.component.ts) |
| [Search text component](content-services/components/search-text.component.md) | Implements a text input widget for the Search Filter component. | [Source](../lib/content-services/search/components/search-text/search-text.component.ts) |
| [Search component](content-services/components/search.component.md) | Searches items for supplied search terms. | [Source](../lib/content-services/search/components/search.component.ts) |
| [Sites Dropdown component](content-services/components/sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../lib/content-services/site-dropdown/sites-dropdown.component.ts) |
| [Tag Node Actions List component](content-services/components/tag-actions.component.md) | Shows available actions for tags. | [Source](../lib/content-services/tag/tag-actions.component.ts) |
| [Tag List component](content-services/components/tag-list.component.md) | Shows tags for an item. | [Source](../lib/content-services/tag/tag-list.component.ts) |
| [Tag Node List component](content-services/components/tag-node-list.component.md) | Shows tags for a node. | [Source](../lib/content-services/tag/tag-node-list.component.ts) |
| [Tree View component](content-services/components/tree-view.component.md) | Shows the folder and subfolders of a node as a tree view. | [Source](../lib/content-services/tree-view/components/tree-view.component.ts) |
| [Upload Button Component](content-services/components/upload-button.component.md) | Activates a file upload. | [Source](../lib/content-services/upload/components/upload-button.component.ts) |
| [Upload Drag Area Component](content-services/components/upload-drag-area.component.md) | Adds a drag and drop area to upload files to ACS. | [Source](../lib/content-services/upload/components/upload-drag-area.component.ts) |
| [Upload Version Button Component (Workaround)](content-services/components/upload-version-button.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Activates a file version upload. | [Source](../lib/content-services/upload/components/upload-version-button.component.ts) |
| [Version List component](content-services/components/version-list.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Displays the version history of a node in a Version Manager component. | [Source](../lib/content-services/version-manager/version-list.component.ts) |
| [Version Manager Component](content-services/components/version-manager.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Displays the version history of a node with the ability to upload a new version. | [Source](../lib/content-services/version-manager/version-manager.component.ts) |
| [Webscript component](content-services/components/webscript.component.md) | Provides access to Webscript features. | [Source](../lib/content-services/webscript/webscript.component.ts) |
## Dialogs
### Directives
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Confirm dialog](content-services/confirm.dialog.md) | Requests a yes/no choice from the user. | [Source](../lib/content-services/dialogs/confirm.dialog.ts) |
| [Library dialog](content-services/library.dialog.md) | Creates a new Content Services document library/site. | [Source](../lib/content-services/dialogs/library/library.dialog.ts) |
| [Node Public File Share Directive](content-services/directives/content-node-share.directive.md) | Creates and manages public shared links for files. | [Source](../lib/content-services/content-node-share/content-node-share.directive.ts) |
| [File Draggable directive](content-services/directives/file-draggable.directive.md) | Provides drag-and-drop features for an element such as a div. | [Source](../lib/content-services/upload/directives/file-draggable.directive.ts) |
| [Folder Create directive](content-services/directives/folder-create.directive.md) | Creates folders. | [Source](../lib/content-services/folder-directive/folder-create.directive.ts) |
| [Folder Edit directive](content-services/directives/folder-edit.directive.md) | Allows folders to be edited. | [Source](../lib/content-services/folder-directive/folder-edit.directive.ts) |
| [Inherit Permission directive](content-services/directives/inherited-button.directive.md) | Update the current node by adding/removing the inherited permissions. | [Source](../lib/content-services/permission-manager/components/inherited-button.directive.ts) |
| [Node Lock directive](content-services/directives/node-lock.directive.md) | Locks or unlocks a node. | [Source](../lib/content-services/directives/node-lock.directive.ts) |
## Directives
### Dialogs
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Content node share directive](content-services/content-node-share.directive.md) | Creates and manages public shared links for files. | [Source](../lib/content-services/content-node-share/content-node-share.directive.ts) |
| [Node lock directive](content-services/node-lock.directive.md) | Locks or unlocks a node. | [Source](../lib/content-services/directives/node-lock.directive.ts) |
| [Folder create directive](content-services/folder-create.directive.md) | Creates folders. | [Source](../lib/content-services/folder-directive/folder-create.directive.ts) |
| [Folder edit directive](content-services/folder-edit.directive.md) | Allows folders to be edited. | [Source](../lib/content-services/folder-directive/folder-edit.directive.ts) |
| [Inherited button directive](content-services/inherited-button.directive.md) | Update the current node by adding/removing the inherited permissions. | [Source](../lib/content-services/permission-manager/components/inherited-button.directive.ts) |
| [File draggable directive](content-services/file-draggable.directive.md) | Provides drag-and-drop features for an element such as a `div`. | [Source](../lib/content-services/upload/directives/file-draggable.directive.ts) |
| [Confirm dialog component](content-services/dialogs/confirm.dialog.md) | Requests a yes/no choice from the user. | [Source](../lib/content-services/dialogs/confirm.dialog.ts) |
| [Library dialog component](content-services/dialogs/library.dialog.md) | Creates a new Content Services document library/site. | [Source](../lib/content-services/dialogs/library/library.dialog.ts) |
## Models
### Interfaces
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Image resolver model](content-services/image-resolver.model.md) | Defines the Image Resolver function used by the Document List Component. | [Source](../lib/content-services/document-list/data/image-resolver.model.ts) |
| [Row filter model](content-services/row-filter.model.md) | Defines the Row Filter function used by the Document List Component. | [Source](../lib/content-services/document-list/data/row-filter.model.ts) |
| [Permissions style model](content-services/permissions-style.model.md) | Sets custom CSS styles for rows of a Document List according to the item's permissions. | [Source](../lib/content-services/document-list/models/permissions-style.model.ts) |
| [Search widget interface](content-services/interfaces/search-widget.interface.md) | Specifies required properties for Search filter component widgets. | [Source](../lib/content-services/search/search-widget.interface.ts) |
## Pipes
### Models
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [File upload error pipe](content-services/file-upload-error.pipe.md) | Converts an upload error code to an error message. | [Source](../lib/content-services/upload/pipes/file-upload-error.pipe.ts) |
| [Image Resolver Model](content-services/models/image-resolver.model.md) | Defines the Image Resolver function used by the Document List Component. | [Source](../lib/content-services/document-list/data/image-resolver.model.ts) |
| [Permission Style model](content-services/models/permissions-style.model.md) | Sets custom CSS styles for rows of a Document List according to the item's permissions. | [Source](../lib/content-services/document-list/models/permissions-style.model.ts) |
| [Row Filter Model](content-services/models/row-filter.model.md) | Defines the Row Filter function used by the Document List Component. | [Source](../lib/content-services/document-list/data/row-filter.model.ts) |
## Services
### Pipes
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Content node dialog service](content-services/content-node-dialog.service.md) | Displays and manages dialogs for selecting content to open, copy or upload. | [Source](../lib/content-services/content-node-selector/content-node-dialog.service.ts) |
| [Custom resources service](content-services/custom-resources.service.md) | Manages Document List information that is specific to a user. | [Source](../lib/content-services/document-list/services/custom-resources.service.ts) |
| [Document actions service](content-services/document-actions.service.md) | Implements the document menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/document-actions.service.ts) |
| [Document list service](content-services/document-list.service.md) | Implements node operations used by the Document List component. | [Source](../lib/content-services/document-list/services/document-list.service.ts) |
| [Folder actions service](content-services/folder-actions.service.md) | Implements the folder menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/folder-actions.service.ts) |
| [Node permission dialog service](content-services/node-permission-dialog.service.md) | Displays dialogs to let the user set node permissions. | [Source](../lib/content-services/permission-manager/services/node-permission-dialog.service.ts) |
| [Node permission service](content-services/node-permission.service.md) | Manages role permissions for content nodes. | [Source](../lib/content-services/permission-manager/services/node-permission.service.ts) |
| [Search filter service](content-services/search-filter.service.md) | Registers widgets for use with the Search Filter component. | [Source](../lib/content-services/search/components/search-filter/search-filter.service.ts) |
| [Search query builder service](content-services/search-query-builder.service.md) | Stores information from all the custom search and faceted search widgets, compiles and runs the final search query. | [Source](../lib/content-services/search/search-query-builder.service.ts) |
| [Rating service](content-services/rating.service.md) | Manages ratings for items in Content Services. | [Source](../lib/content-services/social/services/rating.service.ts) |
| [Tag service](content-services/tag.service.md) | Manages tags in Content Services. | [Source](../lib/content-services/tag/services/tag.service.ts) |
| [File upload error pipe](content-services/pipes/file-upload-error.pipe.md) | Converts an upload error code to an error message. | [Source](../lib/content-services/upload/pipes/file-upload-error.pipe.ts) |
### Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Content Node Dialog service](content-services/services/content-node-dialog.service.md) | Displays and manages dialogs for selecting content to open, copy or upload. | [Source](../lib/content-services/content-node-selector/content-node-dialog.service.ts) |
| [Custom Resources service](content-services/services/custom-resources.service.md) | Manages Document List information that is specific to a user. | [Source](../lib/content-services/document-list/services/custom-resources.service.ts) |
| [Document Actions service](content-services/services/document-actions.service.md) | Implements the document menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/document-actions.service.ts) |
| [Document List service](content-services/services/document-list.service.md) | Implements node operations used by the Document List component. | [Source](../lib/content-services/document-list/services/document-list.service.ts) |
| [Folder Actions service](content-services/services/folder-actions.service.md) | Implements the folder menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/folder-actions.service.ts) |
| [Node permission dialog service](content-services/services/node-permission-dialog.service.md) | Displays dialogs to let the user set node permissions. | [Source](../lib/content-services/permission-manager/services/node-permission-dialog.service.ts) |
| [Node Permission service](content-services/services/node-permission.service.md) | Manages role permissions for content nodes. | [Source](../lib/content-services/permission-manager/services/node-permission.service.ts) |
| [Rating service](content-services/services/rating.service.md) | Manages ratings for items in Content Services. | [Source](../lib/content-services/social/services/rating.service.ts) |
| [Search filter service](content-services/services/search-filter.service.md) | Registers widgets for use with the Search Filter component. | [Source](../lib/content-services/search/components/search-filter/search-filter.service.ts) |
| [Search Query Builder service](content-services/services/search-query-builder.service.md) | Stores information from all the custom search and faceted search widgets, compiles and runs the final search query. | [Source](../lib/content-services/search/search-query-builder.service.ts) |
| [Tag service](content-services/services/tag.service.md) | Manages tags in Content Services. | [Source](../lib/content-services/tag/services/tag.service.ts) |
<!--content-services end-->
## Other classes and interfaces
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Search Widget interface](content-services/search-widget.interface.md) | Specifies required properties for Search filter component widgets. | [Source](../lib/content-services/search/search-widget.interface.ts) |
[(Back to Contents)](#contents)
## Process Services API
@@ -334,55 +339,56 @@ for more information about installing and using the source code.
<!--process-services start-->
## Components
### Components
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Apps list component](process-services/apps-list.component.md) | Shows all available apps. | [Source](../lib/process-services/app-list/apps-list.component.ts) |
| [Create process attachment component](process-services/create-process-attachment.component.md) | Displays an Upload Component (Drag and Click) to upload the attachment to a specified process instance. | [Source](../lib/process-services/attachment/create-process-attachment.component.ts) |
| [Create task attachment component](process-services/create-task-attachment.component.md) | Displays an Upload Component (Drag and Click) to upload the attachment to a specified task. | [Source](../lib/process-services/attachment/create-task-attachment.component.ts) |
| [Process attachment list component](process-services/process-attachment-list.component.md) | Displays documents attached to a specified process instance. | [Source](../lib/process-services/attachment/process-attachment-list.component.ts) |
| [Task attachment list component](process-services/task-attachment-list.component.md) | Displays documents attached to a specified task. | [Source](../lib/process-services/attachment/task-attachment-list.component.ts) |
| [People component](process-services/people.component.md) | Displays users involved with a specified task | [Source](../lib/process-services/people/components/people/people.component.ts) |
| [People list component](process-services/people-list.component.md) | Shows a list of users (people). | [Source](../lib/process-services/people/components/people-list/people-list.component.ts) |
| [People search component](process-services/people-search.component.md) | Searches users/people. | [Source](../lib/process-services/people/components/people-search/people-search.component.ts) |
| [Process comments component](process-services/process-comments.component.md) | Displays comments associated with a particular process instance and allows the user to add new comments. | [Source](../lib/process-services/process-comments/process-comments.component.ts) |
| [Process filters component](process-services/process-filters.component.md) | Collection of criteria used to filter process instances, which may be customized by users. | [Source](../lib/process-services/process-list/components/process-filters.component.ts) |
| [Process instance details component](process-services/process-instance-details.component.md) | Displays detailed information about a specified process instance | [Source](../lib/process-services/process-list/components/process-instance-details.component.ts) |
| [Process instance header component](process-services/process-instance-header.component.md) | Sub-component of the process details component, which renders some general information about the selected process. | [Source](../lib/process-services/process-list/components/process-instance-header.component.ts) |
| [Process instance tasks component](process-services/process-instance-tasks.component.md) | Lists both the active and completed tasks associated with a particular process instance | [Source](../lib/process-services/process-list/components/process-instance-tasks.component.ts) |
| [Process list component](process-services/process-list.component.md) | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services/process-list/components/process-list.component.ts) |
| [Start process component](process-services/start-process.component.md) | Starts a process. | [Source](../lib/process-services/process-list/components/start-process.component.ts) |
| [Attach form component](process-services/attach-form.component.md) | This component can be used when there is no form attached to a task and you want to add one. | [Source](../lib/process-services/task-list/components/attach-form.component.ts) |
| [Checklist component](process-services/checklist.component.md) | Shows the checklist task functionality. | [Source](../lib/process-services/task-list/components/checklist.component.ts) |
| [Start task component](process-services/start-task.component.md) | Creates/Starts a new task for the specified app. | [Source](../lib/process-services/task-list/components/start-task.component.ts) |
| [Task details component](process-services/task-details.component.md) | Shows the details of the task ID passed in as input. | [Source](../lib/process-services/task-list/components/task-details.component.ts) |
| [Task filters component](process-services/task-filters.component.md) | Shows all available filters. | [Source](../lib/process-services/task-list/components/task-filters.component.ts) |
| [Task header component](process-services/task-header.component.md) | Shows all the information related to a task. | [Source](../lib/process-services/task-list/components/task-header.component.ts) |
| [Task list component](process-services/task-list.component.md) | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services/task-list/components/task-list.component.ts) |
| [Task standalone component](process-services/task-standalone.component.md) | This component can be used when the task doesn't belong to any processes. | [Source](../lib/process-services/task-list/components/task-standalone.component.ts) |
| [Apps List Component](process-services/components/apps-list.component.md) | Shows all available apps. | [Source](../lib/process-services/app-list/apps-list.component.ts) |
| [Attach Form component](process-services/components/attach-form.component.md) | This component can be used when there is no form attached to a task and you want to add one. | [Source](../lib/process-services/task-list/components/attach-form.component.ts) |
| [Checklist Component](process-services/components/checklist.component.md) | Shows the checklist task functionality. | [Source](../lib/process-services/task-list/components/checklist.component.ts) |
| [Create Process Attachment component](process-services/components/create-process-attachment.component.md) | Displays an Upload Component (Drag and Click) to upload the attachment to a specified process instance. | [Source](../lib/process-services/attachment/create-process-attachment.component.ts) |
| [Create Task Attachment Component](process-services/components/create-task-attachment.component.md) | Displays an Upload Component (Drag and Click) to upload the attachment to a specified task. | [Source](../lib/process-services/attachment/create-task-attachment.component.ts) |
| [People list component](process-services/components/people-list.component.md) | Shows a list of users (people). | [Source](../lib/process-services/people/components/people-list/people-list.component.ts) |
| [People Search component](process-services/components/people-search.component.md) | Searches users/people. | [Source](../lib/process-services/people/components/people-search/people-search.component.ts) |
| [People Component](process-services/components/people.component.md) | Displays users involved with a specified task | [Source](../lib/process-services/people/components/people/people.component.ts) |
| [Process Attachment List component](process-services/components/process-attachment-list.component.md) | Displays documents attached to a specified process instance. | [Source](../lib/process-services/attachment/process-attachment-list.component.ts) |
| [Process Instance Comments component](process-services/components/process-comments.component.md) | Displays comments associated with a particular process instance and allows the user to add new comments. | [Source](../lib/process-services/process-comments/process-comments.component.ts) |
| [Process Filters Component](process-services/components/process-filters.component.md) | Collection of criteria used to filter process instances, which may be customized by users. | [Source](../lib/process-services/process-list/components/process-filters.component.ts) |
| [Process Details component](process-services/components/process-instance-details.component.md) | Displays detailed information about a specified process instance | [Source](../lib/process-services/process-list/components/process-instance-details.component.ts) |
| [Process Instance Details Header component](process-services/components/process-instance-header.component.md) | Sub-component of the process details component, which renders some general information about the selected process. | [Source](../lib/process-services/process-list/components/process-instance-header.component.ts) |
| [Process Instance Tasks component](process-services/components/process-instance-tasks.component.md) | Lists both the active and completed tasks associated with a particular process instance | [Source](../lib/process-services/process-list/components/process-instance-tasks.component.ts) |
| [Process Instance List](process-services/components/process-list.component.md) | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services/process-list/components/process-list.component.ts) |
| [Select App Component](process-services/components/select-apps-dialog.component.md) | Shows all available apps and returns the selected app. | [Source](../lib/process-services/app-list/select-apps-dialog-component.ts) |
| [Start Process component](process-services/components/start-process.component.md) | Starts a process. | [Source](../lib/process-services/process-list/components/start-process.component.ts) |
| [Start Task Component](process-services/components/start-task.component.md) | Creates/Starts a new task for the specified app. | [Source](../lib/process-services/task-list/components/start-task.component.ts) |
| [Task Attachment List Component](process-services/components/task-attachment-list.component.md) | Displays documents attached to a specified task. | [Source](../lib/process-services/attachment/task-attachment-list.component.ts) |
| [Task Details component](process-services/components/task-details.component.md) | Shows the details of the task ID passed in as input. | [Source](../lib/process-services/task-list/components/task-details.component.ts) |
| [Task Filters component](process-services/components/task-filters.component.md) | Shows all available filters. | [Source](../lib/process-services/task-list/components/task-filters.component.ts) |
| [Task Header component](process-services/components/task-header.component.md) | Shows all the information related to a task. | [Source](../lib/process-services/task-list/components/task-header.component.ts) |
| [Task List component](process-services/components/task-list.component.md) | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services/task-list/components/task-list.component.ts) |
| [Task Standalone component](process-services/components/task-standalone.component.md) | This component can be used when the task doesn't belong to any processes. | [Source](../lib/process-services/task-list/components/task-standalone.component.ts) |
## Directives
### Directives
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Process audit directive](process-services/process-audit.directive.md) | Fetches the Process Audit information in PDF or JSON format. | [Source](../lib/process-services/process-list/components/process-audit.directive.ts) |
| [Task audit directive](process-services/task-audit.directive.md) | Fetches the Task Audit information in PDF or JSON format. | [Source](../lib/process-services/task-list/components/task-audit.directive.ts) |
| [Process Audit Directive](process-services/directives/process-audit.directive.md) | Fetches the Process Audit information in PDF or JSON format. | [Source](../lib/process-services/process-list/components/process-audit.directive.ts) |
| [Task Audit Directive](process-services/directives/task-audit.directive.md) | Fetches the Task Audit information in PDF or JSON format. | [Source](../lib/process-services/task-list/components/task-audit.directive.ts) |
## Services
### Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Process filter service](process-services/process-filter.service.md) | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services/process-list/services/process-filter.service.ts) |
| [Process service](process-services/process.service.md) | Manages Process Instances, Process Variables, and Process Audit Log. | [Source](../lib/process-services/process-list/services/process.service.ts) |
| [Task filter service](process-services/task-filter.service.md) | Manage Task Filters, which are pre-configured Task Instance queries. | [Source](../lib/process-services/task-list/services/task-filter.service.ts) |
| [Tasklist service](process-services/tasklist.service.md) | Manages Task Instances. | [Source](../lib/process-services/task-list/services/tasklist.service.ts) |
| [Process Filter Service](process-services/services/process-filter.service.md) | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services/process-list/services/process-filter.service.ts) |
| [Process Service](process-services/services/process.service.md) | Manages process instances, process variables, and process audit Log. | [Source](../lib/process-services/process-list/services/process.service.ts) |
| [Task Filter Service](process-services/services/task-filter.service.md) | Manage Task Filters, which are pre-configured Task Instance queries. | [Source](../lib/process-services/task-list/services/task-filter.service.ts) |
| [Tasklist Service](process-services/services/tasklist.service.md) | Manages Task Instances. | [Source](../lib/process-services/task-list/services/tasklist.service.ts) |
<!--process-services end-->
[(Back to Contents)](#contents)
# Process Services Cloud API
## Process Services Cloud API
Contains components related to Process Services Cloud.
See the library's
@@ -391,42 +397,52 @@ for more information about installing and using the source code.
<!--process-services-cloud start-->
## Components
### Components
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [App list cloud component](process-services-cloud/app-list-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows all deployed cloud application instances. | [Source](../lib/process-services-cloud/src/lib/app/components/app-list-cloud.component.ts) |
| [Group cloud component](process-services-cloud/group-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Searches Groups. | [Source](../lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts) |
| [Edit process filter cloud component](process-services-cloud/edit-process-filter-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows Process Filter Details. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts) |
| [Process filters cloud component](process-services-cloud/process-filters-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Lists all available process filters and allows to select a filter. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/process-filters-cloud.component.ts) |
| [Process list cloud component](process-services-cloud/process-list-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts) |
| [Start process cloud component](process-services-cloud/start-process-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Starts a process. | [Source](../lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts) |
| [People cloud component](process-services-cloud/people-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Allows one or more users to be selected (with auto-suggestion) based on the input parameters. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/people-cloud/people-cloud.component.ts) |
| [Start task cloud component](process-services-cloud/start-task-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Creates/starts a new task for the specified app. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts) |
| [Edit task filter cloud component](process-services-cloud/edit-task-filter-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Edits Task Filter Details. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts) |
| [Task filters cloud component](process-services-cloud/task-filters-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows all available filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/task-filters-cloud.component.ts) |
| [Task header cloud component](process-services-cloud/task-header-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows all the information related to a task. | [Source](../lib/process-services-cloud/src/lib/task/task-header/components/task-header-cloud.component.ts) |
| [Task list cloud component](process-services-cloud/task-list-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts) |
| [App List Cloud Component](process-services-cloud/components/app-list-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows all deployed cloud application instances. | [Source](../lib/process-services-cloud/src/lib/app/components/app-list-cloud.component.ts) |
| [Edit Process Filter Cloud component](process-services-cloud/components/edit-process-filter-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows/edits process filter details. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/edit-process-filter-cloud.component.ts) |
| [Edit Task Filter Cloud component](process-services-cloud/components/edit-task-filter-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Edits task filter details. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/edit-task-filter-cloud.component.ts) |
| [Group Cloud component](process-services-cloud/components/group-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Searches Groups. | [Source](../lib/process-services-cloud/src/lib/group/components/group-cloud.component.ts) |
| [People Cloud Component](process-services-cloud/components/people-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Allows one or more users to be selected (with auto-suggestion) based on the input parameters. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/people-cloud/people-cloud.component.ts) |
| [Process Filters Cloud Component](process-services-cloud/components/process-filters-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Lists all available process filters and allows to select a filter. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/components/process-filters-cloud.component.ts) |
| [Process Header Cloud Component](process-services-cloud/components/process-header-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows all the information related to a process instance. | [Source](../lib/process-services-cloud/src/lib/process/process-header/components/process-header-cloud.component.ts) |
| [Process Instance List Cloud component](process-services-cloud/components/process-list-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/process/process-list/components/process-list-cloud.component.ts) |
| [Start Process Cloud Component](process-services-cloud/components/start-process-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Starts a process. | [Source](../lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts) |
| [Start Task Cloud Component](process-services-cloud/components/start-task-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Creates/starts a new task for the specified app. | [Source](../lib/process-services-cloud/src/lib/task/start-task/components/start-task-cloud.component.ts) |
| [Task Filters Cloud component](process-services-cloud/components/task-filters-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows all available filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/components/task-filters-cloud.component.ts) |
| [Task Header Cloud Component](process-services-cloud/components/task-header-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Shows all the information related to a task. | [Source](../lib/process-services-cloud/src/lib/task/task-header/components/task-header-cloud.component.ts) |
| [Task List Cloud component](process-services-cloud/components/task-list-cloud.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services-cloud/src/lib/task/task-list/components/task-list-cloud.component.ts) |
## Pipes
### Directives
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Group initial pipe](process-services-cloud/group-initial.pipe.md) | Extracts the initial character from a group name. | [Source](../lib/process-services-cloud/src/lib/group/pipe/group-initial.pipe.ts) |
| [Claim Task Directive](process-services-cloud/directives/claim-task.directive.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Claims a task | [Source](../lib/process-services-cloud/src/lib/task/directives/claim-task.directive.ts) |
| [Complete Task Directive](process-services-cloud/directives/complete-task.directive.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Completes a task. | [Source](../lib/process-services-cloud/src/lib/task/directives/complete-task.directive.ts) |
| [Unclaim Task Directive](process-services-cloud/directives/unclaim-task.directive.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Unclaims a task | [Source](../lib/process-services-cloud/src/lib/task/directives/unclaim-task.directive.ts) |
## Services
### Pipes
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Apps process cloud service](process-services-cloud/apps-process-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Gets details of deployed apps for the current user. | [Source](../lib/process-services-cloud/src/lib/app/services/apps-process-cloud.service.ts) |
| [Group cloud service](process-services-cloud/group-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Searches and gets information for groups. | [Source](../lib/process-services-cloud/src/lib/group/services/group-cloud.service.ts) |
| [Process filter cloud service](process-services-cloud/process-filter-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts) |
| [Process list cloud service](process-services-cloud/process-list-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Searches processes. | [Source](../lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts) |
| [Start process cloud service](process-services-cloud/start-process-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Gets process definitions and starts processes. | [Source](../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
| [Start task cloud service](process-services-cloud/start-task-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Starts standalone tasks. | [Source](../lib/process-services-cloud/src/lib/task/start-task/services/start-task-cloud.service.ts) |
| [Task filter cloud service](process-services-cloud/task-filter-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manages task filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
| [Task header cloud service](process-services-cloud/task-header-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manages cloud tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-header/services/task-header-cloud.service.ts) |
| [Task list cloud service](process-services-cloud/task-list-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Searches tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
| [Group initial pipe](process-services-cloud/pipes/group-initial.pipe.md) | Extracts the initial character from a group name. | [Source](../lib/process-services-cloud/src/lib/group/pipe/group-initial.pipe.ts) |
### Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Apps Process Cloud Service](process-services-cloud/services/apps-process-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Gets details of deployed apps for the current user. | [Source](../lib/process-services-cloud/src/lib/app/services/apps-process-cloud.service.ts) |
| [Group Cloud Service](process-services-cloud/services/group-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Searches and gets information for groups. | [Source](../lib/process-services-cloud/src/lib/group/services/group-cloud.service.ts) |
| [Process Filter Cloud Service](process-services-cloud/services/process-filter-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services-cloud/src/lib/process/process-filters/services/process-filter-cloud.service.ts) |
| [Process Header Cloud Service](process-services-cloud/services/process-header-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manages cloud process instances. | [Source](../lib/process-services-cloud/src/lib/process/process-header/services/process-header-cloud.service.ts) |
| [Process List Cloud Service](process-services-cloud/services/process-list-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Searches processes. | [Source](../lib/process-services-cloud/src/lib/process/process-list/services/process-list-cloud.service.ts) |
| [Start Process Cloud Service](process-services-cloud/services/start-process-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Gets process definitions and starts processes. | [Source](../lib/process-services-cloud/src/lib/process/start-process/services/start-process-cloud.service.ts) |
| [Start Task Cloud Service](process-services-cloud/services/start-task-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Starts standalone tasks. | [Source](../lib/process-services-cloud/src/lib/task/start-task/services/start-task-cloud.service.ts) |
| [Task Cloud Service](process-services-cloud/services/task-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manages task cloud. | [Source](../lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts) |
| [Task Filter Cloud Service](process-services-cloud/services/task-filter-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manages task filters. | [Source](../lib/process-services-cloud/src/lib/task/task-filters/services/task-filter-cloud.service.ts) |
| [Task List Cloud Service](process-services-cloud/services/task-list-cloud.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Searches tasks. | [Source](../lib/process-services-cloud/src/lib/task/task-list/services/task-list-cloud.service.ts) |
<!--process-services-cloud end-->
@@ -441,17 +457,18 @@ for more information about installing and using the source code.
<!--extensions start-->
## Components
### Components
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Dynamic component](extensions/dynamic.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Displays dynamically-loaded extension components. | [Source](../lib/extensions/src/lib/components/dynamic-component/dynamic.component.ts) |
| [Dynamic Component](extensions/components/dynamic.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Displays dynamically-loaded extension components. | [Source](../lib/extensions/src/lib/components/dynamic-component/dynamic.component.ts) |
| [Preview Extension Component](extensions/components/preview-extension.component.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Supports dynamically-loaded viewer preview extensions. | [Source](../lib/extensions/src/lib/components/viewer/preview-extension.component.ts) |
## Services
### Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Extension service](extensions/extension.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manages and runs basic extension functionality. | [Source](../lib/extensions/src/lib/services/extension.service.ts) |
| [Extension Service](extensions/services/extension.service.md) ![Experimental](docassets/images/ExperimentalIcon.png) | Manages and runs basic extension functionality. | [Source](../lib/extensions/src/lib/services/extension.service.ts) |
<!--extensions end-->
@@ -466,15 +483,15 @@ for more information about installing and using the source code.
<!--insights start-->
## Components
### Components
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Widget component](insights/widget.component.md) | Base class for standard and custom widget classes. | [Source](../lib/insights/analytics-process/components/widgets/widget.component.ts) |
| [Analytics generator component](insights/analytics-generator.component.md) | Generates and shows charts | [Source](../lib/insights/analytics-process/components/analytics-generator.component.ts) |
| [Analytics report list component](insights/analytics-report-list.component.md) | Shows a list of all available reports | [Source](../lib/insights/analytics-process/components/analytics-report-list.component.ts) |
| [Analytics component](insights/analytics.component.md) | Shows the charts related to the reportId passed as input | [Source](../lib/insights/analytics-process/components/analytics.component.ts) |
| [Diagram component](insights/diagram.component.md) | Displays process diagrams. | [Source](../lib/insights/diagram/components/diagram.component.ts) |
| [Analytics Generator Component](insights/components/analytics-generator.component.md) | Generates and shows charts | [Source](../lib/insights/analytics-process/components/analytics-generator.component.ts) |
| [APS Analytics List Component](insights/components/analytics-report-list.component.md) | Shows a list of all available reports | [Source](../lib/insights/analytics-process/components/analytics-report-list.component.ts) |
| [APS Analytics Component](insights/components/analytics.component.md) | Shows the charts related to the reportId passed as input | [Source](../lib/insights/analytics-process/components/analytics.component.ts) |
| [Diagram Component](insights/components/diagram.component.md) | Displays process diagrams. | [Source](../lib/insights/diagram/components/diagram.component.ts) |
| [Widget component](insights/components/widget.component.md) | Base class for standard and custom widget classes. | [Source](../lib/insights/analytics-process/components/widgets/widget.component.ts) |
<!--insights end-->
+43 -6
View File
@@ -14,14 +14,51 @@
- working-with-nodes-js-api.md: 'Working with nodes using the JS-API'
- content-metadata-component.md: 'Content metadata component'
- user-guide: 'User guide'
- core: 'Core API'
- content-services: 'Content Services API'
- process-services: 'Process Services API'
- process-services-cloud: 'Process Services Cloud API'
- extensions: 'Extensions API'
- insights: 'Insights API'
- core:
title: 'Core API'
children:
- components: 'Components'
- directives: 'Directives'
- interfaces: 'Interfaces'
- models: 'Models'
- pipes: 'Pipes'
- services: 'Services'
- widgets: 'Widgets'
- content-services:
title: 'Content Services API'
children:
- components: 'Components'
- dialogs: 'Dialogs'
- directives: 'Directives'
- interfaces: 'Interfaces'
- models: 'Models'
- pipes: 'Pipes'
- services: 'Services'
- process-services:
title: 'Process Services API'
children:
- components: 'Components'
- directives: 'Directives'
- services: 'Services'
- process-services-cloud:
title: 'Process Services Cloud API'
children:
- components: 'Components'
- directives: 'Directives'
- pipes: 'Pipes'
- services: 'Services'
- extensions:
title: 'Extensions API'
children:
- components: 'Components'
- services: 'Services'
- insights:
title: 'Insights API'
children:
- components: 'Components'
- roadmap.md: 'Roadmap'
- versionIndex.md: 'Version index'
- compatibility.md: 'Version compatibility'
- release-notes: 'Release notes'
- upgrade-guide: 'Upgrade Guide'
- license-info: 'License info'
@@ -6,7 +6,6 @@ Title: Breaking changes, 2.6.0 -> 3.0.0
This document lists all the deprecated ADF v2.x components that were removed for v3.0.0:
- [PR ADF-3354](https://github.com/Alfresco/alfresco-ng2-components/pull/3980):
The `adf-accordion` component has been removed.
@@ -26,20 +25,20 @@ This document lists all the deprecated ADF v2.x components that were removed for
classes without the **adf-** prefix, you will now need to update them. For example, `.card-view`
is now `.adf-card-view`.
- [PR ADF-1443](https://github.com/Alfresco/alfresco-ng2-components/pull/4028): `DownloadZipDialogComponent`
and `NodeDownloadDirective` have been moved from the Content Services module to the Core module.
- [PR ADF-1443](https://github.com/Alfresco/alfresco-ng2-components/pull/4028): [`DownloadZipDialogComponent`](../../lib/core/dialogs/download-zip.dialog.ts)
and [`NodeDownloadDirective`](../core/directives/node-download.directive.md) have been moved from the Content Services module to the Core module.
This modification has enabled us to remove some code duplication between the two modules.
- [PR ADF-1873](https://github.com/Alfresco/alfresco-ng2-components/pull/4145):
- `adf-search-control`: The `QueryBody`, and
`customQueryBody` inputs of the `SearchControlComponent` have been removed in favor of the
[custom search configuration interface](../core/search-configuration.interface.md).
`customQueryBody` inputs of the [`SearchControlComponent`](../content-services/components/search-control.component.md) have been removed in favor of the
[custom search configuration interface](../core/interfaces/search-configuration.interface.md).
The inputs were deprecated in v2.1.0.
- `<adf-viewer>`: The `fileNodeId` input that supplies the Node Id of the file to
- `<adf-viewer>`: The `fileNodeId` input that supplies the [`Node`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) Id of the file to
load has been renamed as `nodeId`.
- `<adf-viewer>`: The `allowShare` input has been removed. Inject the
[Share Directive](../content-services/content-node-share.directive.md) in a
[custom toolbar](../core/viewer.component.md#custom-toolbar) to recreate the behavior of the
[Share Directive](../content-services/directives/content-node-share.directive.md) in a
[custom toolbar](../core/components/viewer.component.md#custom-toolbar) to recreate the behavior of the
Share button.
- `<adf-viewer>`: The `allowSidebar` input has now been split into `allowLeftSidebar` and `allowRightSidebar`.
- `<adf-viewer>`: The `showSidebar` input has now been split into `showLeftSidebar` and `showRightSidebar`.
@@ -49,13 +48,13 @@ This document lists all the deprecated ADF v2.x components that were removed for
(you can now have two sidebars on the left and right at the same time).
- `analytics-report-list` is now `adf-analytics-report-list`.
- `analytics-report-parameters` is now `adf-analytics-report-parameters`.
- `CommentProcessModel` was moved into the Core library with the name `CommentModel` in v2.3.0. Now you
can only import it from `CoreModule`.
- `CommentsModule`, `CommentListComponent`, and `CommentsComponent` are no longer exported from
`ProcessModule` but now from `CoreModule`. The old usage was deprecated in v2.3.0.
- `CommentProcessModel` was moved into the Core library with the name [`CommentModel`](../../lib/core/models/comment.model.ts) in v2.3.0. Now you
can only import it from [`CoreModule`](../../lib/core/core.module.ts).
- [`CommentsModule`](../../lib/core/comments/comments.module.ts), [`CommentListComponent`](../core/components/comment-list.component.md), and [`CommentsComponent`](../core/components/comments.component.md) are no longer exported from
[`ProcessModule`](../../lib/process-services/process.module.ts) but now from [`CoreModule`](../../lib/core/core.module.ts). The old usage was deprecated in v2.3.0.
- `<adf-upload-drag-area>`: The `parentId` input has been renamed as `rootFolderId`. The old
name was deprecated in v2.4.0.
- The `createFolder` event of the `UploadBase` class (emitted when a folder was
- The `createFolder` event of the [`UploadBase`](../../lib/content-services/upload/components/base-upload/upload-base.ts) class (emitted when a folder was
created) was deprecated in v2.4.0 and is no longer used by the framework
Use the `success` event instead.
- `<adf-filters>` is now `<adf-task-filters>`. The old usage was deprecated in v2.4.0.
@@ -69,8 +68,8 @@ This document lists all the deprecated ADF v2.x components that were removed for
- The `file-draggable` event (emitted when one or more files are dragged and dropped
onto the draggable element) was deprecated in v2.4.0 and has now been removed.
Use `filesDropped` instead to get the same effect.
- The `DocumentListService.hasPermission` method was redundant and has now been removed.
Use `ContentService.hasAllowableOperations` instead.
- The [`DocumentListService`](../content-services/services/document-list.service.md)`.hasPermission` method was redundant and has now been removed.
Use [`ContentService`](../core/services/content.service.md)`.hasAllowableOperations` instead.
- The `diagram-sequence-flow` tag has now been renamed as `adf-diagram-sequence-flow`.
The old name was deprecated in v2.3.0.
- The `diagram-alfresco-publish-task` tag has now been renamed as
@@ -83,14 +82,15 @@ This document lists all the deprecated ADF v2.x components that were removed for
the same value in pagination using the `pageSize` property.
- `<adf-document-list>`: The `enableInfiniteScrolling` input has been removed since
it is not used anymore. To choose the pagination strategy, add either the
[Infinite Pagination Component](../core/infinite-pagination.component.md) or the normal [Pagination Component](../core/pagination.component.md) and assign
[Infinite Pagination Component](../core/components/infinite-pagination.component.md) or the normal [Pagination Component](../core/components/pagination.component.md) and assign
your document list as the `target`.
- `<adf-document-list>`: The `folderNode` input has been removed. Use
the `currentFolderId` and `node` inputs instead.
- `SettingsService` has been removed. This was deprecated in v1.7.0.
- `FormService`: the `addFieldsToAForm` method has been removed.
- [`FormService`](../core/services/form.service.md): the `addFieldsToAForm` method has been removed.
- `<file-uploading-dialog>` has been renamed to `<adf-file-uploading-dialog>`.
- [PR JS-API](https://github.com/Alfresco/alfresco-ng2-components/pull/4097):
- The name package of the JS-API has been modified to use the namespace and all
**alfresco-js-api** imports need to be modified to **@alfresco/js-api**.
See the official
@@ -103,6 +103,7 @@ This document lists all the deprecated ADF v2.x components that were removed for
when the JS-API is constructed.
v2.6.1 and before:
```ts
callApi(
path: string,
@@ -122,6 +123,7 @@ This document lists all the deprecated ADF v2.x components that were removed for
```
After v3.0.0:
```ts
callApi(
path: string,
@@ -139,10 +141,9 @@ This document lists all the deprecated ADF v2.x components that were removed for
): Promise<any>;
```
- [PR ADF-4062](https://github.com/Alfresco/alfresco-ng2-components/pull/4294)
- `adf-node-permission` has been renamed `adf-check-allowable-operation`.
- `ContentService.hasPermission` was actually checking the `allowableOperation` value
and has been renamed as `ContentService.hasAllowableOperations`.
- `ContentService.hasPermissions` is a new method which actually *does* check
- [`ContentService`](../core/services/content.service.md)`.hasPermission` was actually checking the `allowableOperation` value
and has been renamed as [`ContentService`](../core/services/content.service.md)`.hasAllowableOperations`.
- [`ContentService`](../core/services/content.service.md)`.hasPermissions` is a new method which actually _does_ check
the permissions.
+1
View File
@@ -21,6 +21,7 @@ You can find further information about released versions of ADF in the
| ADF version | Content Services | Process Services |
| -- | -- | -- |
| [3.1.0](versionIndex.md#v310) | **Full test:** v6.1.0 RC7 <br/> **Smoke test:** v5.2.4 | **Full test:** v2.0.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
| [3.0.0](versionIndex.md#v300) | **Full test:** v6.1.0 RC7 <br/> **Smoke test:** v5.2.4 | **Full test:** v2.0.0 (latest CI pipeline build), v1.9.0 <br/>**Smoke test:** v1.8.1 |
| [2.6.0](versionIndex.md#v260) | **Full test:** v6.0.0, v5.2.4 <br/> **Smoke test:** v5.2.3 | **Full test:** v1.9.0 <br/>**Smoke test:** v1.8.1, v1.7.0, v1.6.4 |
| [2.5.0](versionIndex.md#v250) | **Full test:** v5.2.3 | **Full test:** v1.6.4 |
-111
View File
@@ -1,111 +0,0 @@
---
Title: Content Services API
Github only: true
---
# Content Services API
Contains components related to Content Services.
See the library's
[README file](../../lib/content-services/README.md)
for more information about installing and using the source code.
<!--content-services start-->
## Components
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Breadcrumb component](breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../../lib/content-services/breadcrumb/breadcrumb.component.ts) |
| [Dropdown breadcrumb component](dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts) |
| [Content metadata component](content-metadata.component.md) | Displays and edits metadata related to a node. | [Source](../../lib/content-services/content-metadata/components/content-metadata/content-metadata.component.ts) |
| [Content metadata card component](content-metadata-card.component.md) | Displays and edits metadata related to a node. | [Source](../../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts) |
| [Content node selector panel component](content-node-selector-panel.component.md) | Opens a Content Node Selector in its own dialog window. | [Source](../../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) |
| [Content node selector component](content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../../lib/content-services/content-node-selector/content-node-selector.component.ts) |
| [Content action component](content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../../lib/content-services/document-list/components/content-action/content-action.component.ts) |
| [Document list component](document-list.component.md) | Displays the documents from a repository. | [Source](../../lib/content-services/document-list/components/document-list.component.ts) |
| [Add permission dialog component](add-permission-dialog.component.md) | Displays a dialog to search for people or groups to add to the current node permissions. | [Source](../../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts) |
| [Add permission panel component](add-permission-panel.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts) |
| [Add permission component](add-permission.component.md) | Searches for people or groups to add to the current node permissions. | [Source](../../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts) |
| [Permission list component](permission-list.component.md) | Shows node permissions as a table. | [Source](../../lib/content-services/permission-manager/components/permission-list/permission-list.component.ts) |
| [Search check list component](search-check-list.component.md) | Implements a checklist widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-check-list/search-check-list.component.ts) |
| [Search chip list component](search-chip-list.component.md) | Displays search criteria as a set of "chips". | [Source](../../lib/content-services/search/components/search-chip-list/search-chip-list.component.ts) |
| [Search control component](search-control.component.md) | Displays a input text that shows find-as-you-type suggestions. | [Source](../../lib/content-services/search/components/search-control.component.ts) |
| [Search date range component](search-date-range.component.md) | Implements a date range widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-date-range/search-date-range.component.ts) |
| [Search filter component](search-filter.component.md) | Represents a main container component for custom search and faceted search settings. | [Source](../../lib/content-services/search/components/search-filter/search-filter.component.ts) |
| [Search number range component](search-number-range.component.md) | Implements a number range widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-number-range/search-number-range.component.ts) |
| [Search radio component](search-radio.component.md) | Implements a radio button list widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-radio/search-radio.component.ts) |
| [Search slider component](search-slider.component.md) | Implements a numeric slider widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-slider/search-slider.component.ts) |
| [Search sorting picker component](search-sorting-picker.component.md) | Provides an ability to select one of the predefined sorting definitions for search results: | [Source](../../lib/content-services/search/components/search-sorting-picker/search-sorting-picker.component.ts) |
| [Search text component](search-text.component.md) | Implements a text input widget for the Search Filter component. | [Source](../../lib/content-services/search/components/search-text/search-text.component.ts) |
| [Search component](search.component.md) | Searches items for supplied search terms. | [Source](../../lib/content-services/search/components/search.component.ts) |
| [Sites dropdown component](sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../../lib/content-services/site-dropdown/sites-dropdown.component.ts) |
| [Like component](like.component.md) | Allows a user to add "likes" to an item. | [Source](../../lib/content-services/social/like.component.ts) |
| [Rating component](rating.component.md) | Allows a user to add ratings to an item. | [Source](../../lib/content-services/social/rating.component.ts) |
| [Tag actions component](tag-actions.component.md) | Shows available actions for tags. | [Source](../../lib/content-services/tag/tag-actions.component.ts) |
| [Tag list component](tag-list.component.md) | Shows tags for an item. | [Source](../../lib/content-services/tag/tag-list.component.ts) |
| [Tag node list component](tag-node-list.component.md) | Shows tags for a node. | [Source](../../lib/content-services/tag/tag-node-list.component.ts) |
| [Tree view component](tree-view.component.md) | Shows the folder and subfolders of a node as a tree view. | [Source](../../lib/content-services/tree-view/components/tree-view.component.ts) |
| [File uploading dialog component](file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../../lib/content-services/upload/components/file-uploading-dialog.component.ts) |
| [Upload button component](upload-button.component.md) | Activates a file upload. | [Source](../../lib/content-services/upload/components/upload-button.component.ts) |
| [Upload drag area component](upload-drag-area.component.md) | Adds a drag and drop area to upload files to ACS. | [Source](../../lib/content-services/upload/components/upload-drag-area.component.ts) |
| [Upload version button component](upload-version-button.component.md) ![Experimental](../docassets/images/ExperimentalIcon.png) | Activates a file version upload. | [Source](../../lib/content-services/upload/components/upload-version-button.component.ts) |
| [Version list component](version-list.component.md) ![Experimental](../docassets/images/ExperimentalIcon.png) | Displays the version history of a node in a Version Manager component. | [Source](../../lib/content-services/version-manager/version-list.component.ts) |
| [Version manager component](version-manager.component.md) ![Experimental](../docassets/images/ExperimentalIcon.png) | Displays the version history of a node with the ability to upload a new version. | [Source](../../lib/content-services/version-manager/version-manager.component.ts) |
| [Webscript component](webscript.component.md) | Provides access to Webscript features. | [Source](../../lib/content-services/webscript/webscript.component.ts) |
## Dialogs
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Confirm dialog](confirm.dialog.md) | Requests a yes/no choice from the user. | [Source](../../lib/content-services/dialogs/confirm.dialog.ts) |
| [Library dialog](library.dialog.md) | Creates a new Content Services document library/site. | [Source](../../lib/content-services/dialogs/library/library.dialog.ts) |
## Directives
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Content node share directive](content-node-share.directive.md) | Creates and manages public shared links for files. | [Source](../../lib/content-services/content-node-share/content-node-share.directive.ts) |
| [Node lock directive](node-lock.directive.md) | Locks or unlocks a node. | [Source](../../lib/content-services/directives/node-lock.directive.ts) |
| [Folder create directive](folder-create.directive.md) | Creates folders. | [Source](../../lib/content-services/folder-directive/folder-create.directive.ts) |
| [Folder edit directive](folder-edit.directive.md) | Allows folders to be edited. | [Source](../../lib/content-services/folder-directive/folder-edit.directive.ts) |
| [Inherited button directive](inherited-button.directive.md) | Update the current node by adding/removing the inherited permissions. | [Source](../../lib/content-services/permission-manager/components/inherited-button.directive.ts) |
| [File draggable directive](file-draggable.directive.md) | Provides drag-and-drop features for an element such as a `div`. | [Source](../../lib/content-services/upload/directives/file-draggable.directive.ts) |
## Models
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Image resolver model](image-resolver.model.md) | Defines the Image Resolver function used by the Document List Component. | [Source](../../lib/content-services/document-list/data/image-resolver.model.ts) |
| [Row filter model](row-filter.model.md) | Defines the Row Filter function used by the Document List Component. | [Source](../../lib/content-services/document-list/data/row-filter.model.ts) |
| [Permissions style model](permissions-style.model.md) | Sets custom CSS styles for rows of a Document List according to the item's permissions. | [Source](../../lib/content-services/document-list/models/permissions-style.model.ts) |
## Pipes
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [File upload error pipe](file-upload-error.pipe.md) | Converts an upload error code to an error message. | [Source](../../lib/content-services/upload/pipes/file-upload-error.pipe.ts) |
## Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Content node dialog service](content-node-dialog.service.md) | Displays and manages dialogs for selecting content to open, copy or upload. | [Source](../../lib/content-services/content-node-selector/content-node-dialog.service.ts) |
| [Custom resources service](custom-resources.service.md) | Manages Document List information that is specific to a user. | [Source](../../lib/content-services/document-list/services/custom-resources.service.ts) |
| [Document actions service](document-actions.service.md) | Implements the document menu actions for the Document List component. | [Source](../../lib/content-services/document-list/services/document-actions.service.ts) |
| [Document list service](document-list.service.md) | Implements node operations used by the Document List component. | [Source](../../lib/content-services/document-list/services/document-list.service.ts) |
| [Folder actions service](folder-actions.service.md) | Implements the folder menu actions for the Document List component. | [Source](../../lib/content-services/document-list/services/folder-actions.service.ts) |
| [Node permission dialog service](node-permission-dialog.service.md) | Displays dialogs to let the user set node permissions. | [Source](../../lib/content-services/permission-manager/services/node-permission-dialog.service.ts) |
| [Node permission service](node-permission.service.md) | Manages role permissions for content nodes. | [Source](../../lib/content-services/permission-manager/services/node-permission.service.ts) |
| [Search filter service](search-filter.service.md) | Registers widgets for use with the Search Filter component. | [Source](../../lib/content-services/search/components/search-filter/search-filter.service.ts) |
| [Search query builder service](search-query-builder.service.md) | Stores information from all the custom search and faceted search widgets, compiles and runs the final search query. | [Source](../../lib/content-services/search/search-query-builder.service.ts) |
| [Rating service](rating.service.md) | Manages ratings for items in Content Services. | [Source](../../lib/content-services/social/services/rating.service.ts) |
| [Tag service](tag.service.md) | Manages tags in Content Services. | [Source](../../lib/content-services/tag/services/tag.service.ts) |
<!--content-services end-->
## Other classes and interfaces
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Search Widget interface](search-widget.interface.md) | Specifies required properties for [Search filter component](../content-services/search-filter.component.md) widgets. | [Source](../../lib/content-services/search/search-widget.interface.ts) |
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-13
---
# [Add Permission Dialog Component](../../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts "Defined in add-permission-dialog.component.ts")
# [Add Permission Dialog Component](../../../lib/content-services/permission-manager/components/add-permission/add-permission-dialog.component.ts "Defined in add-permission-dialog.component.ts")
Displays a dialog to search for people or groups to add to the current node permissions.
![Add Permission Component](../docassets/images/add-permission-component.png)
![Add Permission Component](../../docassets/images/add-permission-component.png)
## Basic Usage
@@ -29,10 +29,10 @@ import { NodePermissionDialogService } from '@alfresco/adf-content-services';
## Details
This component extends the [Add permission panel component](../content-services/add-permission-panel.component.md)
This component extends the [Add permission panel component](add-permission-panel.component.md)
to apply the chosen selection of permissions when they are accepted.
You can open the dialog with the `openAddPermissionDialog` method from the
[Node Permission Dialog Service](../content-services/node-permission-dialog.service.md).
[Node Permission Dialog Service](../services/node-permission-dialog.service.md).
This returns an [`Observable`](http://reactivex.io/documentation/observable.html)
that you can subscribe to so you can get the details of the node after the update.
Use the `updateNodePermissionByDialog` nethod from the service to update node permissions, as shown in
@@ -54,5 +54,5 @@ import { NodePermissionDialogService } from '@alfresco/adf-content-services';
## See also
- [Node permission dialog service](node-permission-dialog.service.md)
- [Node permission dialog service](../services/node-permission-dialog.service.md)
- [Add permission panel component](add-permission-panel.component.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-14
---
# [Add Permission Panel Component](../../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts "Defined in add-permission-panel.component.ts")
# [Add Permission Panel Component](../../../lib/content-services/permission-manager/components/add-permission/add-permission-panel.component.ts "Defined in add-permission-panel.component.ts")
Searches for people or groups to add to the current node permissions.
![Add Permission Component](../docassets/images/add-permission-component.png)
![Add Permission Component](../../docassets/images/add-permission-component.png)
## Basic Usage
@@ -35,11 +35,11 @@ This component uses a [Search component](search.component.md) to retrieve the
groups and people that could be added to the permission list of the current node.
The `select` event is emitted when a result is clicked from the list.
The [Add permission dialog component](../content-services/add-permission-dialog.component.md)
and [Add permission component](../content-services/add-permission.component.md) extend this behavior by applying the chosen
The [Add permission dialog component](add-permission-dialog.component.md)
and [Add permission component](add-permission.component.md) extend this behavior by applying the chosen
permissions to the node once the selection has been made.
## See also
- [Add permission dialog component](../content-services/add-permission-dialog.component.md)
- [Add permission component](../content-services/add-permission.component.md)
- [Add permission dialog component](add-permission-dialog.component.md)
- [Add permission component](add-permission.component.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2019-01-16
---
# [Add Permission Component](../../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts "Defined in add-permission.component.ts")
# [Add Permission Component](../../../lib/content-services/permission-manager/components/add-permission/add-permission.component.ts "Defined in add-permission.component.ts")
Searches for people or groups to add to the current node permissions.
![Add Permission Component](../docassets/images/add-permission-component.png)
![Add Permission Component](../../docassets/images/add-permission-component.png)
## Basic Usage
@@ -38,11 +38,11 @@ Searches for people or groups to add to the current node permissions.
## Details
This component extends the [Add permission panel component](../content-services/add-permission-panel.component.md)
This component extends the [Add permission panel component](add-permission-panel.component.md)
to apply the chosen selection of permissions when they are accepted. You can also
use the [Add permission dialog component](../content-services/add-permission-dialog.component.md) to perform the same action using a dialog.
use the [Add permission dialog component](add-permission-dialog.component.md) to perform the same action using a dialog.
## See also
- [Add permission panel component](../content-services/add-permission-panel.component.md)
- [Add permission dialog component](../content-services/add-permission-dialog.component.md)
- [Add permission panel component](add-permission-panel.component.md)
- [Add permission dialog component](add-permission-dialog.component.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2019-01-16
---
# [Breadcrumb Component](../../lib/content-services/breadcrumb/breadcrumb.component.ts "Defined in breadcrumb.component.ts")
# [Breadcrumb Component](../../../lib/content-services/breadcrumb/breadcrumb.component.ts "Defined in breadcrumb.component.ts")
Indicates the current position within a navigation hierarchy.
![Breadcrumb](../docassets/images/breadcrumb.png)
![Breadcrumb](../../docassets/images/breadcrumb.png)
## Basic Usage
@@ -29,7 +29,7 @@ Indicates the current position within a navigation hierarchy.
| maxItems | `number` | | Maximum number of nodes to display before wrapping them with a dropdown element. |
| root | `string` | null | (optional) Name of the root element of the breadcrumb. You can use this property to rename "Company Home" to "Personal Files" for example. You can use an i18n resource key for the property value. |
| rootId | `string` | null | (optional) The id of the root element. You can use this property to set a custom element the breadcrumb should start with. |
| target | [`DocumentListComponent`](../content-services/document-list.component.md) | | (optional) [Document List component](../content-services/document-list.component.md) to operate with. The list will update when the breadcrumb is clicked. |
| target | [`DocumentListComponent`](../../content-services/components/document-list.component.md) | | (optional) [Document List component](../../content-services/components/document-list.component.md) to operate with. The list will update when the breadcrumb is clicked. |
| transform | `Function` | | Transformation to be performed on the chosen/folder node before building the breadcrumb UI. Can be useful when custom formatting is needed for the breadcrumb. You can change the path elements from the node that are used to build the breadcrumb using this function. |
### Events
@@ -43,7 +43,7 @@ Indicates the current position within a navigation hierarchy.
The `maxItems` property sets the maximum number of "crumbs" in the breadcrumb trail. If
the actual path contains more nodes than this then the earliest items in the path will be
removed and kept in a menu as with the
[Dropdown breadcrumb component](../content-services/dropdown-breadcrumb.component.md).
[Dropdown breadcrumb component](dropdown-breadcrumb.component.md).
### Using the transform function
@@ -53,7 +53,7 @@ the list by altering the node's `path.elements` property.
Below is an example of how you might do this with the
[Content Node Selector component](content-node-selector.component.md). In this case, you pass the
transform function via the `breadcrumbTransform` property of [`ContentNodeSelectorComponentData`](../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) during
transform function via the `breadcrumbTransform` property of [`ContentNodeSelectorComponentData`](../../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) during
initialization:
```ts
@@ -92,7 +92,7 @@ A transform function to remove the "Sites" folder from the path would look somet
Below, the breadcrumb is shown before and after the transform function is applied:
![Content Node Selector breadcrumbTransform before/after screenshot](../docassets/images/breadcrumbTransform.png)
![Content Node Selector breadcrumbTransform before/after screenshot](../../docassets/images/breadcrumbTransform.png)
## See also
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2019-01-17
---
# [Content Action component](../../lib/content-services/document-list/components/content-action/content-action.component.ts "Defined in content-action.component.ts")
# [Content Action component](../../../lib/content-services/document-list/components/content-action/content-action.component.ts "Defined in content-action.component.ts")
Adds options to a Document List actions menu for a particular content type.
![Document Actions](../docassets/images/document-actions.png)
![Document Actions](../../docassets/images/document-actions.png)
## Contents
@@ -121,7 +121,7 @@ will trigger the same action.) You can also add your own handler by implementing
`execute` event.
Note that you can use _both_ a built-in handler and your own `execute`
function in the same action. The `execute` function is passed a [`NodeMinimalEntry`](../../lib/content-services/document-list/models/document-library.model.ts) as its
function in the same action. The `execute` function is passed a [`NodeMinimalEntry`](../../../lib/content-services/document-list/models/document-library.model.ts) as its
parameter. For
example, with `handler="delete"` you could use `execute` to show a message with the name,
type, and other details of the item just deleted:
@@ -155,7 +155,7 @@ type, and other details of the item just deleted:
}
```
![Custom delete message screenshot](../docassets/images/ContentActSnackMessage.png)
![Custom delete message screenshot](../../docassets/images/ContentActSnackMessage.png)
### Examples
@@ -177,7 +177,7 @@ This action simply executes one of the built-in actions described above:
</adf-document-list>
```
![Download document action](../docassets/images/document-action-download.png)
![Download document action](../../docassets/images/document-action-download.png)
#### Custom handler
@@ -241,13 +241,13 @@ export class MyComponent {
}
```
![Delete disable action button](../docassets/images/content-action-disable-delete-button.png)
![Delete disable action button](../../docassets/images/content-action-disable-delete-button.png)
#### Permission check
You can also implement the `permissionEvent` to handle permission errors
(to show the user a notification, for example). Subscribe to this event from your component
and use the [Notification service](../core/notification.service.md) to show a message.
and use the [Notification service](../../core/services/notification.service.md) to show a message.
```html
<adf-document-list [contentActions]="true"...>
@@ -276,7 +276,7 @@ export class MyComponent {
}
```
![Delete show notification message](../docassets/images/content-action-notification-message.png)
![Delete show notification message](../../docassets/images/content-action-notification-message.png)
#### Copy and move
@@ -284,7 +284,7 @@ These actions show the destination chooser dialog for copy and move actions. By
the destination chooser lists all the folders of the subject item's parent. However, it won't
allow the item being copied/moved to be the destination if it is itself a folder.
![Copy/move dialog](../docassets/images/document-action-copymovedialog.png)
![Copy/move dialog](../../docassets/images/document-action-copymovedialog.png)
```html
<adf-document-list [contentActions]="true"...>
@@ -432,10 +432,10 @@ funcName = (parameters): boolean => {
### Customizing built-in actions
The built-in actions are defined in the [Document Actions service](document-actions.service.md) and
[Folder Actions service](folder-actions.service.md) but you can register new actions with these services
The built-in actions are defined in the [Document Actions service](../services/document-actions.service.md) and
[Folder Actions service](../services/folder-actions.service.md) but you can register new actions with these services
and override the default implementations. See the doc pages for
[Document Actions service](document-actions.service.md) and [Folder Actions service](folder-actions.service.md)
[Document Actions service](../services/document-actions.service.md) and [Folder Actions service](../services/folder-actions.service.md)
for details and examples.
### Error, Permission and Success callbacks
@@ -446,10 +446,10 @@ You can define error, permission and success callbacks in much the same way as f
- The success callback's only parameter is the translatable success message string (which could be shown in a snackbar, for example)
- The `permissionEvent` callback is the same as described above for the delete action
![Copy/move document action](../docassets/images/document-action-copymove.png)
![Copy/move document action](../../docassets/images/document-action-copymove.png)
## See also
- [Document list component](document-list.component.md)
- [Document actions service](document-actions.service.md)
- [Folder actions service](folder-actions.service.md)
- [Document actions service](../services/document-actions.service.md)
- [Folder actions service](../services/folder-actions.service.md)
@@ -2,14 +2,14 @@
Title: Content Metadata Card component
Added: v2.1.0
Status: Active
Last reviewed: 2019-01-16
Last reviewed: 2019-03-15
---
# [Content Metadata Card component](../../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts "Defined in content-metadata-card.component.ts")
# [Content Metadata Card component](../../../lib/content-services/content-metadata/components/content-metadata-card/content-metadata-card.component.ts "Defined in content-metadata-card.component.ts")
Displays and edits metadata related to a node.
![Content metadata screenshot](../docassets/images/ContentMetadata.png)
![Content metadata screenshot](../../docassets/images/ContentMetadata.png)
## Basic Usage
@@ -38,7 +38,7 @@ Displays and edits metadata related to a node.
## Details
The component shows metadata related to a given node. It uses the
[Card View component](../core/card-view.component.md) to render the properties of metadata aspects.
[Card View component](../../core/components/card-view.component.md) to render the properties of metadata aspects.
The different aspects and their properties to be shown can be configured as application config
presets (see below). By default the component only shows the basic properties of the node.
The user can click on the pencil icon at the bottom of the component to edit the metadata
@@ -47,8 +47,8 @@ properties.
### Application config presets
You can define different presets for the metadata component or override the default presets in
the `app.config.json` file. The **default** preset is "\*" if not set, meaning the component
will display every aspect and property of a node without filtering.
the `app.config.json` file. If nothing else is set, the **default** preset is "\*",
which will use the "indifferent" config described below.
You can define as many extra presets as you need for your components.
@@ -68,6 +68,10 @@ The default configuration behaves like the following:
...
```
This will display a default set of basic node properties: **name**, **title**,
**creator**, **created date**, **size**, **modifier**, **modified date**,
**mime type**, **author**, **description**.
#### Aspect oriented config
With this type of configuration you can "whitelist" aspects and properties for a preset, but everything will be grouped by aspects and there is no further way to group properties. Use a
@@ -126,8 +130,7 @@ A final example shows the same process applied to a custom preset called "kitten
### Layout oriented config
You can also go beyond the aspect oriented configuration if you need to configure the groups and properties in a more detailed way. With this type of configuration any property of any aspect/type
can be "cherry picked" and grouped into an accordion drawer, along with a translatable title
defined in the preset configuration.
can be "cherry picked" and grouped into an accordion drawer, along with a translatable title defined in the preset configuration.
#### Basic elements
@@ -213,6 +216,80 @@ The result of this config would be two accordion groups with the following prope
| kitten:favourite-food |
| kitten:recommended-food |
### Displaying all properties
You can list all the properties by simply adding the `includeAll: boolean` to your config. This config will display all the aspects and properties available for that specific file.
```json
"content-metadata": {
"presets": {
"default": {
"includeAll": true
}
}
},
```
Futhermore, you can also exclude specific aspects by adding the `exclude` property. It can be either a string if it's only one aspect or an array if you want to exclude multiple aspects at once:
```json
"content-metadata": {
"presets": {
"default": {
"includeAll": true,
"exclude": "exif:exif"
}
}
},
```
```json
"content-metadata": {
"presets": {
"default": {
"includeAll": true,
"exclude": ["exif:exif", "owner:parameters"]
}
}
},
```
When using this configuration you can still whitelist aspects and properties as you desire. Let's see more complex examples for each of the config layouts:
##### Aspect oriented config
```json
"content-metadata": {
"presets": {
"default": {
"includeAll": true,
"exclude": "exif:exif",
"exif:exif": [ "exif:pixelXDimension", "exif:pixelYDimension"]
}
}
},
```
##### Layout oriented config
```json
"content-metadata": {
"presets": {
"robot-images": [
{
"includeAll": true,
"exclude": ["cm:content", "exif:exif"]
},
{
"title": "Robot Group",
"items": [
{ "aspect": "exif:exif", "properties": [ "exif:pixelXDimension", "exif:pixelYDimension"] }
]
}
]
}
},
```
## What happens when there is a whitelisted aspect in the config but the given node doesn't relate to that aspect
Nothing - since this aspect is not related to the node, it will simply be ignored and not
@@ -2,14 +2,14 @@
Title: Content Node Selector Panel component
Added: v2.1.0
Status: Active
Last reviewed: 2019-01-16
Last reviewed: 2019-03-20
---
# [Content Node Selector Panel component](../../lib/content-services/content-node-selector/content-node-selector-panel.component.ts "Defined in content-node-selector-panel.component.ts")
# [Content Node Selector Panel component](../../../lib/content-services/content-node-selector/content-node-selector-panel.component.ts "Defined in content-node-selector-panel.component.ts")
Opens a [Content Node Selector](content-node-selector.component.md) in its own dialog window.
![Content Node Selector screenshot](../docassets/images/ContentNodeSelector.png)
![Content Node Selector screenshot](../../docassets/images/ContentNodeSelector.png)
## Basic Usage
@@ -34,12 +34,12 @@ Opens a [Content Node Selector](content-node-selector.component.md) in its own
| currentFolderId | `string` | null | [Node](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) ID of the folder currently listed. |
| dropdownHideMyFiles | `boolean` | false | Hide the "My Files" option added to the site list by default. See the [Sites Dropdown component](sites-dropdown.component.md) for more information. |
| dropdownSiteList | [`SitePaging`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/SitePaging.md) | null | Custom site for site dropdown. This is the same as the `siteList`. property of the Sites Dropdown component (see its doc page for more information). |
| imageResolver | `ImageResolver` | null | Custom image resolver function. See the [Image Resolver Model](image-resolver.model.md) page for more information. |
| isSelectionValid | `ValidationFunction` | defaultValidation | Function used to decide if the selected node has permission to be selected. Default value is a function that always returns true. |
| imageResolver | [`ImageResolver`](../../../lib/content-services/document-list/data/image-resolver.model.ts) | null | Custom image resolver function. See the [Image Resolver Model](../models/image-resolver.model.md) page for more information. |
| isSelectionValid | [`ValidationFunction`](../../../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) | defaultValidation | Function used to decide if the selected node has permission to be selected. Default value is a function that always returns true. |
| pageSize | `number` | | Number of items shown per page in the list. |
| where | `string` | | Custom _where_ filter function. See the [Document List component](../content-services/document-list.component.md) for more information. |
| where | `string` | | Custom _where_ filter function. See the [Document List component](../../content-services/components/document-list.component.md) for more information. |
| excludeSiteContent | `string[]` | | Custom list of site content componentIds. Used to filter out the corresponding items from the displayed nodes |
| rowFilter | `RowFilter` | | Custom row filter function. See the [Row Filter Model](row-filter.model.md) page for more information. |
| rowFilter | [`RowFilter`](../../../lib/content-services/document-list/data/row-filter.model.ts) | | Custom row filter function. See the [Row Filter Model](../models/row-filter.model.md) page for more information. |
### Events
@@ -53,7 +53,7 @@ This component opens a _content node selector_ in its own dialog window. This be
standard file open/save dialogs used by applications to choose files. Full details are given in the
[Content Node Selector component](content-node-selector.component.md) page (this is similar but does
not manage the dialog window for you). Also, the
[Content Node Dialog service](content-node-dialog.service.md) has several methods that give you
[Content Node Dialog service](../services/content-node-dialog.service.md) has several methods that give you
finer control over the behavior of the dialog.
### Using the breadcrumbTransform function
@@ -66,4 +66,4 @@ example of how to use this function.
## See also
- [Content Node Selector component](content-node-selector.component.md)
- [Content Node Dialog service](content-node-dialog.service.md)
- [Content Node Dialog service](../services/content-node-dialog.service.md)
@@ -5,15 +5,15 @@ Status: Active
Last reviewed: 2019-01-16
---
# [Content Node Selector component](../../lib/content-services/content-node-selector/content-node-selector.component.ts "Defined in content-node-selector.component.ts")
# [Content Node Selector component](../../../lib/content-services/content-node-selector/content-node-selector.component.ts "Defined in content-node-selector.component.ts")
Allows a user to select items from a Content Services repository.
![Content Node Selector screenshot](../docassets/images/ContentNodeSelector.png)
![Content Node Selector screenshot](../../docassets/images/ContentNodeSelector.png)
## Details
The [Content Node Selector component](../content-services/content-node-selector.component.md) works a lot like the standard File Open/Save
The [Content Node Selector component](content-node-selector.component.md) works a lot like the standard File Open/Save
dialog used by desktop applications except that it chooses items from a Content Services
repository rather than the filesystem. For example, the
[Document List component](document-list.component.md) uses a selector to choose the targets
@@ -25,7 +25,7 @@ more information).
Unlike most components, the [Content Node Selector Component](content-node-selector.component.md) is typically shown in a dialog box
rather than the main page and you are responsible for opening the dialog yourself. You can use the
[Angular Material Dialog](https://material.angular.io/components/dialog/overview) for this,
as shown in the usage example. ADF provides the [`ContentNodeSelectorComponentData`](../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) interface
as shown in the usage example. ADF provides the [`ContentNodeSelectorComponentData`](../../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) interface
to work with the Dialog's
[data option](https://material.angular.io/components/dialog/overview#sharing-data-with-the-dialog-component-):
@@ -55,17 +55,17 @@ The properties are described in the table below:
| currentFolderId | `string` | `null` | [`Node`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) ID of the folder currently listed. |
| dropdownHideMyFiles | `boolean` | `false` | Hide the "My Files" option added to the site list by default. See the [Sites Dropdown component](sites-dropdown.component.md) for more information. |
| dropdownSiteList | [`SitePaging`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/SitePaging.md) | `null` | Custom site for site dropdown same as siteList. See the [Sites Dropdown component](sites-dropdown.component.md) for more information. |
| rowFilter | [`RowFilter`](../../lib/content-services/document-list/data/row-filter.model.ts) | `null` | Custom row filter function. See the [Row Filter Model](row-filter.model.md) page for more information. |
| where | `string` | `null` | Custom *where* filter function. See the [Document List component](document-list.component.md) for more information. |
| imageResolver | [`ImageResolver`](../../lib/content-services/document-list/data/image-resolver.model.ts) | `null` | Custom image resolver function. See the [Image Resolver Model](image-resolver.model.md) page for more information. |
| rowFilter | [`RowFilter`](../../../lib/content-services/document-list/data/row-filter.model.ts) | `null` | Custom row filter function. See the [Row Filter Model](../models/row-filter.model.md) page for more information. |
| where | `string` | `null` | Custom _where_ filter function. See the [Document List component](document-list.component.md) for more information. |
| imageResolver | [`ImageResolver`](../../../lib/content-services/document-list/data/image-resolver.model.ts) | `null` | Custom image resolver function. See the [Image Resolver Model](../models/image-resolver.model.md) page for more information. |
| pageSize | `number` | | Number of items shown per page in the list. |
| isSelectionValid | [`ValidationFunction`](../../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) | `defaultValidation` | Function used to decide if the selected node has permission to be selected. Default value is a function that always returns true. |
| isSelectionValid | [`ValidationFunction`](../../../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) | `defaultValidation` | Function used to decide if the selected node has permission to be selected. Default value is a function that always returns true. |
| breadcrumbTransform | `(node: any) => any` | | Transformation to be performed on the chosen/folder node before building the breadcrumb UI. Can be useful when custom formatting is needed for the breadcrumb. You can change the path elements from the node that are used to build the breadcrumb using this function. |
| select | [`Subject<Node>`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) | | Event emitted with the current node selection when the dialog closes |
If you don't want to manage the dialog yourself then it is easier to use the
[Content Node Selector Panel component](content-node-selector-panel.component.md), or the
methods of the [Content Node Dialog service](content-node-dialog.service.md), which create
methods of the [Content Node Dialog service](../services/content-node-dialog.service.md), which create
the dialog for you.
### Usage example
@@ -107,7 +107,7 @@ openSelectorDialog() {
}
```
All the results will be streamed to the select [subject](http://reactivex.io/rxjs/manual/overview.html#subject) present in the [`ContentNodeSelectorComponentData`](../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) object passed to the dialog.
All the results will be streamed to the select [subject](http://reactivex.io/rxjs/manual/overview.html#subject) present in the [`ContentNodeSelectorComponentData`](../../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) object passed to the dialog.
When the dialog action is selected by clicking, the `data.select` stream will be completed.
### RowFilter and ImageResolver
@@ -118,12 +118,12 @@ items that the user can choose. As with the standard Document List, you can supp
**row filter** function (to hide items that can't be chosen) and a custom **image resolver**
function (to select an image to show in a particular list cell). For example, you could use
a row filter to hide document nodes in a folder selector. See the
[Row Filter Model](row-filter.model.md) and [Image Resolver Model](image-resolver.model.md)
[Row Filter Model](../models/row-filter.model.md) and [Image Resolver Model](../models/image-resolver.model.md)
pages for more information.
### Using the breadcrumbTransform function
The `breadcrumbTransform` property of [`ContentNodeSelectorComponentData`](../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) lets you modify
The `breadcrumbTransform` property of [`ContentNodeSelectorComponentData`](../../../lib/content-services/content-node-selector/content-node-selector.component-data.interface.ts) lets you modify
the [`Node`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) object that is used to generate the
list of breadcrumbs. You can use this, for example, to remove path elements that are not
relevant to the use case. See the [Breadcrumb component](breadcrumb.component.md) page for an
@@ -133,4 +133,4 @@ example of how to use this function.
- [Document list component](document-list.component.md)
- [Content Node Selector Panel component](content-node-selector-panel.component.md)
- [Content Node Dialog service](content-node-dialog.service.md)
- [Content Node Dialog service](../services/content-node-dialog.service.md)
@@ -2,14 +2,14 @@
Title: Document List component
Added: v2.0.0
Status: Active
Last reviewed: 2019-02-08
Last reviewed: 2019-03-20
---
# [Document List component](../../lib/content-services/document-list/components/document-list.component.ts "Defined in document-list.component.ts")
# [Document List component](../../../lib/content-services/document-list/components/document-list.component.ts "Defined in document-list.component.ts")
Displays the documents from a repository.
![Custom columns](../docassets/images/custom-columns.png)
![Custom columns](../../docassets/images/custom-columns.png)
## Contents
@@ -56,13 +56,13 @@ Displays the documents from a repository.
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| allowDropFiles | `boolean` | false | Toggle file drop support for rows (see [Upload Directive](../core/upload.directive.md) for further details) |
| allowDropFiles | `boolean` | false | When true, this enables you to drop files directly into subfolders shown as items in the list. 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. |
| 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 |
| display | `string` | DisplayMode.List | Change the display mode of the table. Can be "list" or "gallery". |
| emptyFolderImageUrl | `string` | | Custom image for empty folder. Default value: './assets/images/empty_doc_lib.svg' |
| 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. |
| imageResolver | `any \| null` | null | Custom function to choose image file paths to show. See the [Image Resolver Model](../models/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. |
| 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). |
@@ -70,29 +70,30 @@ Displays the documents from a repository.
| multiselect | `boolean` | false | Toggles multiselect mode |
| navigate | `boolean` | true | Toggles navigation to folder content or file preview |
| navigationMode | `string` | | User interaction for folder navigation or file preview. Valid values are "click" and "dblclick". Default value: "dblclick" |
| node | [`NodePaging`](../../lib/content-services/document-list/models/document-library.model.ts) | null | The Document list will show all the nodes contained in the [NodePaging](../../lib/content-services/document-list/models/document-library.model.ts) entity |
| permissionsStyle | [`PermissionStyleModel`](../../lib/content-services/document-list/models/permissions-style.model.ts)`[]` | \[] | Define a set of CSS styles to apply depending on the permission of the user on that node. See the [Permission Style model](../../lib/content-services/document-list/models/permissions-style.model.ts) page for further details and examples. |
| node | [`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md) | null | The Document list will show all the nodes contained in the [NodePaging](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md) entity |
| permissionsStyle | [`PermissionStyleModel`](../../../lib/content-services/document-list/models/permissions-style.model.ts)`[]` | \[] | Define a set of CSS styles to apply depending on the permission of the user on that node. See the [Permission Style model](../../../lib/content-services/document-list/models/permissions-style.model.ts) page for further details and examples. |
| rowStyle | `string` | | The inline style to apply to every row. See the Angular NgStyle docs for more details and usage examples. |
| rowStyleClass | `string` | | The CSS class to apply to every row |
| selectionMode | `string` | "single" | Row selection mode. Can be null, `single` or `multiple`. For `multiple` mode, you can use Cmd (macOS) or Ctrl (Win) modifier key to toggle selection for multiple rows. |
| showHeader | `boolean` | true | Toggles the header |
| sorting | `string[]` | ['name', 'asc'] | Defines default sorting. The format is an array of 2 strings `[key, direction]` i.e. `['name', 'desc']` or `['name', 'asc']`. Set this value only if you want to override the default sorting detected by the component based on columns. |
| sortingMode | `string` | "client" | Defines sorting mode. Can be either `client` (items in the list are sorted client-side) or `server` (the ordering supplied by the server is used without further client-side sorting). Note that the `server` option _does not_ request the server to sort the data before delivering it. |
| stickyHeader | `boolean` | false | Toggles the sticky header mode. |
| thumbnails | `boolean` | false | Show document thumbnails rather than icons |
| where | `string` | | Filters the [`Node`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) list using the _where_ condition of the REST API (for example, isFolder=true). See the REST API documentation for more information. |
| currentFolderId | `string` | | The ID of the folder node to display or a reserved string alias for special sources |
| rowFilter | `RowFilter` | | Custom function to choose whether to show or hide rows. See the [Row Filter Model](row-filter.model.md) page for more information. |
| rowFilter | [`RowFilter`](../../../lib/content-services/document-list/data/row-filter.model.ts) | | Custom function to choose whether to show or hide rows. See the [Row Filter Model](../models/row-filter.model.md) page for more information. |
### Events
| Name | Type | Description |
| ---- | ---- | ----------- |
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when the API fails to get the Document List data |
| folderChange | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodeEntryEvent`](../../lib/content-services/document-list/components/node.event.ts)`>` | Emitted when the current display folder changes |
| nodeClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodeEntityEvent`](../../lib/content-services/document-list/components/node.event.ts)`>` | Emitted when the user clicks a list node |
| nodeDblClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodeEntityEvent`](../../lib/content-services/document-list/components/node.event.ts)`>` | Emitted when the user double-clicks a list node |
| preview | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodeEntityEvent`](../../lib/content-services/document-list/components/node.event.ts)`>` | Emitted when the user acts upon files with either single or double click (depends on `navigation-mode`). Useful for integration with the [Viewer component](../core/viewer.component.md). |
| ready | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodePaging`](../../lib/content-services/document-list/models/document-library.model.ts)`>` | Emitted when the Document List has loaded all items and is ready for use |
| folderChange | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodeEntryEvent`](../../../lib/content-services/document-list/components/node.event.ts)`>` | Emitted when the current display folder changes |
| nodeClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodeEntityEvent`](../../../lib/content-services/document-list/components/node.event.ts)`>` | Emitted when the user clicks a list node |
| nodeDblClick | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodeEntityEvent`](../../../lib/content-services/document-list/components/node.event.ts)`>` | Emitted when the user double-clicks a list node |
| preview | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodeEntityEvent`](../../../lib/content-services/document-list/components/node.event.ts)`>` | Emitted when the user acts upon files with either single or double click (depends on `navigation-mode`). Useful for integration with the [Viewer component](../../core/components/viewer.component.md). |
| ready | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>` | Emitted when the Document List has loaded all items and is ready for use |
## Details
@@ -102,7 +103,7 @@ best.
The Document list will automatically show special icons for : `Smart Folder`, `Link to a Folder` and `Folder with rules` as shown below :
![Document List Folders](../docassets/images/document-list-special-folder-icon.png)
![Document List Folders](../../docassets/images/document-list-special-folder-icon.png)
### DOM Events
@@ -126,8 +127,8 @@ have at least the following properties as part of the `Event.detail` property va
}
```
See the [DataTable](../core/datatable.component.md) documentation for further details about
the other DOM events that the [Document List component](../content-services/document-list.component.md) bubbles up from the DataTable.
See the [DataTable](../../core/components/datatable.component.md) documentation for further details about
the other DOM events that the [Document List component](document-list.component.md) bubbles up from the DataTable.
Below is a basic example of handling DOM events in the parent elements.
@@ -161,7 +162,7 @@ You can use `ngIf` directives to provide conditional visibility support for the
The Document List has an option to display items as "cards" instead of the
standard view:
![card-view](../docassets/images/document-list-card-view.png)
![card-view](../../docassets/images/document-list-card-view.png)
Set the `[display]` property to "gallery" to enable card view mode:
@@ -174,7 +175,7 @@ Set the `[display]` property to "gallery" to enable card view mode:
### Pagination strategy
The Document List by default supports 2 types of pagination: [Pagination component](../core/pagination.component.md) and [Infinite pagination component](../core/infinite-pagination.component.md)
The Document List by default supports 2 types of pagination: [Pagination component](../../core/components/pagination.component.md) and [Infinite pagination component](../../core/components/infinite-pagination.component.md)
#### Pagination component
@@ -215,7 +216,7 @@ You can use one of the well-known reserved aliases:
#### Document List aliases
The [Document List component](../content-services/document-list.component.md) also provides support for the following reserved aliases:
The [Document List component](document-list.component.md) also provides support for the following reserved aliases:
- `-trashcan-`,
- `-sharedlinks-`
@@ -227,7 +228,7 @@ The [Document List component](../content-services/document-list.component.md) al
Note that due to the nature of the data, these sources do not support navigation.
You may want to handle single and double clicks yourself to perform navigation to other sources.
The [Document List component](../content-services/document-list.component.md) supports default presets for all the custom sources mentioned earlier.
The [Document List component](document-list.component.md) supports default presets for all the custom sources mentioned earlier.
If you don't provide any custom column definition with the [Data Column](#custom-columns)
component then a default preset will be automatically used at runtime.
@@ -395,7 +396,7 @@ export class FilesComponent implements OnInit {
The `console.log(node)` for the `getNodeInfo` callback is just for study and debug purposes.
It is useful for examining other information that you can access if necessary:
![documentLibrary](../docassets/images/documentLibrary.png)
![documentLibrary](../../docassets/images/documentLibrary.png)
**Important note**: for this particular scenario you must also trigger `changeDetector.detectChanges()` as in the example above.
@@ -456,7 +457,7 @@ export class MyAppComponent implements AfterViewInit {
The example above should produce the following browser console output:
![view-child](../docassets/images/viewchild.png)
![view-child](../../docassets/images/viewchild.png)
Now you can access Document List properties or call methods directly:
@@ -475,29 +476,11 @@ documentation for a full explanation of the component lifecycle.
### Underlying node object
The [Document List component](../content-services/document-list.component.md) assigns an instance of
[`MinimalNode`](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-core-rest-api/docs/NodeMinimalEntry.md)
The [Document List component](document-list.component.md) assigns an instance of
the [`Node`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/Node.md) class
(defined in the [Alfresco JS API](https://github.com/Alfresco/alfresco-js-api)) as the data context
for each row. You can make use of the properties of this object when defining custom columns:
```js
export interface MinimalNode {
id: string;
parentId: string;
name: string;
nodeType: string;
isFolder: boolean;
isFile: boolean;
modifiedAt: Date;
modifiedByUser: UserInfo;
createdAt: Date;
createdByUser: UserInfo;
content: ContentInfo;
path: PathInfoEntity;
properties: NodeProperties;
}
```
Binding to nested properties is also supported. You can define a column key as a property path similar to the following:
```text
@@ -554,10 +537,10 @@ A custom set of columns might look like the following:
</adf-document-list>
```
![Custom columns](../docassets/images/custom-columns.png)
![Custom columns](../../docassets/images/custom-columns.png)
You can also use the HTML-based schema declaration used by
[DataTable](../core/datatable.component.md), [Task List](../process-services/task-list.component.md) and other components:
[DataTable](../../core/components/datatable.component.md), [Task List](../../process-services/components/task-list.component.md) and other components:
```html
<adf-datatable [data]="data" ...>
@@ -571,7 +554,7 @@ You can also use the HTML-based schema declaration used by
</adf-datatable>
```
You can also add tooltips, styling, automatic column title translation and other features. See the [DataColumn component page](../core/data-column.component.md) for more information about specifying and customizing columns.
You can also add tooltips, styling, automatic column title translation and other features. See the [DataColumn component page](../../core/components/data-column.component.md) for more information about specifying and customizing columns.
### Column templates
@@ -598,7 +581,7 @@ For example:
</data-column>
```
All the components above also participate in [Extensibility](../user-guide/app-extensions.md)
All the components above also participate in [Extensibility](../../user-guide/app-extensions.md)
and can be used to compose DocumentList layouts from within the plugins.
### Date Column
@@ -666,8 +649,8 @@ you can also define your own actions. See the
[Content Action component](content-action.component.md)
for more information and examples.
You can also use the [Context Menu directive](../core/context-menu.directive.md) from the
[ADF Core](https://www.npmjs.com/package/ng2-alfresco-core) library to show the
You can also use the [Context Menu directive](../../core/directives/context-menu.directive.md) from the
ADF Core library to show the
actions you have defined in a context menu:
```ts
@@ -682,13 +665,13 @@ export class MyView {
}
```
![Folder context menu](../docassets/images/folder-context-menu.png)
![Folder context menu](../../docassets/images/folder-context-menu.png)
This single extra line in the template enables context menu items for documents and folders.
### Navigation mode
By default, the [Document List component](../content-services/document-list.component.md) uses 'double-click' mode for navigation.
By default, the [Document List component](document-list.component.md) uses 'double-click' mode for navigation.
That means that the user will see the contents of the folder when they double-click its name
or icon (in a similar manner to Google Drive). However, there is also a single-click mode that
may be sometimes be useful.
@@ -711,15 +694,15 @@ functions:
- `imageResolver` - Specifies a function to choose image file paths for icons and thumbnails.
- `rowFilter` - Selects whether a row is shown or hidden according to its data content.
See the [Image Resolver Model](image-resolver.model.md)
and [Row Filter Model](row-filter.model.md) pages for details of how to
See the [Image Resolver Model](../models/image-resolver.model.md)
and [Row Filter Model](../models/row-filter.model.md) pages for details of how to
implement these functions.
### Custom 'empty folder' template
By default, the Document List provides the following content for the empty folder:
![Default empty folder](../docassets/images/empty-folder-template-default.png)
![Default empty folder](../../docassets/images/empty-folder-template-default.png)
However, you can change this by defining your own custom HTML template:
@@ -733,14 +716,14 @@ However, you can change this by defining your own custom HTML template:
This will give the following output:
![Custom empty folder](../docassets/images/empty-folder-template-custom.png)
![Custom empty folder](../../docassets/images/empty-folder-template-custom.png)
### Custom 'permission denied' template
By default, the Document List shows the following content when permission
is denied:
![Default no permission](../docassets/images/no-permission-default.png)
![Default no permission](../../docassets/images/no-permission-default.png)
You can change this by defining your own custom HTML template:
@@ -754,13 +737,13 @@ You can change this by defining your own custom HTML template:
This will give the following output:
![Custom no permission](../docassets/images/no-permission-custom.png)
![Custom no permission](../../docassets/images/no-permission-custom.png)
### Custom 'loading' template
By default, the Document List shows the following content when the content is loading:
![Default loading](../docassets/images/default-loading.png)
![Default loading](../../docassets/images/default-loading.png)
You can change this by defining your own custom HTML template:
@@ -775,22 +758,22 @@ You can change this by defining your own custom HTML template:
This will give the following output:
![Custom loading](../docassets/images/custom-loading.png)
![Custom loading](../../docassets/images/custom-loading.png)
## See also
- [Datatable component](../core/datatable.component.md)
- [Data column component](../core/data-column.component.md)
- [Pagination component](../core/pagination.component.md)
- [Infinite pagination component](../core/infinite-pagination.component.md)
- [Datatable component](../../core/components/datatable.component.md)
- [Data column component](../../core/components/data-column.component.md)
- [Pagination component](../../core/components/pagination.component.md)
- [Infinite pagination component](../../core/components/infinite-pagination.component.md)
- [Sites dropdown component](sites-dropdown.component.md)
- [Metadata indicators](../user-guide/metadata-indicators.md)
- [Nodes api service](../core/nodes-api.service.md)
- [Metadata indicators](../../user-guide/metadata-indicators.md)
- [Nodes api service](../../core/services/nodes-api.service.md)
- [Breadcrumb component](breadcrumb.component.md)
- [Content action component](content-action.component.md)
- [Content node selector component](content-node-selector.component.md)
- [Document list service](document-list.service.md)
- [Document list service](../services/document-list.service.md)
- [Dropdown breadcrumb component](dropdown-breadcrumb.component.md)
- [Permissions style model](permissions-style.model.md)
- [Permissions style model](../models/permissions-style.model.md)
- [Version manager component](version-manager.component.md)
- [Viewer component](../core/viewer.component.md)
- [Viewer component](../../core/components/viewer.component.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2019-01-16
---
# [Dropdown Breadcrumb Component](../../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts "Defined in dropdown-breadcrumb.component.ts")
# [Dropdown Breadcrumb Component](../../../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts "Defined in dropdown-breadcrumb.component.ts")
Indicates the current position within a navigation hierarchy using a dropdown menu.
![Dropdown Breadcrumb screenshot](../docassets/images/DropdownBreadcrumb.png)
![Dropdown Breadcrumb screenshot](../../docassets/images/DropdownBreadcrumb.png)
## Basic Usage
@@ -30,7 +30,7 @@ Indicates the current position within a navigation hierarchy using a dropdown me
| maxItems | `number` | | Maximum number of nodes to display before wrapping them with a dropdown element. |
| root | `string` | null | (optional) Name of the root element of the breadcrumb. You can use this property to rename "Company Home" to "Personal Files" for example. You can use an i18n resource key for the property value. |
| rootId | `string` | null | (optional) The id of the root element. You can use this property to set a custom element the breadcrumb should start with. |
| target | [`DocumentListComponent`](../content-services/document-list.component.md) | | (optional) [Document List component](../content-services/document-list.component.md) to operate with. The list will update when the breadcrumb is clicked. |
| target | [`DocumentListComponent`](../../content-services/components/document-list.component.md) | | (optional) [Document List component](../../content-services/components/document-list.component.md) to operate with. The list will update when the breadcrumb is clicked. |
| transform | `Function` | | Transformation to be performed on the chosen/folder node before building the breadcrumb UI. Can be useful when custom formatting is needed for the breadcrumb. You can change the path elements from the node that are used to build the breadcrumb using this function. |
### Events
@@ -41,8 +41,8 @@ Indicates the current position within a navigation hierarchy using a dropdown me
## Details
Although this component inherits the `maxItems` property from the [Breadcrumb component,](../content-services/breadcrumb.component.md) the
"crumbs" are _always_ shown on a menu. By contrast, the [Breadcrumb component](../content-services/breadcrumb.component.md) only falls back
Although this component inherits the `maxItems` property from the [Breadcrumb component,](breadcrumb.component.md) the
"crumbs" are _always_ shown on a menu. By contrast, the [Breadcrumb component](breadcrumb.component.md) only falls back
to a menu when its maximum number of nodes is exceeded.
## See also
@@ -5,7 +5,7 @@ Status: Active
Last reviewed: 2019-01-16
---
# [File Uploading Dialog Component](../../lib/content-services/upload/components/file-uploading-dialog.component.ts "Defined in file-uploading-dialog.component.ts")
# [File Uploading Dialog Component](../../../lib/content-services/upload/components/file-uploading-dialog.component.ts "Defined in file-uploading-dialog.component.ts")
Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components.
@@ -39,4 +39,4 @@ This component should be used in combination with the
- [Upload button component](upload-button.component.md)
- [Upload drag area component](upload-drag-area.component.md)
- [File upload error pipe](../content-services/file-upload-error.pipe.md)
- [File upload error pipe](../pipes/file-upload-error.pipe.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-14
---
# [Like component](../../lib/content-services/social/like.component.ts "Defined in like.component.ts")
# [Like component](../../../lib/content-services/social/like.component.ts "Defined in like.component.ts")
Allows a user to add "likes" to an item.
![Custom columns](../docassets/images/social1.png)
![Custom columns](../../docassets/images/social1.png)
## Basic Usage
@@ -34,4 +34,4 @@ Allows a user to add "likes" to an item.
## See also
- [Rating component](rating.component.md)
- [Rating service](rating.service.md)
- [Rating service](../services/rating.service.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-20
---
# [Permission List Component](../../lib/content-services/permission-manager/components/permission-list/permission-list.component.ts "Defined in permission-list.component.ts")
# [Permission List Component](../../../lib/content-services/permission-manager/components/permission-list/permission-list.component.ts "Defined in permission-list.component.ts")
Shows node permissions as a table.
![Permission List](../docassets/images/adf-permission-list.png)
![Permission List](../../docassets/images/adf-permission-list.png)
## Basic Usage
@@ -18,7 +18,7 @@ Shows node permissions as a table.
</adf-permission-list>
```
### [Transclusions](../user-guide/transclusion.md)
### [Transclusions](../../user-guide/transclusion.md)
When the list is empty, the contents will simply say "No permissions" by default,
but you can also supply your own content:
@@ -44,11 +44,11 @@ but you can also supply your own content:
| Name | Type | Description |
| ---- | ---- | ----------- |
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when an error occurs. |
| update | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<PermissionElement>` | Emitted when the permission is updated. |
| update | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`PermissionElement`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/PermissionElement.md)`>` | Emitted when the permission is updated. |
## Details
This component uses a [Datatable component](../core/datatable.component.md) to show the
permissions retrieved from the [Node service](../core/node.service.md).
This component uses a [Datatable component](../../core/components/datatable.component.md) to show the
permissions retrieved from the [Node service](../../core/services/node.service.md).
For the locally set permissions a role dropdown will be shown to let the user select a new role.
When the user selects a new value, the permission role is automatically updated and the `update` event is emitted.
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2019-01-14
---
# [Rating component](../../lib/content-services/social/rating.component.ts "Defined in rating.component.ts")
# [Rating component](../../../lib/content-services/social/rating.component.ts "Defined in rating.component.ts")
Allows a user to add ratings to an item.
![Rating component screenshot](../docassets/images/social2.png)
![Rating component screenshot](../../docassets/images/social2.png)
## Basic Usage
@@ -36,4 +36,4 @@ Allows a user to add ratings to an item.
## See also
- [Like component](like.component.md)
- [Rating service](rating.service.md)
- [Rating service](../services/rating.service.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-06-11
---
# [Search check list component](../../lib/content-services/search/components/search-check-list/search-check-list.component.ts "Defined in search-check-list.component.ts")
# [Search check list component](../../../lib/content-services/search/components/search-check-list/search-check-list.component.ts "Defined in search-check-list.component.ts")
Implements a checklist widget for the [Search Filter component](../content-services/search-filter.component.md).
Implements a checklist widget for the [Search Filter component](search-filter.component.md).
![Check list widget screenshot](../docassets/images/search-check-list.png)
![Check list widget screenshot](../../docassets/images/search-check-list.png)
## Basic usage
@@ -48,7 +48,7 @@ Implements a checklist widget for the [Search Filter component](../content-servi
## Details
This widget displays a list of checkboxes, each of which toggles a particular query fragment
in the search. See the [Search filter component](../content-services/search-filter.component.md) for full details of how to use the widgets
in the search. See the [Search filter component](search-filter.component.md) for full details of how to use the widgets
in a search query.
In the settings, the `options` array, defines the checkboxes that toggle the supplied query
@@ -70,9 +70,9 @@ items in the list.
## See also
- [Search filter component](../content-services/search-filter.component.md)
- [Search date range component](../content-services/search-date-range.component.md)
- [Search number range component](../content-services/search-number-range.component.md)
- [Search radio component](../content-services/search-radio.component.md)
- [Search slider component](../content-services/search-slider.component.md)
- [Search text component](../content-services/search-text.component.md)
- [Search filter component](search-filter.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)
- [Search text component](search-text.component.md)
@@ -0,0 +1,28 @@
---
Title: Search Chip List Component
Added: v2.3.0
Status: Active
Last reviewed: 2018-09-14
---
# [Search Chip List Component](../../../lib/content-services/search/components/search-chip-list/search-chip-list.component.ts "Defined in search-chip-list.component.ts")
Displays search criteria as a set of "chips".
![Selected Facets](../../docassets/images/selected-facets.png)
## Basic usage
```html
<adf-search-chip-list [searchFilter]="searchFilter"></adf-search-chip-list>
<adf-search-filter #searchFilter></adf-search-filter>
```
## Class members
### Properties
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| clearAll | `boolean` | false | Flag used to enable the display of a clear-all-filters button. |
| searchFilter | [`SearchFilterComponent`](../../content-services/components/search-filter.component.md) | | Search filter to supply the data for the chips. |
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2019-01-16
---
# [Search control component](../../lib/content-services/search/components/search-control.component.ts "Defined in search-control.component.ts")
# [Search control component](../../../lib/content-services/search/components/search-control.component.ts "Defined in search-control.component.ts")
Displays a input text that shows find-as-you-type suggestions.
![adf-search-control](../docassets/images/search-control-component.png)
![adf-search-control](../../docassets/images/search-control-component.png)
## Basic usage
@@ -21,7 +21,7 @@ Displays a input text that shows find-as-you-type suggestions.
</adf-search-control>
```
### [Transclusions](../user-guide/transclusion.md)
### [Transclusions](../../user-guide/transclusion.md)
You can show your own custom template when no results are found for the search:
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-06-11
---
# [Search date range component](../../lib/content-services/search/components/search-date-range/search-date-range.component.ts "Defined in search-date-range.component.ts")
# [Search date range component](../../../lib/content-services/search/components/search-date-range/search-date-range.component.ts "Defined in search-date-range.component.ts")
Implements a date range widget for the [Search Filter component](../content-services/search-filter.component.md).
Implements a date range widget for the [Search Filter component](search-filter.component.md).
![Date Range Widget](../docassets/images/search-date-range.png)
![Date Range Widget](../../docassets/images/search-date-range.png)
## Basic usage
@@ -43,7 +43,7 @@ Implements a date range widget for the [Search Filter component](../content-serv
## Details
This component lets the user select a range between two dates based on the particular `field`.
See the [Search filter component](../content-services/search-filter.component.md) for full details of how to use widgets
See the [Search filter component](search-filter.component.md) for full details of how to use widgets
in a search query.
### Custom date format
@@ -75,9 +75,9 @@ in the `dateFormat` setting:
## See also
- [Search filter component](../content-services/search-filter.component.md)
- [Search check list component](../content-services/search-check-list.component.md)
- [Search number range component](../content-services/search-number-range.component.md)
- [Search radio component](../content-services/search-radio.component.md)
- [Search slider component](../content-services/search-slider.component.md)
- [Search text component](../content-services/search-text.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)
@@ -2,10 +2,10 @@
Title: Search Filter component
Added: v2.3.0
Status: Active
Last reviewed: 2018-06-12
Last reviewed: 2019-03-20
---
# [Search Filter component](../../lib/content-services/search/components/search-filter/search-filter.component.ts "Defined in search-filter.component.ts")
# [Search Filter component](../../../lib/content-services/search/components/search-filter/search-filter.component.ts "Defined in search-filter.component.ts")
Represents a main container component for custom search and faceted search settings.
@@ -19,6 +19,8 @@ Represents a main container component for custom search and faceted search setti
- [Categories and widgets](#categories-and-widgets)
- [Facet Fields](#facet-fields)
- [Facet Queries](#facet-queries)
- [Highlight](#highlight)
- [Facet Intervals](#facet-intervals)
- [See also](#see-also)
## Basic usage
@@ -30,7 +32,7 @@ Represents a main container component for custom search and faceted search setti
## Details
The component UI uses dynamically created widgets to specify the search query and its
options. It then uses the [Search Query Builder service](search-query-builder.service.md)
options. It then uses the [Search Query Builder service](../services/search-query-builder.service.md)
to build and execute the query.
You may find it useful to check out the following resources for background information
@@ -133,6 +135,17 @@ You can choose to filter facet field results using 'contains' instead of 'starts
}
```
You can choose to display a reset button by setting the 'resetButton' value to true.
This 'clean up' button would make it easier for the final user to remove all bucket selections and all search filtering.
```json
{
"search": {
"resetButton": true
}
}
```
You can also provide a set of queries that are always executed alongside the user-defined
settings:
@@ -177,8 +190,8 @@ The properties of the `options` objects are as follows:
| Name | Type | Description |
| ---- | ---- | ----------- |
| key | string | Unique key to identify the entry. This can also be used to map [`DataColumn`](../../lib/core/datatable/data/data-column.model.ts) instances. |
| label | string | Display text, which can also be an [i18n resource key](../user-guide/internationalization.md). |
| key | string | Unique key to identify the entry. This can also be used to map [`DataColumn`](../../../lib/core/datatable/data/data-column.model.ts) instances. |
| label | string | Display text, which can also be an [i18n resource key](../../user-guide/internationalization.md). |
| type | string | This specifies how to order the results. It can be based on a field, based on the position of the document in the index, or by score/relevance. |
| field | string | The name of the field. |
| ascending | boolean | The sorting order defined as `true` for ascending order and `false` for descending order |
@@ -211,7 +224,7 @@ export interface SearchCategory {
The interface above also describes entries in the `search.query.categories` section for the `app.config.json` file.
![Search Categories](../docassets/images/search-categories-01.png)
![Search Categories](../../docassets/images/search-categories-01.png)
> **Note:** you must provide at least one category field in order to execute the query,
> so that filters and selected facets are applied.
@@ -229,9 +242,9 @@ a category:
| [Slider](search-slider.component.md) | `slider` | Selects a single numeric value in a given range that a field may contain |
| [Text](search-text.component.md) | `text` | Specifies a text value that a field may contain |
See the individual [search widget](../../lib/content-services/search/search-widget.interface.ts) pages for full details of their usage and settings.
See the individual [Search Widget](../interfaces/search-widget.interface.md) pages for full details of their usage and settings.
You can also implement your own custom search widgets. See the [`SearchWidget`](../../lib/content-services/search/search-widget.interface.ts) interface
You can also implement your own custom search widgets. See the [Search Widget Interface](../interfaces/search-widget.interface.md) interface
page for full details of how to do this.
#### Widget settings
@@ -240,7 +253,7 @@ Each type of widget has its own settings.
For example Number editors may parse minimum and maximum values, while Text editors can support value formats or length constraints.
You can use `component.settings` to pass any information to a widget using the
[`SearchWidgetSettings`](../../lib/content-services/search/search-widget-settings.interface.ts) interface:
[`SearchWidgetSettings`](../../../lib/content-services/search/search-widget-settings.interface.ts) interface:
```ts
export interface SearchWidgetSettings {
@@ -274,7 +287,7 @@ By default, users see only the top 5 entries.
If there are more than 5 entries, a button to show more items is displayed to let the user move to
the next block of results.
![Facet Fields](../docassets/images/search-facet-fields.png)
![Facet Fields](../../docassets/images/search-facet-fields.png)
#### FacetField Properties
@@ -321,6 +334,7 @@ exceeds the `pageSize` value.
You can also provide a custom `label` (or i18n resource key) for the default resulting collapsible category.
If you need to display more resulting collapsible categories, you can group different facet queries under custom labels by using the `group` property on those facet queries:
```json
{
"search": {
@@ -344,28 +358,33 @@ If you need to display more resulting collapsible categories, you can group diff
}
}
}
```
```
This will result in the following display of the grouped facet queries:
![Grouped Facet Queries](../docassets/images/search-facet-queries-groups.png)
![Grouped Facet Queries](../../docassets/images/search-facet-queries-groups.png)
The `pageSize` property allows you to define the number of results to display.
Users will see `Show more` or `Show less` buttons as appropriate for the result set.
The default page size of 5 will be used if you set the value to 0 or omit it entirely.
![Facet Queries](../docassets/images/search-facet-queries.png)
![Facet Queries](../../docassets/images/search-facet-queries.png)
### Facet Intervals
These provide custom categories based on admin defined ranges inside `intervals`. What is wanted for every interval can be specified exactly in the config file, and having overlapping ranges could also be possible.
These provide custom categories based on admin defined ranges inside `intervals`.
You can specify exactly what you want for each interval in the config file and you can
use overlapping ranges if necessary.
#### FacetIntervals Properties
| Name | Type | Description |
| ---- | ---- | ----------- |
|intervals|array|Specifies the fields to facet by interval.|
|expanded|boolean|Toggles expanded state of the facet intervals.|
Note: `sets` parameter from Search API (Sets the intervals for all fields) is not yet supported.
| intervals | array | Specifies the fields to facet by interval. |
| expanded | boolean | Toggles expanded state of the facet intervals. |
Note: the `sets` parameter from the Search API (which sets the intervals for all fields)
is not yet supported.
```json
{
@@ -398,22 +417,78 @@ Note: `sets` parameter from Search API (Sets the intervals for all fields) is no
```
You can specify a value for the `mincount` property inside each `intervals` item to set the minimum count required for a facet interval to be displayed. By default, only the intervals that have 1 or more response entries are displayed at runtime.
Check the [schema.json](https://github.com/Alfresco/alfresco-ng2-components/blob/master/lib/core/app-config/schema.json)
for more details about what is the structure and the properties of `intervals` that you can set inside the configuration file.
Check the [schema.json](https://github.com/Alfresco/alfresco-ng2-components/blob/master/lib/core/app-config/schema.json) file
for further details about the structure and properties of `intervals` that you can set inside the configuration file.
Each `intervals` item defined is collected into its collapsible category identified uniquely by its `label`. The top code snippet will result in the following display of the facet intervals:
Each defined `intervals` item is collected into its own collapsible category identified uniquely
by its `label`. The code snippet just above will result in the following display of facet intervals:
![Facet Intervals](../docassets/images/search-facet-intervals.png)
![Facet Intervals](../../docassets/images/search-facet-intervals.png)
### Highlight
You can configure highlighting using the `search` entry in the `app.config.json` file.
An example query for search highlighting could look like this:
```json
{
"search": {
"highlight": {
"prefix": "¿",
"postfix": "?",
"mergeContiguous": true,
"fields": [
{
"field": "cm:title"
},
{
"field": "description",
"prefix": "(",
"postfix": ")"
}
]
}
}
}
```
The example above changes the highlighting prefix and postfix from the default to '¿?' for all
fields except the "description" field, which uses '()' instead. The highlight information will
then be added in each node entry response. An example partial response is shown below:
```json
"entry": {
"createdAt": "2016-10-12T15:24:31.202+0000",
"isFolder": true,
"search": {
"score": 1,
"highlight": [
{
"field": "cm:title",
"snippets": [
"Customized ¿Workflow? Process Definitions"
]
},
{
"field": "description",
"snippets": [
"Customized (Workflow) Process Definitions"
]
}
]
},
```
## See also
- [Search Query Builder service](search-query-builder.service.md)
- [Search Query Builder service](../services/search-query-builder.service.md)
- [Search Chip List Component](search-chip-list.component.md)
- [Search Sorting Picker Component](search-sorting-picker.component.md)
- [`SearchWidget`](../../lib/content-services/search/search-widget.interface.ts)
- [Search check list component](../content-services/search-check-list.component.md)
- [Search date range component](../content-services/search-date-range.component.md)
- [Search number range component](../content-services/search-number-range.component.md)
- [Search radio component](../content-services/search-radio.component.md)
- [Search slider component](../content-services/search-slider.component.md)
- [Search text component](../content-services/search-text.component.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)
- [Search text component](search-text.component.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-06-11
---
# [Search number range component](../../lib/content-services/search/components/search-number-range/search-number-range.component.ts "Defined in search-number-range.component.ts")
# [Search number range component](../../../lib/content-services/search/components/search-number-range/search-number-range.component.ts "Defined in search-number-range.component.ts")
Implements a number range widget for the [Search Filter component](../content-services/search-filter.component.md).
Implements a number range widget for the [Search Filter component](search-filter.component.md).
![Number Range Widget](../docassets/images/search-number-range.png)
![Number Range Widget](../../docassets/images/search-number-range.png)
## Basic usage
@@ -44,7 +44,7 @@ Implements a number range widget for the [Search Filter component](../content-se
## Details
This component lets the user specify a range between two predefined numbers based on the
particular `field`. See the [Search filter component](../content-services/search-filter.component.md) for full details of how to use widgets
particular `field`. See the [Search filter component](search-filter.component.md) for full details of how to use widgets
in a search query.
#### Range query format
@@ -70,10 +70,10 @@ cm:content.size:[0 TO 100]
## See also
- [Search filter component](../content-services/search-filter.component.md)
- [Search check list component](../content-services/search-check-list.component.md)
- [Search date range component](../content-services/search-date-range.component.md)
- [Search number range component](../content-services/search-number-range.component.md)
- [Search radio component](../content-services/search-radio.component.md)
- [Search slider component](../content-services/search-slider.component.md)
- [Search text component](../content-services/search-text.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 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)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-08-10
---
# [Search radio component](../../lib/content-services/search/components/search-radio/search-radio.component.ts "Defined in search-radio.component.ts")
# [Search radio component](../../../lib/content-services/search/components/search-radio/search-radio.component.ts "Defined in search-radio.component.ts")
Implements a radio button list widget for the [Search Filter component](../content-services/search-filter.component.md).
Implements a radio button list widget for the [Search Filter component](search-filter.component.md).
![Radio Widget screenshot](../docassets/images/search-radio.png)
![Radio Widget screenshot](../../docassets/images/search-radio.png)
## Basic usage
@@ -50,8 +50,8 @@ Implements a radio button list widget for the [Search Filter component](../conte
This component displays a list of radio buttons, each of which toggles a particular
query fragment in the search. This behaviour is very similar to that of the
[Search check list component](../content-services/search-check-list.component.md) except only one item at a time can be selected. See the
[Search filter component](../content-services/search-filter.component.md) for full details of how to use the widgets in a search query.
[Search check list component](search-check-list.component.md) except only one item at a time can be selected. See the
[Search filter component](search-filter.component.md) for full details of how to use the widgets in a search query.
The component can be set to split a long list of buttons into separate pages
using the `pageSize` value as the number of buttons to show per page (default is 5).
@@ -60,9 +60,9 @@ buttons as appropriate.
## See also
- [Search filter component](../content-services/search-filter.component.md)
- [Search check list component](../content-services/search-check-list.component.md)
- [Search date range component](../content-services/search-date-range.component.md)
- [Search number range component](../content-services/search-number-range.component.md)
- [Search slider component](../content-services/search-slider.component.md)
- [Search text component](../content-services/search-text.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 number range component](search-number-range.component.md)
- [Search slider component](search-slider.component.md)
- [Search text component](search-text.component.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-06-11
---
# [Search slider component](../../lib/content-services/search/components/search-slider/search-slider.component.ts "Defined in search-slider.component.ts")
# [Search slider component](../../../lib/content-services/search/components/search-slider/search-slider.component.ts "Defined in search-slider.component.ts")
Implements a numeric slider widget for the [Search Filter component](../content-services/search-filter.component.md).
Implements a numeric slider widget for the [Search Filter component](search-filter.component.md).
![Slider Widget](../docassets/images/search-slider.png)
![Slider Widget](../../docassets/images/search-slider.png)
## Basic usage
@@ -50,7 +50,7 @@ Implements a numeric slider widget for the [Search Filter component](../content-
## Details
This component lets the user select from a range between two predefined numbers based on the
particular `field`. See the [Search filter component](../content-services/search-filter.component.md) for full
particular `field`. See the [Search filter component](search-filter.component.md) for full
details of how to use widgets in a search query.
### Resetting the slider value
@@ -67,9 +67,9 @@ or zero and the corresponsing query fragment is removed from the query.
## See also
- [Search filter component](../content-services/search-filter.component.md)
- [Search check list component](../content-services/search-check-list.component.md)
- [Search date range component](../content-services/search-date-range.component.md)
- [Search number range component](../content-services/search-number-range.component.md)
- [Search radio component](../content-services/search-radio.component.md)
- [Search text component](../content-services/search-text.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 number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search text component](search-text.component.md)
@@ -4,7 +4,7 @@ Added: v2.3.0
Status: Active
---
# [Search Sorting Picker Component](../../lib/content-services/search/components/search-sorting-picker/search-sorting-picker.component.ts "Defined in search-sorting-picker.component.ts")
# [Search Sorting Picker Component](../../../lib/content-services/search/components/search-sorting-picker/search-sorting-picker.component.ts "Defined in search-sorting-picker.component.ts")
Provides an ability to select one of the predefined sorting definitions for search results:
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-06-11
---
# [Search text component](../../lib/content-services/search/components/search-text/search-text.component.ts "Defined in search-text.component.ts")
# [Search text component](../../../lib/content-services/search/components/search-text/search-text.component.ts "Defined in search-text.component.ts")
Implements a text input widget for the [Search Filter component](../content-services/search-filter.component.md).
Implements a text input widget for the [Search Filter component](search-filter.component.md).
![Text Widget](../docassets/images/search-text.png)
![Text Widget](../../docassets/images/search-text.png)
## Basic usage
@@ -47,14 +47,14 @@ Implements a text input widget for the [Search Filter component](../content-serv
## Details
This component lets the user add a text value to search for in the specified
`field`. See the [Search filter component](../content-services/search-filter.component.md) for full
`field`. See the [Search filter component](search-filter.component.md) for full
details of how to use widgets in a search query.
## See also
- [Search filter component](../content-services/search-filter.component.md)
- [Search check list component](../content-services/search-check-list.component.md)
- [Search date range component](../content-services/search-date-range.component.md)
- [Search number range component](../content-services/search-number-range.component.md)
- [Search radio component](../content-services/search-radio.component.md)
- [Search slider component](../content-services/search-slider.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 number range component](search-number-range.component.md)
- [Search radio component](search-radio.component.md)
- [Search slider component](search-slider.component.md)
@@ -5,7 +5,7 @@ Status: Active
Last reviewed: 2019-01-16
---
# [Search component](../../lib/content-services/search/components/search.component.ts "Defined in search.component.ts")
# [Search component](../../../lib/content-services/search/components/search.component.ts "Defined in search.component.ts")
Searches items for supplied search terms.
@@ -47,7 +47,7 @@ Searches items for supplied search terms.
| Name | Type | Description |
| ---- | ---- | ----------- |
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when an error occurs. |
| resultLoaded | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodePaging`](../../lib/content-services/document-list/models/document-library.model.ts)`>` | Emitted when search results have fully loaded. |
| resultLoaded | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`NodePaging`](https://github.com/Alfresco/alfresco-js-api/blob/development/src/api/content-rest-api/docs/NodePaging.md)`>` | Emitted when search results have fully loaded. |
## Details
@@ -73,7 +73,7 @@ You can add a custom template to show the search results when once they are load
The results are provided via the [$implicit variable of angular2](https://angular.io/api/common/NgTemplateOutlet) and can be accessed via the sugar syntax 'let-yourChosenName'. The example above will give results like the following:
![adf-search-control](../docassets/images/search-component-simple-template.png)
![adf-search-control](../../docassets/images/search-component-simple-template.png)
However, you can use a more complex template if necessary:
@@ -121,11 +121,11 @@ However, you can use a more complex template if necessary:
<!-- {% endraw %} -->
![adf-search-control](../docassets/images/search-component-complex-template.png)
![adf-search-control](../../docassets/images/search-component-complex-template.png)
### Attach an input field to the search
You can also attach an input field to the [search component](../content-services/search.component.md) via the `searchAutocomplete` property.
You can also attach an input field to the [search component](search.component.md) via the `searchAutocomplete` property.
Export the search panel instance into a local template variable and bind that variable to the
input's `searchAutocomplete` property. The example below demonstrates this with an
instance called "search":
@@ -153,12 +153,12 @@ By doing this, you can get the results as the user types into the input text.
You can get finer control over the parameters of a search by defining them in a custom
[QueryBody](https://github.com/Alfresco/alfresco-js-api/blob/1.6.0/src/alfresco-search-rest-api/docs/QueryBody.md)
object. The recommended way to do this is with a custom implementation of the
[Search Configuration interface](../core/search-configuration.interface.md). The ADF source provides a standard implementation of this
interface, [`SearchConfigurationService`](../core/search-configuration.service.md) that you can use as a base to adapt to your needs. See the
[Search Configuration interface](../core/search-configuration.interface.md) page for full details of how to
[Search Configuration interface](../../core/interfaces/search-configuration.interface.md). The ADF source provides a standard implementation of this
interface, [`SearchConfigurationService`](../../core/services/search-configuration.service.md) that you can use as a base to adapt to your needs. See the
[Search Configuration interface](../../core/interfaces/search-configuration.interface.md) page for full details of how to
customize your search.
## See Also
- [Search configuration interface](../core/search-configuration.interface.md)
- [Search configuration service](../core/search-configuration.service.md)
- [Search configuration interface](../../core/interfaces/search-configuration.interface.md)
- [Search configuration service](../../core/services/search-configuration.service.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-19
---
# [Sites Dropdown component](../../lib/content-services/site-dropdown/sites-dropdown.component.ts "Defined in sites-dropdown.component.ts")
# [Sites Dropdown component](../../../lib/content-services/site-dropdown/sites-dropdown.component.ts "Defined in sites-dropdown.component.ts")
Displays a dropdown menu to show and interact with the sites of the current user.
![Dropdown sites](../docassets/images/document-list-dropdown-list.png)
![Dropdown sites](../../docassets/images/document-list-dropdown-list.png)
## Basic Usage
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-19
---
# [Tag Node Actions List component](../../lib/content-services/tag/tag-actions.component.ts "Defined in tag-actions.component.ts")
# [Tag Node Actions List component](../../../lib/content-services/tag/tag-actions.component.ts "Defined in tag-actions.component.ts")
Shows available actions for tags.
![Custom columns](../docassets/images/tag3.png)
![Custom columns](../../docassets/images/tag3.png)
## Basic Usage
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-14
---
# [Tag List component](../../lib/content-services/tag/tag-list.component.ts "Defined in tag-list.component.ts")
# [Tag List component](../../../lib/content-services/tag/tag-list.component.ts "Defined in tag-list.component.ts")
Shows tags for an item.
![Custom columns](../docassets/images/tag2.png)
![Custom columns](../../docassets/images/tag2.png)
## Class members
@@ -21,4 +21,4 @@ Shows tags for an item.
## See Also
- [Tag service](tag.service.md)
- [Tag service](../services/tag.service.md)
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-19
---
# [Tag Node List component](../../lib/content-services/tag/tag-node-list.component.ts "Defined in tag-node-list.component.ts")
# [Tag Node List component](../../../lib/content-services/tag/tag-node-list.component.ts "Defined in tag-node-list.component.ts")
Shows tags for a node.
![Custom columns](../docassets/images/tag1.png)
![Custom columns](../../docassets/images/tag1.png)
## Basic Usage
@@ -5,11 +5,11 @@ Status: Active
Last reviewed: 2018-11-19
---
# [Tree View component](../../lib/content-services/tree-view/components/tree-view.component.ts "Defined in tree-view.component.ts")
# [Tree View component](../../../lib/content-services/tree-view/components/tree-view.component.ts "Defined in tree-view.component.ts")
Shows the folder and subfolders of a node as a tree view.
![TreeView component screenshot](../docassets/images/tree-view.png)
![TreeView component screenshot](../../docassets/images/tree-view.png)
## Basic Usage
@@ -5,7 +5,7 @@ Status: Active
Last reviewed: 2019-01-16
---
# [Upload Button Component](../../lib/content-services/upload/components/upload-button.component.ts "Defined in upload-button.component.ts")
# [Upload Button Component](../../../lib/content-services/upload/components/upload-button.component.ts "Defined in upload-button.component.ts")
Activates a file upload.
@@ -46,9 +46,9 @@ Activates a file upload.
| Name | Type | Description |
| ---- | ---- | ----------- |
| beginUpload | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`UploadFilesEvent`](../../lib/content-services/upload/components/upload-files.event.ts)`>` | Emitted when the upload begins. |
| beginUpload | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`UploadFilesEvent`](../../../lib/content-services/upload/components/upload-files.event.ts)`>` | Emitted when the upload begins. |
| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<Object>` | Emitted when an error occurs. |
| permissionEvent | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`PermissionModel`](../../lib/content-services/document-list/models/permissions.model.ts)`>` | Emitted when create permission is missing. |
| permissionEvent | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<`[`PermissionModel`](../../../lib/content-services/document-list/models/permissions.model.ts)`>` | Emitted when create permission is missing. |
| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<Object>` | Emitted when the file is uploaded successfully. |
## Details
@@ -58,7 +58,7 @@ Activates a file upload.
You can show a notification error when the user doesn't have the right permission to perform
the action. The component emits a `permissionEvent` when the user does not have delete permission.
You can subscribe to this event from your component and use the
[Notification service](../core/notification.service.md) to show a message.
[Notification service](../../core/services/notification.service.md) to show a message.
```html
<adf-upload-button
@@ -79,9 +79,9 @@ export class MyComponent {
}
```
![Upload notification message](../docassets/images/upload-notification-message.png)
![Upload notification message](../../docassets/images/upload-notification-message.png)
## See also
- [Upload Version Button component](upload-version-button.component.md)
- [File upload error pipe](../content-services/file-upload-error.pipe.md)
- [File upload error pipe](../pipes/file-upload-error.pipe.md)

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