Compare commits

...
459 Commits
Author SHA1 Message Date
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
davidcanonieto 777a15f92d [ADF-4147] Add task details redirection toggle in cloud settings page (#4350) 2019-02-25 15:50:43 +00:00
Andy Stark 5a4a2bd9fe [ADF-4008] Added column keys to en.json for proc list cloud (#4354) 2019-02-25 15:38:51 +00:00
Eugenio Romano dcc5095326 remove duplicate branches only travis conf 2019-02-25 15:29:24 +00:00
Venu 475a2211fc 4345- Text File Viewer withCredentials (#4349)
* 4345-Text File Viewer not passing withCredentials

* added new line
2019-02-25 12:37:13 +00:00
gmandakini aca5fd10aa ADF-4103 automated (#4348) 2019-02-25 11:37:54 +00:00
gmandakini 70c523546a [ADF-4066] Start task form with no assignee is saved as unassigned task (#4347)
* in progress

* in progress

* ADF-4012 pull request ready

* crc's

* crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common.

* crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common.

* changed the locator to use data-automation-id

* linting fix

* test automated - C268974

* test automated - C268974

* crc's

* crc's

* crc's

* crc's

* linting fix

* added automation for C276980 - Duplicate User or Group

* merged the overlapping testcases

* Changed  checkUserHasRoleSelected to use datatable methods

* changed hte usernames to something more relevant and readable.

* [ADF-4066] Should create a task unassigned when assignee field is empty … (#4334)

* C297675 Should create a task unassigned when assignee field is empty in Start Task form automated

* linting fixes and updated some locators which are returning more than 1 result back when running this test, as part of best practices.

* using hte new method added as it's more efficient, getIdCellValue

* linting fixes

* updates

* updated the taskname variables to more meaningful ones.

* added data-automation-id for better test locators.
2019-02-25 11:35:55 +00:00
Silviu Popa 687257e45e [ADF-4143] EditTaskFilterComponent - change date format (#4342)
* [ADF-4143] EditTaskFilterComponent - change date format

* [ADF-4143] EditTaskFilter - fix date filtering

* [ADF-4143] - lint

* [ADF-4143] - refractor

* [ADF-4143] - fix failing unit test

* [ADF-4143] EditTaskFilter - replace datepicker form-control with ngModel
2019-02-25 10:27:32 +00:00
Eugenio Romano ae1fbd523a fix aspect orient config e2e core 2019-02-24 22:43:42 +00:00
Silviu Popa 5d024cf22a [ADF-3995] - EditProcessFilterCloud - fix processInstanceId filter property (#4339) 2019-02-22 14:30:38 +00:00
gmandakini c066a2f36b [ADF-4100] Automate Permission Role dropdown for User (#4331)
* in progress

* in progress

* ADF-4012 pull request ready

* crc's

* crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common.

* crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common.

* changed the locator to use data-automation-id

* linting fix

* test automated - C268974

* test automated - C268974

* crc's

* crc's

* crc's

* crc's

* linting fix

* added automation for C276980 - Duplicate User or Group

* merged the overlapping testcases

* Changed  checkUserHasRoleSelected to use datatable methods

* changed hte usernames to something more relevant and readable.
2019-02-22 14:28:56 +00:00
Eugenio Romano bda7e07b52 [ADF-4125] simplify extension load in extension module (#4214)
* add extension load in extension module

* add viewer extensions

* fix license header

* fix node passed in the viewer extension

* fix node passed in the viewer extension

* startup factory extension

* startup factory extension

* fix script

* fix beta tag build

* fix build

* fix build

* refactoring configuration files

* extension using map

* fix build

* fix config

* fix test

* fix test
2019-02-22 14:19:41 +00:00
cristinaj bf4d1a2806 [ADF-4121] Fix tasks-custom-filters test (#4329)
* Fix tasks-custom-filters test

* Changed the locators for edit task cloud component to be unique.
2019-02-22 10:50:37 +00:00
Silviu Popa b967b77946 [ADF-4068] StartTaskComponent - add description empty space validator (#4341)
* [ADF-4068] StartTaskComponent - add description empty space validator

* [ADF-4068] StartTaskCloudComponent - add unit tests

* [ADF-4068] - lint
2019-02-22 01:48:22 +00:00
Suzana Dirla bfec78aec9 [ADF-4083] search facetFields - empty spaced labels support (#4322)
* [ADF-4083] ignore wrapping quotes for facet labels

- bucket selection needs fixing

* [ADF-4083] fix bucket selection

- generate missing filterQuery values

* [ADF-4083] fix label display

* [ADF-4083] renaming

* [ADF-4083] support also single quotes label wrappings

- update documentation
- tests

* [ADF-4083] automatically escape facet field labels having spaces - better fix

* [ADF-4083] remove unneeded mentions from documentation

* [ADF-4083] clean-up code

* [ADF-4083] better naming param

* [ADF-4083] small refactoring
2019-02-21 12:49:47 +00:00
Silviu Popa 877c57b356 [ADF-4067] Process Service Cloud change applicationName input (#4299)
* [ADF-4047] Process Service Cloud change applicationName input

* [ADF-4067] Change applicationName properties and route param name
2019-02-20 18:02:53 +00:00
Popovics András 3a93e07366 Fix wrong types which prevents other apps to build upon local copies of it (#4335) 2019-02-19 20:14:40 +00:00
dhrn 2cbc5914b0 [ADF-4099] The metadata group is always showed even though the properties are not there (#4328)
* [ADF-4099] The metadata group is always showed even though the properties are not there

* [ADF-4099] * unit test fixed
2019-02-19 16:00:16 +00:00
Silviu Popa 3739424953 [ADF-3863] - DocumentList add accesibility tags for file type and for… (#4186)
* [ADF-3863] - DocumentList add accesibility tags for file type and for rows template

* [ADF-3863] - DocumentList add pipe for file type accesibility tags

* [ADF-3863] - DocumentList add pipe for file type accesibility tags

* [ADF-3863] DocumentList - change FiletType pipe to pure
2019-02-19 15:54:54 +00:00
Maurizio Vitale 08231bbf33 adf-testing package (#4152)
* add new lib adf-testing

* fix the prefix

* Improve package

* Add testing project

* remove useless stuff

* Remove useless code
2019-02-19 15:08:41 +00:00
gmandakini 81ec4ed441 [ADF-4012] Should be able to set default columns in adf-process-list-cloud (#4323)
* in progress

* in progress

* ADF-4012 pull request ready

* crc's

* crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common.

* crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common.

* changed the locator to use data-automation-id

* linting fix
2019-02-19 13:12:54 +00:00
davidcanonieto 8594ecdd2e [ADF-4023] Fix pagination layout issue in Process Cloud page (#4306) 2019-02-19 12:01:42 +00:00
davidcanonieto 4072b0a8f6 [ADF-4097] Revert changes in Add comment button (#4332) 2019-02-19 11:59:43 +00:00
Suzana Dirla e34f80aff7 [ADF-3497] Facet intervals on search filter (#4255)
* [ADF-3497] allow facetIntervals on search

* [ADF-3497] update schema json

* [ADF-3497] update json

* [ADF-3497] documentation update

* [ADF-3497] specify that sets are not supported

* [ADF-3497] no spaces on labels - mention

* [ADF-3497] documentation update

* [ADF-3497] update examples & document label key

* [ADF-3497] tests added

* [ADF-3497] testRail id

* [ADF-3497] allow config of custom pageSize values

* [ADF-3497] support mincount filtering also for intervals

* [ADF-3497] support expanded property also for facetIntervals

* remove no longer needed info

- bcs. of PR #4322 fix
2019-02-18 18:51:15 +00:00
Marouan Bentaleb f20a71438c [ADF-NO-ISSUE] Changing locators using arial-label (#4180) 2019-02-18 18:44:17 +00:00
gmandakini 2a2708e5d6 [ADF-4095] Test Inherit Permission (#4325)
* in progress

* in progress

* ADF-4012 pull request ready

* crc's

* crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common.

* crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common.

* changed the locator to use data-automation-id

* linting fix

* test automated - C268974

* test automated - C268974

* crc's

* crc's

* crc's
2019-02-18 18:36:42 +00:00
gmandakini cdcff5b4e8 [ADF-3981] - Should be possible to login with valid credentials (#4231)
* in progress

* updated the hardcoded url to TestConfig one.
2019-02-18 15:18:45 +00:00
Denys Vuika f8549d43aa make search config optional (#4303) 2019-02-18 14:54:57 +00:00
Suzana Dirla 9e5a5ae0a3 Merge pull request #4326 from Alfresco/dev-dcano-ADF-4097
[ADF-4097] Fix add comment section
2019-02-18 14:52:38 +02:00
davidcanonieto 84403a3f3f [ADF-4097] Fix add comment section 2019-02-18 09:37:39 +00:00
Denys Vuika f3e6bde092 update test 2019-02-15 10:07:54 +00:00
Andy Stark 9792fd2390 [ADF-3745] Reviewed breaking changes page (#4320)
* [ADF-3745] Reviewed breaking changes page

* [ADF-3745] Added link to breaking changes in doc index page
2019-02-14 16:26:22 +00:00
Eugenio Romano 819e03d535 first iteration bc 3.0.0 (#4319) 2019-02-14 11:48:58 +00:00
Silviu Popa 743db053d8 [ADF-3861] Document List - aria-label on checkbox and actions menu (#4147)
* Add aria-label on checkbox and actions menu

* lint

* [ADF-3861] - Change Document List checkbox tags for accesibility
2019-02-14 11:35:33 +00:00
Eugenio Romano 1aac31ec06 Update RelNote300.md 2019-02-13 21:15:12 +00:00
Eugenio Romano 64058d7f03 Update RelNote300.md 2019-02-13 21:12:20 +00:00
Andy Stark e318f3607a [ADF-3745] Doc review updates (#4316)
* [ADF-3745] Updated compatibility page based on feedback

* [ADF-3745] Renamed node perm directive and fixed broken links

* [ADF-3745] Updated version index with Check allowable op directive

* [ADF-3745] Reviewed other files affected by node perm directive name change
2019-02-13 20:49:29 +00:00
Eugenio Romano 40d78a11c0 update versions to 3.0.0 2019-02-13 19:17:40 +00:00
Eugenio Romano 6356cfcd84 fix related attached file only for task as in the process 2019-02-13 16:22:31 +00:00
Deepak Paul 3d7075e4c5 [ADF-4084] Exposed ProcessListCloudService and TaskListCloudService (#4312) 2019-02-13 15:20:56 +00:00
Eugenio Romano 469bb214b5 has permission cosnumer skip logic 2019-02-13 15:01:26 +00:00
Eugenio Romano 801d9bfff8 Update README.md 2019-02-13 13:15:51 +00:00
Eugenio Romano 9d34f08039 fix performance issue getSite in processservice usign -my- (#4314) 2019-02-13 12:29:44 +00:00
Andy Stark 9e6b2bc5a4 [ADF-4080] Updated compatibility page plus other minor fixes (#4315)
* [ADF-4080] Updated compatibility page for 3.0

* [ADF-4080] Fixed version format

* [ADF-4080] Fixed backslash in URL
2019-02-13 12:07:20 +00:00
Eugenio Romano 54f6cc1d2b Update README.md 2019-02-12 21:45:27 +00:00
davidcanonieto b60e97bc86 [ADF-4008] Add available columns to Process List Cloud documentation (#4309) 2019-02-12 20:31:36 +00:00
Andy Stark 988f51f127 [ADF-3745] Reviewed 3.0.0 release notes (#4311) 2019-02-12 20:30:16 +00:00
Denys Vuika ca5cba8771 Update RelNote300.md (#4307) 2019-02-12 14:21:54 +00:00
Eugenio Romano f3fdc2b7d4 Update RelNote300.md 2019-02-12 13:43:42 +00:00
Francesco Corti 02b880f626 Draft of the Release note 3.0.0 (#4301)
* Initial draft of the release note for ADF 3.0.0. The remaining parts will be added once the e2e testing will be completed.

* Added topic to the release note

* add more information step 1

* sso info

* Update RelNote300.md
2019-02-12 13:35:07 +00:00
davidcanonieto 6179bddb92 [ADF-4073] Fix Process Definition Heat map styling issue (#4304) 2019-02-12 13:10:51 +00:00
Andy Stark aae4629e9a [ADF-4069] Added updated license list tool (#4302)
* [ADF-4069] Added updated license list tool

* [ADF-4069] Added suggestion for licence info in sidebar
2019-02-12 12:45:56 +00:00
Andy Stark 3b1341928f [ADF-3745] Added repo configuration section to form component page (#4305) 2019-02-12 12:43:16 +00:00
davidcanonieto ca3579b875 [ADF-3972] Update i18n localization files (#4270)
* [ADF-3972] Update i18n localization files

* [ADF-3972] Remove unused localizators in Process Services Cloud

* [ADF-3972] Add final localization files for 3.0.0 release
2019-02-12 10:23:55 +00:00
davidcanonieto 7bf5e59740 [no-issue] Fix translate module - 1st iteration (#4290)
* [no-issue] Fix translate module - 1st iteration

* restore translate exports

* move i18n to the app level, fix lazy loading

* improve i18n imports

* update unit tests

* fix unit tests

* test fixes
2019-02-12 05:56:05 +00:00
Silviu Popa 0683c4d226 [ADF-4055] ProcessAttachmentListComponent- add opt parameter on process-instances api call (#4292)
* [ADF-4055] ProcessAttachmentListComponent - add opts parameter on load  attachments api call

* [ADF-4055] fix lint

* [ADF-4055] - fix unit test

* [ADF-4055] - change opt parameter format

* [ADF-4055] remove useless unit test from process-content
2019-02-12 05:54:31 +00:00
Eugenio Romano c55cba5514 license header update 2019 (#4300) 2019-02-12 01:18:43 +00:00
Nicolas Barithel e5a295c3ec fix typo pageSize in InfinitePaginationComponent (#4296) 2019-02-11 13:56:11 +00:00
Marouan Bentaleb 44e6410a57 Removing C268119 test that shouldn't be automated (#4297) 2019-02-11 11:15:20 +00:00
Eugenio Romano cd4fb8d06d [ADF-4056][ADF-4060][ADF-3930] Content Node Selector fix (#4293)
* remove target when search

* content panel component infinite pagiantion and dropdown integration

* fix insight karma
2019-02-11 11:14:05 +00:00
Eugenio Romano 3263659ac2 rename old hasPermission as allowableOperation and introduce the real hasPermissions (#4294) 2019-02-11 10:44:37 +00:00
Nicolas Barithel 324e86aaf3 fix Versioning format in compatibility.md (#4295) 2019-02-11 10:43:47 +00:00
Andy Stark 1079361c2c [ADF-3745] Updates for doc review (#4291)
* [ADF-3745] Updates for doc review

* [ADF-3745] Fixed bad links to Content node selector page

* [ADF-3745] Updated index files
2019-02-08 21:21:06 +00:00
siva kumar 581a0c5177 [ADF-4054] GroupCloudService - Use composite api to fetch group roles* Used composite api to fetch group roles.* Updated unit test to the recent changes. (#4285) 2019-02-08 13:35:07 +00:00
Eugenio Romano 2b4a69797c fix style dropdown breadcrumb 2019-02-08 02:08:39 +00:00
Eugenio Romano d884c1099b fix static default pagination (#4288) 2019-02-08 01:58:06 +00:00
Eugenio Romano 8fa335aced [ADF-4042] fix reset pagination issue when enter in a folder (#4281)
* fix reset pagination issue when enter in a folder

* fix pagination new folder issue and infintie pagiantion
2019-02-07 21:30:46 +00:00
Andy Stark 9915935714 [ADF-3745] Performed doc checks with tools (#4287)
* [ADF-3745] Fixed broken links

* [ADF-3745] Added broken link fix for version index

* [ADF-3745] Fixed issues caught by Markdown structure checker

* [ADF-3745] Fixed broken external links and their tool config
2019-02-07 16:34:46 +00:00
Eugenio Romano 9d0337da6e add license 3th party generator/checker (#4284) 2019-02-07 13:45:18 +00:00
davidcanonieto 6de1977270 [ADF-4044] Update Process Services Cloud dependencies (#4282)
* [ADF-4044] Update Process Services Cloud dependencies

* [ADF-4044] Add al the needed dependencies and keywords
2019-02-07 11:56:48 +00:00
Eugenio Romano a6f1d1d7c8 remove fit 2019-02-07 07:44:22 +00:00
Eugenio Romano c8a1f0a4d6 not reload if currentfolderId is null 2019-02-07 07:38:58 +00:00
Eugenio Romano 262b37b759 [ADF-4039] Copy/Move of the files/folders is not working when the root folder of the user is chosen. (#4280)
* fix infinite pagination test

* ready event only after full source

* infinite init to pagesize maxitems

* infinite init to pagesize maxitems

* infinite init to pagesize maxitems
2019-02-07 01:55:00 +00:00
Eugenio Romano 3fd6b5d230 fix infinite pagination test (#4279) 2019-02-06 23:45:26 +00:00
Eugenio Romano 836caf5253 fix infinite pagination delete, difficult to handle the delta in case of delete better to reload the whole list for infinite pagination 2019-02-06 19:19:01 +00:00
Suzana Dirla 0d6c1bedfa [ADF-4027] fix navigation to custom sources (#4273)
* [ADF-4027] fix navigation to custom sources

* [ADF-4027] code cleanup

* [ADF-4027] allow to perform navigation for custom sources

* [ADF-4027] disable old test

* [ADF-4027] perform site navigation on document-list

* [ADF-4027] update test
2019-02-06 19:07:51 +00:00
Andy Stark a31803a6bb [ADF-3745] Added docs for remaining classes (#4277) 2019-02-06 19:07:20 +00:00
Andy Stark 2076746b52 [ADF-3745] Added styling to *where* property for clarity (#4278) 2019-02-06 19:07:08 +00:00
Silviu Popa b4c6a2252a [ADF-3997] - Add ngOnChange functionality for People/Group Demo Cloud… (#4244)
* [ADF-3997] - Add ngOnChange functionality for People/Group Demo Cloud Component

* [ADF-3997] - change radio label value

* [ADF-3997] - css fix

* rebase branch and fix issues

* [ADF-3997] - change labels and fix  preselected users issues

* [ADF-3997] fix package-lock.json

* [ADF-3997] - change people preselect placeholder
2019-02-06 15:28:35 +00:00
Maurizio Vitale 815f816f8e Align task/process filters docs (#4276) 2019-02-06 15:02:34 +00:00
Eugenio Romano d6b8e85c35 [ADF-3930] fix infinite pagination (#4275)
* refactoring infinite pagination

* fix lint

* fix import reuqest pagination from core

* fix failing unit test
2019-02-06 14:40:38 +00:00
Andy Stark 3a9958988a [ADF-4016] Added page with version compat table (#4274) 2019-02-06 11:55:06 +00:00
Maurizio Vitale 2376f79c2b Add owner as property (#4271) 2019-02-05 16:54:31 +00:00
Silviu Popa fc642bcb6a [ADF-4009] - People/GroupComponentDemoPage - add role input filter (#4260)
* [ADF-4009] - add roles input for GroupCloudComponent

* [ADF-4009] - fix lint

* [ADF-4009] - change role variable name

* [ADF-4009] - fix PR changes and add people input filter

* [ADF-4009] - fix lint
2019-02-05 16:25:42 +00:00
rgherghelas 2badd81634 [ADF-3828] - e2e add assignee tests (#4221)
* add identity host

* add test for  assign user

* clear assignee input field

* added hostIdentity parameter

* add test for default assignee user

* add hostIdentity parameter

* add test for remove assignee

* add a new constant for start task name

* add hostIdentitty in setProviderBpmSso method

* remove duplicated method

* fix test C291799

* fix test C291872
2019-02-05 12:54:40 +00:00
Eugenio Romano 673b0f6b5c remove providers from Coremodule to avoid double loading api-service (#4267) 2019-02-05 12:51:36 +00:00
Maurizio Vitale e72f1f7ef3 [ADF-4019] TaskListCloudDemo - Be able to filter by owner and lastModified (#4266)
* Be able to filter by owner and lastModified

* Update tasks-cloud-demo.component.html
2019-02-05 12:50:57 +00:00
davidcanonieto 4703bbba2f [ADF-4017] Fix several styling bugs (#4268) 2019-02-05 12:49:54 +00:00
Denys Vuika b35a7a21a8 display each test duration for e2e runs (#4265) 2019-02-05 12:36:07 +00:00
siva kumar f373c28965 [ADF-4003] Add roles filtering to PeopleCloudComponent (#4261)
* Provided a way to filter users bya  specifi role.
2019-02-05 10:21:32 +00:00
Eugenio Romano da379eefd7 [ADF-3938] withCredentials TRUE the authguard should be skipped (#4259)
* should skip authguard if withCredentials is true

* missing comma

* common auth guard fix
2019-02-05 00:31:32 +00:00
Suzana Dirla bf718d905f [ADF-3496] Grouped facet queries (#4209)
* [ADF-3496] search query format v2 response parser

- replacer for the parseFacetFields

* [ADF-3496] format v2 search facetQueries parser

* [ADF-3496] cleanup

* [ADF-3496] Grouped facet queries

- selection working
- needs code cleanup

* [ADF-3496] code cleanup

* [ADF-3496] code refactoring - renaming

* [ADF-3496] update tests

* [ADF-3496] update tests part2

* [ADF-3496] preserve order

* [ADF-3496] fix facet queries expand

* [ADF-3496] code cleanup & fixes

* [ADF-3496] reorder methods

* [ADF-3496] update test

* fix unrelated failing test

* [ADF-3496] fix config snippet

* [ADF-3496] facet queries mincount

* [ADF-3496] documentation updated

* [ADF-3496] small fix

* [ADF-3496] e2e testing

* [ADF-3496] added TestRail ids

* [ADF-3496] import from right api
2019-02-04 21:38:21 +00:00
Andy Stark c91c3f5a81 [ADF-3745] Updated code samples for empty content component (#4239)
* [ADF-3745] Fixed code samples in empty content component docs

* [ADF-3745] Updated review date on changed docs
2019-02-04 21:22:05 +00:00
Eugenio Romano bb770a5df9 fix no permission template (#4256)
rename correctly template demo
2019-02-04 21:05:07 +00:00
cristinaj 16b6c1dcb2 Make demo-shell use default edit process filters. (#4257) 2019-02-04 21:04:15 +00:00
davidcanonieto 1804792de5 [ADF-3999] Regression - Fix metadata layout (#4262) 2019-02-04 19:14:22 +00:00
Andy Stark 947c55fbeb [ADF-4013] Fixed anchor generation in ToC doc tool (#4263) 2019-02-04 19:13:59 +00:00
Denys Vuika 3a5fe3fb92 fix icon clashes in adf-icon (#4258) 2019-02-04 14:41:11 +00:00
davidcanonieto f00fd1ad01 [ADF-3829] Add multiple select checkbox to tasks and process cloud APS2 (#4210)
* [ADF-3829] Add multiple select checkbox to tasks and process cloud components in Demo-Shell

* [ADF-3829] A settings tab has been added to Process Cloud

* [ADF-3829] Remove unused imports

* [ADF-3829] Improve streamer of settings

* [ADF-3829] Create new cloud settings component with all its attributes for better structure and understanding

* [ADF-3829] Add localization for cloud settings component
2019-02-04 14:34:55 +00:00
Maurizio Vitale febd8b6ab1 Reset the appList before calling the API (#4253) 2019-02-04 14:14:48 +00:00
Marouan Bentaleb d4aad67b09 [ADF-3998] Fixing failing tests in metadata-smoke-tests (#4243) 2019-02-04 13:45:47 +00:00
Silviu Popa fa4fcd94d1 [ADF-3929] - DocumentList add dinamic modifier functionality for Move… (#4192)
[ADF-3929] - Use created user in move/copy
2019-02-04 13:41:10 +00:00
Eugenio Romano 4f5033e13f fix type 2019-02-04 13:33:07 +00:00
cristinaj 2a630381b7 Changing the name for status column on process list cloud. (#4254)
Remove processName from properties used on demo-shell.
2019-02-04 13:29:34 +00:00
siva kumar 3b455524b9 [ADF-3919] Add roles filtering to adf-cloud-group (#4238)
* [ADF-3919] Split group roles permission service into two

* [ADF-3909] Added roles filtering title input

* [ADF-3909] Added candate users and groups to task models

* [ADF-3909] Used group component in start task

* [ADF-3909] Updated docs

* [ADF-3909] Added disabling for multi selection

* [ADF-3909] Improved task creation logic

* [ADF-3909] Changed assignee selection mechanism

* * Added role filtering  to groups* Updated unit tests to the recent changes* Created getGroupDetailsById and checkGroupHasGivenRole in groupService* Updated unit test to the groupService

* * After rebase

* * Changed method name checkGroupHasGivenRole to  checkGroupHasRole

* * After rebase
2019-02-04 12:29:10 +00:00
Suzana Dirla 08cdb2f7c3 [ADF-3854] destination picker - exclude site content after rowFilter reset (#4158)
* [ADF-3854] exclude set site content after rowFilter reset

* [ADF-3854] fix duplicated call

* [ADF-3854] add test

* fix unrelated failing test

* improve type definition
add set get filtering node selector

* remove comma

* [ADF-3854] demo-shell - case when rowFilter is not set for adf-content-node-selector-panel
2019-02-04 12:10:52 +00:00
Denys Vuika cf922dd46e expose icon color property (#4248) 2019-02-04 10:53:12 +00:00
Paul Roth aa2036dddd Made 3 minor typo changes in the section called "Using the application" (#4246) 2019-02-04 09:54:07 +00:00
Eugenio Romano 8453876ea2 [ADF-3965] fix label 2019-02-03 22:22:25 +00:00
Maurizio Vitale bf832f0b1c [ADF-4001] StartProcessCloud - Fix payload with name (#4241)
* Fix the startProcess payload

* fix unit test
2019-02-03 21:52:22 +00:00
Eugenio Romano fec2b89b2d [ADF-3930] Can't load more results in Copy/Move dialog (#4247)
* fix unrelated failing test
improve type definition
add set get filtering node selector
fix directive highlight
fix minor problem style breadcrumb
small refactoring problem documentlist

* fix lint style

* fix html node

* fix test
2019-02-03 20:10:54 +00:00
Eugenio Romano 50572e9db5 [ADF-3974] Fix temp file upload APS (#4236)
* fix temp file upload APS

* fix type
2019-02-03 11:27:51 +00:00
cristinaj c9b58849be [ADF-3855]Added 'Should not accept less than one character name for Library na… (#4240)
* Added  'Should not accept less than one character name for Library name' test case.

* Fix lint errors
2019-02-02 23:57:39 +00:00
cristinaj b18731381a [ADF-3848]Implement edit task filters tests (#4110)
* Add test for 'all the filters properly set up accordingly with the Query Param' acceptance criteria.

* Implement edit task filters tests.

* Fix lint errors

* Fix existent tests

* fix lint error

* Changed 'status' to 'state'
2019-02-01 19:41:00 +00:00
Denys Vuika 0282bfa468 header style fixes (#4245) 2019-02-01 16:44:21 +00:00
davidcanonieto a472772dfd [ADF-4000] Fix custom directive selectors on Datatable component (#4242) 2019-02-01 15:10:50 +00:00
siva kumar 120177f152 * After rebase (#4232) 2019-02-01 14:18:00 +00:00
davidcanonieto cbc8043d02 [ADF-3872] Add live configuration for Process List Cloud on Demo Shell (#4218)
* [ADF-3872] Add live configuration for Process List Cloud on Demo Shell

* [ADF-3872] Remove whitespace
2019-02-01 13:52:44 +00:00
Silviu Popa d28c8dccc8 [ADF-3920] Process Service Cloud render card with default theme and i… (#4219)
* [ADF-3920] Process Service Cloud render card with default theme and icon if missing

* [ADF-3920] Process Service Cloud card rendering with default theme and icon

* [ADF-3920] - Remove import from index in spec file

* Fix unit tests

* [ADF-3920] - add complete name on unit test

* [ADF-3920] - add unit test to verify input object for app-details-cloud
2019-02-01 13:37:58 +00:00
Marouan Bentaleb c00e230983 [ADF-3959] Fixing trashcan-pagination tests (#4222) 2019-02-01 13:20:17 +00:00
Eugenio Romano 2036e026f3 [no-issue] remove annoying dot at the end of search animation (#4226)
* remove annoying dot at the end of animation

* bypass protractor for click search bar
2019-02-01 13:19:56 +00:00
Andy Stark 267a87f110 [ADF-3745] Updated doc comments (#4237) 2019-02-01 13:14:04 +00:00
cristinaj abb7692476 [ADF-3987]Add clientId values for ACM and BPM in e2e tests. (#4234)
* Add clientId values for ACM and BPM in e2e tests.

* Fix sorting
2019-02-01 10:13:57 +00:00
Silviu Popa 2458e30204 [ADF-3968] - Create page to test Demo Shell People/Group components (#4229)
* [ADF-3962] - Create page to test Demo Shell components

* [ADF-3968] - fix ling

* [ADF-3968] - Remove unused properties

* [ADF-3968] - remove app name

* [ADF-3968] - fix PR changes requested

* [ADF-3968] - change style for preselect input value
2019-01-31 16:38:16 +00:00
Eugenio Romano db010cd80a remove save screenshot remote in travis 2019-01-31 16:34:08 +00:00
gmandakini cfda5f820a [ADF-3810] Should rearrange toolbar actions in Viewer (#4199)
* in progress

* done

* done

* moved all the expect statements into a single method 'checkButtonOrderInViewerToolbar' in viewerPage.ts

* lint fixes

* code review comments - updated the button list to fetch the last button in the toolbar and asserting that the last button is the 'More Actions' menu button.

* code review comments

* linting fixes

* updated the right test case id
2019-01-31 09:31:23 +00:00
Andy Stark f77764bc21 [ADF-3745] Clarified Edit process/task filter cloud component docs (#4228)
* [ADF-3745] Initial review of edit proc filter cloud docs

* [ADF-3745] Updated page ordering

* [ADF-3745] Updated info about sort property

* [ADF-3745] Added edit task cloud component docs

* [ADF-3745] Fixed small typos
2019-01-31 09:30:16 +00:00
gmandakini 16e7a6954d [ADF-3967] Automate Settings Component (#4227)
* in  progress

* done

* linting fixes

* code review comments

* code review comments

* code review comments - Split the Test cases in TestRail as they were too long and updated the relevant test case numbers in the PR.

* moved the error message ot a variable and using the TestConfig url rather than hardcoding it.

* All the Settings Component tests automated.

* added beforeEach

* changed the describe statement.

* using the document list container and Task app for asserting on that page.
2019-01-31 09:14:30 +00:00
Maurizio Vitale b3b03be513 Fix the tasklist and processlist demoshell (#4230) 2019-01-30 15:01:53 +00:00
siva kumar a63ea50f13 [ADF-3975] Fix TASK_FILTER_PROPERTY_KEYS Property in Tasks Cloud Demo component (#4224)
* [ADF-3975] Fix TASK_FILTER_PROPERTY_KEYS Property in Tasks Cloud Demo component

* Fixed  TASK_FILTER_PROPERTY_KEYS  Property

* * Added adf prefix
2019-01-30 12:08:22 +00:00
Deepak Paul fa299b1cb8 [ADF-3956] [Start Task Cloud] - Fields are not properly aligned (#4225)
* [ADF-3956] Split assignee and group into two rows

* [ADF-3956] Removed unnecessary padding that breaks alignment

* [ADF-3956] Removed unused class
2019-01-30 10:57:30 +00:00
Florin Butu 3401b508be [ADF-3951] Added automated tests for failed uploading tooltips (#4206)
* [ADF-3951] Added automated tests for failed uploading tooltips

* [ADF-3951] Updated and refactored tests.
2019-01-30 09:19:47 +00:00
davidcanonieto 1b81f687a3 [ADF-3964] Regression - No content template not displaying in search component (#4223) 2019-01-29 16:32:11 +00:00
siva kumar ea733fc996 [ADF-3883] Improve edit-process-filter-cloud by adding inputs to control filters, sort and actions (#4127)
* [ADF-3883] Improve edit-process-filter-cloud by adding inputs to control filters, sort and actions * Fixed translate keys

* * Added more properties to the editProcessModel

* Fix FIlterOption model

* Fix import model name

* * After rebase* Cherry pick * Updated doc

* Revert commit

* Revert changes

* * Removed obervalu from model* Added edit process/task filter to the demo shell* Refacotred edit task/process filter * Updated test to the recent changes

* * Fixed failing e2e tests * Added data-automation-id

* * After rebase

* * Modified ProcessFilterActionType model* Added condition to get the currect filter after save as* Changed column to sort in the en.json, removed unused keys* Improved onSave editProcessfilter method * imported missing groupModule in the process-service-cloud module

* * Fixed e2e test
2019-01-29 12:48:11 +00:00
cristinaj 618929cefb [ADF-3933]Implement automated tests for task header component (#4191)
* Adding taskDetailsCloudComponent page

* Implement task header automated tests

* Removed the comments

* Fix lint errors.
2019-01-29 07:57:16 +00:00
davidcanonieto aa852e7b48 [ADF-1344] Old directive selectors should still be usable (#4217) 2019-01-28 17:39:23 +00:00
rgherghelas 0ae251ce21 change used application (#4215) 2019-01-28 13:28:55 +00:00
davidcanonieto 0348b8ed9c [ADF-3866] Fix several bugs in Task List Cloud component (#4181)
* [ADF-3866] Fix several bugs in Task List Cloud component

* [ADF-3866] Remove comment and improve logic
2019-01-28 10:56:32 +00:00
davidcanonieto 6fffeef5c6 [ADF-3943] Remove non-working filters from Edit Task Filter Cloud (#4194)
* [ADF-3943] Remove non-working filters from Edit Task Filter Cloud and add live configuration for Task List Cloud Component

* [ADF-3943] Fix unit test
2019-01-27 02:17:42 +00:00
davidcanonieto eb3a45cde9 [ADF-3830] Remove landingTaskId and selectRowFirst properties (#4208) 2019-01-27 02:15:37 +00:00
Eugenio Romano f8c379a0d9 fix e2e process service wrong import 2019-01-27 00:25:49 +00:00
Eugenio Romano 9ac7deea40 fix rating social component style 2019-01-26 17:06:06 +00:00
gmandakini ad089c1e97 Added test for ADF-3905 (#4207) 2019-01-25 17:23:56 +00:00
Denys Vuika 01b328f299 update demo shell dependencies (#4212) 2019-01-25 17:23:03 +00:00
davidcanonieto 1c25b50b1a [ADF-1344] New Custom Loading Content Directive for Datatable Component (#4156)
* [ADF-1344] New Custom Loading Content Directive for Datatable Component

* [ADF-1344] Add unit tests for directives on Document List

* [ADF-1344] Add directive prefix to context-menu directive

* [ADF-1344] Old directive selectors have been put back

* [ADF-1344] Add old selector for empty-content directive
2019-01-25 12:15:28 +00:00
Denys Vuika 5887fa1052 [ADF-3938] support for XMLHttpRequest.withCredentials flag (#4190)
* support XMLHttpRequest.withCredentials

* proper defaults and json schema updates

* remove outdated docs

* remove empty declaration from app config

* fix blob support
2019-01-25 12:12:06 +00:00
davidcanonieto 08c9b6d117 [ADF-3940] Fix Parent Name property in Task Header Cloud component (#4201)
* [ADF-3940] Fix Parent Name property in Task Header Cloud component

* [ADF-3940] Add back missing default value for parent name item
2019-01-25 12:08:52 +00:00
rgherghelas 15d898f0a7 [ADF-3884] Added start process e2e tests (#4133)
* add tests for start process

* modify login parameters

* fix lint error

* add test

* update import and unused methods

* update test
2019-01-25 12:02:14 +00:00
Andy Stark 30b28889e1 [ADF-3745] Added Confirm dialog docs (#4193) 2019-01-25 10:38:22 +00:00
Maurizio Vitale a872c6d8fa [ADF-3946] Add the GroupCloudComponent to the StartTaskCloudComponent (#4202)
* Add GroupComponent to the start task cloud

* [ADF-3946] Exported unexported componentes in group module

* [ADF-3946] Used group module in start task module

* Fix import

* Fix build name

* Fix build name unit tests

* Fix unit test

* Add space to rebuild travis
2019-01-24 14:18:35 +00:00
Silviu Popa c34ff07dd4 [ADF-3837] - Removed unused service properties (#4200)
* [ADF-3837] - Removed unused service properties

* fix lint
2019-01-24 10:17:02 +00:00
Maurizio Vitale 87d973d8d2 Fix bug start a task without assignee (#4204) 2019-01-24 09:13:30 +00:00
cristinaj e63aa9a684 [ADF-3931]Fix share and lock files automated tests (#4195)
* Fix share-files tests

* Moved a locator to a page object

* Fix lock-file tests

* no message

* Fix lock-file

* Excluded viewer tests

* Fix unshare tests.
2019-01-23 20:42:58 +00:00
Andy Stark 54a1a90083 [ADF-3745] Updates for doc review (#4203) 2019-01-23 18:46:13 +00:00
Deepak Paul 44b18659a1 [ADF-3941] Settings Page - SSO -> Identity Host is not visible when open the page for the first time (#4197)
* [ADF-3941] Show identityHost for both ECM and BPM

* [ADF-3941] Added test
2019-01-23 15:12:45 +00:00
Silviu Popa b86a385c36 [ADF-3862] - Document List - Add accesibility tags for images and documents (#4171) 2019-01-22 12:32:59 +00:00
davidcanonieto 1aafd79b70 [ADF-3935] Remove Task List Cloud demo page (#4188) 2019-01-22 12:26:42 +00:00
Denys Vuika 7c66589b26 favorites and shared links hotfix (#4187) 2019-01-22 10:15:33 +00:00
siva kumar 423494f4f8 [ADF-3889] [Start Process Cloud] - APS2 - error displayed when try to create a process with a name bigger the 255 characters (#4182)
* [ADF-3889] [Start Process Cloud] - APS2 - error displayed when try to create an process with an name bigger the 255 characters* Fixed  error displayed when try to create an process with an name bigger the 255 characters

* * Fixed comments* Updated doc * Added unit tests to the recent changes

* * Added validation to check whitespace
* Prevented starting a process just with the whitespace
* Fixed Error displayed in console when start a process
2019-01-21 16:00:00 +00:00
Eugenio Romano 348bee9c6f [ADF-3918] Fix translation issue (#4169) 2019-01-20 23:40:07 +00:00
Andy Stark 9a70852985 [ADF-3745] Built initial version index for 3.0 (#4184) 2019-01-20 23:39:17 +00:00
Andy Stark 27adae8e1e [ADF-3745] Added docs for proc cloud services (#4183) 2019-01-18 14:30:34 +00:00
Andy Stark fdded83699 [ADF-3745] Added docs for the new pipes (#4178)
* [ADF-3745] Added docs for the new pipes

* [ADF-3745] Added cont services readme file

* [ADF-3745] Added group initial pipe to type name exceptions
2019-01-17 17:22:04 +00:00
Andy Stark 74475dbd42 [ADF-3745] Fixed links in rel notes, tutorials and guide (#4179) 2019-01-17 17:21:23 +00:00
Maurizio Vitale 274c4d9389 [ADF-3926] Start Task Cloud: Single selection mode: the default assignee is not part of the list o… (#4175)
* Single selection mode: the default assignee is not part of the list once is removed

* Changing providerDropdown locator
2019-01-17 16:51:56 +00:00
siva kumar a8493f1ca1 [ADF-3827] [Start task] - layout issue - the validation for date field not properly aligned (#4177) 2019-01-17 14:58:19 +00:00
Marouan Bentaleb 10e58322ae [ADF-3886] Adding small changes (#4135) 2019-01-17 14:07:45 +00:00
Andy Stark ad5dcfe7c3 [ADF-3909] Updated references to JS-API in docs (#4176)
* [ADF-3909] Updated references to JSAPI classes in docs

* [ADF-3909] Removed obsolete Document library model doc page

* [ADF-3909] Updated JSAPI import lines in code samples
2019-01-17 12:55:05 +00:00
Marouan Bentaleb ae0a9e2a04 [ADF-3870] Automation test for facet field filter with Contains (#4117)
* [ADF-3870] Automation test for facet field filter with Contains

* Changing facet fields labels
2019-01-17 10:29:20 +00:00
Suzana Dirla 6e5f1b68ed [ADF-3810] Viewer - rightmost position for more menu (#4137)
* [ADF-3810] Viewer - rightmost position for more menu

* [ADF-3810] small change
2019-01-17 10:28:17 +00:00
Maurizio Vitale 6bf2558877 filter the preselectuser in multiselection mode (#4173) 2019-01-17 10:25:10 +00:00
Andy Stark b7284051ab [ADF-3921] Reviewed docs where deprecated stuff was removed (#4172) 2019-01-17 10:07:25 +00:00
Andy Stark ad572fed1d [ADF-3921] Reviewed docs where deprecated content was removed (#4170)
* [ADF-3921] Reviewed cont services docs where deprecated stuff was removed

* [ADF-3921] Fixed YAML template and affected source links
2019-01-16 14:30:44 +00:00
rgherghelas ed6e390e19 [ADF-3808] Add automated tests for TaskFilters cloud - default filter (#4115)
* add test for default filter

* add test for default filter

* remove fit and console

* remove comments

* add test for default filter

* add test for default filter

* remove fit and console

* remove comments

* remove unused import

* check default filter method

* fix imports
2019-01-16 13:53:24 +00:00
davidcanonieto f2b5300705 [ADF-3769] Task Header Cloud Component for APS 2 (#4140)
* [ADF-3769] Task Header Cloud Component for APS 2

* [ADF-3796] Add error catch to affected-libs.sh

* [ADF-3769] Add readOnly mode and remove selectFirstRow in Task List Cloud component
2019-01-16 13:43:05 +00:00
Maurizio Vitale 28da31c550 [ADF-3910] Expose the identityHost as part of the setting component (#4161) 2019-01-16 13:01:15 +00:00
Deepak Paul a49cd76fcb [ADF-3909] Fixed API param order (#4150) 2019-01-16 09:56:41 +00:00
Andy Stark 9d3ff4909b [ADF-3913] Added roadmap page (#4166)
* [ADF-3913] Added roadmap page

* [ADF-3913] Added roadmap link to index page

* [ADF-3913] Changed position of roadmap in sidebar
2019-01-16 09:33:22 +00:00
Florin Butu 32bae7d7ed [ADF-3900] Added testrail case number (#4168) 2019-01-16 09:29:21 +00:00
Eugenio Romano 15d3314d28 Merge pull request #4155 from Alfresco/dev-spopa-ADF-3860 2019-01-15 23:15:13 +00:00
Eugenio Romano 6dce50d573 fix lint 2019-01-15 23:10:15 +00:00
Eugenio Romano 5aec3d4a28 fix linting 2019-01-15 22:47:28 +00:00
siva kumar 4bd87b4543 [ADF-3877][Task Filters cloud] - APS2 - The first filter from the list is not selected as default after reloading the same app (#4142) 2019-01-15 17:45:18 +00:00
Florin Butu 5b2887fea1 [ADF-3823] Add tests for create site dialog (#4090)
* [ADF-3823] Create Library component tests

* [ADF-3823] Create Library component tests

* [ADF-3823] Fixing lint errors.

* [ADF-3823] Added automation id for Create Library btn

* [ADF-3823] Updated tests and added check for white spaces only.

* [ADF-3823] Updated tests & rebased
2019-01-15 17:34:00 +00:00
Denys Vuika c7c4dcb659 update SSO defaults (#4167) 2019-01-15 17:24:30 +00:00
jdosti 71c0fd0046 [ADF-3430] E2E for using fields to filter Process List (#4040) 2019-01-15 17:23:52 +00:00
rgherghelas 9fd9e7f4a9 [ ADF-3821] Start standalone task e2e tests (#4081) 2019-01-15 16:55:33 +00:00
Florin Butu e72a845c78 [ADF-3900] Implement tests for Universal Icons component (#4149) 2019-01-15 16:34:56 +00:00
Cilibiu Bogdan 5b168af134 [ADF-3897] Upload Dialog - upload file error tooltip (#4148) 2019-01-15 16:28:41 +00:00
Silviu Popa df56ce179d [3860] - change role to grid and add unit test 2019-01-15 18:16:57 +02:00
Silviu Popa 4c341c9822 [ADF-3860] - change datatable to be recognized as a table 2019-01-15 18:03:15 +02:00
Cilibiu Bogdan baf9204a04 Uploaded over Uploading title (#4157) 2019-01-15 15:45:24 +00:00
Eugenio Romano 7d061b2c11 [ADF-1873] Remove all deprecated code from ADF (#4145)
* remove deprecated code part 1

* remove deprecation step 2

* fix spellcheck

* fix

* fix lint

* fix not used import

* remove deprecation

* fix test first part after remove deprecation

* fix test

* fix sidebar demo shell
2019-01-15 15:36:01 +00:00
Andy Stark 24a7c939e6 [ADF-3745] Doc review updates (#4165)
* [ADF-3745] Doc review

* [ADF-3745] Minor fix to task attach list docs
2019-01-15 15:12:52 +00:00
Andy Stark 9dfac14931 Revert "[ADF-3911] Converted GIF image URLs to absolute" (#4164)
* Revert "[ADF-3745] Reviewed new Group cloud component docs (#4160)"

This reverts commit 0d8beb195a.

* Revert "add missing property to NavBarLinkRef interface"

This reverts commit e3648dea5f.

* Revert "[ADF-3911] Converted GIF image URLs to absolute (#4159)"

This reverts commit c8303f3479.
2019-01-15 12:49:11 +00:00
Andy Stark 0d8beb195a [ADF-3745] Reviewed new Group cloud component docs (#4160)
* [ADF-3745] Reviewed group cloud docs

* [ADF-3745] Fixed incorrect type link
2019-01-15 12:12:24 +00:00
Denys Vuika e3648dea5f add missing property to NavBarLinkRef interface 2019-01-15 10:53:45 +00:00
Andy Stark c8303f3479 [ADF-3911] Converted GIF image URLs to absolute (#4159) 2019-01-15 10:20:29 +00:00
Andy Stark 431e2ff09c [ADF-3902] Added experimental status to proc services cloud docs (#4144) 2019-01-14 19:26:05 +00:00
Denys Vuika 9645a3785c extend SSO docs (#4154) 2019-01-14 19:25:27 +00:00
siva kumar 581f53da59 [ADF-3850] Create new group cloud component (#4104)
* [ADF-3850]  Create New Cloud Groups Component

* Generated groupCloud component by cli

* * Refactored GroupCloud component
* Added unit tests
* Changed service name and refactored

* * Added Documentation to the groupCloud component * Rebased

* * Create GroupSerach param model* Modified group component/service * Added Validation message

* * Fixed comments* Refactored groupCLoud component* Created GroupInirial pipe

* * Fixed selectedGroups bug

* * Removed showHint flag and used formcontrol error instead

* * After rebase* Change group-cloud to group

* * Added data-automation-id
* Improved fetching groups when appName defined
* Added unit tests

* * Rebased and  updated callCustomApi call signature

* Remove the springboot hardcoded name

* Update group-cloud.component.md

* * Fixed comments * Fixed return of js-api * Updated doc

* Unify the doc and remove useless code
2019-01-14 19:24:48 +00:00
Deepak Paul f08ad08d0f [ADF-3812] Add multi selection and roles filtering to adf-cloud-people component (#4068)
* [ADF-3812] Added multiple user selection and user pre-selection

* [ADF-3812] Added tests

* [ADF-3812] Added jsdoc

* [ADF-3812] Improved variable naming

* [ADF-3812] Improved mode selection

* [ADF-3812] Changed input name and emit logic

* [ADF-3812] Used modified emitter name in start task

* [ADF-3812] Improved default role selection

* Use the new strategy to fetch the authorized users

* * Fixed pre-selection in single mode

* * Added invalid selection validation

* * Added start task assignee validation

* * Improved preset loading

* * Improved tests

* * Added test to validate default assignee

* * Added methods to check user has access to an app

* * Added app access to people cloud and start task

* * Refactored methods and removed unused input - showCurrentUser

* * Added tests

* * Changed service names and removed unwated services

* * Used formControl error instead of manual error flag

* * Used new hasError method of people component inside start task

* * Improved tests

* * Updated callCustomApi call signature

* * Added documentation

* * Disabled search until clientId is retrieved

* * Changed realm name

* * Added jsdoc for service methods

* Remove the useless doc
2019-01-14 19:24:07 +00:00
davidcanonieto 46150a65f2 [ADF-3855] Add minimum length to library title (#4139)
* [ADF-3855] Add minimum length to library title

* update name test
2019-01-14 19:23:27 +00:00
cristinaj aa6ba28427 [ADF-3780]Implement task list cloud component tests (#4111) 2019-01-14 19:22:47 +00:00
Suzana Dirla c17241fedc [ADF-3854] Destination picker - exclude site content option (#4130) 2019-01-14 19:22:07 +00:00
davidcanonieto 6be1cf56e3 [ADF-3783] Create Task List Cloud Demo page (#4138) 2019-01-14 19:21:24 +00:00
Andy Stark f5f0a181b4 [ADF-3898] Fixed incorrect code sample (#4131) 2019-01-14 19:20:37 +00:00
Andy Stark a416cbab82 [ADF-3745] Fixed broken links in docs (#4141)
* [ADF-3745] Updated broken links

* [ADF-3745] Fixed glitches in release notes

* [ADF-3745] Removed unwanted type links
2019-01-14 19:19:52 +00:00
Andy Stark b32654b236 [ADF-3745] Updated properties and doc comments (#4134) 2019-01-14 19:19:08 +00:00
Marizio Vitale ebde107f41 build the prebuilt-themes 2019-01-10 20:52:36 +00:00
Maurizio Vitale 5c20ee8ab0 Fix publishing to npm and update versions (#4132)
* Fix publishing to npm and update versions

* Remove the upgrade of js api node

* Increase the size
2019-01-10 17:24:07 +00:00
siva kumar 6fdd419476 [ADF-3841] Improve edit-task-filter-cloud by adding inputs to control filters, sort and actions (#4113)
* [ADF-3841] Improve edit-task-filter-cloud by adding inputs to control filters, sort and actions

* Refactored editTask
* Added translate keys related to the edittask filter
* Created TaskFilterProperties model

* * Refactored Edit Task Filter
* Added method to fetch all running applications

* * Added date validation error message

* * Added css mixin

* * Removed dateError flag
* Used formController error

* * Added default filter properties

* * Refactored appsProcessCloudService
* Added flexlayout to align all filter properties

* * Modified unit test for the recent changes* Added few unit tests* Updated editTaskFilter documentation

* * Rebased with the latest changes  * updated doc * Updated translate keys
2019-01-10 13:46:52 +00:00
Marouan Bentaleb 8431f0b1f1 Automation test for hyperlink navigation (#4121) 2019-01-10 13:46:00 +00:00
Andy Stark 78411fc365 [ADF-3745] Added docs for new core services (#4126) 2019-01-10 13:45:19 +00:00
Maurizio Vitale 5690a64842 Remove the reference of the old js-api and use the one under the @alfresco (#4128) 2019-01-10 13:44:34 +00:00
Denys Vuika be4978a91c [ADF-3880] fix header logo a11y (#4114)
* fix header logo a11y

* fix test
2019-01-10 13:43:47 +00:00
Andy Stark aee34184ca [ADF-3745] Added docs for new PS cloud services (#4129) 2019-01-10 13:43:05 +00:00
cristinaj 968c65ff70 [ADF-3885]Change auth host path in cloud e2e tests (#4123) 2019-01-10 13:42:23 +00:00
Marizio Vitale a19d2c99be Add the identityHost to the app config 2019-01-09 11:36:54 +00:00
Andy Stark 78abcc93df [ADF-3745] Reviewed latest proc services cloud docs (#4122) 2019-01-08 16:32:45 +00:00
Denys Vuika 7dde329d81 [ADF-3874] icon component (#4112)
* adf-icon component

* demo shell example page

* add docs

* integration with thumbnail service
2019-01-08 16:31:55 +00:00
Suzana Dirla 96e16fb046 [ADF-3856] Translated language labels (#4116)
* [ADF-3856] Translated language labels
2019-01-08 16:31:02 +00:00
Eugenio Romano 57f4628952 fix travis 2019-01-08 16:30:12 +00:00
Eugenio Romano 3ef7d3b7ea [ADF-] update library to use new js-api 3.0.0 (#4097) 2019-01-08 16:29:30 +00:00
davidcanonieto 2acd1b4e26 [ADF-3543] Start Process Component for APS 2 (#4105)
* [ADF-3543] Start Process Component for APS 2

* [ADF-3543] Fix e2e tests

* [ADF-3543] Process filter data automation id with process key

* [ADF-3543] Fix Process Services e2e tests

* [ADF-3543] Fix Search e2e tests

* [ADF-3543] Fix Search e2e tests
2019-01-04 12:22:03 +00:00
Denys Vuika dd25467a98 update documentation (#4109) 2019-01-03 16:38:51 +01:00
Denys Vuika 90676a4a3c add missing entry components 2019-01-03 14:29:23 +00:00
Denys Vuika 78acf1ef5c add missing exports 2019-01-03 14:24:49 +00:00
Maurizio Vitale 007d38f32e export app list cloud service (#4108) 2019-01-03 14:19:12 +00:00
Denys Vuika 9dba816877 [ADF-3869] extensibility related components (#4107)
* extensions: dynamic column

* content: trashcan name column

* content: library status column

* content: library role column

* content: library name column

* style fixes

* content: name column

* demo: use name column in DL example

* fix tests

* lint fixes

* code fixes

* update docs

* add toggle to demo shell
2019-01-03 14:07:07 +00:00
davidcanonieto 21710cfcff [ADF-3822] Add Create Library button on mobile view (#4106) 2019-01-02 21:39:06 +01:00
davidcanonieto 06e45bb29e [ADF-3777] Add localization to About Page on Demo Shell (#4094) 2018-12-21 18:07:30 +00:00
Cilibiu Bogdan 7f106f7a56 [ADF-3864] Create library - no error is displayed when name contains white spaces only (#4101)
* only spaces error message

* title custom error support

* tests

* validate title against only spaces

* generate id only when title is valid
2018-12-21 18:06:35 +00:00
davidcanonieto b035193be5 [ADF-3824] Reorganize Process Service Cloud Folder (#4098)
* [ADF-3824] Reorganize Process Service Cloud Folder

* [ADF-3824] Missing license fix
2018-12-21 18:03:55 +00:00
Marouan Bentaleb 8d9cd54163 [ADF-3786] Automated tests for Search Sorting (#4046) 2018-12-21 17:52:08 +00:00
Andy Stark 478b299960 [ADF- 3846] Started Extensions library docs (#4095)
* [ADF-3846] Added some doc comments and skeleton doc files

* [ADF-3846] Added basic docs for Extensions library

* [ADF-3846] Fixes to index pages

* [ADF-3846] Did tslint check and fixed error with doc comment
2018-12-21 17:46:03 +00:00
davidcanonieto b604b2a4b7 Fix e2e Test on Process Service Cloud (#4100) 2018-12-21 16:22:32 +00:00
Cilibiu Bogdan 5396cfb662 library title case insensitive check (#4099) 2018-12-21 15:01:42 +00:00
Denys Vuika b5f9036545 [ADF-3784] support for browser cultures (i18n) (#4066)
* support language cultures

* update docs

* fix typo

* fix tests

* correctly replace fallback translations

* login dialog fixes

* fix error component

* [denys-i18n-cultures] Fix error content unit tests
2018-12-20 16:41:56 +00:00
Stephen Tweeddale d6df5bc862 Fix syntax error in abn-tree.yml file (#4093)
There were 2 issues:

- YAML is indentation-sensitive, so descendants need indentation
- You can't mix object keys with array elements eg:

```yml
- one:
    title: Title
    - Invalid
```
So if you want to nest, then you can't use the shorthand:
```yml
- file/folder: Pretty name
```
You have to use:
```
- file/folder:
    title: Pretty name
    children:
        - document.md: A document
```
2018-12-20 13:58:54 +00:00
rgherghelas ef8e15ff60 [ADF-3739] Fix task_filters_cloud.e2e.ts tests (#4030)
* Fix task_filters_cloud.e2e.ts  tests

* fix locators

* fix protractor import

* update tests and delete the duplicated test

* update selectors

* move methods and update methods for custom filters

* remove comments

* change user for apps_section_cloud.e2e.ts

* remove user

* delete old dataTablePage.js file

* update selectors

* remove unused methods

* add variable for user and password
2018-12-20 13:44:39 +00:00
rgherghelas 6a6e9f3b39 [ADF-3282] Add tests for length validation process/task name (#4083)
* add test for task name length validation

* add test for process name length validation

* add blur method

* modify number of characters
2018-12-19 11:15:24 +00:00
Andy Stark 0357adc641 [ADF-3792] Added title metadata to Markdown files (#4088) 2018-12-19 11:11:16 +00:00
Andy Stark 5bfb9d7a2d [ADF-3852] Added YAML index for Builder Network (#4089) 2018-12-19 11:09:43 +00:00
cristinaj 261eeae6f4 [ADF-3774]Add process custom filter tests (#4085)
* Add process custom filter tests

* Modified getAllRowsNameColumn datatable method.
2018-12-18 09:35:39 +00:00
dhrn a9e5c9b77e [ADF-3811] Node icon and name-location aren't properly aligned (#4086) 2018-12-18 09:32:08 +00:00
Popovics András 074225970d [APM-419] Adding data input to dynamic component (#4084)
* Extract ComponentRegisterService from ExtensionService

* Make DynamicExtensionComponent smarter

* Add component existence safeguards

* hasComponentById

* Fixing spell check for the sake of mankind

* Add more proper tests and remove double ngOnDestroy call

* Remove lifecycle patches
2018-12-17 13:43:04 +01:00
Eugenio Romano ffd72b853f fix peer-dependencies (#4080)
update codelyzer rules
2018-12-13 23:08:08 +00:00
Nicolas Barithel 96ddd4210c let maxItems only if !this._pagination (#4079) 2018-12-13 16:48:22 +00:00
Nicolas Barithel 411166605e Fix pageSize value fetch for infinite pagination (#4073)
- uses pageSize defined on the component or by the UserPreferencesService
if not defined
2018-12-13 14:20:20 +00:00
Maurizio Vitale bdef2642e7 Fix the Task Cloud Filters ordering (#4078)
Navigate on the task details when a row is selected
2018-12-12 18:27:36 +00:00
cristinaj 137584839b [ADF-3807]Create automated tests for process filters (#4072)
* Added tests related to process filters

* Adding back a check in task filters tests.

* no message

* Creating a completed process

* Added tests for default process filters

* Wait for the page to be loaded
2018-12-12 16:46:09 +00:00
Maurizio Vitale e241779f3a Fix process cloud page (#4075)
* Fix process cloud page

* Use FilterParamModel

* Rollback method

* Fix core unit test related to identity service

* Fix process filters cloud
Get user info from different keys

* Select the my-task filter in case the task has been created

* Add family_name and given_name to the jwt token
2018-12-12 15:43:57 +00:00
Eugenio Romano 511087f6b1 [no-issue] fix deploy PR script (#4065)
* fix deploy PR script

* change docker ignore

* create subfolder

* rename script
2018-12-12 15:14:37 +00:00
Andy Stark 0b1cfcf8fe [ADF-3820] Added Library dialog component docs (#4061) 2018-12-12 12:07:26 +00:00
davidcanonieto 95260a7ca7 [ADF-3802] Default ascending order fix (#4070) 2018-12-12 10:58:30 +00:00
davidcanonieto b113ad83f1 [ADF-3124] Fix overflowing text on file info dialog values (#4058) 2018-12-12 10:54:40 +00:00
Maurizio Vitale 276e40e4bb [ADF-3790] Fix core coverage (#4011)
* Fix core coverage

* Fix karma path
2018-12-11 17:17:08 +00:00
siva kumar 242884db20 [ADF-3799] Process Filter definition in a component APS2 (#4048)
* * Generated EditProcessFilterComponent by cli
* Added MatExpansionModule

* * Added translation keys related to the editProcessFilterComponent
* Updated editProcessFilterComponent

* * Refactored EditProcessFilter component
* Created delete , save and saveAs  filter methods in the service
* Generated ProcessDialog component
* Exported process-cloud
* Added Unit tests to the EditProcessFilter

* * Added unit tests to the processFIlterDialog component* Refactored process-list-cloud-demo component

* * Added editProcessFilter documentaion.

* * Unified process filter cloud models

* * Used new process-filter-cloud model

* * Updated documentation

* * Updated demo component

* * Updated editProcessFilter unit tests

* * After rebase* Fixed missing documentation

* * Fixed conflicts
* Rebased with dev branch

* Fix import
2018-12-11 15:01:12 +00:00
dhrn 1d94d90716 [ADF-2675] The string given for 'Extension accepted' is not trim (#4069) 2018-12-11 14:50:45 +00:00
rgherghelas c32d331a9b [ADF-3666] User info sso e2e tests (#4057)
* user info sso tests

* remove async await
2018-12-11 10:36:52 +00:00
Deepak Paul ced1901c89 [ADF-3775] APS 2 Process and Task view in the ADF Demo Application (#4035)
* [ADF-3775] Created breadcrumb component for layout demo

* [ADF-3775] Created filter demo component

* [ADF-3775] Created apps demo component

* [ADF-3775] Created tasks list cloud demo component

* [ADF-3775] Created tasks process cloud demo component

* [ADF-3775] Created new cloud layout component

* [ADF-3775] Improved translation

* [ADF-3775] Fixed translation

* [ADF-3775] Improved layout

* Use the EditTaskFilters
TaskFilterCloud should have a stream of filter
Fix integration issues

* Remove useless route
Enable start task cloud button

* Remove useless pages and handle start task error event

* Fix wrong unit test

* Use the Process Cloud menu name
2018-12-11 10:34:18 +00:00
davidcanonieto 4302cfbd04 [ADF-3815] Fix image render on Viewer Component for IE 11 (#4067) 2018-12-10 16:55:05 +00:00
davidcanonieto 4ad3e162a7 [ADF-3282] Add maximum length validator to Start Process Form (#4064) 2018-12-10 14:22:48 +00:00
Marouan Bentaleb 8d22d597c9 [ADF-3256] Automation test for search by '%' (#4049) 2018-12-10 11:49:30 +00:00
davidcanonieto 087d56ae22 [ADF-3817] Make AppId field not required and set minimum value to 0 (#4063) 2018-12-10 11:48:25 +00:00
Marouan Bentaleb 4b3fb70d5f [ADF-2661] Automation test for comments of consumer user (#4050) 2018-12-10 11:47:35 +00:00
davidcanonieto 0eb9bb2a3e [ADF-3777] Add localization for About Component (#4059) 2018-12-07 09:53:27 +00:00
Denys Vuika 220930d27b [ADF-3351] angular 7 (#3956)
* upgrade Angular CLI

* upgrade material and fix breaking changes

* upgrade lib dependencies

* upgrade i18n

* update test

* disable flaky tests

* try fix notification test

* update package-lock

* code and dependency fixes

* card view e2e fixes

* udpate e2e tests

* fix e2e utils

* updated e2e typings

* test fixes

* notification fixes

* update tests
2018-12-07 09:16:21 +00:00
Andy Stark 811a3f1f7d [ADF-3816] Clarified misleading property description in Document List docs (#4056)
* [ADF-3816] Clarified misleading prop description for document list

* [ADF-3816] Removed a link incorrectly added to the word 'User'
2018-12-06 15:56:29 +00:00
davidcanonieto 474f2e6e5e [ADF-3785] Move all translated strings used in Process Services Cloud to its own translation file (#4051) 2018-12-05 19:16:14 +00:00
davidcanonieto 7340fce205 [ADF-3814] Fix PDF file not centered on PDF Viewer (#4055) 2018-12-05 19:15:34 +00:00
Vito fead152ca2 [ADF-3220] fixed icon change when multiselection is enabled (#4033) 2018-12-05 16:48:32 +00:00
davidcanonieto 7197e1e13a [ADF-1443] Refactor Download directive (#4028)
* [ADF-1443] Refactor Download directive

* [ADF-1443] Node Download Directive now accepts single node and an array as input

* [ADF-1443] Fix Unit tests

* [ADF-1443] Fix unit test related to viewer component
2018-12-05 16:39:21 +00:00
Marizio Vitale b99f6d57dc rollback stage conditions 2018-12-05 16:10:44 +00:00
Andy Stark 21460ce64c [ADF-3809] Added image URL checks and added missing image files (#4054)
* [ADF-3809] Updated file checker with broken image URL hints

* [ADF-3809] Updated rel note images based on file checker
2018-12-05 16:00:42 +00:00
siva kumar 6f526c3862 [ADF-3773] Filter definition in a component APS2 (#4016)
* * Genearated EditTaskFilterCloudComponent

* * Added unit tests to the editTaskFiltercomponent
* Added  unit tests to the  taskFilterDialog
* Added id selector

* * Added translation keys to the editTaskFilter component* Added translation keys related to the editTask in the en.json file* Changed FilterRepresentationModel to TaskFilterCloudRepresentationModel* Refactored editTaskFilterComponent* Created a deleteFilter method in the taskService

* * Refactored editTaskFilterComponent

* * used new editTaskFilterCloud component in the demo shell

* * Refactored editTaskFilter component* Updated unit tests

* Refresh the filters after the action
Reset the values after the EditComponentChanges
Improve the code

* * Added translate keys in demo shell for edittaskDialog component
* Modified  translate keys for editTaskFilterCLoud component

* * Added documentation to the editTaskFilter component.* Fixed a typo.* Fixed Failing Test cases. * Added a EditTaskFilterCloud png

* rebase to dev
fix bugs and improve integration

* * Fixed tsLint css error

* * Fixed tslint css error * Fixed one unit test

* Move the concern of save delete saveAs into the component
fix integration with Demo shell
fix bugs

* * Updated unit test to the recent changes

* * Updated editTaskFIlter doc
* Added unit tests to the taskFIlterDialog component

* * Updated editTaskFIlter doc* Added unit tests to the taskFIlterDialog component

* * Merged task filter models to a single model

* * Updated tests with new taskfilter model

* * Updated documentation for new taskfilter model

* * Used new taskfilter model in the demo

* * Improved filter selection method

* * Removed unnecessory tanslate keys from demo shell
* Modified filterCloudModel
* fixed unit tests to the recent changes

* * Improved change handling for filter properties

* * Improved unit tests
2018-12-05 15:27:21 +00:00
Marizio Vitale f649b231cd Fix travis variable name 2018-12-05 14:59:15 +00:00
Andy Stark 73b153e4d9 [ADF-3801] Added source links to proc services cloud and insights docs (#4042)
* [ADF-3801] Added source links for proc services cloud and insights docs

* [ADF-3801] Updated title in line with doc file name change
2018-12-05 14:36:08 +00:00
Andy Stark 81c84074ec [ADF-3806] Updated Search Service docs (#4044) 2018-12-05 14:33:21 +00:00
davidcanonieto 5d17878129 [ADF-3215] Fix Versions dialog height (#4043) 2018-12-05 14:32:02 +00:00
samuelengelen 9881e52873 [ADF-3716] Add filterWithContains configuration option for SearchFilt… (#4017)
* [ADF-3716] Add filterWithContains configuration option for SearchFilterComponent

* [ADF-3716] Add unit test and modify translationMock
2018-12-05 14:25:57 +00:00
Andy Stark 41ba258452 [ADF-3745] Added Extensions folder and index section to docs (#4045)
* [ADF-3745] Added Extensions folder and index section to docs

* [ADF-3745] Fixed static links in README.md

* [ADF-3745] Fixed typo in readme contents section
2018-12-05 13:37:56 +00:00
Nicolas Barithel f594d51720 Typo in infinite-pagination docs (#4047) 2018-12-05 13:36:25 +00:00
Andy Stark 09a51a6500 [ADF-3809] Added file checker tool and updated doc files (#4052)
* [ADF-3809] Added file checker tool

* [ADF-3809] Updated doc files based on file checker report
2018-12-05 13:14:27 +00:00
Maurizio Vitale f0341201ac Force the execution of unit test and e2e test in case the branch is dev and is not a PR (#4053) 2018-12-05 13:10:23 +00:00
Denys Vuika 058d23d57f [ADF-3442] create library dialog (#4018)
* library dialog

* integrate with demo shell

* update resources

* fix license

* auto focus for the first input

* update e2e tests

* try close the dialog between tests

* fix afterEach

* Revert "try close the dialog between tests"

This reverts commit 63464f2b03c226c606d09b18c7d2782e3bb52c0a.

* update code due to css lint issues

* csslint settings for vs code

* missing import
lint fix
remove not used import
convert errorPage js to ts
convert tasklistpage js to ts
fix redirection creation folder in root
fix lint issue
fix e2e

* e2e fix

* fix PS tests

* navigation import

* fix tests tooltip
convert paginapage to ts

* fix lint

* fix lock files e2e
filterspage to ts

* fix lint

* fix cs cre
git dept 3 and not 50 as default in travis

* quiet log git download

* add some delay and change the delete lock

* fix node entry

* convert searchDialog to typescript
parallel protractor

* disable browser execute

* restote test

* change search tests

* move search in a separate e2e folder

* experiment fix e2e

* change util presence
change protractor conf

* fix unshare test

* improve query viewerPage using css over xpath

* waitForAngularEnabled before browser redirect

* convert util to ts and more

* convert other files to ts

* convert to ts other files

* trigger build

* function fixes use arrow function

* process service fixes

* lint fix
review timeout default

* fix failing tests

* restore timeout

* share dialog fix

* remove

* use configuration admin

* fix APS 2 login sso
2018-12-05 13:05:39 +00:00
Andy Stark 9fd564a78e [ADF-3801] Added source links for core docs (#4038) 2018-12-01 11:38:06 +00:00
Andy Stark 71298982ae [ADF-3801] Added source links for process services docs (#4039) 2018-12-01 11:37:43 +00:00
Andy Stark 4b68c98007 [ADF-3801] Added source linking tool and updated content services docs (#4037)
* [ADF-3801] Added source linking tool

* [ADF-3801] Added source links to doc files
2018-11-30 11:59:36 +00:00
Deepak Paul 164abecc06 Fixed class name (#4036) 2018-11-30 11:51:54 +00:00
Eugenio Romano 27b0ba897a [lint-refactor] simplify tslint and unify main tslint extension in sub folders (#4032)
* simplify tslint and unify main tslint extension  in sub folders

* remove autofix

* fix lint extension and process cloud
2018-11-29 15:04:12 +00:00
davidcanonieto 49738ad555 [ADF-3282] Refactor Start Task Component (#4012)
* [ADF-3282] Refactor Start Task Component

* [ADF-3282] Fix e2e test

* [ADF-3282] Remove maxTaskNameLength from start task doc
2018-11-29 14:57:36 +00:00
Andy Stark ca5543c48d [ADF-3792] Added metadata to README files (#4034)
* [ADF-3792] Added title and publishing metadata to README files

* [ADF-3792] Fixed index tool bugs and rebuilt index pages
2018-11-29 14:56:07 +00:00
Deepak Paul 2f0f33643b [ADF-3540] Start Task Cloud by cli (#3954)
* [ADF-3538] start creating new folder for cloud components

* [ADF-3538] added new package to the script and the builds

* [ADF-3538] added some more changes to scripts

* [ADF-3538] - starting the new package

* Add a cloud component as example

* Skip the scss style

* remove useless codes

* Add i18n example

* remove useless code

* Simplify the hello component
Fix the wrong path

* add the app-list-cloud-component
add the app-details-cloud-component

* Fix process service cloud path

* Remove useless file

* [ADF-3540] Start Task Component APS2

* Generated startTaskCloudModule
* Generated start-task-cloud  component by cli
* Used  start-task-cloud in the demo shell

* * Added FormModule instead of  CoreModule
* Added StartTaskTestingModule
* Refactored startTaskCloud Component

* * Used FlexLayout
* Used Keylock api to fetch users
* Removed all css
* Refactored start-task-cloud component
* Removed form field from the starttask form
* Created UsedCloud model
* Added unit test to the recent changes
* Added mock objects

* * Added  unit test to the startTaskCloud component

* * Added documentation about startTaskCLoud component
* Changed runtimeBundle to appName
* Changed defaultTaskName to name

* * Generated people-cloud component
* Created initialUserName pipe

* * Fetching roles by userId
* Filtering Users with required roles
* Removed duplicates
* Generated initial-user-name pipe
* Generated people-cloud component
* Created roleCloud module

* * Rebased with development branch
* Created start-task-cloud-demo component in the demo-shell

* * Added unit tests to the start-task-cloud service
* Added unit test to the people-cloud component and userInitail pipe
* Updated start-task unit tests to the recent changes
* Created mock data

* * Updated people-cloud component with  error message* Updated unit tests

* * Included StartTaskCloud component in the demoShell* Created startTask demo component* Added create task button in the tasklist demo component

* * Added lodash

* * Fixed lodash import

* Add the start task into the cloud demo

* Fix the lodash import and @type

* Show the My task once the task has been created

* first change

* [ADF-3540] Improved start task component

* [ADF-3540] Fixed expression changed error

* [ADF-3540] Refactored code

* [ADF-3540] Fix lodash import error

* [ADF-3540] Remove lodash dependency

* [ADF-3540] Refatored code

* tmp

* [ADF-3540] Show/Hide current user as part of list

* [ADF-3340] Assign new task to current user when no assignee selected

* [ADF-3540] Rebased the latest changes

* [ADF-3540] Refactored code

* [ADF-3540] Improved user search logic for people component

* [ADF-3540] Moved user services to Core module

* [ADF-3540] Modified translation keys

* Add process-services-cloud into the license rule

* Fix wrong import for prod build

* Add license header

* Fix unit tests

* Fix proxy karma for content

* Fix proxy karma for process services

* Fix proxy karma for process cloud
2018-11-29 14:36:51 +00:00
Vito 5bea17fa6c [ADF-2661] disabling comments when user doesn't have permissions (#4031) 2018-11-29 13:49:15 +00:00
Eugenio Romano f128bfbdc5 update nrwl library (#4029) 2018-11-29 10:50:15 +00:00
Vito 13f049b671 [ADF-3256] added quote to handle special characters for query search (#4025) 2018-11-28 17:36:16 +00:00
Eugenio Romano 1a004b0dab [dev-eromano] pre-commit check autofix lint (#4026)
* pre staged check lint

* pre staged check lint

* pre staged check lint

* remove lint staged
2018-11-28 17:36:04 +00:00
Andy Stark 07beec3c08 [ADF-3782] Fixed doc comments for task list cloud component (#4027) 2018-11-28 15:57:24 +00:00
siva kumar b5c693fe79 [ADF-3791] [User Info] - SSO - User Info displays only the First Name* Fixed display fullname * Updated unit test for the recent changes (#4022) 2018-11-28 15:25:31 +00:00
Stephen Tweeddale eb2ca06526 Markup code headings as code (#4024)
This is to avoid Github and other markdown parsers treating strings such as `<ExternalContentLink>` as an opening HTML tag.
2018-11-28 14:50:57 +00:00
Andy Stark a193c2383c [ADF-3764] Added doc comments for task filters cloud (#4023) 2018-11-28 14:45:18 +00:00
davidcanonieto 1a21f234b6 [ADF-3746] Add style lint rules (#3975)
* add stylelint

* fix style first part

*  fix style second part

*  fix style third part

*  fix style fourth part

* Fix e2e tests first part

* Fix e2e tests second part

* Rebase branch

*  fix style third part

*  fix style fourth part

* Fix list error

* fix insights

* fix style abotu component

* Fix e2e tests second part

* Rebase branch

*  fix style third part

*  fix style fourth part

* Fix list error

* Fix e2e tests second part

* Rebase branch

*  fix style third part

*  fix style fourth part

* Fix list error

* [ADF-3746] Rebase branch

* Fix e2e tests second part

* Rebase branch

*  fix style third part

*  fix style fourth part

* Fix list error

* Fix e2e tests second part

* Rebase branch

* Fix list error

* fix new style added

* tslint fix

* [ADF-3746] Fix scss errors on Process Filters Cloud component
2018-11-28 14:43:18 +00:00
Marouan Bentaleb 5fc03cf26b [ADF-3714] E2E for Search Slider Filter (#4007) 2018-11-28 11:44:56 +00:00
Marouan Bentaleb cc7b9230ee [ADF-3333] Test for Viewer - Part 3 (#3927)
* [ADF-3333] Test for Viewer - Part 3

* Fixing failing test

* remove async not necessary

* fix lint
2018-11-28 00:22:42 +00:00
Maurizio Vitale 94905d1065 Run codecoverage on ng test process services cloud (#4021) 2018-11-27 21:18:48 +00:00
Deepak Paul 1387aff0f4 [ADF-3749] Process Filter Component - APS2 (#3998)
* [ADF-3749] Created new process filter component

* [ADF-3749] Improved process filters

* [ADF-3749] Improved process filters

* [ADF-3749] Added tests

* [ADF-3749] Included filter in process list cloud demo

* [ADF-3749] Added documentation

* [ADF-3749] Improved documentation

* [ADF-3749] Added new query model and improved model names

* [][ADF-3749] Added extra documentation

* [ADF-3749] Added new key in the filter models

* [ADF-3749] Added translation support for filters

* [ADF-3749] Added new tests

* [ADF-3749] Added new translation keys
2018-11-27 21:14:48 +00:00
Maurizio Vitale 86ae2f5c2b [ADF-3789] Fix the content service coverage path and config (#4010)
* Fix the content service coverage path and config

* Use relative path
2018-11-27 21:11:37 +00:00
Andy Stark 393b7ebe97 [ADF-3792] Added title metadata for remaining library docs (#4020) 2018-11-27 19:12:43 +00:00
Andy Stark 600658f6d0 [ADF-3792] Added title metadata to core docs (#4019) 2018-11-27 19:12:24 +00:00
Maurizio Vitale 073311185f [ADF-2788] Fix the process service coverage path and config (#4009)
* Fix the process service coverage path and config

* Create a index report page and run the liteserver
2018-11-27 16:53:32 +00:00
Andy Stark c954b2f815 [ADF-3792] Added title metadata field to doc files (#4015) 2018-11-27 14:52:56 +00:00
Maurizio Vitale c873bf801f Fix the taskFilterCloud unit test and fix the coverage (#4008)
* Fix the taskFilterCloud unit test and fix the coverage

* Fix the tslint

* Fix e2e test

* Fix unit test

* Skip e2e related to taskFiltersCloud

* rollback version

* Rollback the change on cloud angular.json
2018-11-27 11:52:03 +00:00
Marouan Bentaleb 885b8fb8b5 [ADF-3728] Automation tests for Search Number Range (#3974)
* [ADF-3728] Automation tests for Search Number Range

* Deleting Slider page and removing expects from PO

* Improving readability
2018-11-27 00:14:38 +00:00
jdosti 28fdd4e008 [ADF-3762] Automated tests for tree view component (#3999)
* Automated tests for tree view component

* Finalising the original commit

* Adding extra test for files not displaying scenario
2018-11-26 16:17:31 +00:00
Vito 8a09d0db6a [ADF-3615] created a pipe to replace empty space in strings with a special character (#4005) 2018-11-26 16:15:50 +00:00
Maurizio Vitale 91e5251bd0 [ADF-3778] TaskFilterCloud - should render only My Task and Completed task (#4000)
* Change the MyTask with assignee and generate an unique id

* save the taskfilter by user

* Add taskFilters value on the query params

* Fix the unit tests

* use js api beta version

* Rebase against development

* Filter the filters by id name or index

* Add the ability to translate and filter by key

* make properties optionals

* Remove import duplication
2018-11-23 14:06:54 +00:00
cristinaj 776d25820b [ADF-3761]Add auto tests for task filter cloud (#3994)
* Added first test

* Implemented created standalone task call.

* no message

* Implement start task

* Added claim, complete task calls.
Added e2e tests for task filters.

* Fix lint errors

* Fix spelling

* Modified the name of a method.

* Modified appListCloudComponent page
2018-11-23 13:06:26 +00:00
Deepak Paul 74851ac651 [ADF-3540] Start Task Cloud by cli - Core module changes (#4006)
* [ADF-3540] Added username and id to the usermodel

* [ADF-3540] Added tests
2018-11-23 09:31:55 +00:00
Eugenio Romano 34a30c0f14 tslint arrow-parens rule (#4003) 2018-11-23 01:06:56 +00:00
Vito 51bb6a420f [ADF-3604] fixed style for login dialog (#3996)
* [ADF-3604] fixed style for login dialog

* [ADF-3604] removed duplicated voice in tsconfig

* [ADF-3604] fixed locator for css style
2018-11-22 17:20:18 +00:00
siva kumar 974929e76d [ADF-3666] User Profile - Provide a way to show SSO Logged-In User (#3976)
* * Created IdentityUserService
* Created IdentityUserModel
* Added JWT lib into package.json

* * Provided a way to show SSO user info

* * Added  condition to check sso login

* * Refactored userInfo component* Updated unit tests to the recent changes

* * Created IdenityUser model
* Refactored userInfoComponent

* * Modified userInfoComponent
* Modified unit tests

* * Used Fullname pipe* Removed the logic that we had to display fullname in the ecm/bpm/identity model* Created JwtHelperService* Modified ecm/bpm services * added test cases to the identity service

* * Moved jwt service to core/service

* * Updated userInfo doc

* * Added missing return types

* * Created a mockToken* Added unit tests to the JwtHelperService* Updated identityUserService unit test

* Update jwt-helper.service.spec.ts

* * Updated bpm/ecm/identity services
2018-11-22 10:03:19 +00:00
rgherghelas a39e44e4a9 [ADF-3755] Add e2e test for app list (#3987)
* add e2e test for app list

* add --host_sso "$E2E_HOST_SSO" to travis.yml -> STAGE=process-services-cloud

* update travis.yml file

* update review

* fix import
2018-11-21 16:51:17 +00:00
Vito a5bf0d27e4 [ADF-3763] fixed subscription for node child and invalid node id (#3991)
* [ADF-3763] fixed subscription for node child and invalid node id

* [ADF-3763] removed fdescribe

* [ADF-3763] added line for updating documentation
2018-11-21 16:50:11 +00:00
jdosti 49c69c58f0 [ADF-3706] Creation of Check List filter automated tests (#3958)
* [ADF-3706] Creation of Check List filter automated tests

* Fixing the tests

* Refactoring the search files/ removing json

* Adding whitespaces and changing double quotes
2018-11-21 16:49:34 +00:00
Denys Vuika b6b31373a0 fix demo shell build (#3995) 2018-11-21 16:49:09 +00:00
Maurizio Vitale 705fb10a65 Travis - Prints the dependencies inside the logs (#3997)
* Remove the tmp folder inside the smart-build script. Print the deps file to see the current dependencies

* Use the alpha of the latest lib published on npm
2018-11-21 14:56:55 +00:00
Vito 539850612e [ADF-3354] removed the adf-accordion component to use material accordion (#3980)
* [ADF-3354] removed the adf-accordion component to use material accordion

* [ADF-3354] fixed default opened state for the accordion

* [ADF-3354] fixed locator for new accordion menu
2018-11-21 12:34:45 +00:00
Andy Stark 0a394869f5 [ADF-3745] Updates for doc review (20-11-2018) (#3992) 2018-11-21 11:19:56 +00:00
Andy Stark 383b74151a [ADF-3745] Updates for doc review (#3989) 2018-11-20 02:03:20 +00:00
jdosti 6e8677a768 [ADF-3713] Implement Search radio component tests (#3948)
* [ADF-3713] Implement Search radio component tests

* Fixing the double quotes and whitespaces

* Changing names of methods

* More renamings

* Removing trailing whitespace

* Refactoring of search filters tests

* Small changes
2018-11-20 00:41:07 +00:00
Denys Vuika c2bdbba0dc [ACA-805] extensions metadata, basic extensibility for demo shell (#3966)
* bootstrap extensibility in demo shell app

* example data

* parse and store plugin metadata

* preserve root config metadata

* show plugin info in the About box

* update tests

* update gitignore

* remove unused imports

* disable flaky test

* add missing tsconfig entries

* use pre-build project as CLI 6+ does

* update package scripts

* update tsconfig

* make dist builds work locally

* update scripts

* Revert "update scripts"

This reverts commit 58d218643fe22d642ad7f3ac67f9089ed69ec33e.

* update scripts

* use lib paths

* update configs

* update tsconfig
2018-11-19 23:24:24 +00:00
Maurizio Vitale f528d23aff Exit1 in case the build fails (#3988) 2018-11-19 17:23:23 +00:00
Eugenio Romano 2a816d3b47 update version script allow different semantic versions 2018-11-19 15:58:56 +00:00
davidcanonieto 3d0c7449b4 [ADF-3586] Add processInstanceId input and fix empty response (#3916)
* [ADF-3586] Add processInstanceId input and fix empty response

* [ADF-3586] Fix Task Details Model

* [ADF-3586] Fix Dates on ProcessList Component

* [ADF-3586] Fix Task Details Model

* [ADF-3586] Fix attach form unit tests

* [ADF-3586] Fix moment.js import

* [ADF-3586] Remove fdescribe

* [ADF-3586] Fix Attach Form Component unit test
2018-11-19 14:57:26 +00:00
Maurizio Vitale f0dff4d011 Travis cache (#3972)
* Use name instead of env

* Enable cache dist

* enable only master and dev

* rename e2e lib

* add nx and smart build

* disable packaging and create demo shell stages

* use same name

* Enable affected e2e for core and process

* Enable affected libs check on all the e2e

* fix e2e condition

* Enable unit tests

* Manage case deps not present

* add name typo

* add affected folder to check e2e

* change an e2e test

* remove branch typo

* Update .travis.yml
2018-11-19 13:28:02 +00:00
Vito 2fcec4f235 [ADF-3606] added extra icon for special folders and fixed link navigation folder (#3960)
* [ADF-3606] added extra icon for special folders

* [ADF-3606] changed icons and added tests

* [ADF-3606] added navigation via linked folder

* [ADF-3606] fixed problem in test

* [ADF-3606] added extra documentation

* [ADF-3606] fixed problem with folderchange event
2018-11-19 12:29:26 +00:00
siva kumar a18b1c1579 [ADF-3760] Change the documentation for the Form Field Component mapping (#3982) 2018-11-19 12:25:00 +00:00
cristinaj 2e8d998853 [ADF-3569] Add tests for task list demo page: (#3810)
* [ADF-3438] Add tests for task list demo page:

* Fixing some tests

* Added new tests

* Add more tests

* Fix the name of the test for bamboo

* Fix test name to work on bamboo

* no message

* Added new tests

* Modified the error message.

* no message

* fix lint issues

* Fix lint issues

* Changing taskListSinglePage from js to ts

* Uncomment a test

* Fixing lint issues

* Solve lint error

* Refactored taskListDemoPage

* Commented two tests that are failing because of a bug in APS

* Fix lint error

* Resolved comments
2018-11-19 12:20:42 +00:00
siva kumar 002998b10e [ADF-3724] ProcecessFilter is importing the setupBed with a relative path (#3981)
* Fixed relative import
2018-11-19 10:14:54 +00:00
Eugenio Romano 7d47ede2a5 add clear error in test when disk quota is reached (#3978) 2018-11-16 16:33:46 +00:00
cristinaj 3da80bf366 Refactor process list component (#3979) 2018-11-16 16:33:18 +00:00
Andy Stark 5e004a8e3a [ADF-3757] Optimised doc image files [skip travis] (#3985)
* [ADF-3757] Trimmed image files manually

* [ADF-3757] Optimised PNG files
2018-11-16 16:28:01 +00:00
rgherghelas 604d401180 [ADF-3739] E2E test - login with SSO (#3949)
*  modify settings page and add test for login with SSO

* remove await

* added the HOST_SSO as parameter

* change setSilentLogin method, add new method, add new test

* remove comment

* optional parameters silentLogin and implicitFlow

* moved --host_sso "$E2E_HOST_SSO" to ./scripts/test-e2e-lib.sh script
2018-11-16 10:39:46 +00:00
Eugenio Romano 09a259bfa1 add fit in the banned word (#3977) 2018-11-16 10:37:52 +00:00
Vito 465e55acb5 [ADF-3719] added rendition when creating a shared link (#3968)
* [ADF-3719] i
nserted rendition generation for shared link nodes

* [ADF-3719] added rendition when creating a shared link

* [ADF-3719] added fake parameter to subscribe
2018-11-15 14:41:17 +00:00
Maurizio Vitale dfe8c84780 Travis pipeline only for specific branches (#3973)
* Enable the travis pipeline only for specific branches

* delete loca files
2018-11-15 14:25:39 +00:00
cristinaj 534954ffef [ADF-3753]Refactor task filters page (#3969)
* Refactoring taskFiltersPage

* Refactor task filters page

* Fix lint errors

* no message
2018-11-15 12:28:27 +00:00
Andy Stark 54cbd210a1 [ADF-3745] Updates for doc review (#3970)
* [ADF-3745] Updated tutorial text

* [ADF-3745] Updates for doc review
2018-11-14 19:43:23 +00:00
Andy Stark 7b3f400c48 [ADF-3745] Updates for doc review (#3965) 2018-11-14 14:23:14 +00:00
cristinaj 867ca8c39d [ADF-3747]Refactor app list component. (#3962)
* Refactor app list component.

* Fix lint errors.

* Renamed clickProcessServicesButton() to navigateToProcessServicesPage()

* Renamed a test
2018-11-14 13:23:35 +00:00
Andy Stark 89fcdec5ef [ADF-3745] Updates for doc review (#3963)
* [ADF-3745] Updates for doc review

* [ADF-3745] Updated tutorial index

* [ADF-3745] Updated document list doc page
2018-11-13 09:20:30 +00:00
Andy Stark aab19708a2 [ADF-3745] Doc review updates (#3957)
* [ADF-3745] Updates for doc review

* [ADF-3745] Corrected title for process list cloud doc page
2018-11-12 11:52:31 +00:00
Andy Stark 4e3f6e942f [ADF-3731] Added more detail about locale language selection (#3959) 2018-11-12 11:51:15 +00:00
davidcanonieto f4cb3ac6a9 [ADF-3734] Fix search filters not wrapping (#3955)
* [ADF-3734] Fix search filters not wrapping

* [ADF-3734] Improve search filter bucket selector
2018-11-09 12:34:59 +00:00
davidcanonieto e88690ad76 [ADF-3578] Fix DueAfter Filter for Task List (#3944)
* [ADF-3578] Fix DueAfter Filter for Task List

* [ADF-3578] Move filter setter to Task List Demo component
2018-11-09 10:54:41 +00:00
Andy Stark 1cc12fde9f [ADF-3693] Deleted task-details.model.md and updated links in other files (#3953) 2018-11-09 10:25:16 +00:00
davidcanonieto 21f155e285 [ADF-3655] Fix styles on date, date-time and people widgets (#3951)
* [ADF-3655] Fix layout issue on IE 11

* [ADF-3655] Fix styles on date, date-time and people widgets

* [ADF-3655] Fix styles on date, date-time and people widgets
2018-11-09 10:21:28 +00:00
cristinaj 536467f0ee Refactor tasksListPage (#3952) 2018-11-09 10:17:53 +00:00
Eugenio Romano 93578baecd add missing fdescribe rule in lib tslint 2018-11-07 19:47:14 +00:00
Marouan Bentaleb 4a4b1519bf [ADF-3710] E2E for search date range (#3945)
* [ADF-3710] E2E for search date range

* Improving PR for [ADF-3710]
2018-11-07 19:34:45 +00:00
Vito 6ead388e55 [ADF-3723] Tree view component (#3939)
* [ADF-3723] added first step to adf tree view component

* [ADF-3723] start adding tests for the new component

* [ADF-3723] fixed style and start adding tests

* [ADF-3723] working on unit test

* [ADF-3723] added test for the new tree view component

* [ADF-3723] added event when clicked on a tree node

* [ADF-3723] refactored code

* [ADF-3723 added peer review changes

* [ADF-3723] fixed extra space

* [ADF-3723] fixed unit test

* [ADF-3723] fixed failing unit test
2018-11-07 19:32:55 +00:00
Maurizio Vitale 0ee592607a Add fullName pipe and change example (#3946) 2018-11-07 19:26:13 +00:00
Denys Vuika c885f6d303 remove ACA related code from extensions 2018-11-05 10:07:19 +00:00
Vito 63399f6830 [ADF-3539] created first version for process list cloud (#3925)
* [ADF-3539] created first version for process list cloud

* [ADF-3539] fixed process list and added demo page

* [ADF-3539] fixed sorting and start working on tests

* [ADF-3539] start adding tests for process list cloud

* [ADF-3539] fixed empty templates unit tests

* [ADF-3539] added documentation

* [ADF-3539] missed import

* [ADF-3539] fixed wrong export

* [ADF-3539] removed model

* [ADF-3539] fixed style problem and removed wrong comment
2018-11-03 17:18:03 +00:00
cristinaj a6cd910466 [ADF-3715]Refactor search filters page (#3933)
* Add tests for text widget

* Propose refactor search filters component

* Fix lint errors

* [ADF-3715]Refactor searchFiltersPage

* Change describe

* Replaced use of searchDialog with browser.get

* Added a test case

* Modifications to enterConfiguration method

* Create a new method enterBigConfigurationText

* Fix lint issues

* no message
2018-11-03 17:02:31 +00:00
Denys Vuika ca3e1035fa fix search result pagination in demo shell (#3942) 2018-11-02 23:14:51 +00:00
Eugenio Romano 23022d6ca7 Update ADF packages version 2.7.0-beta5 (#3941) 2018-11-02 23:13:43 +00:00
Eugenio Romano ee068db496 [no-issue] fix share dialog test for scenario of last day of the month (#3937)
* fix share dialog test for scenario of last day of the month

* fix today and tomorrow

* remove fit

* fix spec share file

* use moment to calculate tomorrow
2018-11-02 14:01:50 +00:00
cristinaj c10f2dc276 [ADF-3665]Fix the HTML report (#3934)
* Fix the report.

* Fix the HTML report
2018-11-02 09:53:42 +00:00
Popovics András daf7c50a19 Fixing typescript compilation error to work together with AMA (#3938) 2018-11-02 09:53:15 +00:00
cristinaj 50a93ff869 Fix analytics test (#3936) 2018-11-01 08:37:10 +00:00
Maurizio Vitale e7ae685bb2 Provide a way to specify external license file (#3932)
Create another tslint rule adf-enterprise-license
2018-10-31 12:59:23 +00:00
davidcanonieto 3639cc40e7 [ADF-3671] Rename Automation Tests (#3931)
* [ADF-3671] Rename Automation Tests

* [ADF-3671] Fix multiline widget automation test

* [ADF-3671] Remove fit from automation tests
2018-10-30 14:36:27 +00:00
jdosti afd44afea6 [ADF-3700] Create an automated test to cover the process placeholder (#3921)
* [ADF-3700] Create an automated test to cover the start process placeholder

* adding space

* Moving the checks to existing tests
2018-10-29 17:21:40 +00:00
Eugenio Romano 489fbe69e2 [no-issue] Fix deploy PR (#3929)
* [ADF-3655] Fix layout issue on IE 11

* fix deploy PR
2018-10-29 17:21:10 +00:00
davidcanonieto eceec31089 [ADF-3571] Fix Dates on Task List Component (#3919)
* [ADF-3571] Fix Dates on Task List Component

* [ADF-3571] Fix unit test

* [ADF-3571] Fix unit test
2018-10-29 16:35:50 +00:00
jdosti baf6050111 [ADF-3696] Create an automated test to cover the search filter buckets scenario (#3915)
* [ADF-3696] Create an automated test to cover the search filter buckets

* Removing comments

* Removing spaces and xit

* Minor changes

* Add spaces where needed

* Changing locator

* Changes on the splitting of names

* Changing to single quotes
2018-10-29 15:52:35 +00:00
davidcanonieto a358a81132 [ADF-3655] Fix layout issue on IE 11 (#3924) 2018-10-29 14:44:47 +00:00
Eugenio Romano b37e37497d Update ADF packages version 2.7.0-beta4 (#3926) 2018-10-28 19:19:18 +00:00
davidcanonieto b630869f6c [ADF-3561] Fix form action buttons translation (#3920)
* [ADF-3561] Fix form action buttons translation

* [ADF-3561] Fix unit test

* [ADF-3561] Change Key to complete form button in translation file
2018-10-26 14:45:05 +01:00
Maurizio Vitale 38f4916e06 [ADF-3538] [ADF-3547] Migration - Task Filters - Task List - New Process cloud page on demoshell (#3914)
* [ADF-3538] start creating new folder for cloud components

* [ADF-3538] added new package to the script and the builds

* [ADF-3538] added some more changes to scripts

* [ADF-3538] - starting the new package

* change index

* fix package

* Fix module structure with Cli

* add basic structure

* Create a library with angular cli

* Add a cloud component as example

* Skip the scss style

* add the import scss

* remove useless codes

* Add i18n example

* remove useless code

* Simplify the hello component
Fix the wrong path

* add the app-list-cloud-component
add the app-details-cloud-component

* Expose and use the new component

* Consume the new package and component from the demoshell

* Fix process service cloud path

* [ADF-3538] Alfresco Process Service Cloud - new package with CLI (#3872)

* [ADF-3538] start creating new folder for cloud components

* [ADF-3538] added new package to the script and the builds

* [ADF-3538] added some more changes to scripts

* [ADF-3538] - starting the new package

* change index

* fix package

* Fix module structure with Cli

* add basic structure

* Create a library with angular cli

* Add a cloud component as example

* Skip the scss style

* add the import scss

* remove useless codes

* Add i18n example

* remove useless code

* Simplify the hello component
Fix the wrong path

* Fix process service cloud path

* Download process-service-cloud from the CS

* [ADF-3538] generated task-list cloud by cli

* [ADF-3550] Added Task Filter Cloud component

* [ADF-3550] Task Filter Cloud component relocated

* [ADF-3538] rebased task list cloud 2.0

* [ADF-3538] fixed ng-package.json

* [ADF-3538] reverted worng changes

* [ADF-3538] removed wrong rebased files

* [ADF-3538] forcing update of app-list file

* [ADF-3538] wrong file after rebase removed

* [ADF-3538] wrong file after rebase fixe

* Merge the applist component with task list

* [ADF-3550] Added Task Filter Cloud component

* emit the event

* Add the route process cloud and fix the page issues

* fixed wrong pagination initialisation

* improved initialisation of page size

* removed unused import

* fixed tsconfig with double definition

* Use standard name for scss

* fix sorting issue and remove useless models

* Fix tslint

* Use 1 single testing module file

* [ADF-3538] [ADF-3547] Fix selected task filter and unit tests

* Fix unit tests and remove useless imports

* Uncomment unit tests

* Remove useless component

* Use main module instead of submodules

* Remove useless jsdoc and improve doc

* Remove useless jsdoc

* Remove useless interface

* remove AfterViewInit import

* remove js doc params
2018-10-26 14:39:06 +01:00
davidcanonieto ee7af9d797 [ADF-3671] Add automation tests for Form Widgets (#3911)
* [ADF-3617] Fix bugs in Task Details Page controller

* [ADF-3617] Fix bugs in Task Page controller

* [ADF-3617] Separate in different describes automation tests

* [ADF-3671] start working on e2e form tests

* [ADF-3671] improved checks for form widgets

* [ADF-3671] start adding multiline text widget tsts

* [ADF-3671] added test for multiline and some improvements

* [ADF-3671] Add e2e tests for Dropdown, Date, Checkbox widgets

* [ADF-3671] Add e2e test for radio, number, hyperlink widgets

* [ADF-3671] Add automation tests for Form Widgets

* [ADF-3671] Update usage of Dropdown Widget

* [ADF-3671] Fix fileModel file and rename widget controles

* [ADF-3671] Rename Widget Controllers

* [ADF-3671] Remove unused imports and fix dynamic table e2e test

* [ADF-3671] Fix spell errors

* [ADF-3671] Fix people, date time, attach widget

* [ADF-3671] Fix Form People widget tests

* [ADF-3671] Rebase and remove unused variables
2018-10-26 14:03:13 +01:00
cristinaj 9599b84a84 Added a check to formName field from task details after the form was removed (#3923) 2018-10-26 14:02:20 +01:00
cristinaj 240f16a443 Merge pull request #3918 from Alfresco/dev-crisj-ADF-3477
[ADF-3477]Added a test for task details- no form
2018-10-26 11:54:57 +03:00
Marouan Bentaleb 79b1697fa4 [ADF-3681] Fixing skipped tests (#3913)
* [ADF-3681] Fixing skipped tests

* Requested changes
2018-10-25 23:15:50 +01:00
Cristina Jalba 555328363a Fixing lint errors 2018-10-25 15:21:10 +03:00
Cristina Jalba d024d0ebf5 [ADF-3477]Added a test for task details- no form 2018-10-25 12:38:47 +03:00
cristinaj 021fc4218c Add automated tests for share files (#3917) 2018-10-25 10:22:08 +01:00
Denys Vuika 72dab2400a delayed document list spinner (#3907) 2018-10-24 22:41:02 +01:00
cristinaj ed7ce4574a [ADF-3017]Update app (#3897)
* Add test

* Added some checks to the test

* Remove a method that is not used anymore

* Fix lint issues

* Rebase

* lock file

* update pacakge.json
2018-10-24 22:37:36 +01:00
Marouan Bentaleb 36a150af4f [ADF-3644] Automated test for search filters collapse (#3889)
* [ADF-3644] Automated test for search filters collapse

* Changing selectors

* Fixing [C277146] and changing methods in searchFiltersPage
2018-10-24 19:06:30 +01:00
Marouan Bentaleb 858584bcf0 [ADF-3652][ADF-3653] Automated tests for people widget (#3880)
* [ADF-3652] Automated test for starting a process with people widget

* Fixing failing tests

* [ADF-3653] Automated test for people widget in completed task
2018-10-24 09:32:23 +01:00
cristinaj 85c022730b [ADF-3692] Add task details tests (#3905)
* Add task details tests

* Resolve lint issues

* Resolve lint errors

* Fix lint errors

* fix spellcheck

* Fixing a constant name
2018-10-24 07:53:00 +01:00
Denys Vuika e39a2b149b [ADF-3591] spellcheck support for code (#3827)
* setup spellcheck
2018-10-23 15:05:38 +01:00
Mario Romano 53d96679ea [ADF-3609 ] fallback for metadata and undefined value check (#3838)
* [ADF-3609 ] fallback for metadata and undefined value check

* fix lint issues

* make name new property optional
2018-10-23 14:35:44 +01:00
Eugenio Romano 2baf20b370 fix e2e metadata 2018-10-23 08:43:01 +01:00
jdosti 1153a0e90d [ADF-3396] Create automated Test For Lock component (#3882)
* [ADF-3396] Create automated Test For Lock component

* fix lint

* fix navigation import

* Changing name for the png files

* Further changes
2018-10-22 19:18:34 +01:00
Eugenio Romano 118b3afa26 lint fix 2018-10-22 17:41:13 +01:00
Eugenio Romano ddbb5b3d65 [ADF-3684] not autoselect first process in start process when multi process are present in an app
fix failing unit test
2018-10-22 17:39:58 +01:00
Eugenio Romano 7f448d78d1 [ADF-3685] Close all dialog when redirect after 401 to demo shell 2018-10-22 16:27:09 +01:00
Eugenio Romano e2cf8655d8 fix task header component duplicate (#3909) 2018-10-22 13:48:36 +01:00
Eugenio Romano cf3e4e8a6c [ADF-2617] Document metadata - we have a "More Information" button instead of "Less Information" and vice versa 2018-10-22 11:31:36 +01:00
Denys Vuika fee35c98df tree shaking support for services (#3906)
[ADF-3697] tree shaking support for services
2018-10-22 11:09:43 +01:00
Eugenio Romano 368f949fc4 [no-issue] general fix e2e and unit test (#3903)
* add missing import
remove creation folder in redirect test in main folder
fix update script
update node js-api to last alpha before to install
improve share dialog test

* update gnu

* fix notification and search e2e

* change name compatible with file name

* improve failing test to avoid cdk overlay problems

* [ADF-3561] fix Outcome not translatable

* increase sleep in user permission
checklist missing uppercase
comment possible different value in test due time

* improve document list actions

* improve document list action test

* tag refresh bbefore next test
comment possible value due the time
2018-10-20 18:16:44 +01:00
Maurizio Vitale 4c9629c2d6 [ADF-3550] Migration - Application List Component (#3902)
* [ADF-3538] start creating new folder for cloud components

* [ADF-3538] added new package to the script and the builds

* [ADF-3538] added some more changes to scripts

* [ADF-3538] - starting the new package

* fix package

* Add a cloud component as example

* Skip the scss style

* remove useless codes

* Add i18n example

* remove useless code

* Simplify the hello component
Fix the wrong path

* add the app-list-cloud-component
add the app-details-cloud-component

* Expose and use the new component

* Consume the new package and component from the demoshell

* Fix unit test app list cloud

* Fix process service cloud path

* Remove useless file

* * Added documentation to the appListcloud component

* Fix failing unit tests
2018-10-18 17:11:32 +01:00
Eugenio Romano 987c01f1f4 exec final stage protractor only if save is passed as option 2018-10-18 16:02:57 +01:00
cristinaj 4ad7e2bf25 Add test (#3898) 2018-10-18 11:09:42 +01:00
Suzana Dirla 63fb4fc857 [ADF-3668] Search filter buckets are set to 0 after any search filtering (#3891)
* [ADF-3668] Fix facet fields 0 buckets

* [ADF-3668] add test for case when labels are i18n keys

* [ADF-3668] add translations on demo-shell - for manual testing

* [ADF-3668] allow translations for the bucket labels

* [ADF-3668] Fix facet queries buckets for translated labels

* [ADF-3668] Fix e2e tests

* [ADF-3668] Fix facet queries filtering when having translated labels

* [ADF-3668] add translations on demo-shell - for manual testing

* [ADF-3668] case covered by translationMock custom instant

* [ADF-3668] move test translations to demo-shell resources

* [ADF-3668] code review changes
2018-10-18 10:42:01 +01:00
Eugenio Romano 28a327216c restore 6s notification e2e test 2018-10-17 19:02:30 +01:00
Eugenio Romano 363b8708d7 fix travis development build 2018-10-17 17:01:28 +01:00
Maurizio Vitale 4e769fe73c Add process-cloud dependency (#3901) 2018-10-17 16:25:41 +01:00
Eugenio Romano 56c8d16f7b fix readme pd cloud 2018-10-17 12:12:43 +01:00
Eugenio Romano 6bbde83d93 wrong script in BC task 2018-10-17 11:49:43 +01:00
Eugenio Romano cfa8c780bb fix run folder test-e2e-bc script 2018-10-17 09:49:07 +01:00
Eugenio Romano bcfe22b67a bc script fix 2018-10-17 02:13:42 +01:00
Eugenio Romano 8948a2bb4d fix search e2e 2018-10-16 19:59:15 +01:00
Denys Vuika f5a7b07370 [ADF-3593] remove rxjs-compat layer (#3886)
* remove rxjs-compat layer

* add rxjs linter

* observable new instead of create

* lint fixes

* disable rxjs-no-subject-value for certain scenarios

* fix auth rxjs
2018-10-16 19:45:00 +01:00
Marouan Bentaleb ccc52d40dd [ADF-3608] Automated test for required dropdown column in Dynamic Table (#3896) 2018-10-16 18:31:17 +01:00
Maurizio Vitale 0ecb6c13ec [ADF-3538] Alfresco Process Service Cloud - new package with CLI (#3872)
* [ADF-3538] start creating new folder for cloud components

* [ADF-3538] added new package to the script and the builds

* [ADF-3538] added some more changes to scripts

* [ADF-3538] - starting the new package

* change index

* fix package

* Fix module structure with Cli

* add basic structure

* Create a library with angular cli

* Add a cloud component as example

* Skip the scss style

* add the import scss

* remove useless codes

* Add i18n example

* remove useless code

* Simplify the hello component
Fix the wrong path

* Fix process service cloud path

* Download process-service-cloud from the CS
2018-10-16 18:15:11 +01:00
Vito 5378df9425 [ADF 3635] Added translation label to checklist dialog (#3894)
* [ADF-3635] added translation label to checklist dialog

* [ADF-3635] fixed tests
2018-10-16 18:04:33 +01:00
Andy Stark 392bd62610 [ADF-3682] Review of main README and other information pages (#3892)
* [ADF-3682] Updated text, links and info in README files

* [ADF-3682] Reviewed text of CORS info page

* [ADF-3682] Fixed minor typo in README.md
2018-10-16 18:03:44 +01:00
Marouan Bentaleb 90dcca61dd [ADF-3645] Rectoring names of e2e for shared link (#3890) 2018-10-16 18:02:45 +01:00
jdosti f61d944aea [ADF-3616] Automated test for start task date error message (#3887) 2018-10-16 17:48:07 +01:00
Denys Vuika 415d2185b1 [ADF-3381][ADF-3492] search results improvements (#3727)
* search results improvements

* fix search term formatting

* rollback the query change

* fix search test

* lint fix

* lint fix

* search page component to ts
2018-10-16 16:51:49 +01:00
Eugenio Romano 0fc504b69e reintroduce viewer test (#3888) 2018-10-16 08:35:05 +01:00
Marouan Bentaleb 094e1dab91 [ADF-3658][ADF-3660][ADF-3661] Revisiting automated tests and test cases (#3869)
* [ADF-3658] Revisiting Content Services automated tests and test cases

* [ADF-3661] Revisiting automated tests and test cases for Core and Insights folders

* [ADF-3660] Revisiting automated tests and test cases for Process Services

* Fixing lint errors
2018-10-13 11:19:15 +01:00
Eugenio Romano 04d42e2535 [ADF-3676] Task Header - Expose task properties out of the box (#3883)
* #3878 Add support for end date in TaskHeaderComponent

* add duration and parentTaskId
2018-10-13 11:13:29 +01:00
Eugenio Romano c8aa627a84 Update ADF packages version 2.7.0-beta2 (#3884) 2018-10-13 11:13:00 +01:00
Eugenio Romano 7586bcac24 fix import navigation and processlist to ts 2018-10-12 10:36:17 +01:00
davidcanonieto a9245b5ef9 [ADF-3586] Refactor Process List page and fix query bugs (#3868) 2018-10-11 22:31:27 +01:00
davidcanonieto b89fefcc9f Add translation to minValue error on Task List Demo Page (#3866)
[ADF-3585] Add translation to minValue error on Task List Demo Page
2018-10-11 22:30:36 +01:00
jdosti 9179b0ccbb [ADF-3597] Create automated test to cover Error Log on Form component (#3831)
* [ADF-3597] Create automated test to cover Error Log on Form component

* Removing double quotes

* Removing console log

* Changing capital letter

* Creating pages for each widget

* Minor changes on spaces and namings

* fix rebase
2018-10-11 22:25:33 +01:00
Eugenio Romano 156a6cafbf fix pr-deploy script 2018-10-11 22:16:26 +01:00
Eugenio Romano 898c2be633 [no-issue] convert navigationBarPage to ts (#3881)
* convert navigationBarPage to ts

* lint
2018-10-11 20:10:18 +01:00
Denys Vuika 07d0290633 lazy loading support for demo shell (#3871)
* breadcrumb demo

* datatable demo

* about module

* notifications module

* card view module

* config editor module

* trashcan module

* header data module

* node selector module

* custom sources module

* webscript module

* tag module

* social module

* settings module

* task list module

* process list module

* fix translation minor issue
2018-10-11 17:06:23 +01:00
Cilibiu Bogdan 3a9924e9df [ADF-3645] Shared link - e2e (#3853)
* relocate file

* methods and locators

* share file tests

* unshare file tests

* fix import

* use FormControllersPage

* use clickUnShareFile method

* break tests

* add methods for disabled day option

* test disabled day option

* fix test new import
2018-10-11 17:03:31 +01:00
Eugenio Romano 7fd905d92c [no-issue] refactor failing e2e (#3865)
* fix ps test

* fix import

* fix import

* fix ps

* fix hyperlink

* fix radio hiperlynk

* autorename for clashes

* notification fix

* convert userdialog to ts

* fix travis configuration

* fix download in folder

* convert contentservice page to ts

* convert setting and login to ts

* remove unused import

* fix login import

* fix login page

* fix chips

* fix import
speed up viewer test

* fix contentlist

* change id

* fix cs e2e

* fix search lint

* fix name issue
2018-10-11 14:22:44 +01:00
Maurizio Vitale 29f28c7c82 [ADF-3670] Checklist - fix failing unit test (#3873)
* fix unit test on checklist

* Fix relative path import
2018-10-09 12:26:04 +01:00
Maurizio Vitale 94df1f6fdd [ADF-3627] Be able to run the Angular cli commands (#3842)
* Change the lib dependencies
change the project folder name to lib

* Rollback the latest adf dependencies

* Push the lock with latest libraries versions
2018-10-08 11:57:43 +01:00
Andy Stark 58484f9183 [ADF-3551] Updated release notes for 2.6 (#3864)
* [ADF-3551] Updated release notes for 2.6

* [ADF-3551] Updated release notes index page

* [ADF-3551] Fixed typo in rel notes README
2018-10-07 23:56:28 +01:00
Eugenio Romano ec19ba6db6 fix process service e2e
fix viewer core e2e
2018-10-06 00:26:29 +01:00
Eugenio Romano e6d38a9790 update node js alfresco-js-api version 2018-10-04 19:06:39 +01:00
Eugenio Romano db6ffa9ddf 2.6.0 version 2018-10-04 18:47:53 +01:00
2754 changed files with 82684 additions and 34271 deletions
+15 -1
View File
@@ -1,12 +1,26 @@
.git
.github
.vscode
assets
coverage
docs
e2e
e2e-output
node_modules
scripts
src
lib
integration
/demo-shell/config/
tools
demo-shell/src/
demo-shell/resources/
/angular.json
/desktop.ini
/cspell.json
/.travis.yml
/CODE_OF_CONDUCT.md
/.stylelintignore
/ALFRESCOCORS.md
/CONTRIBUTING.md
/appveyor.yml
/BROWSER-SUPPORT.md
+3
View File
@@ -4,6 +4,7 @@ bundles
workspace.xml
.idea/
dist/
tmp
e2e-output/
e2e/downloads/
ng2-components/coverage/
@@ -29,3 +30,5 @@ src/environments/
/docs/sourceinfo
/docs/docs.json
/protractorFailuresReport
coverage/
/desktop.ini
+1
View File
@@ -0,0 +1 @@
_theming.scss
+139 -63
View File
@@ -1,3 +1,6 @@
git:
depth: 3
quiet: true
language: node_js
dist: trusty
sudo: required
@@ -5,6 +8,27 @@ node_js:
# Use the explicit NodeJS LTS version 8.9.4 to avoid any automatic upgrade of the version.
- '8.9.4'
install:
echo "no install"
branches:
only:
- master
- development
- /.*beta.*/
- /.*greenkeeper.*/
# TRAVIS_PULL_REQUEST == false means is running on dev branch and is not a PR
stages:
- name: Warm Up Cache
if: branch = master
- name: Warm Up Cache & Lint & Build Dist
if: branch != master
- name: Unit test
- name: e2e Test
- name: Create Docker PR
- name: Deploy Docker PR
addons:
chrome: stable
before_script:
@@ -20,101 +44,151 @@ before_install:
jobs:
include:
- stage: Warm Up Cache
script: if ([ "$TRAVIS_BRANCH" = "master" ]); then
(./scripts/npm-build-all.sh || exit 1;);
else
(./scripts/npm-build-all.sh -vjsapi alpha -sb --skip-lint || exit 1;);
script:
- ./scripts/npm-build-all.sh || exit 1
- stage: Warm Up Cache & Lint & Build Dist
script:
- ./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;);
- npm run build:dist || exit 1
- ./scripts/license-list-generator.sh
- stage: Unit test
name: core
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "core$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test core --watch=false || exit 1;
fi
- stage: Lint
script: (./scripts/lint.sh)
- stage: Unit test
env: STAGE=core
script: (./scripts/npm-build-all.sh -si -sb -t "core" --skip-lint || exit 1;);
name: extensions
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "extensions$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test extensions --watch=false || exit 1;
fi
- stage: Unit test
env: STAGE=extensions
script: (./scripts/npm-build-all.sh -si -sb -t "extensions" --skip-lint || exit 1;);
name: process-services
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test process-services --watch=false || exit 1;
fi
- stage: Unit test
env: STAGE=process-services
script: (./scripts/npm-build-all.sh -si -sb -t "process-services" --skip-lint|| exit 1;);
name: insights
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "insights$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test insights --watch=false || exit 1;
fi
- stage: Unit test
env: STAGE=insights
script: (./scripts/npm-build-all.sh -si -sb -t "insights" --skip-lint || exit 1;);
name: content-services
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "content-services$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test content-services --watch=false || exit 1;
fi
- stage: Unit test
env: STAGE=content-services
script: (./scripts/npm-build-all.sh -si -sb -t "content-services" --skip-lint|| exit 1;);
name: process-services-cloud
script:
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $TRAVIS_BRANCH)";
if [[ $AFFECTED_LIBS =~ "process-services-cloud$" || $TRAVIS_PULL_REQUEST == "false" ]];
then
ng test process-services-cloud --watch=false || exit 1;
fi
- stage: Unit test
env: STAGE=demo-shell
name: demo-shell
script: if ([ "$TRAVIS_BRANCH" = "master" ]); then
(./scripts/start.sh -t -ss || exit 1;);
else
(./scripts/start.sh -dev -t -ss -vjsapi alpha || exit 1;);
fi
- stage: Packaging test
script: (npm run build-lib || exit 1;) && node ./scripts/upload-build-lib-in-cs.js -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --host "$E2E_HOST" -f $TRAVIS_BUILD_NUMBER
- 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: Create Shell dist
script: rm -rf ./node_modules/@alfresco; node ./scripts/download-build-lib-in-cs.js -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --host "$E2E_HOST" -f $TRAVIS_BUILD_NUMBER || exit 1; npm run build:dist || exit 1; node ./scripts/upload-build-in-cs.js -u "$E2E_USERNAME" -p "$E2E_PASSWORD" --host "$E2E_HOST" -f $TRAVIS_BUILD_NUMBER || exit 1
- stage: e2e Test # Test core
env: STAGE=core
script: node ./scripts/download-build-in-cs.js --username "$E2E_USERNAME" --password "$E2E_PASSWORD" --host "$E2E_HOST" --folder $TRAVIS_BUILD_NUMBER; ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b -save --folder core --skip-lint --use-dist --timeout 7000
name: core
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
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
- stage: e2e Test # Test process-services
env: STAGE=process-services
script: node ./scripts/download-build-in-cs.js --username "$E2E_USERNAME" --password "$E2E_PASSWORD" --host "$E2E_HOST" --folder $TRAVIS_BUILD_NUMBER; ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b -save --folder process-services --skip-lint --use-dist --timeout 7000
name: process-services
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
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
- stage: e2e Test # Test content-services
env: STAGE=content-services
script: node ./scripts/download-build-in-cs.js --username "$E2E_USERNAME" --password "$E2E_PASSWORD" --host "$E2E_HOST" --folder $TRAVIS_BUILD_NUMBER; ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b -save --folder content-services --skip-lint --use-dist --timeout 7000
name: content-services
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
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
- 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)";
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
- 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)";
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
- stage: e2e Test # Test insights
env: STAGE=insights
script: node ./scripts/download-build-in-cs.js --username "$E2E_USERNAME" --password "$E2E_PASSWORD" --host "$E2E_HOST" --folder $TRAVIS_BUILD_NUMBER; ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy "$E2E_HOST" -u "$E2E_USERNAME" -p "$E2E_PASSWORD" -e $E2E_EMAIL -b -save --folder insights --skip-lint --use-dist --timeout 7000
- stage: Test Update version 2.0.0
if: branch = development
env: STAGE=test-BC
script: ./scripts/test-e2e-bc.sh -b $TRAVIS_BUILD_NUMBER
- stage: Test Update version 2.0.0
env: STAGE=test-export
script: npm run test-export
name: insights
script:
AFFECTED_E2E="$(./scripts/affected-folder.sh -b $TRAVIS_BRANCH -f "e2e")";
AFFECTED_LIBS="$(./scripts/affected-libs.sh -b -gnu $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/download-build-in-cs.js --username "$E2E_USERNAME" --password "$E2E_PASSWORD" --host "$E2E_HOST" --folder $TRAVIS_BUILD_NUMBER --base-href $TRAVIS_BUILD_NUMBER -n $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1)
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 ./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
# jobs:
# include:
# - stage: Publish alpha to NPM
# before_install: skip
# install: skip
# script: skip
# deploy:
# provider: script
# script: (./scripts/update-version.sh -v $(./scripts/next_version.sh)-$(git rev-parse HEAD) -vj $(npm view alfresco-js-api@alpha version) -gnu) && (./scripts/npm-publish.sh -r $NPM_REGISTRY_ADDRESS -token $NPM_REGISTRY_TOKEN -t alpha --sleep 20 || exit 1;);
# on:
# branch: development
# skip_cleanup: true
# - stage: Publish beta to NPM
# before_install: skip
# install: skip
# script: skip
# deploy:
# provider: script
# script: (./scripts/update-version.sh -v $TRAVIS_TAG -gnu) && (./scripts/npm-publish.sh -r $NPM_REGISTRY_ADDRESS -token $NPM_REGISTRY_TOKEN -t beta --sleep 20 || exit 1;);
# on:
# tags: true
# skip_cleanup: true
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
# Send coverage data to codecov
after_success:
@@ -124,3 +198,5 @@ after_success:
cache:
directories:
- node_modules
- demo-shell/dist
- tmp
+6 -1
View File
@@ -19,5 +19,10 @@
"MD033": false,
"MD031": false
},
"cSpell.words": ["mincount", "webscript"]
"stylelint.enable": true,
"css.validate": false,
"scss.validate": false,
"stylelint.config": {
"extends": "./stylelint-config"
}
}
+45 -35
View File
@@ -1,25 +1,30 @@
# CORS solving strategies
The web client that we are building with the application development framework will be loaded from a different web server than the Alfresco Platform is running on.
So we need to tell the Alfresco server that any request that comes in from this custom web client should be allowed access
to the Content Repository. This is done by enabling CORS.
A web client built with ADF typically won't be loaded from the same web server that the Alfresco Platform is running on.
This means you need to tell the Alfresco server explicitly that any request coming in from this custom web client should be allowed access
to the Content Repository. This is done by enabling
[Cross Origin Resource Sharing](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing)
(CORS).
If you are experiencing this kind of problem, see **one of the following**:
If you are experiencing this kind of problem, use **one of the following approaches**,
depending on your setup:
1. [Configure Webpack Proxy](#configure-webpack-proxy)
2. [Configure angular-cli Proxy](#configure-angular-cli-proxy)
3. [Configure nginx proxy](#configure-nginx-proxy)
4. [Enable CORS in CS and PS](#configure-webpack-proxy)
# Configure Webpack Proxy
## Configure Webpack Proxy
If you are using a project created with the [Yeoman Generator](https://github.com/Alfresco/generator-ng2-alfresco-app) or the demo shell (>=1.6.0), you already have
a suitable configuration out of the box in your `config/webpack.common.js` file.
If you are using a project created with the [Yeoman Generator](https://github.com/Alfresco/generator-ng2-alfresco-app) or the demo shell >=1.6.0, you have already out of the box in your `config/webpack.common.js` the following configuration.
Say we have an app running on http://localhost:3000/ and we want to redirect all calls with the following strategy:
* Content Service http://localhost:8080/ redirect to -> http://localhost:3000/ecm/
* Process Service http://localhost:9999/ redirect to -> http://localhost:3000/bpm/
Open the `config/webpack.common.js` file, find the `devServer` section and add the content:
Open the `config/webpack.common.js` file, find the `devServer` section and add the content:
```javascript
devServer: {
@@ -55,18 +60,21 @@ devServer: {
```
Notes:
- With different configuration of webpack the `devServer` properties could be in other webpack files. Search in your configuration files
- With a different configuration of webpack, the `devServer` properties could be in other webpack files. Search your configuration files to find the correct location.
- If you are running the App, Content Service or Process Service on different ports change the ports accordingly in your local configuration.
For further details about how to configure a webpack proxy please refer to the [official documentation](https://webpack.js.org/configuration/dev-server/#devserver-proxy).
# Configure angular-cli Proxy
## Configure angular-cli Proxy
Say we have an app running on http://localhost:3000/ and we want to redirect all the calls with the following strategy:
* Content Service http://localhost:8080/ redirect to -> http://localhost:3000/ecm/
* Process Service http://localhost:9999/ redirect to -> http://localhost:3000/bpm/
Create a file next to project's `package.json`, call it `proxy.conf.json` and add the following content:
Create a file next to the project's `package.json`, call it `proxy.conf.json` and add the following content:
```javascript
{
@@ -93,36 +101,37 @@ Create a file next to project's `package.json`, call it `proxy.conf.json` and ad
}
```
Note if you are running the App, Content Service or Process Service on different ports change the ports accordingly in your local configuration.
Note that if you are running the App, Content Service or Process Service on different ports, you should change the ports accordingly in your local configuration.
For further details about how to configure a webpack proxy please refer to the [official documentation](https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md).
# Configure nginx proxy
## Configure nginx proxy
## Installing nginx
### Installing nginx
Most Linux distributions will come with nginx available to install via your
package manager and on Mac OS you can use [Homebrew](http://brew.sh/).
If you want to install manually however, you can follow the instructions on the
If you want to install manually, you can follow the instructions on the
[download page](http://nginx.org/en/download.html). See also the specific information for
[windows users](http://nginx.org/en/docs/windows.html).
[Windows users](http://nginx.org/en/docs/windows.html).
### Start nginx
#### Start nginx
Start nginx using the supplied configuration in [nginx.conf](nginx.conf)
nginx -c nginx.conf
### Review nginx configuration
#### Review nginx configuration
To correctly configure nginx use the following file [nginx.conf](/nginx.conf).
To correctly configure nginx, use the [nginx.conf](nginx.conf) file in the project root folder.
This will host Activiti, Alfresco and the app dev framework under the same origin.
* ECM : http://localhost:8888/alfresco/
* BPM : http://localhost:8888/activiti/
To make everything work, you should change the address of the ECM and BPM. In the demo app you can do that by clicking on the top right settings menu and change the bottom left options: *ECM host* and *BPM host*.
To make everything work, you should change the address of ECM and BPM. In the demo app you can do that by clicking on the top right settings menu and changing the bottom left options: *ECM host* and *BPM host*.
This configuration assumes a few things:
@@ -132,30 +141,31 @@ This configuration assumes a few things:
* Alfresco: localhost:8080
* Activiti: localhost:9999
All those values can be modified at their respective `location` directive on the [nginx.conf](/nginx.conf) file.
You can modify all these values at their respective `location` directive in the
[nginx.conf](/nginx.conf) file.
If you want to know more on how to install and configure nginx to work with the Application Development Framework, information can be found [here](https://community.alfresco.com/community/application-development-framework/blog/2016/09/28/adf-development-set-up-with-nginx-proxy)
See the [Alfresco community page](https://community.alfresco.com/community/application-development-framework/blog/2016/09/28/adf-development-set-up-with-nginx-proxy) about using nginx with ADF for further information.
## Enable CORS in CS and PS
# Enable CORS in CS and PS
If you want to completely enable CORS calls on your Content Service and Process Service, please refer to the following Alfresco documents:
If you want to completely enable CORS calls in your Content Services and Process Services,
please refer to the following Alfresco documents:
* [Enable Cross Origin Resource Sharing (CORS) in Alfresco Process Services](http://docs.alfresco.com/process-services1.6/topics/enabling-cors.html)
* Enable Cross Origin Resource Sharing (CORS) in Alfresco Content Services
This is the easiest way, add the [enablecors](https://artifacts.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/enablecors/1.0/enablecors-1.0.jar)
platform module JAR to the *$ALF_INSTALL_DIR/modules/platform* directory and restart the server.
The easiest approach is to add the [enablecors](https://artifacts.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/enablecors/1.0/enablecors-1.0.jar)
platform module JAR to the `$ALF_INSTALL_DIR/modules/platform` directory and restart the server.
Note. by default, the CORS filter that is enabled will allow any origin.
Or - Manually update the web.xml file
Note that, by default, the CORS filter that is enabled will allow any origin.
Modify *$ALF_INSTALL_DIR/tomcat/webapps/alfresco/WEB-INF/web.xml* and uncomment the following section and update
`cors.allowOrigin` to `http://localhost:3000` :
Alternatively, you can update the `web.xml` file manually.
```
Modify `$ALF_INSTALL_DIR/tomcat/webapps/alfresco/WEB-INF/web.xml` and uncomment the following section and update
`cors.allowOrigin` to `http://localhost:3000`:
```xml
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
@@ -189,11 +199,11 @@ Modify *$ALF_INSTALL_DIR/tomcat/webapps/alfresco/WEB-INF/web.xml* and uncomment
</init-param>
</filter>
```
When specifying the `cors.allowOrigin` URL make sure to use the URL that will be used by the web client.
When specifying the `cors.allowOrigin` URL, make sure that you use the URL that will be used by the web client.
Then uncomment filter mappings:
Then uncomment the filter mappings:
```
```xml
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/api/*</url-pattern>
+3 -2
View File
@@ -1,6 +1,6 @@
# Browser Support
Browser support and polyfills guide.
This page gives a guide to Browser support and polyfills.
Browser compatibility and support depends on targeted browsers and 3rd party libraries. ADF is based on the following libraries and components:
@@ -50,4 +50,5 @@ ADF (demo shell) imports by default the following set of recommended polyfills:
<link rel="stylesheet" type="text/css" href="node_modules/dialog-polyfill/dialog-polyfill.css" />
```
For a complete code please refer to [demo shell](demo-shell/index.html) example.
See the [demo shell](demo-shell/index.html) example project for
further information and source code.
+18 -15
View File
@@ -6,21 +6,21 @@
## Submitting a Pull Request (PR)
Before you submit please follow the steps below:
Before you submit a pull request please follow the steps below:
* Search in [GitHub PR](https://github.com/Alfresco/alfresco-ng2-components/pulls) for an open or closed PR
that could solve or already solves your issue.
* Search in the [GitHub release history](https://github.com/Alfresco/alfresco-ng2-components/releases) if your
* Search in the [GitHub release history](https://github.com/Alfresco/alfresco-ng2-components/releases) to see if your
issue has already been solved in a new version of ADF.
* Fork our repository - [if you don't know how to do it read this GitHub document](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)
* Make your changes in a new git branch starting from development and following the [naming convention](https://github.com/Alfresco/alfresco-ng2-components/wiki/Branching-Strategy)
* Fork our repository (if you don't know how to do this, read [this GitHub document](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)).
* Make your changes in a new git branch starting from development and following our [naming convention](https://github.com/Alfresco/alfresco-ng2-components/wiki/Branching-Strategy)
```shell
git checkout -b dev-{developerName}-{GitIssuedId/JiraIssueId} development
```
* Create your PR **including appropriate test cases** following the [code contribution acceptance criteria](https://github.com/Alfresco/alfresco-ng2-components/wiki/Code-contribution-acceptance-criteria)
* Run the tests and make sure they are green. Please don't comment out or exclude the already existing tests
* Run the tests and make sure they are green. Please don't comment out or exclude the tests that are already in place.
* Commit your change using the [commit format message good practice](https://github.com/Alfresco/alfresco-ng2-components/wiki/Commit-format)
* Push your branch to GitHub:
@@ -40,20 +40,23 @@ Before you submit please follow the steps below:
git rebase development -i
git push -f
```
Note: If you need more information about how to sync your fork, see [here](https://help.github.com/articles/syncing-a-fork/)
Note: If you need more information about how to sync your fork, see [this page](https://help.github.com/articles/syncing-a-fork/).
## Code style
The code style in the ADF code follows the [Angular style guide](https://angular.io/guide/styleguide) plus some internal rules.
The code style for ADF follows the [Angular style guide](https://angular.io/guide/styleguide) plus some internal rules.
You dont have to worry too much about those rules because they are automatically checked by tslint/codelyzer/adf-rules.
If your code is not compliant to one of these rules you will receive an error when you build the project with some help on how to fix it.
The ADF-Rules :
If your code is not compliant with one of these rules you will see an error when you build the project along with some help on how to fix it.
The ADF-Rules are as follows:
* File name component/directive cannot start with Alfresco/Activiti/adf - this rule is to help developers find files easily
* Class names cannot start with Alfresco/Activiti/adf for the same reason as above
* scss is mandatory. All the classes need to have the adf- prefix
* scss is mandatory. All the classes need to have the `adf-` prefix
## Test guide
In ADF we are encouraging the use of behavior-driven development (BDD)
In ADF, we encourage the use of behavior-driven development (BDD).
### General guidelines
@@ -63,16 +66,16 @@ In ADF we are encouraging the use of behavior-driven development (BDD)
### File name
* The file name specification as to be the same of the component/service/pipe it test plus the .spec. suffix
* The specification file has to be in the same folder of the component/service/pipe it test
* The file name specification must be the same as the component/service/pipe it tests plus the .spec. suffix.
* The specification file must be in the same folder as the component/service/pipe it tests.
### Describer Name
* The Main describer of the test should be the name of the class under test
* The sub describe is used for grouping related behavior test. Do not over use it
* The sub describe is used for grouping related behavior test. Do not overuse it.
### Test Name
Any test should follow the naming convention:
[Should] [ ***Expected Behavior** ] [when/after/before] [ ***State Under Test*** ].
[Should] [ ***Expected Behavior*** ] [when/after/before] [ ***State Under Test*** ].
+10 -11
View File
@@ -1,22 +1,21 @@
# Introduction to the Alfresco Application Development Framework
The Alfresco application development framework is based on the [Angular framework](https://angular.io/).
The framework is provided by Alfresco to make it easy to build custom web applications that
should manage and view content in the [Alfresco Platform Repository](http://docs.alfresco.com/5.1/concepts/content-repo-about.html) in a custom way.
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](http://docs.alfresco.com/5.1/concepts/gs-intro.html) available out-of-the-box.
Share is usually used as a quick way of getting started with content management with Alfresco. It gives you access to pretty much all
the features provided by the Alfresco ECM system. And a lot of customers customize it for their specific domain.
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:
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 this application development framework comes into play, it can be used to create exactly the user interface
(i.e. web client) that the requirements demand.
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:
@@ -26,10 +25,10 @@ The framework consists of several libraries that can be used to form a customize
- [Insights](lib/insights/README.md)
You can browse all the components at the
You can browse documentation for all the components at the
[ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
An architecture overview looks like this:
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>
+8 -24
View File
@@ -1,27 +1,11 @@
# Prerequisites for building and running apps with the Alfresco Application Development Framework
The [Angular](https://angular.io/) based application development framework requires the following:
See our tutorial
[Preparing the development environment](docs/tutorials/preparing-environment.md)
for full details of what you need to install before using ADF.
- An Alfresco Platform Repository (version [201609 Early Access](https://community.alfresco.com/docs/DOC-6372-alfresco-community-edition-file-list-201609-ea) or newer)
- [Download and install the process service](https://www.alfresco.com/products/bpm/alfresco-activiti/trial)
- [Node.js](https://nodejs.org/en/) JavaScript runtime.
- [npm](https://www.npmjs.com/) package manager for JavaScript.
- (If you use CS and PS together) Make sure your user has the same username and password in both system
- [If you are experiencing CORS problem read this guide](/ALFRESCOCORS.md)
*Note: Default username for activiti is "admin@app.activiti.com" and "admin" for Alfresco, and also the default password are different. Change them to be equal.*
**Verify that you are running at least node `v5.x.x` and npm `3.x.x`**
by running `node -v` and `npm -v` in a terminal/console window.
Older versions produce errors.
## Installing Node.js
If you don't have Node.js installed then access this [page](https://nodejs.org/en/download/) and use the appropriate installer for your OS.
Make sure the Node.js version is > 5:
```
$ node -v
v5.12.0
```
If you experience [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing)
issues then you should also read our
[CORS guide](ALFRESCOCORS.md)
to see the full range of solutions available.
+19 -42
View File
@@ -1,4 +1,4 @@
# ALFRESCO ANGULAR COMPONENTS
# Alfresco Application Development Framework (ADF)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/d9eb873741da403bb3284778102372e7)](https://www.codacy.com/app/Alfresco/alfresco-ng2-components?utm_source=github.com&utm_medium=referral&utm_content=Alfresco/alfresco-ng2-components&utm_campaign=badger)
[![Join the chat at https://gitter.im/Alfresco/alfresco-ng2-components](https://badges.gitter.im/Alfresco/alfresco-ng2-components.svg)](https://gitter.im/Alfresco/alfresco-ng2-components?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
@@ -8,10 +8,6 @@
<img src='https://travis-ci.org/Alfresco/alfresco-ng2-components.svg?branch=master' alt='travis
Status' />
</a>
<a title='Build Status AppVeyor' href="https://ci.appveyor.com/project/alfresco/alfresco-ng2-components">
<img src='https://ci.appveyor.com/api/projects/status/github/Alfresco/alfresco-ng2-components' alt='travis
Status' />
</a>
<a href='https://codecov.io/gh/Alfresco/alfresco-ng2-components'>
<img src='http://img.shields.io/codecov/c/github/Alfresco/alfresco-ng2-components/master.svg?maxAge=2592000' alt='Coverage Status' />
</a>
@@ -22,60 +18,40 @@
## Introduction
See the following [page](INTRODUCTION.md) for an introduction to the Alfresco Application Development Framework.
See the [Introduction page](INTRODUCTION.md) to get started with the Alfresco Application Development Framework.
## Prerequisites
Before you start using this development framework, make sure you have installed all required software and done all the
necessary configuration, see this [page](PREREQUISITES.md).
Before you start using this development framework, make sure you have installed all required software and done all the necessary configuration. See our tutorial
[Preparing the development environment](docs/tutorials/preparing-environment.md)
for full details.
## Components
To view the sources of all components that you can use to build your custom Alfresco (Content Services or Process Services) client follow this link:
[Components](/lib).
You can find the sources for all ADF components in the
[`lib`](/lib) folder.
You can browse all the components at the [ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
Full documentation for all components is available at the
[ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
## Demo Application
A separate application showcasing integration of components can be found [here](https://github.com/Alfresco/alfresco-ng2-components/tree/master/demo-shell).
You will find examples of basic interaction for both BPM and ECM sets of widgets.
A separate application showcasing integration of components can be found
[here](https://github.com/Alfresco/alfresco-ng2-components/tree/master/demo-shell).
The app has examples of basic interaction for both APS and ACS components.
## Yeoman generators
To speed up the development of your Alfresco Angular application, or Alfresco Angular component, use one of the Yeoman generators.
These generators will create a full working project with all the right libraries and tools.
To speed up the development of your ADF application, use the
[Yeoman Generator](https://github.com/Alfresco/generator-ng2-alfresco-app).
This will create a full working project with all the right libraries and tools.
<p align="center">
<img title="yeoman generator" src='https://github.com/yeoman/media/blob/master/optimized/yeoman-150x150-opaque.png' alt='yeoman logo' />
</p>
### Generate an Alfresco web component starter project
To generate your Alfresco Angular component you can use the following Yeoman generator:
- [Yeoman Generator Angular Alfresco component](https://github.com/Alfresco/generator-ng2-alfresco-component)
### Generate an Alfresco web application starter project
To generate your Alfresco Angular application you can use the following Yeoman generator:
- [Yeoman Generator Angular Alfresco application](https://github.com/Alfresco/generator-ng2-alfresco-app)
## Amazon AWS Elastic Beanstalk fast deploy
<p align="center">
<img alt="AmazonWebservices Logo.svg" src="https://upload.wikimedia.org/wikipedia/commons/1/1d/AmazonWebservices_Logo.svg" width="250" height="94">
</p>
To deploy directly on your AWS instance our demo shell click the button below:
<a title="Deploy to AWS" href="https://console.aws.amazon.com/elasticbeanstalk/home?region=us-west-2#/newApplication?applicationName=Alfresco&solutionStackName=Node.js&tierName=WebServer&sourceBundleUrl=https://s3-us-west-2.amazonaws.com/elasticbeanstalk-us-west-2-677901592050/ADF_1.0.zip" target="_blank"><img src="http://d0.awsstatic.com/product-marketing/Elastic%20Beanstalk/deploy-to-aws.png" height="40"></a>
## Browser Support
All components are supported in the following browsers:
|**Browser** |**Version** |
@@ -86,6 +62,7 @@ All components are supported in the following browsers:
|Edge |13, 14 |
|Internet Explorer |11 |
* Due to a [Firefox known issue](https://bugzilla.mozilla.org/show_bug.cgi?id=1188880), the Alfresco Upload Component does not currently support folder upload functionality on Firefox.
* Due to a [known issue](https://bugzilla.mozilla.org/show_bug.cgi?id=1188880) in Firefox, the Alfresco Upload Component does not currently support folder upload functionality on Firefox.
See the [Browser Support](BROWSER-SUPPORT.md) article for more details.
Please refer to the [Browser Support](BROWSER-SUPPORT.md) article for more details.
+122 -24
View File
@@ -1,7 +1,7 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"newProjectRoot": "lib",
"projects": {
"dist": {
"root": "demo-shell",
@@ -56,6 +56,11 @@
"input": "node_modules/@alfresco/adf-process-services/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-process-services-cloud/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-content-services/bundles/assets",
@@ -174,6 +179,11 @@
"input": "node_modules/@alfresco/adf-process-services/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-process-services-cloud/bundles/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "node_modules/@alfresco/adf-content-services/bundles/assets",
@@ -267,6 +277,11 @@
"input": "lib/process-services/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/process-services-cloud/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/content-services/assets",
@@ -287,6 +302,11 @@
"input": "lib/process-services/i18n",
"output": "/assets/adf-process-services/i18n"
},
{
"glob": "**/*",
"input": "lib/process-services-cloud/src/lib/i18n",
"output": "/assets/adf-process-services-cloud/i18n"
},
{
"glob": "**/*",
"input": "lib/insights/i18n",
@@ -414,6 +434,11 @@
"input": "lib/process-services/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/process-services-cloud/assets",
"output": "/assets"
},
{
"glob": "**/*",
"input": "lib/content-services/assets",
@@ -434,6 +459,11 @@
"input": "lib/process-services/i18n",
"output": "/assets/adf-process-services/i18n"
},
{
"glob": "**/*",
"input": "lib/process-services-cloud/src/lib/i18n",
"output": "/assets/adf-process-services-cloud/i18n"
},
{
"glob": "**/*",
"input": "lib/insights/i18n",
@@ -465,7 +495,7 @@
}
}
},
"lib-e2e": {
"lib-e2e-test": {
"root": "demo-shell",
"sourceRoot": "./demo-shell",
"projectType": "application",
@@ -487,7 +517,7 @@
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "./protractor.conf.js",
"devServerTarget": "lib-e2e:serve"
"devServerTarget": "lib-e2e-test:serve"
}
},
"lint": {
@@ -503,14 +533,14 @@
},
"core": {
"root": "lib/core",
"sourceRoot": "lib/core/src",
"sourceRoot": "lib/core",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/core/tsconfig.json",
"tsConfig": "lib/core/tsconfig.lib.json",
"project": "lib/core/ng-package.json"
},
"configurations": {
@@ -523,7 +553,7 @@
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/core/test.ts",
"tsConfig": "lib/core/tsconfig.json",
"tsConfig": "lib/core/tsconfig.spec.json",
"karmaConfig": "lib/core/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
@@ -545,14 +575,14 @@
},
"content-services": {
"root": "lib/content-services",
"sourceRoot": "lib/content-services/src",
"sourceRoot": "lib/content-services",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/content-services/tsconfig.json",
"tsConfig": "lib/content-services/tsconfig.lib.json",
"project": "lib/content-services/ng-package.json"
},
"configurations": {
@@ -565,7 +595,7 @@
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/content-services/test.ts",
"tsConfig": "lib/content-services/tsconfig.json",
"tsConfig": "lib/content-services/tsconfig.spec.json",
"karmaConfig": "lib/content-services/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
@@ -587,14 +617,14 @@
},
"process-services": {
"root": "lib/process-services",
"sourceRoot": "lib/process-services/src",
"sourceRoot": "lib/process-services",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/process-services/tsconfig.json",
"tsConfig": "lib/process-services/tsconfig.lib.json",
"project": "lib/process-services/ng-package.json"
},
"configurations": {
@@ -607,7 +637,7 @@
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/process-services/test.ts",
"tsConfig": "lib/process-services/tsconfig.json",
"tsConfig": "lib/process-services/tsconfig.spec.json",
"karmaConfig": "lib/process-services/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
@@ -627,6 +657,48 @@
}
}
},
"process-services-cloud": {
"root": "lib/process-services-cloud",
"sourceRoot": "lib/process-services-cloud/src",
"projectType": "library",
"prefix": "adf-cloud",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/process-services-cloud/tsconfig.lib.json",
"project": "lib/process-services-cloud/ng-package.json"
},
"configurations": {
"production": {
"project": "lib/process-services-cloud/ng-package.json"
}
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/process-services-cloud/src/test.ts",
"tsConfig": "lib/process-services-cloud/tsconfig.spec.json",
"karmaConfig": "lib/process-services-cloud/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/process-services-cloud/tsconfig.lib.json",
"lib/process-services-cloud/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
},
"insights": {
"root": "lib/insights",
"sourceRoot": "lib/insights/src",
@@ -636,7 +708,7 @@
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/insights/tsconfig.json",
"tsConfig": "lib/extensions/tsconfig.lib.json",
"project": "lib/insights/ng-package.json"
},
"configurations": {
@@ -649,7 +721,7 @@
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/insights/test.ts",
"tsConfig": "lib/insights/tsconfig.json",
"tsConfig": "lib/extensions/tsconfig.spec.json",
"karmaConfig": "lib/insights/karma.conf.js",
"codeCoverage": true,
"sourceMap": true
@@ -705,16 +777,42 @@
}
}
}
},
"testing": {
"root": "lib/testing",
"sourceRoot": "lib/testing/src",
"projectType": "library",
"prefix": "adf",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "lib/testing/tsconfig.lib.json",
"project": "lib/testing/ng-package.json"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "lib/testing/src/test.ts",
"tsConfig": "lib/testing/tsconfig.spec.json",
"karmaConfig": "lib/testing/karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"lib/testing/tsconfig.lib.json",
"lib/testing/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
}
}
}
}
},
"defaultProject": "dist",
"schematics": {
"@schematics/angular:component": {
"prefix": "app",
"styleext": "scss"
},
"@schematics/angular:directive": {
"prefix": "app"
}
}
"defaultProject": "dist"
}
+6
View File
@@ -44,6 +44,12 @@ install:
else
(cd scripts && sh npm-build-all.sh -t "core" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU process-service-cloud (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "process-services-cloud" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "process-services-cloud" -vjsapi alpha|| exit 1)
)
# - if %COMPONENT_NAME% EQU ng2-demo-shell (
# if %APPVEYOR_REPO_BRANCH EQU master
# (cd scripts && sh start.sh -t -ss || exit 1)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

+141
View File
@@ -0,0 +1,141 @@
{
"version": "0.1",
"language": "en",
"words": [
"activiti",
"CSRF",
"glyphicon",
"sharedlinks",
"Redistributable",
"fullscreen",
"sidenav",
"injectable",
"truthy",
"cryptodoc",
"mysites",
"afts",
"classlist",
"folderlink",
"filelink",
"datatable",
"repo",
"snackbar",
"promisify",
"xdescribe",
"unfavorite",
"devtools",
"gitter",
"jira",
"markdownlint",
"uploader",
"nginx",
"docx",
"SOLR",
"unshare",
"validators",
"guid",
"polyfill",
"polyfills",
"jsonp",
"hammerjs",
"pdfjs",
"xpath",
"tooltip",
"tooltips",
"unindent",
"exif",
"cardview",
"webm",
"keycodes",
"adhoc",
"swimlanes",
"datepicker",
"waypoints",
"waypoint",
"hotfix",
"typeahead",
"gridster",
"Collapsable",
"rowspan",
"typeahead",
"tabindex",
"Arial",
"swsdp",
"Datetimepicker",
"mimetype",
"multiselect",
"arrowup",
"arrowdown",
"dialpad",
"backend",
"Unclaim",
"transclusion",
"transcluded",
"auditable",
"taggable",
"datarow",
"datacolumn",
"textitem",
"boolitem",
"mapitem",
"selectitem",
"keyvaluepairsitem",
"boolitem",
"baseitem",
"checkboxes",
"tasklist",
"dateitem",
"webscript",
"minlength",
"doclib",
"fullname",
"firstname",
"lastname",
"userinfo",
"qshare",
"imgpreview",
"AUTHTYPE",
"ECMHOST",
"BPMHOST",
"OAUTHCONFIG",
"CONTEXTROOTBPM",
"CONTEXTROOTECM",
"DISABLECSRF",
"printf",
"mincount",
"listgrid",
"filesize",
"Theming",
"quicktime",
"Promise",
"Examinate",
"highlightable",
"Droppable",
"UPDATEPERMISSIONS",
"Whitespaces",
"keyvaluepairs",
"datetimeitem",
"floatitem",
"intitem",
"DDTHH",
"MLTEXT",
"penta",
"BASESHAREURL",
"hardend",
"filedata",
"uncheck"
],
"dictionaries": [
"html",
"en-gb",
"en_US",
"softwareTerms"
],
"ignorePaths": [
"lib/{content-services,core,extensions,insights,process-services}/**/*.spec.ts",
"lib/{content-services,core,extensions,insights,process-services}/**/*.mock.ts"
],
"ignoreRegExpList": [
"(\"|'|`)((?:\\\\1|(?:(?!\\1).))*)\\1"
]
}
+5 -5
View File
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -15,13 +15,13 @@
* limitations under the License.
*/
import { MyappPage } from './app.po';
import { MyAppPage } from './app.po';
describe('myapp App', () => {
let page: MyappPage;
describe('MyApp App', () => {
let page: MyAppPage;
beforeEach(() => {
page = new MyappPage();
page = new MyAppPage();
});
it('should display toolbar', () => {
+2 -2
View File
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -17,7 +17,7 @@
import { browser, element, by } from 'protractor';
export class MyappPage {
export class MyAppPage {
navigateTo() {
return browser.get('/');
}
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "Alfresco-ADF-Angular-Demo",
"description": "Demo shell for Alfresco Angular components",
"version": "2.6.0-beta7",
"version": "3.0.0",
"author": "Alfresco Software, Ltd.",
"repository": {
"type": "git",
+1 -1
View File
@@ -15,7 +15,7 @@ module.exports = {
}
},
"/activiti-app": {
"target": "http://localhost:9999",
"target": "http://localhost:8080",
"secure": false,
"pathRewrite": {
"^/activiti-app/activiti-app": ""
+87 -8
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Löschen zulassen",
"SHOW_COMMENTS": "Anmerkungen zu Versionen einblenden",
"ALLOW_DOWNLOAD": "Download zulassen",
"ALLOW_DOWNLOAD": "Herunterladen von Version aktivieren",
"READ_ONLY": "Schreibgeschützt",
"COMMENTS": "Kommentare anzeigen"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "Benachrichtigungen",
"TASK_LIST": "Aufgabenliste",
"PROCESS_LIST": "Prozessliste",
"PROCESS_CLOUD": "Prozess-Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Anmelden",
"CUSTOM_SOURCES": "Benutzerdefinierte Quellen",
"DATATABLE": "DataTable",
"DATATABLE_LAZY": "DataTable (Lazy)",
"DOCUMENT_LIST": "Dokumentliste",
"TEMPLATE": "Mustervorlage",
"FORM": "Formular",
"FORM_LIST": "Formularliste",
"FORM_LOADING": "Formular laden",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "Suchbegriff",
"SEARCH_CREATED_BY": "Erstellt von",
"SEARCH_SERVICE_APPROACH": "Aktivieren Sie diese Option, um die Eingabeeigenschaft zu deaktivieren und die Nutzung des Services zu konfigurieren",
"HEADER_DATA": "Headerdaten"
"HEADER_DATA": "Headerdaten",
"TREE_VIEW": "Strukturansicht",
"ICONS": "Symbole",
"PEOPLE_GROUPS_CLOUD": "Personen-/Gruppen-Cloud",
"PEOPLE_CLOUD": "Personen-Cloud-Komponente",
"GROUPS_CLOUD": "Gruppen-Cloud-Komponente"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Mehrfachauswahl (mit Kontrollkästchen)",
"THUMBNAILS": "Miniaturansichten aktivieren",
"ALLOW_DROP_FILES": "Ablegen von Dateien in Ordner aktivieren",
"MULTIPLE_FILE_UPLOAD": "Mehrere Dateien hochladen",
"FOLDER_UPLOAD": "Ordner hochladen",
"CUSTOM_FILTER": "Filter für benutzerdefinierte Erweiterungen",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "Namen anzeigen",
"IS_LOCKED": "Sperren",
"TAG": "Tag",
"NODE_ID": "Node-ID",
"CREATED_BY": "Erstellt von",
"CREATED_ON": "Erstellt am",
"CREATED": "Erstellt",
@@ -137,10 +147,12 @@
"THEME": "Farbschema auswählen",
"SHOW_VERSION": "Version anzeigen",
"HIDE_VERSION": "Version ausblenden",
"LISTVIEW": "Listenansichtsmodus"
"LISTVIEW": "Listenansichtsmodus",
"CREATE_LIBRARY": "Bibliothek erstellen"
},
"ACTIONS": {
"VERSIONS": "Versionen verwalten",
"LOCK": "Sperren",
"METADATA": "Info",
"DOWNLOAD": "Herunterladen",
"PERMISSION": "Berechtigung",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "Aufgaben-Audit-Protokoll",
"TASK-SHOW-HEADER": "Detailsheader anzeigen"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Anwendung",
"SETTINGS_TAB": "Einstellungen"
},
"FORM-LIST": {
"STORE": "Speichern",
"RESTORE": "Wiederherstellen"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Ergebnisse durchsuchen",
"NO_RESULT": "Keine Ergebnisse gefunden"
"NO_RESULT": "Keine Ergebnisse gefunden",
"FACET_FIELDS": {
"TYPE": "1:Typ",
"SIZE": "2:Größe",
"CREATOR": "3:Erstellt von",
"MODIFIER": "4:Bearbeitet von",
"CREATED": "5:Erstellt am"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Meine Facet-Abfragen",
"CREATED_THIS_YEAR": "1.Dieses Jahr erstellt",
"MIMETYPE": "2.Typ: HTML",
"XTRASMALL": "3.Größe: sehr klein",
"SMALL": "4.Größe: klein",
"MEDIUM": "5.Größe: mittel",
"LARGE": "6.Größe: groß",
"XTRALARGE": "7.Größe: sehr groß",
"XXTRALARGE": "8.Größe: extrem groß"
}
},
"SOCIAL": {
"LIKE": "Like-Komponente",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein",
"NUMBER_TYPE_ERROR": "Wert muss Zahl sein"
"NUMBER_TYPE_ERROR": "Wert muss Zahl sein",
"NUMBER_GREATER_THAN": "Wert muss größer oder gleich {{ value }} sein"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Startseite"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein",
"NUMBER_GREATER_THAN": "Wert muss größer oder gleich {{ value }} sein"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 1",
"GROUP-TITLE2-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 2"
"GROUP-TITLE2-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS-Datenträger voll",
"DESCRIPTION": "Inhalt übersteigt die für das Netzwerk oder System konfigurierte Gesamtspeicherbegrenzung",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Zurück zur Startseite"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Ihren Filter anpassen"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Ihren Filter anpassen"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Einzeln",
"MULTI": "Mehrfach",
"PRESELECTED_VALUE": "Vorausgewählter Wert"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Name",
"VERSION": "Version",
"VENDOR": "Hersteller",
"LICENSE": "Lizenz",
"RUNTIME": "Laufzeit",
"DESCRIPTION": "Beschreibung"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Mehrfachauswahl",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Auswahlmodus"
}
}
+90 -9
View File
@@ -21,7 +21,6 @@
"SHOW_COMMENTS": "Show comments on versions",
"ALLOW_DOWNLOAD": "Enable version download",
"READ_ONLY": "Read-only",
"ALLOW_DOWNLOAD": "Allow Download",
"COMMENTS": "Show comments"
},
"PERSONAL-FILES": "Personal Files",
@@ -62,12 +61,15 @@
"NOTIFICATIONS": "Notifications",
"TASK_LIST": "Task List",
"PROCESS_LIST": "Process List",
"PROCESS_CLOUD": "Process Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Custom Sources",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Lazy)",
"DOCUMENT_LIST": "Document List",
"TEMPLATE": "Template",
"FORM": "Form",
"FORM_LIST": "Form List",
"FORM_LOADING": "Form Loading",
@@ -81,12 +83,16 @@
"OVERLAY_VIEWER": "Overlay Viewer",
"ABOUT": "About",
"SEARCH": "Extended Search",
"NOTIFICATIONS": "Notifications",
"EXTENDED_SEARCH_QUERY_BODY": "Extended Search with Query Body",
"WORD_TO_SEARCH": "Search Word",
"SEARCH_CREATED_BY": "Created By",
"SEARCH_SERVICE_APPROACH": "Check this to disable the input property and configure using the service",
"HEADER_DATA": "Header Data"
"HEADER_DATA": "Header Data",
"TREE_VIEW": "Tree View",
"ICONS": "Icons",
"PEOPLE_GROUPS_CLOUD": "People/Group Cloud",
"PEOPLE_CLOUD": "People Cloud Component",
"GROUPS_CLOUD": "Groups Cloud Component"
},
"TRASHCAN": {
"ACTIONS": {
@@ -102,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multiselect (with checkboxes)",
"THUMBNAILS": "Enable Thumbnails",
"ALLOW_DROP_FILES": "Enable Drop Files in a folder",
"MULTIPLE_FILE_UPLOAD": "Multiple File Upload",
"FOLDER_UPLOAD": "Folder upload",
"CUSTOM_FILTER": "Custom extensions filter",
@@ -140,10 +147,12 @@
"THEME": "Select a theme",
"SHOW_VERSION": "Show version",
"HIDE_VERSION": "Hide version",
"LISTVIEW": "List view mode"
"LISTVIEW": "List view mode",
"CREATE_LIBRARY": "Create Library"
},
"ACTIONS": {
"VERSIONS": "Manage versions",
"LOCK": "Lock",
"METADATA": "Info",
"DOWNLOAD": "Download",
"PERMISSION": "Permission",
@@ -183,6 +192,10 @@
"TASK-AUDIT-LOG": "Task Audit log",
"TASK-SHOW-HEADER": "Show details header"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "App",
"SETTINGS_TAB": "Settings"
},
"FORM-LIST": {
"STORE": "Store",
"RESTORE": "Restore"
@@ -204,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Search results",
"NO_RESULT": "No results found"
"NO_RESULT": "No results found",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Size",
"CREATOR": "3:Creator",
"MODIFIER": "4:Modifier",
"CREATED": "5:Created"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "My facet queries",
"CREATED_THIS_YEAR": "1.Created This Year",
"MIMETYPE": "2.Type: HTML",
"XTRASMALL": "3.Size: xtra small",
"SMALL": "4.Size: small",
"MEDIUM": "5.Size: medium",
"LARGE": "6.Size: large",
"XTRALARGE": "7.Size: xtra large",
"XXTRALARGE": "8.Size: XX large"
}
},
"SOCIAL": {
"LIKE": "Like component",
@@ -223,16 +254,66 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insert App ID",
"APP_ID_TYPE_ERROR": "App ID must be a number",
"NUMBER_TYPE_ERROR": "Value must be a number"
"NUMBER_TYPE_ERROR": "Value must be a number",
"NUMBER_GREATER_THAN": "Value must be greater than or equal to {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Starting page"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Insert App ID",
"APP_ID_TYPE_ERROR": "App ID must be a number"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insert App ID",
"APP_ID_TYPE_ERROR": "App ID must be a number",
"NUMBER_GREATER_THAN": "Value must be greater than or equal to {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION ONE",
"GROUP-TITLE2-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION TWO"
"GROUP-TITLE2-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION TWO",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS Disk full",
"DESCRIPTION": "Content exceeds overall storage quota limit configured for the network or system",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Back to home"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Customise your filter"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Customise your filter"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Single Selection",
"MULTI": "Multiple Selection",
"PRESELECTED_VALUE": "Preselect: ",
"ROLE": "Roles: ",
"APP_NAME": "Aplication Name",
"APP_FILTER_MODE": "Filter by application name",
"ROLE_FILTER_MODE": "Filter by role"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Name",
"VERSION": "Version",
"VENDOR": "Vendor",
"LICENSE": "License",
"RUNTIME": "Runtime",
"DESCRIPTION": "Description"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multiselection",
"TESTING_MODE": "Testing Mode",
"SELECTION_MODE": "Selection Mode",
"TASK_DETAILS_REDIRECTION": "Display task details on task click"
}
}
+87 -8
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir eliminar",
"SHOW_COMMENTS": "Mostrar comentarios en las versiones",
"ALLOW_DOWNLOAD": "Permitir descarga",
"ALLOW_DOWNLOAD": "Habilitar descarga de versión",
"READ_ONLY": "Solo lectura",
"COMMENTS": "Mostrar comentarios"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "Notificaciones",
"TASK_LIST": "Lista de tareas",
"PROCESS_LIST": "Lista de procesos",
"PROCESS_CLOUD": "Procesos en la nube",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Iniciar sesión",
"CUSTOM_SOURCES": "Fuentes personalizadas",
"DATATABLE": "Tabla de datos",
"DATATABLE_LAZY": "Tabla de datos (diferida)",
"DOCUMENT_LIST": "Lista de documentos",
"TEMPLATE": "Plantilla",
"FORM": "Formulario",
"FORM_LIST": "Lista de formularios",
"FORM_LOADING": "Carga de formulario",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "Buscar palabra",
"SEARCH_CREATED_BY": "Creado por",
"SEARCH_SERVICE_APPROACH": "Marque esto para desactivar la propiedad de entrada y configurar el uso del servicio",
"HEADER_DATA": "Datos de encabezado"
"HEADER_DATA": "Datos de encabezado",
"TREE_VIEW": "Vista de árbol",
"ICONS": "Iconos",
"PEOPLE_GROUPS_CLOUD": "Personas/Grupos en la nube",
"PEOPLE_CLOUD": "Componente en la nube de personas",
"GROUPS_CLOUD": "Componente en la nube de grupos"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Selección múltiple (con casillas)",
"THUMBNAILS": "Habilitar miniaturas",
"ALLOW_DROP_FILES": "Habilitar arrastre de ficheros en una carpeta",
"MULTIPLE_FILE_UPLOAD": "Carga de varios ficheros",
"FOLDER_UPLOAD": "Carga de carpetas",
"CUSTOM_FILTER": "Filtro de extensiones personalizado",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "Nombre a mostrar",
"IS_LOCKED": "Bloquear",
"TAG": "Etiqueta",
"NODE_ID": "ID de nodo",
"CREATED_BY": "Creado por",
"CREATED_ON": "Creado",
"CREATED": "Creado",
@@ -137,10 +147,12 @@
"THEME": "Seleccionar un tema",
"SHOW_VERSION": "Mostrar versión",
"HIDE_VERSION": "Ocultar versión",
"LISTVIEW": "Modo de vista de lista"
"LISTVIEW": "Modo de vista de lista",
"CREATE_LIBRARY": "Crear biblioteca"
},
"ACTIONS": {
"VERSIONS": "Gestionar versiones",
"LOCK": "Bloquear",
"METADATA": "Información",
"DOWNLOAD": "Descargar",
"PERMISSION": "Permiso",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "Registro de auditoría de tareas",
"TASK-SHOW-HEADER": "Mostrar encabezado de detalles"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Aplicación",
"SETTINGS_TAB": "Configuración"
},
"FORM-LIST": {
"STORE": "Almacenar",
"RESTORE": "Restaurar"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Resultados de la búsqueda",
"NO_RESULT": "Ningún resultado encontrado"
"NO_RESULT": "Ningún resultado encontrado",
"FACET_FIELDS": {
"TYPE": "1:Tipo",
"SIZE": "2:Tamaño",
"CREATOR": "3:Creador",
"MODIFIER": "4:Modificador",
"CREATED": "5:Creados"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mis consultas de faceta",
"CREATED_THIS_YEAR": "1.Creadas este año",
"MIMETYPE": "2.Tipo: HTML",
"XTRASMALL": "3.Tamaño: extrapequeño",
"SMALL": "4.Tamaño: pequeño",
"MEDIUM": "5.Tamaño: mediano",
"LARGE": "6.Tamaño: grande",
"XTRALARGE": "7.Tamaño: extragrande",
"XXTRALARGE": "8.Tamaño: extraextragrande"
}
},
"SOCIAL": {
"LIKE": "Componente Me gusta",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número",
"NUMBER_TYPE_ERROR": "El valor debe ser un número"
"NUMBER_TYPE_ERROR": "El valor debe ser un número",
"NUMBER_GREATER_THAN": "El valor debe ser igual o superior a {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Inicio de página"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número",
"NUMBER_GREATER_THAN": "El valor debe ser igual o superior a {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Traducción de título personalizado 1",
"GROUP-TITLE2-TRANSLATION-KEY": "Traducción de título personalizado 2"
"GROUP-TITLE2-TRANSLATION-KEY": "Traducción de título personalizado 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "Disco ACS lleno",
"DESCRIPTION": "El contenido supera el límite de la cuota de almacenamiento general configurado para la red o sistema.",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Volver al inicio"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Personalice su filtro"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Personalice su filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Individual",
"MULTI": "Múltiple",
"PRESELECTED_VALUE": "Valor preseleccionado"
},
"ABOUT": {
"TITLE": "Complementos",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Nombre",
"VERSION": "Versión",
"VENDOR": "Proveedor",
"LICENSE": "Licencia",
"RUNTIME": "Tiempo de ejecución",
"DESCRIPTION": "Descripción"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Selección múltiple",
"TESTING_MODE": "Modo de prueba",
"SELECTION_MODE": "Modo de selección"
}
}
+87 -8
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Autoriser la suppression",
"SHOW_COMMENTS": "Afficher les commentaires sur les versions",
"ALLOW_DOWNLOAD": "Autoriser le téléchargement",
"ALLOW_DOWNLOAD": "Activer le téléchargement de la version",
"READ_ONLY": "Lecture seule",
"COMMENTS": "Afficher les commentaires"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "Notifications",
"TASK_LIST": "Liste des tâches",
"PROCESS_LIST": "Liste des processus",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Connexion",
"CUSTOM_SOURCES": "Sources personnalisées",
"DATATABLE": "Table de données",
"DATATABLE_LAZY": "Table de données (différé)",
"DOCUMENT_LIST": "Liste de documents",
"TEMPLATE": "Modèle",
"FORM": "Formulaire",
"FORM_LIST": "Liste de formulaires",
"FORM_LOADING": "Chargement du formulaire",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "Mot recherché",
"SEARCH_CREATED_BY": "Créé par",
"SEARCH_SERVICE_APPROACH": "Cochez cette option pour désactiver la propriété d'entrée et configurer à partir du service",
"HEADER_DATA": "Données d'en-tête"
"HEADER_DATA": "Données d'en-tête",
"TREE_VIEW": "Arborescence",
"ICONS": "Icônes",
"PEOPLE_GROUPS_CLOUD": "Cloud des personnes/groupes",
"PEOPLE_CLOUD": "Composant cloud des personnes",
"GROUPS_CLOUD": "Composant cloud des groupes"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Sélection multiple (avec cases à cocher)",
"THUMBNAILS": "Activer les miniatures",
"ALLOW_DROP_FILES": "Activer l'option déposer des fichiers dans un dossier",
"MULTIPLE_FILE_UPLOAD": "Importation de fichiers multiples",
"FOLDER_UPLOAD": "Importation de dossier",
"CUSTOM_FILTER": "Filtre d'extensions personnalisées",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "Nom affiché",
"IS_LOCKED": "Verrouiller",
"TAG": "Tag",
"NODE_ID": "ID du nœud",
"CREATED_BY": "Créé par",
"CREATED_ON": "Créé le",
"CREATED": "Créé",
@@ -137,10 +147,12 @@
"THEME": "Sélectionner un thème",
"SHOW_VERSION": "Afficher la version",
"HIDE_VERSION": "Masquer la version",
"LISTVIEW": "Mode Liste"
"LISTVIEW": "Mode Liste",
"CREATE_LIBRARY": "Créer une Bibliothèque"
},
"ACTIONS": {
"VERSIONS": "Gérer les versions",
"LOCK": "Verrouiller",
"METADATA": "Informations",
"DOWNLOAD": "Télécharger",
"PERMISSION": "Droit d'accès",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "Journal d'audit des tâches",
"TASK-SHOW-HEADER": "Afficher l'en-tête de détail"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Application",
"SETTINGS_TAB": "Paramètres"
},
"FORM-LIST": {
"STORE": "Stocker",
"RESTORE": "Restaurer"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Résultats de la recherche",
"NO_RESULT": "Aucun résultat trouvé"
"NO_RESULT": "Aucun résultat trouvé",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Taille",
"CREATOR": "3:Créateur",
"MODIFIER": "4:Modificateur",
"CREATED": "5:Créé"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mes recherches avec filtre",
"CREATED_THIS_YEAR": "1.Créé cette année",
"MIMETYPE": "2.Type : HTML",
"XTRASMALL": "3.Taille : très petit",
"SMALL": "4.Taille : petit",
"MEDIUM": "5.Taille : moyen",
"LARGE": "6.Taille : gros",
"XTRALARGE": "7.Taille : très gros",
"XXTRALARGE": "8.Taille : énorme"
}
},
"SOCIAL": {
"LIKE": "Composant J'aime",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro",
"NUMBER_TYPE_ERROR": "La valeur doit être un numéro"
"NUMBER_TYPE_ERROR": "La valeur doit être un numéro",
"NUMBER_GREATER_THAN": "La valeur doit être égale ou supérieure à {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Démarrage de la page"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro",
"NUMBER_GREATER_THAN": "La valeur doit être égale ou supérieure à {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Titre personnalisé traduction un",
"GROUP-TITLE2-TRANSLATION-KEY": "Titre personnalisé traduction deux"
"GROUP-TITLE2-TRANSLATION-KEY": "Titre personnalisé traduction deux",
"ERROR_CONTENT": {
"507": {
"TITLE": "Disque ACS plein",
"DESCRIPTION": "Le contenu dépasse le quota maximum de stockage configuré pour le réseau ou système",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Retour à l'accueil"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "Process List Cloud Demo",
"CUSTOMIZE_FILTERS": "Personnaliser votre filtre"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Personnaliser votre filtre"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Simple",
"MULTI": "Multi",
"PRESELECTED_VALUE": "Valeur présélectionnée"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Nom",
"VERSION": "Version",
"VENDOR": "Fournisseur",
"LICENSE": "Licence",
"RUNTIME": "Java Runtime",
"DESCRIPTION": "Description"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multisélection",
"TESTING_MODE": "Mode de test",
"SELECTION_MODE": "Mode de sélection"
}
}
+87 -8
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Consenti eliminazione",
"SHOW_COMMENTS": "Mostra commenti sulle versioni",
"ALLOW_DOWNLOAD": "Abilita download",
"ALLOW_DOWNLOAD": "Abilita download versioni",
"READ_ONLY": "Sola lettura",
"COMMENTS": "Mostra commenti"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "Notifiche",
"TASK_LIST": "Elenco attività",
"PROCESS_LIST": "Elenco processi",
"PROCESS_CLOUD": "Cloud processo",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Fonti personalizzate",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Caricamento dati (ottimizzato)",
"DOCUMENT_LIST": "Elenco documenti",
"TEMPLATE": "Modello",
"FORM": "Modulo",
"FORM_LIST": "Elenco moduli",
"FORM_LOADING": "Caricamento modulo",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "Termine di ricerca",
"SEARCH_CREATED_BY": "Creato da",
"SEARCH_SERVICE_APPROACH": "Selezionare per disattivare la proprietà di input ed eseguire la configurazione utilizzando il servizio",
"HEADER_DATA": "Dati intestazione"
"HEADER_DATA": "Dati intestazione",
"TREE_VIEW": "Vista struttura",
"ICONS": "Icone",
"PEOPLE_GROUPS_CLOUD": "Cloud persone/gruppi",
"PEOPLE_CLOUD": "Componente Cloud persone",
"GROUPS_CLOUD": "Componente Cloud gruppi"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Selezione multipla (con caselle di spunta)",
"THUMBNAILS": "Abilita anteprime",
"ALLOW_DROP_FILES": "Abilita trascinamento di file in una cartella",
"MULTIPLE_FILE_UPLOAD": "Caricamento di file multipli",
"FOLDER_UPLOAD": "Caricamento cartelle",
"CUSTOM_FILTER": "Filtro estensioni personalizzato",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "Nome visualizzato",
"IS_LOCKED": "Blocca",
"TAG": "Tag",
"NODE_ID": "ID nodo",
"CREATED_BY": "Creato da",
"CREATED_ON": "Creato il",
"CREATED": "Creato",
@@ -137,10 +147,12 @@
"THEME": "Seleziona un tema",
"SHOW_VERSION": "Mostra versione",
"HIDE_VERSION": "Nascondi versione",
"LISTVIEW": "Modalità vista elenco"
"LISTVIEW": "Modalità vista elenco",
"CREATE_LIBRARY": "Crea libreria"
},
"ACTIONS": {
"VERSIONS": "Gestione versioni",
"LOCK": "Blocca",
"METADATA": "Informazioni",
"DOWNLOAD": "Download",
"PERMISSION": "Permesso",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "Registro di audit compito",
"TASK-SHOW-HEADER": "Mostra intestazione dettagli"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Applicazione",
"SETTINGS_TAB": "Impostazioni"
},
"FORM-LIST": {
"STORE": "Memorizza",
"RESTORE": "Ripristina"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Risultati della ricerca",
"NO_RESULT": "Nessun risultato trovato"
"NO_RESULT": "Nessun risultato trovato",
"FACET_FIELDS": {
"TYPE": "1. Tipo",
"SIZE": "2. Dimensioni",
"CREATOR": "3. Autore",
"MODIFIER": "4. Modificatore",
"CREATED": "5. Creati"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Le mie query filtri",
"CREATED_THIS_YEAR": "1. Creati quest'anno",
"MIMETYPE": "2.Tipo: HTML",
"XTRASMALL": "3. Dimensioni: extra piccolo",
"SMALL": "4. Dimensioni: piccolo",
"MEDIUM": "5. Dimensioni: medio",
"LARGE": "6. Dimensioni: grande",
"XTRALARGE": "7. Dimensioni: extra grande",
"XXTRALARGE": "8. Dimensioni: extra extra grande"
}
},
"SOCIAL": {
"LIKE": "Componente Like",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero",
"NUMBER_TYPE_ERROR": "Il valore deve essere un numero"
"NUMBER_TYPE_ERROR": "Il valore deve essere un numero",
"NUMBER_GREATER_THAN": "Il valore deve essere maggiore o uguale a {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Inizia da pagina"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero",
"NUMBER_GREATER_THAN": "Il valore deve essere maggiore o uguale a {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Custom Title Translation One",
"GROUP-TITLE2-TRANSLATION-KEY": "Custom Title Translation Two"
"GROUP-TITLE2-TRANSLATION-KEY": "Custom Title Translation Two",
"ERROR_CONTENT": {
"507": {
"TITLE": "Dico ACS pieno",
"DESCRIPTION": "Il contenuto supera il limite di archiviazione complessivo configurato per la rete o il sistema",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Torna alla home"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "DEMO CLOUD ELENCO PROCESSI",
"CUSTOMIZE_FILTERS": "Personalizza il filtro"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Personalizza il filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Singolo",
"MULTI": "Multiplo",
"PRESELECTED_VALUE": "Valore preselezionato"
},
"ABOUT": {
"TITLE": "Plug-in",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Nome",
"VERSION": "Versione",
"VENDOR": "Fornitore",
"LICENSE": "Licenza",
"RUNTIME": "Runtime",
"DESCRIPTION": "Descrizione"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Selezione multipla",
"TESTING_MODE": "Modalità di test",
"SELECTION_MODE": "Modalità di selezione"
}
}
+87 -8
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "削除を許可する",
"SHOW_COMMENTS": "バージョンに関するコメントを表示",
"ALLOW_DOWNLOAD": "ダウンロードを許可する",
"ALLOW_DOWNLOAD": "バージョンのダウンロードを許可",
"READ_ONLY": "読取り専用",
"COMMENTS": "コメントを表示する"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "通知",
"TASK_LIST": "タスクリスト",
"PROCESS_LIST": "プロセスリスト",
"PROCESS_CLOUD": "Process Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "ログイン",
"CUSTOM_SOURCES": "カスタムソース",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (遅延読み込み)",
"DOCUMENT_LIST": "文書リスト",
"TEMPLATE": "テンプレート",
"FORM": "フォーム",
"FORM_LIST": "フォームリスト",
"FORM_LOADING": "フォームを読み込んでいます",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "語句の検索",
"SEARCH_CREATED_BY": "作成者",
"SEARCH_SERVICE_APPROACH": "入力プロパティを無効にし、サービスを使って設定する場合は、このチェックボックスをオンにします",
"HEADER_DATA": "ヘッダーの日付"
"HEADER_DATA": "ヘッダーの日付",
"TREE_VIEW": "ツリービュー",
"ICONS": "アイコン",
"PEOPLE_GROUPS_CLOUD": "メンバー/グループのクラウド",
"PEOPLE_CLOUD": "メンバーのクラウドコンポーネント",
"GROUPS_CLOUD": "グループのクラウドコンポーネント"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "複数選択 (チェックボックスを使用)",
"THUMBNAILS": "サムネイルを有効にする",
"ALLOW_DROP_FILES": "フォルダへのドラッグ&ドロップを許可",
"MULTIPLE_FILE_UPLOAD": "複数ファイルのアップロード",
"FOLDER_UPLOAD": "フォルダのアップロード",
"CUSTOM_FILTER": "カスタム拡張子フィルタ",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "表示名",
"IS_LOCKED": "ロック",
"TAG": "タグ",
"NODE_ID": "ノード ID",
"CREATED_BY": "作成者",
"CREATED_ON": "作成日",
"CREATED": "作成日",
@@ -137,10 +147,12 @@
"THEME": "テーマを選択してください",
"SHOW_VERSION": "バージョンを表示する",
"HIDE_VERSION": "バージョンを隠す",
"LISTVIEW": "一覧表示モード"
"LISTVIEW": "一覧表示モード",
"CREATE_LIBRARY": "ライブラリの作成"
},
"ACTIONS": {
"VERSIONS": "バージョンの管理",
"LOCK": "ロック",
"METADATA": "情報",
"DOWNLOAD": "ダウンロード",
"PERMISSION": "権限",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "タスクの監査ログ",
"TASK-SHOW-HEADER": "詳細ヘッダーを表示する"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "アプリ",
"SETTINGS_TAB": "設定"
},
"FORM-LIST": {
"STORE": "保存",
"RESTORE": "復元"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "検索結果",
"NO_RESULT": "一致するアイテムはありません"
"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.サイズ: 超特大"
}
},
"SOCIAL": {
"LIKE": "[いいね!] コンポーネント",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入する",
"APP_ID_TYPE_ERROR": "アプリケーション ID は数字でなければなりません",
"NUMBER_TYPE_ERROR": "値は数字でなければなりません"
"NUMBER_TYPE_ERROR": "値は数字でなければなりません",
"NUMBER_GREATER_THAN": "値は {{ value }} 以上でなければなりません"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "開始ページ"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入する",
"APP_ID_TYPE_ERROR": "アプリケーション ID は番号でなければなりません"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入してください",
"APP_ID_TYPE_ERROR": "アプリケーション ID は数字でなければなりません",
"NUMBER_GREATER_THAN": "値は {{ value }} 以上でなければなりません"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "カスタムのタイトル翻訳 1",
"GROUP-TITLE2-TRANSLATION-KEY": "カスタムのタイトル翻訳 2"
"GROUP-TITLE2-TRANSLATION-KEY": "カスタムのタイトル翻訳 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS のディスクがいっぱいです",
"DESCRIPTION": "コンテンツのサイズが、ネットワークまたはシステムに設定されているストレージクォータの上限を超えています。",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "ホームへ戻る"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "フィルタのカスタマイズ"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "フィルタのカスタマイズ"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "1 人",
"MULTI": "複数人",
"PRESELECTED_VALUE": "事前選択値"
},
"ABOUT": {
"TITLE": "プラグイン",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "名前",
"VERSION": "バージョン",
"VENDOR": "ベンダー",
"LICENSE": "ライセンス",
"RUNTIME": "ランタイム",
"DESCRIPTION": "説明"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "複数選択",
"TESTING_MODE": "テストモード",
"SELECTION_MODE": "選択モード"
}
}
+87 -8
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Tillat sletting",
"SHOW_COMMENTS": "Vis kommentarer om versjoner",
"ALLOW_DOWNLOAD": "Tillat nedlasting",
"ALLOW_DOWNLOAD": "Aktiver versjonsnedlasting",
"READ_ONLY": "Skrivebeskyttet",
"COMMENTS": "Vis kommentarer"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "Varsler",
"TASK_LIST": "Oppgaveliste",
"PROCESS_LIST": "Prosessliste",
"PROCESS_CLOUD": "Activiti Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Logg på",
"CUSTOM_SOURCES": "Tilpassede kilder",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatabell (avventende)",
"DOCUMENT_LIST": "Dokumentliste",
"TEMPLATE": "Mal",
"FORM": "Skjema",
"FORM_LIST": "Skjemaliste",
"FORM_LOADING": "Skjema lastes inn",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "Søkeord",
"SEARCH_CREATED_BY": "Opprettet av",
"SEARCH_SERVICE_APPROACH": "Velg dette for å deaktivere inndataegenskapen og konfigurere ved hjelp av tjenesten",
"HEADER_DATA": "Overskriftsdata"
"HEADER_DATA": "Overskriftsdata",
"TREE_VIEW": "Trevisning",
"ICONS": "Ikoner",
"PEOPLE_GROUPS_CLOUD": "Person-/gruppesky",
"PEOPLE_CLOUD": "Personsky-komponent",
"GROUPS_CLOUD": "Gruppesky-kompontent"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multivalg (med avskrysningsbokser)",
"THUMBNAILS": "Aktiver miniatyrbilder",
"ALLOW_DROP_FILES": "Aktiver Slipp filer i en mappe",
"MULTIPLE_FILE_UPLOAD": "Opplasting av flere filer",
"FOLDER_UPLOAD": "Opplasting av mappe",
"CUSTOM_FILTER": "Tilpasset utvidelsesfilter",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "Vis navn",
"IS_LOCKED": "Lås",
"TAG": "Tagg",
"NODE_ID": "Node-ID",
"CREATED_BY": "Opprettet av",
"CREATED_ON": "Opprettet",
"CREATED": "Opprettet",
@@ -137,10 +147,12 @@
"THEME": "Velg et tema",
"SHOW_VERSION": "Vis versjon",
"HIDE_VERSION": "Skjul versjon",
"LISTVIEW": "Listevisningsmodus"
"LISTVIEW": "Listevisningsmodus",
"CREATE_LIBRARY": "Opprett bibliotek"
},
"ACTIONS": {
"VERSIONS": "Administrer versjoner",
"LOCK": "Lås",
"METADATA": "Info",
"DOWNLOAD": "Last ned",
"PERMISSION": "Tillatelse",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "Oppgaverevisjonslogg",
"TASK-SHOW-HEADER": "Vis detaljoverskrift"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "App",
"SETTINGS_TAB": "Innstillinger"
},
"FORM-LIST": {
"STORE": "Lagre",
"RESTORE": "Gjenopprett"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Søkeresultater",
"NO_RESULT": "Ingen resultater funnet"
"NO_RESULT": "Ingen resultater funnet",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Størrelse",
"CREATOR": "3:Oppretter",
"MODIFIER": "4:Modifikator",
"CREATED": "5:Opprettet"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mine egenskapsspørringer",
"CREATED_THIS_YEAR": "1.Opprettet i år",
"MIMETYPE": "2.Type: HTML",
"XTRASMALL": "3.Størrelse: xtra small",
"SMALL": "4.Størrelse: small",
"MEDIUM": "5.Størrelse: medium",
"LARGE": "6.Størrelse: large",
"XTRALARGE": "7.Størrelse: xtra large",
"XXTRALARGE": "8.Størrelse: XX large"
}
},
"SOCIAL": {
"LIKE": "Like komponent",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
"APP_ID_TYPE_ERROR": "App-ID må være et tall",
"NUMBER_TYPE_ERROR": "Verdien må være et tall"
"NUMBER_TYPE_ERROR": "Verdien må være et tall",
"NUMBER_GREATER_THAN": "Verdien må være høyere enn eller lik {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Starter side"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
"APP_ID_TYPE_ERROR": "App-ID må være et tall"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
"APP_ID_TYPE_ERROR": "App-ID må være et tall",
"NUMBER_GREATER_THAN": "Verdien må være høyere enn eller lik {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Egendefinert tittel, oversettelse én",
"GROUP-TITLE2-TRANSLATION-KEY": "Egendefinert tittel, oversettelse to"
"GROUP-TITLE2-TRANSLATION-KEY": "Egendefinert tittel, oversettelse to",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS-disk er full",
"DESCRIPTION": "Innhold overgår samlet lagringskvotegrense konfigurert for nettverket eller systemet",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Tilbake til startsiden"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Tilpass filteret ditt"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Tilpass filteret ditt"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Enkel",
"MULTI": "Flere",
"PRESELECTED_VALUE": "Forhåndsvalgt verdi"
},
"ABOUT": {
"TITLE": "Plugin-moduler",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Navn",
"VERSION": "Versjon",
"VENDOR": "Leverandør",
"LICENSE": "Lisens",
"RUNTIME": "Kjøretid",
"DESCRIPTION": "Beskrivelse"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Flervalg",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Valgmodus"
}
}
+87 -8
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Verwijderen toestaan",
"SHOW_COMMENTS": "Opmerkingen over versies tonen",
"ALLOW_DOWNLOAD": "Downloaden toestaan",
"ALLOW_DOWNLOAD": "Versiedownload inschakelen",
"READ_ONLY": "Alleen-lezen",
"COMMENTS": "Opmerkingen weergeven"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "Meldingen",
"TASK_LIST": "Lijst met taken",
"PROCESS_LIST": "Lijst met processen",
"PROCESS_CLOUD": "Process Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Aanmelden",
"CUSTOM_SOURCES": "Aangepaste bronnen",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (vertraagd)",
"DOCUMENT_LIST": "Lijst met documenten",
"TEMPLATE": "Sjabloon",
"FORM": "Formulier",
"FORM_LIST": "Formulierlijst",
"FORM_LOADING": "Formulier laden",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "Zoekterm",
"SEARCH_CREATED_BY": "Gemaakt door",
"SEARCH_SERVICE_APPROACH": "Schakel dit in om de invoereigenschap uit te schakelen en om te configureren via de service",
"HEADER_DATA": "Koptekstgegevens"
"HEADER_DATA": "Koptekstgegevens",
"TREE_VIEW": "Structuurweergave",
"ICONS": "Pictogrammen",
"PEOPLE_GROUPS_CLOUD": "Personen-/groepencloud",
"PEOPLE_CLOUD": "Component Personencloud",
"GROUPS_CLOUD": "Component Groepencloud"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multiselect (met selectievakjes)",
"THUMBNAILS": "Miniaturen inschakelen",
"ALLOW_DROP_FILES": "Bestanden neerzetten in een map inschakelen",
"MULTIPLE_FILE_UPLOAD": "Meerdere bestanden uploaden",
"FOLDER_UPLOAD": "Map uploaden",
"CUSTOM_FILTER": "Aangepast extensiefilter",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "Getoonde naam",
"IS_LOCKED": "Vergrendeling",
"TAG": "Tag",
"NODE_ID": "Node-id",
"CREATED_BY": "Gemaakt door",
"CREATED_ON": "Gemaakt op",
"CREATED": "Gemaakt",
@@ -137,10 +147,12 @@
"THEME": "Een thema selecteren",
"SHOW_VERSION": "Versie weergeven",
"HIDE_VERSION": "Versie verbergen",
"LISTVIEW": "Lijstweergavemodus"
"LISTVIEW": "Lijstweergavemodus",
"CREATE_LIBRARY": "Bibliotheek maken"
},
"ACTIONS": {
"VERSIONS": "Versies beheren",
"LOCK": "Vergrendeling",
"METADATA": "Info",
"DOWNLOAD": "Downloaden",
"PERMISSION": "Machtiging",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "Auditlog van taak",
"TASK-SHOW-HEADER": "Detailkoptekst weergeven"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "App",
"SETTINGS_TAB": "Instellingen"
},
"FORM-LIST": {
"STORE": "Opslaan",
"RESTORE": "Herstellen"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Zoekresultaten",
"NO_RESULT": "Geen resultaten gevonden"
"NO_RESULT": "Geen resultaten gevonden",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Grootte",
"CREATOR": "3:Maker",
"MODIFIER": "4:Gewijzigd door",
"CREATED": "5:Gemaakt"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Mijn facetquery's",
"CREATED_THIS_YEAR": "1.Dit jaar gemaakt",
"MIMETYPE": "2.Type: HTML",
"XTRASMALL": "3.Grootte: extra klein",
"SMALL": "4.Grootte: klein",
"MEDIUM": "5.Grootte: middelgroot",
"LARGE": "6.Grootte: groot",
"XTRALARGE": "7.Grootte: extra groot",
"XXTRALARGE": "8.Grootte: XX groot"
}
},
"SOCIAL": {
"LIKE": "'Vind ik leuk'-component",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn",
"NUMBER_TYPE_ERROR": "Waarde moet een getal zijn"
"NUMBER_TYPE_ERROR": "Waarde moet een getal zijn",
"NUMBER_GREATER_THAN": "Waarde moet groter zijn dan of gelijk zijn aan {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Beginpagina"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn",
"NUMBER_GREATER_THAN": "Waarde moet groter zijn dan of gelijk zijn aan {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Aangepaste titel vertaling één",
"GROUP-TITLE2-TRANSLATION-KEY": "Aangepaste titel vertaling twee"
"GROUP-TITLE2-TRANSLATION-KEY": "Aangepaste titel vertaling twee",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS-schijf vol",
"DESCRIPTION": "Content overschrijdt de totale opslaglimiet die is geconfigureerd voor het netwerk of systeem",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Terug naar Home"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Uw filter aanpassen"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Uw filter aanpassen"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Eén",
"MULTI": "Multi",
"PRESELECTED_VALUE": "Vooraf geselecteerde waarde"
},
"ABOUT": {
"TITLE": "Plug-ins",
"TABLE_HEADERS": {
"ID": "Id",
"NAME": "Naam",
"VERSION": "Versie",
"VENDOR": "Leverancier",
"LICENSE": "Licentie",
"RUNTIME": "Runtime",
"DESCRIPTION": "Beschrijving"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Multiselectie",
"TESTING_MODE": "Testmodus",
"SELECTION_MODE": "Selectiemodus"
}
}
+88 -9
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir apagar",
"SHOW_COMMENTS": "Mostrar comentários em versões",
"ALLOW_DOWNLOAD": "Permitir download",
"ALLOW_DOWNLOAD": "Ativar download da versão",
"READ_ONLY": "Somente leitura",
"COMMENTS": "Mostrar comentários"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "Notificações",
"TASK_LIST": "Lista de tarefas",
"PROCESS_LIST": "Lista de processos",
"PROCESS_CLOUD": "Process Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Origens Personalizadas",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Sob demanda)",
"DOCUMENT_LIST": "Lista de Documento",
"TEMPLATE": "Modelo",
"FORM": "Formulário",
"FORM_LIST": "Lista de Formulário",
"FORM_LOADING": "Carregamento de formulário",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "Pesquisar palavras",
"SEARCH_CREATED_BY": "Criado por",
"SEARCH_SERVICE_APPROACH": "Marque essa opção para desativar a inserção e configurar a utilização do serviço",
"HEADER_DATA": "Dados do cabeçalho"
"HEADER_DATA": "Dados do cabeçalho",
"TREE_VIEW": "Exibição em árvore",
"ICONS": "Ícones",
"PEOPLE_GROUPS_CLOUD": "Nuvem de Pessoas/Grupo",
"PEOPLE_CLOUD": "Componente da Nuvem de Pessoas",
"GROUPS_CLOUD": "Componente da Nuvem de Grupos"
},
"TRASHCAN": {
"ACTIONS": {
@@ -99,7 +107,8 @@
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Seleção Múltipla (com caixas de seleção)",
"THUMBNAILS": "Ativar miniaturas",
"THUMBNAILS": "Ativar Miniaturas",
"ALLOW_DROP_FILES": "Ativar Soltar Arquivos em uma pasta",
"MULTIPLE_FILE_UPLOAD": "Carregamento de Vários Arquivos",
"FOLDER_UPLOAD": "Carregamento de Pasta",
"CUSTOM_FILTER": "Filtro de extensões personalizado",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "Nome de exibição",
"IS_LOCKED": "Bloqueio",
"TAG": "Marca",
"NODE_ID": "ID do nó",
"CREATED_BY": "Criado por",
"CREATED_ON": "Criado em",
"CREATED": "Criado",
@@ -137,10 +147,12 @@
"THEME": "Selecionar um tema",
"SHOW_VERSION": "Mostrar versão",
"HIDE_VERSION": "Ocultar versão",
"LISTVIEW": "Modo de exibição em lista"
"LISTVIEW": "Modo de exibição em lista",
"CREATE_LIBRARY": "Criar biblioteca"
},
"ACTIONS": {
"VERSIONS": "Gerenciar versões",
"LOCK": "Bloqueio",
"METADATA": "Informações",
"DOWNLOAD": "Download",
"PERMISSION": "Permissão",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "Log de auditoria de tarefa",
"TASK-SHOW-HEADER": "Mostrar cabeçalho de detalhes"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Aplicativo",
"SETTINGS_TAB": "Configurações"
},
"FORM-LIST": {
"STORE": "Armazenar",
"RESTORE": "Restaurar"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Resultados da pesquisa",
"NO_RESULT": "Nenhum resultado encontrado"
"NO_RESULT": "Nenhum resultado encontrado",
"FACET_FIELDS": {
"TYPE": "1:Tipo",
"SIZE": "2:Tamanho",
"CREATOR": "3:Criador",
"MODIFIER": "4:Modificador",
"CREATED": "5:Criado"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "Minhas consultas de faceta",
"CREATED_THIS_YEAR": "1.Criado este ano",
"MIMETYPE": "2.Tipo: HTML",
"XTRASMALL": "3.Tamanho: muito pequeno",
"SMALL": "4.Tamanho: pequeno",
"MEDIUM": "5.Tamanho: médio",
"LARGE": "6.Tamanho: grande",
"XTRALARGE": "7.Tamanho: muito grande",
"XXTRALARGE": "8.Tamanho: extragrande"
}
},
"SOCIAL": {
"LIKE": "Componente Like",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserir ID do aplicativo",
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número",
"NUMBER_TYPE_ERROR": "O valor deve ser um número"
"NUMBER_TYPE_ERROR": "O valor deve ser um número",
"NUMBER_GREATER_THAN": "O valor deve ser maior ou igual a {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Iniciando a página"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Inserir ID do Aplicativo",
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserir ID do aplicativo",
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número",
"NUMBER_GREATER_THAN": "O valor deve ser maior ou igual a {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Tradução um de título personalizado",
"GROUP-TITLE2-TRANSLATION-KEY": "Tradução dois de título personalizado"
"GROUP-TITLE2-TRANSLATION-KEY": "Tradução dois de título personalizado",
"ERROR_CONTENT": {
"507": {
"TITLE": "Disco ACS cheio",
"DESCRIPTION": "O conteúdo excede o limite de armazenamento geral configurado para a rede ou o sistema",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Voltar para a página inicial"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Personalizar seu filtro"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Personalizar seu filtro"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Único",
"MULTI": "Múltiplo",
"PRESELECTED_VALUE": "Valor pré-selecionado"
},
"ABOUT": {
"TITLE": "Plugins",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "Nome",
"VERSION": "Versão",
"VENDOR": "Fornecedor",
"LICENSE": "Licença",
"RUNTIME": "Tempo de execução",
"DESCRIPTION": "Descrição"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Seleção Múltipla",
"TESTING_MODE": "Modo de Teste",
"SELECTION_MODE": "Modo de Seleção"
}
}
+89 -10
View File
@@ -7,7 +7,7 @@
"VERSIONS": "Версии"
},
"HOME": {
"TITLE": "Компоненты Angular для Alfresco",
"TITLE": "Угловые компоненты для Alfresco",
"DOCUMENTATION": "Документация"
},
"LOGOUT": {
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Разрешить удаление",
"SHOW_COMMENTS": "Показать комментарии к версиям",
"ALLOW_DOWNLOAD": "Разрешить загрузку",
"ALLOW_DOWNLOAD": "Включить загрузку версий",
"READ_ONLY": "Только чтение",
"COMMENTS": "Показать комментарии"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "Оповещения",
"TASK_LIST": "Список задач",
"PROCESS_LIST": "Список процессов",
"PROCESS_CLOUD": "Процесс в облаке",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Войти",
"CUSTOM_SOURCES": "Пользовательские источники",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Таблица данных (частичная загрузка)",
"DOCUMENT_LIST": "Список документов",
"TEMPLATE": "Шаблон",
"FORM": "Форма",
"FORM_LIST": "Список форм",
"FORM_LOADING": "Загрузка формы",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "Искать слово",
"SEARCH_CREATED_BY": "Создано пользователем",
"SEARCH_SERVICE_APPROACH": "Установите флажок, чтобы отключить свойство ввода и настроить, используя службу.",
"HEADER_DATA": "Данные заголовка"
"HEADER_DATA": "Данные заголовка",
"TREE_VIEW": "Иерархическое представление",
"ICONS": "Значки",
"PEOPLE_GROUPS_CLOUD": "Облако пользователей/групп",
"PEOPLE_CLOUD": "Компонент облака «Пользователи»",
"GROUPS_CLOUD": "Компонент облака «Группы»"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Выбор нескольких вариантов (с флажками)",
"THUMBNAILS": "Включить эскизы",
"ALLOW_DROP_FILES": "Включить перетаскивание файлов в папку",
"MULTIPLE_FILE_UPLOAD": "Загрузка нескольких файлов",
"FOLDER_UPLOAD": "Загрузка папки",
"CUSTOM_FILTER": "Пользовательский фильтр расширений",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "Отображаемое имя",
"IS_LOCKED": "Блокировка",
"TAG": "Метка",
"NODE_ID": "Идентификатор узла",
"CREATED_BY": "Создано пользователем",
"CREATED_ON": "Дата создания",
"CREATED": "Создано",
@@ -137,10 +147,12 @@
"THEME": "Выберите тему",
"SHOW_VERSION": "Показать версию",
"HIDE_VERSION": "Скрыть версию",
"LISTVIEW": "Режим просмотра списка"
"LISTVIEW": "Режим просмотра списка",
"CREATE_LIBRARY": "Создание библиотеки"
},
"ACTIONS": {
"VERSIONS": "Управление версиями",
"LOCK": "Блокировка",
"METADATA": "Информация",
"DOWNLOAD": "Скачать",
"PERMISSION": "Право",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "Журнал проверки задачи",
"TASK-SHOW-HEADER": "Показать подробности заголовка"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "Приложение",
"SETTINGS_TAB": "Параметры"
},
"FORM-LIST": {
"STORE": "Хранилище",
"RESTORE": "Восстановить"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "Результаты поиска",
"NO_RESULT": "Результаты не найдены"
"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. Размер: огромный"
}
},
"SOCIAL": {
"LIKE": "Компонент \"Нравится\"",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом",
"NUMBER_TYPE_ERROR": "Значение должно быть числом"
"NUMBER_TYPE_ERROR": "Значение должно быть числом",
"NUMBER_GREATER_THAN": "Значение должно быть больше или равно {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Начальная страница"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом",
"NUMBER_GREATER_THAN": "Значение должно быть больше или равно {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "Перевод пользовательского заголовка один",
"GROUP-TITLE2-TRANSLATION-KEY": "Перевод пользовательского заголовка два"
}
"GROUP-TITLE2-TRANSLATION-KEY": "Перевод пользовательского заголовка два",
"ERROR_CONTENT": {
"507": {
"TITLE": "Диск ACS заполнен",
"DESCRIPTION": "Объем данных превысил максимально допустимое значение, установленное для сети или системы",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "Назад на главную"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "Настройка фильтра"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "Настройка фильтра"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "Один",
"MULTI": "Несколько",
"PRESELECTED_VALUE": "Предустановленное значение"
},
"ABOUT": {
"TITLE": "Подключаемые модули",
"TABLE_HEADERS": {
"ID": "Идентификатор",
"NAME": "Имя",
"VERSION": "Версия",
"VENDOR": "Поставщик",
"LICENSE": "Лицензия",
"RUNTIME": "Среда выполнения",
"DESCRIPTION": "Описание"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "Выбор нескольких",
"TESTING_MODE": "Режим тестирования",
"SELECTION_MODE": "Режим выбора"
}
}
+87 -8
View File
@@ -19,7 +19,7 @@
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "允许删除",
"SHOW_COMMENTS": "显示有关版本的注释",
"ALLOW_DOWNLOAD": "允许下载",
"ALLOW_DOWNLOAD": "启用版本下载",
"READ_ONLY": "只读",
"COMMENTS": "显示注释"
},
@@ -61,12 +61,15 @@
"NOTIFICATIONS": "通知",
"TASK_LIST": "任务列表",
"PROCESS_LIST": "流程列表",
"PROCESS_CLOUD": "Process Cloud",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "登录",
"CUSTOM_SOURCES": "自定义来源",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable(迟缓)",
"DOCUMENT_LIST": "文档列表",
"TEMPLATE": "模板",
"FORM": "表单",
"FORM_LIST": "表单列表",
"FORM_LOADING": "表单加载",
@@ -84,7 +87,12 @@
"WORD_TO_SEARCH": "搜索词",
"SEARCH_CREATED_BY": "创建者",
"SEARCH_SERVICE_APPROACH": "选中此项以禁用输入属性并使用服务进行配置",
"HEADER_DATA": "标头数据"
"HEADER_DATA": "标头数据",
"TREE_VIEW": "树视图",
"ICONS": "图标",
"PEOPLE_GROUPS_CLOUD": "人员/一组云",
"PEOPLE_CLOUD": "人员云组件",
"GROUPS_CLOUD": "组云组件"
},
"TRASHCAN": {
"ACTIONS": {
@@ -100,6 +108,7 @@
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "多选(含复选框)",
"THUMBNAILS": "启用缩略图",
"ALLOW_DROP_FILES": "在文件夹中启用“文件拖放”",
"MULTIPLE_FILE_UPLOAD": "上传多个文件",
"FOLDER_UPLOAD": "文件夹上传",
"CUSTOM_FILTER": "自定义扩展过滤器",
@@ -118,6 +127,7 @@
"DISPLAY_NAME": "显示名称",
"IS_LOCKED": "锁定",
"TAG": "标签",
"NODE_ID": "节点 ID",
"CREATED_BY": "创建者",
"CREATED_ON": "创建日期",
"CREATED": "已创建",
@@ -137,10 +147,12 @@
"THEME": "选择主题",
"SHOW_VERSION": "显示版本",
"HIDE_VERSION": "隐藏版本",
"LISTVIEW": "列表视图模式"
"LISTVIEW": "列表视图模式",
"CREATE_LIBRARY": "创建库"
},
"ACTIONS": {
"VERSIONS": "管理版本",
"LOCK": "锁定",
"METADATA": "信息",
"DOWNLOAD": "下载",
"PERMISSION": "权限",
@@ -180,6 +192,10 @@
"TASK-AUDIT-LOG": "任务审计日志",
"TASK-SHOW-HEADER": "显示详细信息标头"
},
"PS_CLOUD_TAB": {
"APPS_TAB": "APP",
"SETTINGS_TAB": "设置"
},
"FORM-LIST": {
"STORE": "存储",
"RESTORE": "恢复"
@@ -201,7 +217,25 @@
},
"SEARCH": {
"RESULTS": "搜索结果",
"NO_RESULT": "未找到结果"
"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. 字号:超大"
}
},
"SOCIAL": {
"LIKE": "点赞组件",
@@ -220,16 +254,61 @@
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字",
"NUMBER_TYPE_ERROR": "值必须是数字"
"NUMBER_TYPE_ERROR": "值必须是数字",
"NUMBER_GREATER_THAN": "值必须大于或等于 {{ value }}"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "开始页面"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字"
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字",
"NUMBER_GREATER_THAN": "值必须大于或等于 {{ value }}"
}
},
"GROUP-TITLE1-TRANSLATION-KEY": "自定义标题翻译 1",
"GROUP-TITLE2-TRANSLATION-KEY": "自定义标题翻译 2"
"GROUP-TITLE2-TRANSLATION-KEY": "自定义标题翻译 2",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS 磁盘已满",
"DESCRIPTION": "内容超出为网络或系统配置的总存储配额限制",
"SECONDARY_BUTTON": {
"TEXT": ""
},
"RETURN_BUTTON": {
"TEXT": "返回到主页"
}
}
},
"PROCESS_LIST_CLOUD_DEMO": {
"TITLE": "PROCESS LIST CLOUD DEMO",
"CUSTOMIZE_FILTERS": "自定义您的筛选器"
},
"TASK_LIST_CLOUD_DEMO": {
"CUSTOMIZE_FILTERS": "自定义您的筛选器"
},
"PEOPLE_GROUPS_CLOUD": {
"SINGLE": "单个",
"MULTI": "多个",
"PRESELECTED_VALUE": "预选值"
},
"ABOUT": {
"TITLE": "插件",
"TABLE_HEADERS": {
"ID": "ID",
"NAME": "名称",
"VERSION": "版本",
"VENDOR": "供应商",
"LICENSE": "许可证",
"RUNTIME": "运行时",
"DESCRIPTION": "说明"
}
},
"SETTINGS_CLOUD": {
"MULTISELECTION": "多重选择",
"TESTING_MODE": "测试模式",
"SELECTION_MODE": "选择模式"
}
}
+163 -32
View File
@@ -1,19 +1,24 @@
{
"$schema": "../../lib/core/app-config/schema.json",
"ecmHost": "http://{hostname}:{port}",
"bpmHost": "http://{hostname}:{port}",
"baseShareUrl": null,
"ecmHost": "{protocol}//{hostname}{:port}",
"bpmHost": "{protocol}//{hostname}{:port}",
"identityHost": "{protocol}//{hostname}{:port}/auth/realms/alfresco",
"loginRoute": "login",
"providers": "ALL",
"contextRootBpm": "activiti-app",
"authType" : "BASIC",
"locale" : "en",
"auth": {
"withCredentials": false
},
"oauth2": {
"host": "http://localhost:30081/auth/realms/myrealm",
"clientId": "activiti",
"host": "{protocol}//{hostname}{:port}/auth/realms/alfresco",
"clientId": "alfresco",
"scope": "openid",
"secret": "",
"implicitFlow": true,
"silentLogin": true,
"redirectSilentIframeUri": "{protocol}//{hostname}{:port}/assets/silent-refresh.html",
"redirectUri": "/",
"redirectUriLogout": "/logout"
},
@@ -28,57 +33,73 @@
},
{
"key": "fr",
"label": "French"
"label": "Français"
},
{
"key": "de",
"label": "German"
"label": "Deutsch"
},
{
"key": "it",
"label": "Italian"
"label": "Italiano"
},
{
"key": "es",
"label": "Spanish"
"label": "Español"
},
{
"key": "ja",
"label": "Japanese"
"label": "日本語"
},
{
"key": "nl",
"label": "Dutch"
"label": "Nederlands"
},
{
"key": "pt-BR",
"label": "Brazilian Portuguese"
"label": "Português (Brasil)"
},
{
"key": "nb",
"label": "Norwegian"
"label": "Bokmål"
},
{
"key": "ru",
"label": "Russian"
"label": "Русский"
},
{
"key": "zh-CN",
"label": "Simplified Chinese"
"label": "中文简体"
}
],
"search": {
"app:fields": [
"cm:name",
"cm:title",
"cm:description",
"ia:whatEvent",
"ia:descriptionEvent",
"lnk:title",
"lnk:description",
"TEXT",
"TAG"
],
"include": ["path", "allowableOperations"],
"sorting": {
"options": [
{ "key": "name", "label": "Name", "type": "FIELD", "field": "cm:name", "ascending": true },
{ "key": "content.sizeInBytes", "label": "Size", "type": "FIELD", "field": "content.size", "ascending": true },
{ "key": "description", "label": "Description", "type": "FIELD", "field": "cm:description", "ascending": true },
{ "key": "createdByUser", "label": "Author", "type": "FIELD", "field": "cm:creator", "ascending": true },
{ "key": "createdAt", "label": "Created", "type": "FIELD", "field": "cm:created", "ascending": true }
{ "key": "createdAt", "label": "Created", "type": "FIELD", "field": "cm:created", "ascending": true },
{ "key": "score", "label": "Relevance", "type": "FIELD", "field": "score", "ascending": false}
],
"defaults": [
{ "key": "name", "type": "FIELD", "field": "cm:name", "ascending": true }
{
"key": "score",
"type": "FIELD",
"field": "score",
"ascending": false
}
]
},
"filterQueries": [
@@ -88,25 +109,51 @@
"facetFields": {
"expanded": true,
"fields": [
{ "field": "content.mimetype", "mincount": 1, "label": "1:Type" },
{ "field": "content.size", "mincount": 1, "label": "2:Size" },
{ "field": "creator", "mincount": 1, "label": "3:Creator" },
{ "field": "modifier", "mincount": 1, "label": "4:Modifier" },
{ "field": "created", "mincount": 1, "label": "5:Created" }
{ "field": "content.mimetype", "mincount": 1, "label": "SEARCH.FACET_FIELDS.TYPE" },
{ "field": "content.size", "mincount": 1, "label": "SEARCH.FACET_FIELDS.SIZE" },
{ "field": "creator", "mincount": 1, "label": "SEARCH.FACET_FIELDS.CREATOR" },
{ "field": "modifier", "mincount": 1, "label": "SEARCH.FACET_FIELDS.MODIFIER" },
{ "field": "created", "mincount": 1, "label": "SEARCH.FACET_FIELDS.CREATED" }
]
},
"facetQueries": {
"label": "My facet queries",
"label": "SEARCH.FACET_QUERIES.MY_FACET_QUERIES",
"pageSize": 5,
"expanded": true,
"mincount": 1,
"queries": [
{ "query": "created:2018", "label": "1.Created This Year" },
{ "query": "content.mimetype", "label": "2.Type" },
{ "query": "content.size:[0 TO 10240]", "label": "3.Size: xtra small"},
{ "query": "content.size:[10240 TO 102400]", "label": "4.Size: small"},
{ "query": "content.size:[102400 TO 1048576]", "label": "5.Size: medium" },
{ "query": "content.size:[1048576 TO 16777216]", "label": "6.Size: large" },
{ "query": "content.size:[16777216 TO 134217728]", "label": "7.Size: xtra large" },
{ "query": "content.size:[134217728 TO MAX]", "label": "8.Size: XX large" }
{ "query": "created:2019", "label": "SEARCH.FACET_QUERIES.CREATED_THIS_YEAR" },
{ "query": "content.mimetype:text/html", "label": "SEARCH.FACET_QUERIES.MIMETYPE", "group":"Type facet queries" },
{ "query": "content.size:[0 TO 10240]", "label": "SEARCH.FACET_QUERIES.XTRASMALL", "group":"Size facet queries"},
{ "query": "content.size:[10240 TO 102400]", "label": "SEARCH.FACET_QUERIES.SMALL", "group":"Size facet queries"},
{ "query": "content.size:[102400 TO 1048576]", "label": "SEARCH.FACET_QUERIES.MEDIUM", "group":"Size facet queries" },
{ "query": "content.size:[1048576 TO 16777216]", "label": "SEARCH.FACET_QUERIES.LARGE", "group":"Size facet queries" },
{ "query": "content.size:[16777216 TO 134217728]", "label": "SEARCH.FACET_QUERIES.XTRALARGE", "group":"Size facet queries" },
{ "query": "content.size:[134217728 TO MAX]", "label": "SEARCH.FACET_QUERIES.XXTRALARGE", "group":"Size facet queries" }
]
},
"facetIntervals":{
"expanded": true,
"intervals":[
{
"label":"The Created",
"field":"cm:created",
"sets":[
{ "label":"lastYear", "start":"2018", "end":"2019", "endInclusive":false },
{ "label":"currentYear", "start":"NOW/YEAR", "end":"NOW/YEAR+1YEAR" },
{ "label":"earlier", "start":"*", "end":"2018", "endInclusive":false }
]
},
{
"label":"TheModified",
"field":"cm:modified",
"sets":[
{ "label":"2017", "start":"2017", "end":"2018", "endInclusive":false },
{ "label":"2017-2018", "start":"2017", "end":"2018", "endInclusive":true },
{ "label":"currentYear", "start":"NOW/YEAR", "end":"NOW/YEAR+1YEAR" },
{ "label":"earlierThan2017", "start":"*", "end":"2017", "endInclusive":false }
]
}
]
},
"categories": [
@@ -481,6 +528,9 @@
]
}
},
"adf-start-task": {
"name": "My Task Name"
},
"adf-task-list": {
"presets": {
"default": [
@@ -515,6 +565,11 @@
]
}
},
"adf-edit-task-filter": {
"properties": [
"state", "assignment", "sort", "order"
]
},
"content-metadata": {
"presets": {
"default": {
@@ -525,5 +580,81 @@
"sideNav": {
"expandedSidenav": true,
"preserveState": true
},
"adf-cloud-task-list": {
"presets": {
"default": [
{
"key": "entry.id",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.ID",
"sortable": true
},
{
"key": "entry.name",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.NAME",
"sortable": true,
"cssClass": "full-width name-column ellipsis-cell"
},
{
"key": "entry.status",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.STATUS",
"sortable": true
},
{
"key": "entry.priority",
"type": "text",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.PRIORITY",
"sortable": true
},
{
"key": "entry.createdDate",
"type": "date",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.CREATED_DATE",
"sortable": true,
"format": "timeAgo"
},
{
"key": "entry.lastModified",
"type": "date",
"title": "ADF_CLOUD_TASK_LIST.PROPERTIES.LAST_MODIFIED",
"sortable": true,
"format": "timeAgo"
}
]
}
},
"adf-cloud-process-list": {
"presets": {
"default": [
{
"key": "entry.id",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.ID",
"sortable": true
},
{
"key": "entry.name",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.NAME",
"sortable": true
},
{
"key": "entry.status",
"type": "text",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.STATUS",
"sortable": true
},
{
"key": "entry.startDate",
"type": "date",
"title": "ADF_CLOUD_PROCESS_LIST.PROPERTIES.START_DATE",
"sortable": true,
"format": "timeAgo"
}
]
}
}
}
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -15,16 +15,13 @@
* limitations under the License.
*/
import { Component, ViewEncapsulation } from '@angular/core';
import { NgModule } from '@angular/core';
import { AcaMonacoModule } from 'adf-monaco-extension';
@Component({
selector: 'adf-accordion',
template: `
<ng-content></ng-content>
`,
host: {
'class': 'panel-group'
},
encapsulation: ViewEncapsulation.None
@NgModule({
imports: [
AcaMonacoModule
]
})
export class AccordionComponent {}
export class AppExtensionsModule {
}
+1 -1
View File
@@ -1,4 +1,4 @@
router-outlet[name="overlay"] + * {
router-outlet[name='overlay'] + * {
width: 100%;
height: 100%;
z-index: 999;
+12 -2
View File
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -18,6 +18,7 @@
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import { AuthenticationService, AlfrescoApiService, PageTitleService } from '@alfresco/adf-core';
import { Router } from '@angular/router';
import { MatDialog } from '@angular/material';
@Component({
selector: 'app-root',
@@ -30,7 +31,8 @@ export class AppComponent implements OnInit {
constructor(private pageTitleService: PageTitleService,
private alfrescoApiService: AlfrescoApiService,
private authenticationService: AuthenticationService,
private router: Router) {
private router: Router,
private dialogRef: MatDialog) {
}
ngOnInit() {
@@ -39,9 +41,17 @@ export class AppComponent implements OnInit {
this.alfrescoApiService.getInstance().on('error', (error) => {
if (error.status === 401) {
if (!this.authenticationService.isLoggedIn()) {
this.dialogRef.closeAll();
this.router.navigate(['/login']);
}
}
if (error.status === 507) {
if (!this.authenticationService.isLoggedIn()) {
this.dialogRef.closeAll();
this.router.navigate(['error/507']);
}
}
});
}
}
+37 -37
View File
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -24,22 +24,20 @@ import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService, CoreModule } from '@alfresco/adf-core';
import { ExtensionsModule } from '@alfresco/adf-extensions';
import { AppComponent } from './app.component';
import { MaterialModule } from './material.module';
import { LoginComponent } from './components/login/login.component';
import { LogoutComponent } from './components/logout/logout.component';
import { SettingsComponent } from './components/settings/settings.component';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { HomeComponent } from './components/home/home.component';
import { SearchBarComponent } from './components/search/search-bar.component';
import { SearchResultComponent } from './components/search/search-result.component';
import { SearchExtendedComponent } from './components/search/search-extended.component';
import { AboutComponent } from './components/about/about.component';
import { LogComponent } from './components/log/log.component';
import { FormComponent } from './components/form/form.component';
import { FormListComponent } from './components/form/form-list.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { CustomSourcesComponent } from './components/files/custom-sources.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { ProcessServiceComponent } from './components/process-service/process-service.component';
@@ -47,12 +45,7 @@ import { ShowDiagramComponent } from './components/process-service/show-diagram.
import { FormViewerComponent } from './components/process-service/form-viewer.component';
import { FormNodeViewerComponent } from './components/process-service/form-node-viewer.component';
import { AppsViewComponent } from './components/process-service/apps-view.component';
import { DataTableComponent } from './components/datatable/datatable.component';
import { TrashcanComponent } from './components/trashcan/trashcan.component';
import { FilesComponent } from './components/files/files.component';
import { WebscriptComponent } from './components/webscript/webscript.component';
import { TagComponent } from './components/tag/tag.component';
import { SocialComponent } from './components/social/social.component';
import { VersionManagerDialogAdapterComponent } from './components/files/version-manager-dialog-adapter.component';
import { MetadataDialogAdapterComponent } from './components/files/metadata-dialog-adapter.component';
@@ -65,21 +58,27 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { PreviewService } from './services/preview.service';
import { BreadcrumbDemoComponent } from './components/breadcrumb-demo/breadcrumb-demo.component';
import { TaskListDemoComponent } from './components/task-list-demo/task-list-demo.component';
import { ProcessListDemoComponent } from './components/process-list-demo/process-list-demo.component';
import { ContentNodeSelectorComponent } from './components/content-node-selector/content-node-selector.component';
import { NotificationsComponent } from './components/notifications/notifications.component';
import { ReportIssueComponent } from './components/report-issue/report-issue.component';
import { CardViewComponent } from './components/card-view/card-view.component';
import { HeaderDataComponent } from './components/header-data/header-data.component';
import { ConfigEditorComponent } from './components/config-editor/config-editor.component';
import { HeaderDataService } from './components/header-data/header-data.service';
import { MonacoEditorModule } from 'ngx-monaco-editor';
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 { 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';
import { ProcessesCloudDemoComponent } from './components/app-layout/cloud/processes-cloud-demo.component';
import { TaskDetailsCloudDemoComponent } from './components/app-layout/cloud/task-details-cloud-demo.component';
import { StartTaskCloudDemoComponent } from './components/app-layout/cloud/start-task-cloud-demo.component';
import { CloudBreadcrumbsComponent } from './components/app-layout/cloud/cloud-breadcrumb-component';
import { TasksCloudDemoComponent } from './components/app-layout/cloud/tasks-cloud-demo.component';
import { CloudFiltersDemoComponent } from './components/app-layout/cloud/cloud-filters-demo.component';
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 { CloudSettingsComponent } from './components/app-layout/cloud/cloud-settings.component';
import { AppExtensionsModule } from './app-extension.module';
@NgModule({
imports: [
@@ -90,41 +89,38 @@ import { AuthBearerInterceptor } from './services';
FormsModule,
HttpClientModule,
MaterialModule,
AppExtensionsModule,
FlexLayoutModule,
CoreModule.forRoot(),
ContentModule.forRoot(),
InsightsModule.forRoot(),
ProcessModule.forRoot(),
ProcessServicesCloudModule,
ExtensionsModule.forRoot(),
ThemePickerModule,
ChartsModule,
MonacoEditorModule.forRoot()
MonacoEditorModule.forRoot(),
ProcessServicesCloudModule,
GroupCloudModule
],
declarations: [
AppComponent,
LoginComponent,
LogoutComponent,
SettingsComponent,
AppLayoutComponent,
HomeComponent,
SearchBarComponent,
SearchResultComponent,
SearchExtendedComponent,
AboutComponent,
LogComponent,
ProcessServiceComponent,
ShowDiagramComponent,
FormViewerComponent,
FormNodeViewerComponent,
AppsViewComponent,
DataTableComponent,
FilesComponent,
TrashcanComponent,
FormComponent,
FormListComponent,
WebscriptComponent,
TagComponent,
SocialComponent,
CustomSourcesComponent,
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent,
TaskAttachmentsComponent,
@@ -134,15 +130,20 @@ import { AuthBearerInterceptor } from './services';
FormLoadingComponent,
DemoPermissionComponent,
FormLoadingComponent,
BreadcrumbDemoComponent,
NotificationsComponent,
CardViewComponent,
ContentNodeSelectorComponent,
ReportIssueComponent,
TaskListDemoComponent,
ProcessListDemoComponent,
HeaderDataComponent,
ConfigEditorComponent
TreeViewSampleComponent,
CloudLayoutComponent,
AppsCloudDemoComponent,
TasksCloudDemoComponent,
ProcessesCloudDemoComponent,
TaskDetailsCloudDemoComponent,
StartTaskCloudDemoComponent,
StartProcessCloudDemoComponent,
CloudBreadcrumbsComponent,
CloudFiltersDemoComponent,
TemplateDemoComponent,
PeopleGroupCloudDemoComponent,
CloudSettingsComponent
],
providers: [
{
@@ -166,8 +167,7 @@ import { AuthBearerInterceptor } from './services';
source: 'resources/lazy-loading'
}
},
PreviewService,
HeaderDataService
PreviewService
],
entryComponents: [
VersionManagerDialogAdapterComponent,
+104 -56
View File
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -20,10 +20,8 @@ import { RouterModule, Routes } from '@angular/router';
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm } from '@alfresco/adf-core';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { LoginComponent } from './components/login/login.component';
import { SettingsComponent } from './components/settings/settings.component';
import { HomeComponent } from './components/home/home.component';
import { LogoutComponent } from './components/logout/logout.component';
import { AboutComponent } from './components/about/about.component';
import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
import { FormViewerComponent } from './components/process-service/form-viewer.component';
@@ -31,36 +29,33 @@ import { FormNodeViewerComponent } from './components/process-service/form-node-
import { AppsViewComponent } from './components/process-service/apps-view.component';
import { SearchResultComponent } from './components/search/search-result.component';
import { SearchExtendedComponent } from './components/search/search-extended.component';
import { TrashcanComponent } from './components/trashcan/trashcan.component';
import { DataTableComponent } from './components/datatable/datatable.component';
import { WebscriptComponent } from './components/webscript/webscript.component';
import { TagComponent } from './components/tag/tag.component';
import { SocialComponent } from './components/social/social.component';
import { FilesComponent } from './components/files/files.component';
import { FormComponent } from './components/form/form.component';
import { CustomSourcesComponent } from './components/files/custom-sources.component';
import { FormListComponent } from './components/form/form-list.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { BreadcrumbDemoComponent } from './components/breadcrumb-demo/breadcrumb-demo.component';
import { TaskListDemoComponent } from './components/task-list-demo/task-list-demo.component';
import { ProcessListDemoComponent } from './components/process-list-demo/process-list-demo.component';
import { NotificationsComponent } from './components/notifications/notifications.component';
import { CardViewComponent } from './components/card-view/card-view.component';
import { ContentNodeSelectorComponent } from './components/content-node-selector/content-node-selector.component';
import { ReportIssueComponent } from './components/report-issue/report-issue.component';
import { HeaderDataComponent } from './components/header-data/header-data.component';
import { ConfigEditorComponent } from './components/config-editor/config-editor.component';
import { AppComponent } from './app.component';
import { TreeViewSampleComponent } from './components/tree-view/tree-view-sample.component';
import { CloudLayoutComponent } from './components/app-layout/cloud/cloud-layout.component';
import { ProcessesCloudDemoComponent } from './components/app-layout/cloud/processes-cloud-demo.component';
import { TaskDetailsCloudDemoComponent } from './components/app-layout/cloud/task-details-cloud-demo.component';
import { AppsCloudDemoComponent } from './components/app-layout/cloud/apps-cloud-demo.component';
import { TasksCloudDemoComponent } from './components/app-layout/cloud/tasks-cloud-demo.component';
import { StartTaskCloudDemoComponent } from './components/app-layout/cloud/start-task-cloud-demo.component';
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';
export const appRoutes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: 'logout', component: LogoutComponent },
{ path: 'settings', component: SettingsComponent },
{
path: 'settings',
loadChildren: 'app/components/settings/settings.module#AppSettingsModule'
},
{
path: 'files/:nodeId/view',
component: AppComponent,
@@ -89,36 +84,37 @@ export const appRoutes: Routes = [
{ path: 'preview/s/:id', component: SharedLinkViewComponent },
{
path: 'breadcrumb',
component: BreadcrumbDemoComponent,
canActivate: [AuthGuardEcm]
canActivate: [AuthGuardEcm],
component: AppLayoutComponent,
loadChildren: 'app/components/breadcrumb-demo/breadcrumb-demo.module#AppBreadcrumbModule'
},
{
path: 'notifications',
component: AppLayoutComponent ,
component: AppLayoutComponent,
children: [
{
path: '',
component: NotificationsComponent
loadChildren: 'app/components/notifications/notifications.module#AppNotificationsModule'
}
]
},
{
path: 'config-editor',
component: AppLayoutComponent ,
component: AppLayoutComponent,
children: [
{
path: '',
component: ConfigEditorComponent
loadChildren: 'app/components/config-editor/config-editor.module#AppConfigEditorModule'
}
]
},
{
path: 'card-view',
component: AppLayoutComponent ,
component: AppLayoutComponent,
children: [
{
path: '',
component: CardViewComponent
loadChildren: 'app/components/card-view/card-view.module#AppCardViewModule'
}
]
},
@@ -128,7 +124,7 @@ export const appRoutes: Routes = [
children: [
{
path: '',
component: HeaderDataComponent
loadChildren: 'app/components/header-data/header-data.module#AppHeaderDataModule'
}
]
},
@@ -145,18 +141,62 @@ export const appRoutes: Routes = [
path: 'home',
component: HomeComponent
},
{
path: 'cloud',
children: [
{
path: '',
component: AppsCloudDemoComponent
},
{
path: 'people-group-cloud',
component: PeopleGroupCloudDemoComponent
},
{
path: ':appName',
children: [
{
path: '',
component: CloudLayoutComponent,
children: [
{
path: 'tasks',
component: TasksCloudDemoComponent
},
{
path: 'processes',
component: ProcessesCloudDemoComponent
}
]
},
{
path: 'start-task',
component: StartTaskCloudDemoComponent
},
{
path: 'start-process',
component: StartProcessCloudDemoComponent
},
{
path: 'task-details/:taskId',
component: TaskDetailsCloudDemoComponent
}
]
}
]
},
{
path: 'node-selector',
component: ContentNodeSelectorComponent
loadChildren: 'app/components/content-node-selector/content-node-selector.module#AppContentNodeSelectorModule'
},
{
path: 'settings-layout',
component: SettingsComponent
loadChildren: 'app/components/settings/settings.module#AppSettingsModule'
},
{
path: 'trashcan',
component: TrashcanComponent,
canActivate: [AuthGuardEcm]
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/trashcan/trashcan.module#AppTrashcanModule'
},
{
path: 'files',
@@ -175,12 +215,13 @@ export const appRoutes: Routes = [
},
{
path: 'dl-custom-sources',
component: CustomSourcesComponent,
canActivate: [AuthGuardEcm]
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/files/custom-sources.module#AppCustomSourcesModule'
},
{
path: 'datatable',
component: DataTableComponent
loadChildren: 'app/components/datatable/datatable.module#AppDataTableModule'
},
{
path: 'search',
@@ -246,31 +287,44 @@ export const appRoutes: Routes = [
},
// TODO: check if needed
{
/* cspell:disable-next-line */
path: 'activiti/tasksnode/:id',
component: FormNodeViewerComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'webscript',
component: WebscriptComponent,
canActivate: [AuthGuardEcm]
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/webscript/webscript.module#AppWebScriptModule'
},
{
path: 'tag',
component: TagComponent,
canActivate: [AuthGuardEcm]
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/tag/tag.module#AppTagModule'
},
{
path: 'social',
component: SocialComponent,
canActivate: [AuthGuardEcm]
canActivate: [AuthGuardEcm],
loadChildren: 'app/components/social/social.module#AppSocialModule'
},
{
path: 'permissions/:id',
component: DemoPermissionComponent,
canActivate: [AuthGuardEcm]
},
{ path: 'about', component: AboutComponent },
{
path: 'treeview',
component: TreeViewSampleComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'about',
loadChildren: 'app/components/about/about.module#AppAboutModule'
},
{
path: 'icons',
loadChildren: './components/icons/icons.module#AppIconsModule'
},
{ path: 'form', component: FormComponent },
{ path: 'form-list', component: FormListComponent },
{ path: 'form-loading', component: FormLoadingComponent },
@@ -288,24 +342,18 @@ export const appRoutes: Routes = [
loadChildren: 'app/components/lazy-loading/lazy-loading.module#LazyLoadingModule'
},
{
path: 'task-list',
component: TaskListDemoComponent,
canActivate: [AuthGuardBpm]
path: 'template-list',
component: TemplateDemoComponent
},
{
path: 'task-list/:id',
component: TaskListDemoComponent,
canActivate: [AuthGuardBpm]
path: 'task-list',
canActivate: [AuthGuardBpm],
loadChildren: 'app/components/task-list-demo/task-list.module#AppTaskListModule'
},
{
path: 'process-list',
component: ProcessListDemoComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'process-list/:id',
component: ProcessListDemoComponent,
canActivate: [AuthGuardBpm]
canActivate: [AuthGuardBpm],
loadChildren: 'app/components/process-list-demo/process-list.module#AppProcessListModule'
},
{
path: 'error/:id',
@@ -1 +1,51 @@
<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>
@@ -0,0 +1,3 @@
.adf-extension-details-container {
padding: 4px;
}
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -16,11 +16,19 @@
*/
import { Component } from '@angular/core';
import { AppExtensionService, ExtensionRef } from '@alfresco/adf-extensions';
import { Observable } from 'rxjs';
@Component({
selector: 'app-about-page',
templateUrl: './about.component.html'
templateUrl: './about.component.html',
styleUrls: ['about.component.scss']
})
export class AboutComponent {
export class AboutComponent {
extensionColumns: string[] = ['$id', '$name', '$version', '$vendor', '$license', '$runtime', '$description'];
extensions$: Observable<ExtensionRef[]>;
constructor(appExtensions: AppExtensionService) {
this.extensions$ = appExtensions.references$;
}
}
@@ -0,0 +1,39 @@
/*!
* @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 { Routes, RouterModule } from '@angular/router';
import { AboutComponent } from './about.component';
import { CommonModule } from '@angular/common';
import { CoreModule } from '@alfresco/adf-core';
const routes: Routes = [
{
path: '',
component: AboutComponent
}
];
@NgModule({
imports: [
CommonModule,
CoreModule.forChild(),
RouterModule.forChild(routes)
],
declarations: [AboutComponent]
})
export class AppAboutModule {}
@@ -3,7 +3,7 @@
[position]="position">
<adf-sidenav-layout-header>
<ng-template let-toggleMenu=" toggleMenu">
<ng-template let-toggleMenu="toggleMenu">
<adf-layout-header id="adf-header"
[title]="title | translate"
@@ -45,13 +45,13 @@
<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="sidenav-menu-icon">{{link.icon}}</mat-icon>
<div class="sidenav-menu-label" *ngIf="!isMenuMinimized()">{{link.title | translate }}</div>
<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>
<a mat-list-item adf-logout [enabelRedirect]="enabelRedirect" redirectUri="/logout"
<a mat-list-item adf-logout [enableRedirect]="enableRedirect" redirectUri="/logout"
class="adf-sidenav-link">
<mat-icon matListIcon class="sidenav-menu-icon">exit_to_app</mat-icon>
<div class="sidenav-menu-label" *ngIf="!isMenuMinimized()">Logout</div>
<mat-icon matListIcon class="adf-sidenav-menu-icon">exit_to_app</mat-icon>
<div class="adf-sidenav-menu-label" *ngIf="!isMenuMinimized()">Logout</div>
</a>
</mat-nav-list>
@@ -43,16 +43,16 @@
}
.adf-sidenav-link {
&.active {
&.adf-active {
color: mat-color($primary);
}
.sidenav-menu-icon {
.adf-sidenav-menu-icon {
margin-right: 20px;
font-size: 14px;
}
.sidenav-menu-label {
.adf-sidenav-menu-label {
font-size: 14px;
white-space: nowrap;
}
@@ -85,7 +85,7 @@
min-width: 0;
line-height: $toolbarHeight;
&.active {
&.adf-active {
background-color: rgba(0, 0, 0, 0.12);
}
}
@@ -98,9 +98,18 @@
}
.adf-menu {
padding-top: 0px;
padding-top: 0;
}
}
@media screen and ($mat-xsmall) {}
mat-sidenav-content > div {
display: flex;
height: 100%;
> div {
flex: auto;
}
}
}
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -40,12 +40,15 @@ export class AppLayoutComponent implements OnInit {
{ href: '/node-selector', icon: 'attachment', title: 'APP_LAYOUT.NODE-SELECTOR' },
{ 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: '/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: '/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' },
@@ -55,7 +58,10 @@ export class AppLayoutComponent implements OnInit {
{ href: '/settings-layout', icon: 'settings', title: 'APP_LAYOUT.SETTINGS' },
{ href: '/config-editor', icon: 'code', title: 'APP_LAYOUT.CONFIG-EDITOR' },
{ href: '/extendedSearch', icon: 'search', title: 'APP_LAYOUT.SEARCH' },
/* cspell:disable-next-line */
{ href: '/overlay-viewer', icon: 'pageview', title: 'APP_LAYOUT.OVERLAY_VIEWER' },
{ href: '/treeview', icon: 'nature', title: 'APP_LAYOUT.TREE_VIEW' },
{ href: '/icons', icon: 'tag_faces', title: 'APP_LAYOUT.ICONS' },
{ href: '/about', icon: 'info_outline', title: 'APP_LAYOUT.ABOUT' }
];
@@ -66,7 +72,7 @@ export class AppLayoutComponent implements OnInit {
hideSidenav = false;
showMenu = true;
enabelRedirect = true;
enableRedirect = true;
color = 'primary';
title = 'APP_LAYOUT.APP_NAME';
logo: string;
@@ -78,34 +84,34 @@ export class AppLayoutComponent implements OnInit {
const preserveState = this.config.get('sideNav.preserveState');
if (preserveState && expand) {
this.expandedSidenav = (this.userpreference.get('expandedSidenav', expand.toString()) === 'true');
this.expandedSidenav = (this.userPreferences.get('expandedSidenav', expand.toString()) === 'true');
} else if (expand) {
this.expandedSidenav = expand;
}
this.headerService.hideMenu.subscribe(show => this.showMenu = show);
this.headerService.color.subscribe(color => this.color = color);
this.headerService.title.subscribe(title => this.title = title);
this.headerService.logo.subscribe(path => this.logo = path);
this.headerService.redirectUrl.subscribe(redirectUrl => this.redirectUrl = redirectUrl);
this.headerService.tooltip.subscribe(tooltip => this.tooltip = tooltip);
this.headerService.position.subscribe(position => this.position = position);
this.headerService.hideSidenav.subscribe(hideSidenav => this.hideSidenav = hideSidenav);
this.headerService.hideMenu.subscribe((show) => this.showMenu = show);
this.headerService.color.subscribe((color) => this.color = color);
this.headerService.title.subscribe((title) => this.title = title);
this.headerService.logo.subscribe((path) => this.logo = path);
this.headerService.redirectUrl.subscribe((redirectUrl) => this.redirectUrl = redirectUrl);
this.headerService.tooltip.subscribe((tooltip) => this.tooltip = tooltip);
this.headerService.position.subscribe((position) => this.position = position);
this.headerService.hideSidenav.subscribe((hideSidenav) => this.hideSidenav = hideSidenav);
}
constructor(
private userpreference: UserPreferencesService,
private userPreferences: UserPreferencesService,
private config: AppConfigService,
private alfrescoApiService: AlfrescoApiService,
private headerService: HeaderDataService) {
if (this.alfrescoApiService.getInstance().isOauthConfiguration()) {
this.enabelRedirect = false;
this.enableRedirect = false;
}
}
setState(state) {
if (this.config.get('sideNav.preserveState')) {
this.userpreference.set('expandedSidenav', state);
this.userPreferences.set('expandedSidenav', state);
}
}
}
@@ -0,0 +1 @@
<adf-cloud-app-list (appClick)="onAppClick($event)"></adf-cloud-app-list>
@@ -0,0 +1,35 @@
/*!
* @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 { Router } from '@angular/router';
import { CloudLayoutService } from './services/cloud-layout.service';
@Component({
templateUrl: './apps-cloud-demo.component.html'
})
export class AppsCloudDemoComponent {
constructor(private router: Router, private cloudLayoutService: CloudLayoutService) {
}
onAppClick(app) {
this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'});
this.router.navigate([`/cloud/${app.name}`]);
}
}
@@ -0,0 +1,8 @@
<adf-toolbar>
<div fxLayout="column" fxLayoutAlign="center">
<div fxLayout="row">
<div class="adf-app-crumb">{{appName + ' >'}} </div>
<div class="adf-filter-crumb"> {{filterName | translate}}</div>
</div>
</div>
</adf-toolbar>
@@ -0,0 +1,8 @@
.adf-app-crumb {
opacity: 0.5;
}
.adf-filter-crumb {
opacity: 0.8;
margin-left: 5px;
}
@@ -0,0 +1,44 @@
/*!
* @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, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-cloud-breadcrumbs',
templateUrl: './cloud-breadcrumb-component.html',
styleUrls: ['cloud-breadcrumb-component.scss']
})
export class CloudBreadcrumbsComponent implements OnInit {
appName: string;
filterName: string;
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.parent.params.subscribe((
params) => {
this.appName = params.appName;
});
this.route.queryParams.subscribe((params) => {
if (params.filterName) {
this.filterName = params.filterName;
}
});
}
}
@@ -0,0 +1,31 @@
<mat-accordion>
<mat-expansion-panel [expanded]="expandTaskFilter" (opened)="onTaskFilterOpen()" (closed)="onTaskFilterClose()" data-automation-id='Task Filters'>
<mat-expansion-panel-header>
<mat-panel-title>
Task Filters
</mat-panel-title>
</mat-expansion-panel-header>
<adf-cloud-task-filters
*ngIf="expandTaskFilter"
[appName]="appName"
[showIcons]="true"
[filterParam]="currentTaskFilter$ | async"
(filterClick)="onTaskFilterSelected($event)">
</adf-cloud-task-filters>
</mat-expansion-panel>
<mat-expansion-panel [expanded]="expandProcessFilter" (opened)="onProcessFilterOpen()" (closed)="onProcessFilterClose()" data-automation-id='Process Filters'>
<mat-expansion-panel-header>
<mat-panel-title>
Process Filters
</mat-panel-title>
</mat-expansion-panel-header>
<adf-cloud-process-filters
*ngIf="expandProcessFilter"
[appName]="appName"
[showIcons]="true"
[filterParam]="currentProcessFilter$ | async"
(filterClick)="onProcessFilterSelected($event)">
</adf-cloud-process-filters>
</mat-expansion-panel>
</mat-accordion>
@@ -0,0 +1,3 @@
adf-cloud-task-filters .adf-filters__entry, adf-cloud-process-filters .adf-filters__entry {
padding-left: 0 !important;
}
@@ -0,0 +1,95 @@
/*!
* @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, ViewEncapsulation, Input, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { CloudLayoutService } from './services/cloud-layout.service';
import { Router, ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-cloud-filters-demo',
templateUrl: './cloud-filters-demo.component.html',
styleUrls: ['cloud-filters-demo.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class CloudFiltersDemoComponent implements OnInit {
@Input()
appName: string;
currentTaskFilter$: Observable<any>;
currentProcessFilter$: Observable<any>;
toggleTaskFilter = true;
toggleProcessFilter = true;
expandTaskFilter = true;
expandProcessFilter = false;
constructor(
private cloudLayoutService: CloudLayoutService,
private router: Router,
private route: ActivatedRoute
) {}
ngOnInit() {
this.currentTaskFilter$ = this.cloudLayoutService.getCurrentTaskFilterParam();
this.currentProcessFilter$ = this.cloudLayoutService.getCurrentProcessFilterParam();
let root = '';
if (this.route.snapshot && this.route.snapshot.firstChild) {
root = this.route.snapshot.firstChild.url[0].path;
if (root === 'tasks') {
this.expandTaskFilter = true;
this.expandProcessFilter = false;
} else if (root === 'processes') {
this.expandProcessFilter = true;
this.expandTaskFilter = false;
}
}
}
onTaskFilterSelected(filter) {
this.cloudLayoutService.setCurrentTaskFilterParam({id: filter.id});
const currentFilter = Object.assign({}, filter);
this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: currentFilter });
}
onProcessFilterSelected(filter) {
this.cloudLayoutService.setCurrentProcessFilterParam({id: filter.id});
const currentFilter = Object.assign({}, filter);
this.router.navigate([`/cloud/${this.appName}/processes/`], { queryParams: currentFilter });
}
onTaskFilterOpen(): boolean {
this.expandTaskFilter = true;
this.expandProcessFilter = false;
return this.toggleTaskFilter;
}
onTaskFilterClose(): boolean {
return !this.toggleTaskFilter;
}
onProcessFilterOpen(): boolean {
this.expandProcessFilter = true;
this.expandTaskFilter = false;
return this.toggleProcessFilter;
}
onProcessFilterClose(): boolean {
return !this.toggleProcessFilter;
}
}
@@ -0,0 +1,41 @@
<mat-tab-group fxFill class="adf-cloud-layout-tab-body">
<mat-tab label="{{'PS_CLOUD_TAB.APPS_TAB' | translate}}">
<div fxFill fxLayout>
<adf-sidenav-layout fxFlex [sidenavMin]="70" [sidenavMax]="270" [stepOver]="780">
<adf-sidenav-layout-header>
<ng-template>
<app-cloud-breadcrumbs></app-cloud-breadcrumbs>
</ng-template>
</adf-sidenav-layout-header>
<adf-sidenav-layout-navigation>
<ng-template>
<adf-sidebar-action-menu [expanded]="true" [width]="205" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
<mat-icon adf-sidebar-menu-title-icon>arrow_drop_down</mat-icon>
<div adf-sidebar-menu-options>
<button mat-menu-item data-automation-id="btn-start-task" (click)="onStartTask()">
<mat-icon>assessment</mat-icon>
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_TASK' | translate}}</span>
</button>
</div>
<div adf-sidebar-menu-options>
<button mat-menu-item data-automation-id="btn-start-process" (click)="onStartProcess()">
<mat-icon>assessment</mat-icon>
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_PROCESS' | translate}}</span>
</button>
</div>
</adf-sidebar-action-menu>
<app-cloud-filters-demo [appName]="appName"></app-cloud-filters-demo>
</ng-template>
</adf-sidenav-layout-navigation>
<adf-sidenav-layout-content>
<ng-template>
<router-outlet></router-outlet>
</ng-template>
</adf-sidenav-layout-content>
</adf-sidenav-layout>
</div>
</mat-tab>
<mat-tab label="{{'PS_CLOUD_TAB.SETTINGS_TAB' | translate}}">
<app-cloud-settings></app-cloud-settings>
</mat-tab>
</mat-tab-group>
@@ -0,0 +1,7 @@
.adf-cloud-layout-overflow {
overflow: auto;
}
.adf-cloud-layout-tab-body .mat-tab-body-wrapper {
height: 100%;
}
@@ -0,0 +1,65 @@
/*!
* @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, OnInit, ViewEncapsulation } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { CloudLayoutService } from './services/cloud-layout.service';
@Component({
selector: 'app-cloud-layout',
templateUrl: './cloud-layout.component.html',
styleUrls: ['./cloud-layout.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class CloudLayoutComponent implements OnInit {
displayMenu = true;
appName: string;
constructor(
private router: Router,
private route: ActivatedRoute,
private cloudLayoutService: CloudLayoutService
) { }
ngOnInit() {
let root: string = '';
this.route.params.subscribe((params) => {
this.appName = params.appName;
});
if (this.route.snapshot && this.route.snapshot.firstChild) {
root = this.route.snapshot.firstChild.url[0].path;
}
this.route.queryParams.subscribe((params) => {
if (root === 'tasks' && params.id) {
this.cloudLayoutService.setCurrentTaskFilterParam({ id: params.id });
}
if (root === 'processes' && params.id) {
this.cloudLayoutService.setCurrentProcessFilterParam({ id: params.id });
}
});
}
onStartTask() {
this.router.navigate([`/cloud/${this.appName}/start-task/`]);
}
onStartProcess() {
this.router.navigate([`/cloud/${this.appName}/start-process/`]);
}
}
@@ -0,0 +1,21 @@
<div fxFlex fxLayout="column" class="adf-settings-container">
<mat-slide-toggle [color]="'primary'" [checked]="multiselect" (change)="toggleMultiselect()" data-automation-id="multiSelection">
{{ 'SETTINGS_CLOUD.MULTISELECTION' | translate }}
</mat-slide-toggle>
<mat-slide-toggle [color]="'primary'" [checked]="testingMode" (change)="toggleTestingMode()" data-automation-id="testingMode">
{{ 'SETTINGS_CLOUD.TESTING_MODE' | translate }}
</mat-slide-toggle>
<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-label>
{{ 'SETTINGS_CLOUD.SELECTION_MODE' | translate }}
</mat-label>
<mat-select [(ngModel)]="selectionMode" (selectionChange)="onSelectionModeChange()">
<mat-option *ngFor="let option of selectionModeOptions" [value]="option.value">
{{ option.title }}
</mat-option>
</mat-select>
</mat-form-field>
</div>
@@ -0,0 +1,7 @@
.adf-settings-container {
padding: 20px 30px;
}
.adf-settings-container mat-form-field {
max-width: 200px;
}
@@ -0,0 +1,82 @@
/*!
* @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, OnInit } from '@angular/core';
import { CloudLayoutService } from './services/cloud-layout.service';
@Component({
selector: 'app-cloud-settings',
templateUrl: './cloud-settings.component.html',
styleUrls: ['./cloud-settings.component.scss']
})
export class CloudSettingsComponent implements OnInit {
multiselect: boolean;
selectionMode: string;
testingMode: boolean;
taskDetailsRedirection: boolean;
selectionModeOptions = [
{ value: '', title: 'None' },
{ value: 'single', title: 'Single' },
{ value: 'multiple', title: 'Multiple' }
];
constructor(private cloudLayoutService: CloudLayoutService) { }
ngOnInit() {
this.cloudLayoutService.getCurrentSettings()
.subscribe((settings) => this.setCurrentSettings(settings));
}
setCurrentSettings(settings) {
if (settings) {
this.multiselect = settings.multiselect;
this.testingMode = settings.testingMode;
this.selectionMode = settings.selectionMode;
this.taskDetailsRedirection = settings.taskDetailsRedirection;
}
}
toggleMultiselect() {
this.multiselect = !this.multiselect;
this.setSetting();
}
toggleTestingMode() {
this.testingMode = !this.testingMode;
this.setSetting();
}
toggleTaskDetailsRedirection() {
this.taskDetailsRedirection = !this.taskDetailsRedirection;
this.setSetting();
}
onSelectionModeChange() {
this.setSetting();
}
setSetting() {
this.cloudLayoutService.setCurrentSettings({
multiselect: this.multiselect,
testingMode: this.testingMode,
selectionMode: this.selectionMode,
taskDetailsRedirection: this.taskDetailsRedirection
});
}
}
@@ -0,0 +1,96 @@
<mat-card class="adf-section">
<mat-card-title>
{{ 'APP_LAYOUT.PEOPLE_CLOUD' | translate}}
</mat-card-title>
<mat-card-content>
<br>
<mat-radio-group (change)="onChangePeopleMode($event)">
<mat-radio-button checked="true" class="adf-people-single-mode" value="{{ peopleSingleMode }}">{{
'PEOPLE_GROUPS_CLOUD.SINGLE' | translate }}</mat-radio-button>
<mat-radio-button class="adf-people-multiple-mode" value="{{ peopleMultipleMode }}">{{
'PEOPLE_GROUPS_CLOUD.MULTI' | translate }}</mat-radio-button>
</mat-radio-group>
<div class="people-control-options">
<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" 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)" />
</mat-form-field>
<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)" />
</mat-form-field>
</div>
<div>
<adf-cloud-people [preSelectUsers]="preSelectUsers" [appName]="peopleAppName" [roles]="peopleRoles" [mode]="peopleMode"></adf-cloud-people>
</div>
<div class="adf-people-list" *ngIf="canShowPeopleList()">
<mat-list role="list">
<mat-list-item *ngFor="let item of preSelectUsers" role="listitem">
<mat-icon mat-list-icon>person</mat-icon>
{{ item?.firstName }} {{ item?.lastName }}
</mat-list-item>
</mat-list>
</div>
</mat-card-content>
</mat-card>
<mat-card class="adf-section">
<mat-card-title>
{{ 'APP_LAYOUT.GROUPS_CLOUD' | translate}}
</mat-card-title>
<mat-card-content>
<br>
<mat-radio-group (change)="onChangeGroupsMode($event)">
<mat-radio-button checked="true" class="adf-people-single-mode" value="{{ groupSingleMode }}">{{
'PEOPLE_GROUPS_CLOUD.SINGLE' | translate }}</mat-radio-button>
<mat-radio-button class="adf-people-multiple-mode" value="{{ groupMultipleMode }}">{{
'PEOPLE_GROUPS_CLOUD.MULTI' | translate }}</mat-radio-button>
</mat-radio-group>
<div class="groups-control-options">
<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" 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)" />
</mat-form-field>
<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)" />
</mat-form-field>
</div>
<div>
<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()">
<mat-list role="list">
<mat-list-item *ngFor="let item of preSelectGroup" role="listitem">
<mat-icon mat-list-icon>group</mat-icon>
{{ item.name }}
</mat-list-item>
</mat-list>
</div>
</mat-card-content>
</mat-card>
@@ -0,0 +1,31 @@
.adf {
&-section {
mat-card-title {
font-size:18px;
font-weight: bold;
}
mat-radio-group {
margin:7px 10px;
mat-radio-button {
margin: 0 3px;
}
}
mat-card-content {
.adf-preselect-value {
margin-right: 15px;
min-width: 330px;
&-big {
width:60%;
}
&-full {
width:100%;
}
}
}
}
}
@@ -0,0 +1,166 @@
/*!
* @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, ViewEncapsulation } from '@angular/core';
import { PeopleCloudComponent, GroupCloudComponent, GroupModel } from '@alfresco/adf-process-services-cloud';
import { MatRadioChange } from '@angular/material';
@Component({
selector: 'app-people-groups-cloud',
templateUrl: './people-groups-cloud-demo.component.html',
styleUrls: ['./people-groups-cloud-demo.component.scss'],
encapsulation: ViewEncapsulation.None
})
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"}]`;
peopleMode: string = PeopleCloudComponent.MODE_SINGLE;
preSelectUsers: string[] = [];
peopleRoles: string[] = [];
peopleAppName: string;
peopleFilterMode: string = this.DEFAULT_FILTER_MODE;
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);
}
setGroupsPreselectValue(event: any) {
this.preSelectGroup = this.getArrayFromString(event.target.value);
}
setPeopleRoles(event: any) {
this.peopleRoles = this.getArrayFromString(event.target.value);
}
setGroupRoles(event: any) {
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];
}
onChangeGroupsMode(event: MatRadioChange) {
this.groupMode = event.value;
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 = '';
}
}
isStringArray(str: string) {
try {
const result = JSON.parse(str);
return Array.isArray(result);
} catch (e) {
return false;
}
}
private getArrayFromString(value: string) {
if (this.isStringArray(value)) {
return JSON.parse(value);
} else {
return [];
}
}
canShowPeopleList() {
return this.peopleMode === GroupCloudComponent.MODE_MULTIPLE;
}
canShowGroupList() {
return this.groupMode === GroupCloudComponent.MODE_MULTIPLE;
}
onRemoveGroup(group: GroupModel) {
this.preSelectGroup = this.preSelectGroup.filter((value: any) => value.id !== group.id);
}
onSelectGroup(group: GroupModel) {
if (this.groupMode === GroupCloudComponent.MODE_MULTIPLE) {
this.preSelectGroup.push(group);
}
}
get peopleSingleMode() {
return PeopleCloudComponent.MODE_SINGLE;
}
get peopleMultipleMode() {
return PeopleCloudComponent.MODE_MULTIPLE;
}
get groupSingleMode() {
return GroupCloudComponent.MODE_SINGLE;
}
get groupMultipleMode() {
return GroupCloudComponent.MODE_MULTIPLE;
}
}
@@ -0,0 +1,39 @@
<div fxLayout="column" fxFill fxLayoutGap="2px">
<adf-cloud-edit-process-filter
[appName]="appName"
[id]="filterId"
[filterProperties]="processFilterProperties"
(filterChange)="onFilterChange($event)"
(action)="onProcessFilterAction($event)">
</adf-cloud-edit-process-filter>
<div fxLayout="column" fxFlex fxLayoutAlign="space-between" *ngIf="editedFilter">
<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.state"
[name]="editedFilter.processName"
[sorting]="sortArray"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
(rowClick)="onRowClick($event)"
(rowsSelected)="onRowsSelected($event)">
</adf-cloud-process-list>
<adf-pagination
[target]="processCloud"
(changePageSize)="onChangePageSize($event)"
(nextPage)="resetSelectedRows()"
(prevPage)="resetSelectedRows()">
</adf-pagination>
<div *ngIf="testingMode">
Selected rows:
<ul>
<li *ngFor="let row of selectedRows">{{ row.id }}</li>
</ul>
</div>
</div>
</div>
@@ -0,0 +1,123 @@
/*!
* @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, ViewChild, OnInit } from '@angular/core';
import {
ProcessListCloudComponent,
ProcessFilterCloudModel,
ProcessListCloudSortingModel,
ProcessFiltersCloudComponent
} from '@alfresco/adf-process-services-cloud';
import { ActivatedRoute, Router } from '@angular/router';
import { UserPreferencesService, AppConfigService } from '@alfresco/adf-core';
import { CloudLayoutService } from './services/cloud-layout.service';
@Component({
templateUrl: './processes-cloud-demo.component.html',
styleUrls: ['./processes-cloud-demo.component.scss']
})
export class ProcessesCloudDemoComponent implements OnInit {
public static ACTION_SAVE_AS = 'SAVE_AS';
static PROCESS_FILTER_PROPERTY_KEYS = 'adf-edit-process-filter.properties';
@ViewChild('processCloud')
processCloud: ProcessListCloudComponent;
@ViewChild('processFiltersCloud')
processFiltersCloud: ProcessFiltersCloudComponent;
appName: string = '';
isFilterLoaded: boolean;
filterId: string = '';
sortArray: any = [];
selectedRow: any;
multiselect: boolean;
selectionMode: string;
selectedRows: string[] = [];
testingMode: boolean;
processFilterProperties: any[] = [];
editedFilter: ProcessFilterCloudModel;
constructor(
private route: ActivatedRoute,
private router: Router,
private cloudLayoutService: CloudLayoutService,
private userPreference: UserPreferencesService,
private appConfig: AppConfigService) {
const properties = this.appConfig.get<Array<any>>(ProcessesCloudDemoComponent.PROCESS_FILTER_PROPERTY_KEYS);
if (properties) {
this.processFilterProperties = properties;
}
}
ngOnInit() {
this.isFilterLoaded = false;
this.route.parent.params.subscribe((params) => {
this.appName = params.appName;
});
this.route.queryParams.subscribe((params) => {
this.isFilterLoaded = true;
this.onFilterChange(params);
this.filterId = params.id;
});
this.cloudLayoutService.getCurrentSettings()
.subscribe((settings) => this.setCurrentSettings(settings));
}
setCurrentSettings(settings) {
if (settings) {
this.multiselect = settings.multiselect;
this.testingMode = settings.testingMode;
this.selectionMode = settings.selectionMode;
}
}
onChangePageSize(event) {
this.userPreference.paginationSize = event.maxItems;
}
resetSelectedRows() {
this.selectedRows = [];
}
onRowClick($event) {
this.selectedRow = $event;
}
onFilterChange(query: any) {
this.editedFilter = Object.assign({}, query);
this.sortArray = [new ProcessListCloudSortingModel({ orderBy: this.editedFilter.sort, direction: this.editedFilter.order })];
}
onProcessFilterAction(filterAction: any) {
this.cloudLayoutService.setCurrentProcessFilterParam({ id: filterAction.filter.id });
if (filterAction.actionType === ProcessesCloudDemoComponent.ACTION_SAVE_AS) {
this.router.navigate([`/cloud/${this.appName}/processes/`], { queryParams: filterAction.filter });
}
}
onRowsSelected(nodes) {
this.resetSelectedRows();
this.selectedRows = nodes.map((node) => node.obj.entry);
}
}
@@ -0,0 +1,69 @@
/*!
* @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 { Injectable } from '@angular/core';
import { Observable, BehaviorSubject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class CloudLayoutService {
private settings = {
multiselect: false,
testingMode: false,
taskDetailsRedirection: true,
selectionMode: 'single'
};
private filterTaskSubject: BehaviorSubject<any> = new BehaviorSubject({index: 0});
private filterTask$: Observable<any>;
private filterProcessSubject: BehaviorSubject<any> = new BehaviorSubject({index: 0});
private filterProcess$: Observable<any>;
private settingsSubject: BehaviorSubject<any> = new BehaviorSubject(this.settings);
private settings$: Observable<any>;
constructor() {
this.filterTask$ = this.filterTaskSubject.asObservable();
this.filterProcess$ = this.filterProcessSubject.asObservable();
this.settings$ = this.settingsSubject.asObservable();
}
getCurrentTaskFilterParam() {
return this.filterTask$;
}
setCurrentTaskFilterParam(param) {
this.filterTaskSubject.next(param);
}
getCurrentProcessFilterParam() {
return this.filterProcess$;
}
setCurrentProcessFilterParam(param) {
this.filterProcessSubject.next(param);
}
getCurrentSettings() {
return this.settings$;
}
setCurrentSettings(param) {
this.settingsSubject.next(param);
}
}
@@ -0,0 +1,7 @@
<adf-cloud-start-process
[appName]="appName"
[name]="processName"
(error)="openSnackMessage($event)"
(success)="onStartProcessSuccess()"
(cancel)="onCancelStartProcess()">
</adf-cloud-start-process>
@@ -0,0 +1,63 @@
/*!
* @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, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { NotificationService, AppConfigService } from '@alfresco/adf-core';
import { CloudLayoutService } from './services/cloud-layout.service';
@Component({
templateUrl: './start-process-cloud-demo.component.html',
styleUrls: ['./start-process-cloud-demo.component.scss']
})
export class StartProcessCloudDemoComponent implements OnInit {
appName;
processName: string;
constructor(private appConfig: AppConfigService,
private cloudLayoutService: CloudLayoutService,
private route: ActivatedRoute,
private notificationService: NotificationService,
private router: Router) {
}
ngOnInit() {
this.route.parent.params.subscribe((params) => {
this.appName = params.appName;
});
this.processName = this.appConfig.get<string>('adf-start-process.name');
}
onStartProcessSuccess() {
this.cloudLayoutService.setCurrentProcessFilterParam({ key: 'running-processes' });
this.router.navigate([`/cloud/${this.appName}/processes`]);
}
onCancelStartProcess() {
this.cloudLayoutService.setCurrentProcessFilterParam({ key: 'all-processes' });
this.router.navigate([`/cloud/${this.appName}/processes`]);
}
openSnackMessage(event: any) {
this.notificationService.openSnackMessage(
event.response.body.message,
4000
);
}
}
@@ -0,0 +1,6 @@
<adf-cloud-start-task
[appName]="appName"
(error)="openSnackMessage($event)"
(success)="onStartTaskSuccess()"
(cancel)="onCancelStartTask()">
</adf-cloud-start-task>
@@ -0,0 +1,59 @@
/*!
* @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, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { NotificationService } from '@alfresco/adf-core';
import { CloudLayoutService } from './services/cloud-layout.service';
@Component({
templateUrl: './start-task-cloud-demo.component.html',
styleUrls: ['./start-task-cloud-demo.component.scss']
})
export class StartTaskCloudDemoComponent implements OnInit {
appName;
constructor(
private cloudLayoutService: CloudLayoutService,
private route: ActivatedRoute,
private notificationService: NotificationService,
private router: Router) {
}
ngOnInit() {
this.route.parent.params.subscribe((params) => {
this.appName = params.appName;
});
}
onStartTaskSuccess() {
this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'});
this.router.navigate([`/cloud/${this.appName}/tasks`]);
}
onCancelStartTask() {
this.cloudLayoutService.setCurrentTaskFilterParam({key: 'my-tasks'});
this.router.navigate([`/cloud/${this.appName}/tasks`]);
}
openSnackMessage(event: any) {
this.notificationService.openSnackMessage(
event.response.body.message,
4000
);
}
}
@@ -0,0 +1,12 @@
<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>
@@ -0,0 +1,44 @@
/*!
* @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: './task-details-cloud-demo.component.html',
styleUrls: ['./task-details-cloud-demo.component.scss']
})
export class TaskDetailsCloudDemoComponent {
taskId: string;
appName: string;
readOnly = false;
constructor(private route: ActivatedRoute, private router: Router) {
this.route.params.subscribe((params) => {
this.taskId = params.taskId;
});
this.route.parent.params.subscribe((params) => {
this.appName = params.appName;
});
}
onGoBack() {
this.router.navigate([`/cloud/${this.appName}/`]);
}
}
@@ -0,0 +1,44 @@
<div fxLayout="column" fxFill fxLayoutGap="2px">
<adf-cloud-edit-task-filter
[appName]="appName"
[id]="filterId"
[filterProperties]="taskFilterProperties"
(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"
[name]="editedFilter.taskName"
[parentTaskId]="editedFilter.parentTaskId"
[priority]="editedFilter.priority"
[owner]="editedFilter.owner"
[lastModifiedFrom]="editedFilter.lastModifiedFrom"
[lastModifiedTo]="editedFilter.lastModifiedTo"
[status]="editedFilter.state"
[assignee]="editedFilter.assignment"
[sorting]="sortArray"
[multiselect]="multiselect"
[selectionMode]="selectionMode"
(rowClick)="onRowClick($event)"
(rowsSelected)="onRowsSelected($event)"
#taskCloud>
</adf-cloud-task-list>
<adf-pagination
[target]="taskCloud"
(changePageSize)="onChangePageSize($event)"
(nextPage)="resetSelectedRows()"
(prevPage)="resetSelectedRows()">
</adf-pagination>
<div *ngIf="testingMode">
Selected rows:
<ul>
<li *ngFor="let row of selectedRows" [attr.data-automation-id]="row.id">{{ row.name }}</li>
</ul>
</div>
</div>
</div>
@@ -0,0 +1,121 @@
/*!
* @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, ViewChild, OnInit } from '@angular/core';
import { TaskListCloudComponent, TaskListCloudSortingModel, TaskFilterCloudModel } from '@alfresco/adf-process-services-cloud';
import { UserPreferencesService, AppConfigService } from '@alfresco/adf-core';
import { ActivatedRoute, Router } from '@angular/router';
import { CloudLayoutService } from './services/cloud-layout.service';
@Component({
templateUrl: 'tasks-cloud-demo.component.html',
styleUrls: ['tasks-cloud-demo.component.scss']
})
export class TasksCloudDemoComponent implements OnInit {
public static ACTION_SAVE_AS = 'SAVE_AS';
static TASK_FILTER_PROPERTY_KEYS = 'adf-edit-task-filter.properties';
@ViewChild('taskCloud')
taskCloud: TaskListCloudComponent;
appName: string = '';
isFilterLoaded = false;
selectedRow: any;
sortArray: TaskListCloudSortingModel[];
editedFilter: TaskFilterCloudModel;
taskFilterProperties: any[] = [];
filterId;
multiselect: boolean;
selectedRows: string[] = [];
testingMode: boolean;
selectionMode: string;
taskDetailsRedirection: boolean;
constructor(
private cloudLayoutService: CloudLayoutService,
private route: ActivatedRoute,
private router: Router,
private userPreference: UserPreferencesService,
private appConfig: AppConfigService) {
const properties = this.appConfig.get<Array<any>>(TasksCloudDemoComponent.TASK_FILTER_PROPERTY_KEYS);
if (properties) {
this.taskFilterProperties = properties;
}
}
ngOnInit() {
this.isFilterLoaded = false;
this.route.parent.params.subscribe((params) => {
this.appName = params.appName;
});
this.route.queryParams.subscribe((params) => {
this.isFilterLoaded = true;
this.onFilterChange(params);
this.filterId = params.id;
});
this.cloudLayoutService.getCurrentSettings()
.subscribe((settings) => this.setCurrentSettings(settings));
}
setCurrentSettings(settings) {
if (settings) {
this.multiselect = settings.multiselect;
this.testingMode = settings.testingMode;
this.selectionMode = settings.selectionMode;
this.taskDetailsRedirection = settings.taskDetailsRedirection;
}
}
onChangePageSize(event) {
this.userPreference.paginationSize = event.maxItems;
}
resetSelectedRows() {
this.selectedRows = [];
}
onRowClick(taskId) {
if (!this.multiselect && this.selectionMode !== 'multiple' && this.taskDetailsRedirection) {
this.router.navigate([`/cloud/${this.appName}/task-details/${taskId}`]);
}
}
onRowsSelected(nodes) {
this.resetSelectedRows();
this.selectedRows = nodes.map((node) => node.obj.entry);
}
onFilterChange(filter: any) {
this.editedFilter = Object.assign({}, filter);
this.sortArray = [new TaskListCloudSortingModel({ orderBy: this.editedFilter.sort, direction: this.editedFilter.order })];
}
onTaskFilterAction(filterAction: any) {
this.cloudLayoutService.setCurrentTaskFilterParam({ id: filterAction.filter.id });
if (filterAction.actionType === TasksCloudDemoComponent.ACTION_SAVE_AS) {
this.router.navigate([`/cloud/${this.appName}/tasks/`], { queryParams: filterAction.filter });
}
}
}
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -8,7 +8,7 @@
<h2>1. Standalone (fixed size)</h2>
<small>Component is used in the fixed-width layout</small>
<div class="breadcrumb-container-restricted">
<div class="adf-breadcrumb-container-restricted">
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb>
</div>
@@ -57,7 +57,7 @@
Buttons do nothing and are present for layout purposes.
</small>
<adf-toolbar class="full-content-toolbar">
<adf-toolbar class="adf-full-content-toolbar">
<adf-toolbar-title fxFlex="0 1 auto">
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb>
@@ -76,7 +76,14 @@
</div>
</adf-toolbar>
<div class="content">
<h2>6. Dropdown Breadcrumb</h2>
<adf-dropdown-breadcrumb fxHide fxShow.lt-sm="true"
class="adf-files-breadcrumb"
[target]="documentList">
</adf-dropdown-breadcrumb>
<div class="adf-content">
<adf-document-list #documentList currentFolderId="-my-">
</adf-document-list>
</div>
@@ -1,14 +1,14 @@
.breadcrumb-container-restricted {
.adf-breadcrumb-container-restricted {
width: 800px;
max-width: 800px;
border: 1px solid lightgray;
}
.content {
.adf-content {
margin: 10px 0;
}
.full-content-toolbar {
.adf-full-content-toolbar {
.adf-toolbar-title {
display: flex;
width: 100%;
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -0,0 +1,42 @@
/*!
* @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 { BreadcrumbDemoComponent } from './breadcrumb-demo.component';
import { CoreModule } from '@alfresco/adf-core';
import { Routes, RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { ContentModule } from '@alfresco/adf-content-services';
const routes: Routes = [
{
path: '',
component: BreadcrumbDemoComponent
}
];
@NgModule({
imports: [
CommonModule,
CoreModule.forChild(),
RouterModule.forChild(routes),
ContentModule.forChild()
],
declarations: [BreadcrumbDemoComponent],
exports: [BreadcrumbDemoComponent]
})
export class AppBreadcrumbModule {}
@@ -1,23 +1,23 @@
<div class="main-content">
<div class="adf-main-content">
<h1>CardView Component</h1>
<mat-card class="card-view">
<mat-card class="adf-card-view">
<adf-card-view
[properties]="properties"
[editable]="true">
</adf-card-view>
</mat-card>
<div class="console" #console>
<div class="adf-console" #console>
<h3>Changes log:</h3>
<p *ngFor="let log of logs">{{ log }}</p>
</div>
</div>
<p class="toggle">
<p class="adf-toggle">
<mat-slide-toggle
id="adf-toogle-editable"
id="adf-toggle-editable"
[color]="'primary'"
(change)="toggleEditable()"
[checked]="isEditable">
@@ -1,13 +1,13 @@
.main-content {
.adf-main-content {
padding: 0 15px;
}
.card-view {
.adf-card-view {
width: 30%;
display: inline-block;
}
.console {
.adf-console {
width: 60%;
display: inline-block;
vertical-align: top;
@@ -25,4 +25,4 @@
font-family: monospace, monospace;
margin: 0;
}
}
}
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -0,0 +1,39 @@
/*!
* @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 { CardViewComponent } from './card-view.component';
import { Routes, RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { CoreModule } from '@alfresco/adf-core';
const routes: Routes = [
{
path: '',
component: CardViewComponent
}
];
@NgModule({
imports: [
CommonModule,
CoreModule.forChild(),
RouterModule.forChild(routes)
],
declarations: [CardViewComponent]
})
export class AppCardViewModule {}
@@ -41,6 +41,34 @@
<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>
<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>
<button mat-icon-button>
<mat-icon>info</mat-icon>
</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>
</mat-nav-list>
<div>
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -54,12 +54,13 @@ export class ConfigEditorComponent {
this.invalidJson = true;
this.notificationService.openSnackMessage(
'Wrong Code configuration ' + error,
4000
1000
);
} finally {
if (!this.invalidJson) {
this.notificationService.openSnackMessage(
'Saved'
'Saved',
1000
);
}
}
@@ -105,6 +106,30 @@ export class ConfigEditorComponent {
this.indentCode();
}
taskListCloudConfClick() {
this.code = JSON.stringify(this.appConfig.config['adf-cloud-task-list']);
this.field = 'adf-cloud-task-list';
this.indentCode();
}
editProcessFilterConfClick() {
this.code = JSON.stringify(this.appConfig.config['adf-edit-process-filter']);
this.field = 'adf-edit-process-filter';
this.indentCode();
}
editTaskFilterConfClick() {
this.code = JSON.stringify(this.appConfig.config['adf-edit-task-filter']);
this.field = 'adf-edit-task-filter';
this.indentCode();
}
processListCloudConfClick() {
this.code = JSON.stringify(this.appConfig.config['adf-cloud-process-list']);
this.field = 'adf-cloud-process-list';
this.indentCode();
}
indentCode() {
setTimeout(() => {
this.editor.getAction('editor.action.formatDocument').run();
@@ -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 { ConfigEditorComponent } from './config-editor.component';
import { Routes, RouterModule } from '@angular/router';
import { CommonModule } from '@angular/common';
import { CoreModule } from '@alfresco/adf-core';
import { MonacoEditorModule } from 'ngx-monaco-editor';
const routes: Routes = [
{
path: '',
component: ConfigEditorComponent
}
];
@NgModule({
imports: [
CommonModule,
CoreModule.forChild(),
RouterModule.forChild(routes),
MonacoEditorModule
],
declarations: [ConfigEditorComponent]
})
export class AppConfigEditorModule {}
@@ -8,13 +8,13 @@
<h2>Plain picker</h2>
</mat-panel-title>
<mat-panel-description>
<label class="content-node-selector-demo-basic-label">
<label class="adf-content-node-selector-demo-basic-label">
dropdownHideMyFiles: {{dropdownHideMyFiles}}
</label>
</mat-panel-description>
</mat-expansion-panel-header>
<div class="content-node-selector-demo-basic-table">
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
[currentFolderId]="'-root-'">
</adf-content-node-selector-panel>
@@ -26,13 +26,13 @@
<h2>Hide My files</h2>
</mat-panel-title>
<mat-panel-description>
<label class="content-node-selector-demo-basic-label">
<label class="adf-content-node-selector-demo-basic-label">
My Files site will be hided from dropdown
</label>
</mat-panel-description>
</mat-expansion-panel-header>
<div class="content-node-selector-demo-basic-table">
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
[currentFolderId]="'-root-'"
[dropdownHideMyFiles]="true">
@@ -45,7 +45,7 @@
<h2>Custom Site List</h2>
</mat-panel-title>
<mat-panel-description>
<label class="content-node-selector-demo-basic-label">
<label class="adf-content-node-selector-demo-basic-label">
Adding a custom site list
</label>
</mat-panel-description>
@@ -54,7 +54,7 @@
<div>
<mat-list>
<h3 mat-subheader>Add Site</h3>
<form class="content-node-selector-demo-example-form">
<form class="adf-content-node-selector-demo-example-form">
<mat-form-field>
<label>Site Guid</label>
<input matInput [(ngModel)]="customSideGuid" [ngModelOptions]="{standalone: true}">
@@ -79,7 +79,7 @@
</div>
<div class="content-node-selector-demo-basic-table">
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
[currentFolderId]="'-root-'"
[dropdownSiteList]="customSites">
@@ -92,7 +92,7 @@
<h2>Row Filtering</h2>
</mat-panel-title>
<mat-panel-description>
<label class="content-node-selector-demo-basic-label">
<label class="adf-content-node-selector-demo-basic-label">
Will automatically filter the row on the list
</label>
</mat-panel-description>
@@ -105,20 +105,53 @@
Slide Folders
</mat-slide-toggle>
<div class="content-node-selector-demo-basic-table">
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
[rowFilter]="rowFilterFunction"
[currentFolderId]="'-root-'">
</adf-content-node-selector-panel>
</div>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
<h2>Exclude Site Content</h2>
</mat-panel-title>
<mat-panel-description>
<label class="adf-content-node-selector-demo-basic-label">
The exclude site content is filtered out from the list
</label>
</mat-panel-description>
</mat-expansion-panel-header>
<div>
<label>Case when the excludeSiteContent is set as : <b>{{ excludeSiteContentList.join(', ') }}</b></label>
</div>
<div>
<label>Navigate into a site having the top content along the 'documentLibrary' to see that such items are not displayed.</label>
</div>
<br />
<mat-slide-toggle color="primary" [(ngModel)]="showFiles" (click)="recreateRowFilterFunction()">
Show Files
</mat-slide-toggle>
<mat-slide-toggle color="primary" [(ngModel)]="showFolders" (click)="recreateRowFilterFunction()">
Show Folders
</mat-slide-toggle>
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
[rowFilter]="rowFilterFunction"
[excludeSiteContent]="excludeSiteContentList"
[currentFolderId]="'-root-'">
</adf-content-node-selector-panel>
</div>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
<h2>Custom Image Resolving</h2>
</mat-panel-title>
<mat-panel-description>
<label class="content-node-selector-demo-basic-label">
<label class="adf-content-node-selector-demo-basic-label">
A function to manage the way folder/file icons and thumbnails are resolved
</label>
</mat-panel-description>
@@ -128,7 +161,7 @@
Add Custom Images Resolver
</mat-slide-toggle>
<div class="content-node-selector-demo-basic-table">
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
[imageResolver]="customImageResolver"
[currentFolderId]="'-root-'">
@@ -141,12 +174,12 @@
<h2>Set Page Size</h2>
</mat-panel-title>
<mat-panel-description>
<label class="content-node-selector-demo-basic-label">
<label class="adf-content-node-selector-demo-basic-label">
Number of items shown per page in the list. actual page {{actualPageSize}}
</label>
</mat-panel-description>
</mat-expansion-panel-header>
<div class="content-node-selector-demo-basic-table">
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
[currentFolderId]="'-root-'"
[pageSize]="actualPageSize"
@@ -160,14 +193,14 @@
<h2>Is Valid Selection Function </h2>
</mat-panel-title>
<mat-panel-description>
<label class="content-node-selector-demo-basic-label">
<label class="adf-content-node-selector-demo-basic-label">
Function used to decide if the selected node has permission to be selected
</label>
</mat-panel-description>
</mat-expansion-panel-header>
<label>Only folder starting with the letter 'a' or 'A' are valid selections</label>
<label>Actual Selection is : {{validSelection}}</label>
<div class="content-node-selector-demo-basic-table">
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
(select)="onNodeSelect($event)"
[isSelectionValid]="customIsValidFunction"
@@ -181,13 +214,13 @@
<h2>BreadCrumb Transform Function </h2>
</mat-panel-title>
<mat-panel-description>
<label class="content-node-selector-demo-basic-label">
<label class="adf-content-node-selector-demo-basic-label">
Transformation to be performed on the chosen/folder node before building the breadcrumb UI
</label>
</mat-panel-description>
</mat-expansion-panel-header>
<label>Folder starting with letter 'd' or 'D' won't be displayed in the breadcrumb dropdown</label>
<div class="content-node-selector-demo-basic-table">
<div class="adf-content-node-selector-demo-basic-table">
<adf-content-node-selector-panel
[breadcrumbTransform]="customBreadcrumbFunction"
[currentFolderId]="'-root-'">
@@ -1,4 +1,4 @@
.content-node-selector-demo {
.adf-content-node-selector-demo {
&-main {
display: flex;
@@ -11,7 +11,7 @@
&-basic-table {
height:400px;
width:700px
width:700px;
}
&-basic-label {
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -16,8 +16,8 @@
*/
import { Component, ViewEncapsulation } from '@angular/core';
import { SitePaging, SiteEntry, MinimalNodeEntryEntity } from 'alfresco-js-api';
import { ShareDataRow } from '@alfresco/adf-content-services';
import { SitePaging, SiteEntry, MinimalNodeEntryEntity } from '@alfresco/js-api';
import { ContentNodeDialogService, ShareDataRow, RowFilter } from '@alfresco/adf-content-services';
import { DataRow, DataColumn, ThumbnailService } from '@alfresco/adf-core';
@Component({
@@ -40,24 +40,25 @@ export class ContentNodeSelectorComponent {
customSideTitle = '';
actualPageSize = 2;
rowFilterFunction: any = null;
rowFilterFunction: RowFilter = null;
excludeSiteContentList: string[] = ContentNodeDialogService.nonDocumentSiteContent;
customImageResolver: any = null;
defaultSites: SiteEntry[] = [
{ entry: { title: 'MINE', guid: '-my-' } },
{ entry: { title: 'ROOTY', guid: '-root-' } }];
new SiteEntry({ entry: { title: 'MINE', guid: '-my-' } }),
new SiteEntry({ entry: { title: 'ROOTY', guid: '-root-' } })];
customSites: SitePaging = {
customSites: SitePaging = new SitePaging({
list: {
entries: [
{ entry: { title: 'MINE', guid: '-my-' } },
{ entry: { title: 'ROOTY', guid: '-root-' } }],
pagination: {}
}
};
});
onClickAddSite() {
const newSiteEntry: SiteEntry = { entry: { title: this.customSideTitle, guid: this.customSideGuid } };
const newSiteEntry: SiteEntry = new SiteEntry({ entry: { title: this.customSideTitle, guid: this.customSideGuid } });
this.customSites.list.entries.push(newSiteEntry);
this.customSideGuid = '';
this.customSideTitle = '';
@@ -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 { ContentNodeSelectorComponent } from './content-node-selector.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: ContentNodeSelectorComponent
}
];
@NgModule({
imports: [
CommonModule,
RouterModule.forChild(routes),
CoreModule.forChild(),
ContentModule.forChild()
],
declarations: [ContentNodeSelectorComponent]
})
export class AppContentNodeSelectorModule {}
@@ -19,7 +19,7 @@
<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="full-width name-column"></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>
-->
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -29,7 +29,7 @@ export class FilteredDataAdapter extends ObjectDataTableAdapter {
const filter = (this.filterValue || '').trim().toLowerCase();
if (this.filterKey && filter) {
rows = rows.filter(row => {
rows = rows.filter((row) => {
const value = row.getValue(this.filterKey);
if (value !== undefined && value !== null) {
const stringValue: string = value.toString().trim().toLowerCase();
@@ -108,10 +108,10 @@ export class DataTableComponent {
],
[
{ type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail' },
{ type: 'text', key: 'id', title: 'Id', sortable: true , cssClass: 'desktop-only'},
{ 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: 'full-width name-column', sortable: true },
{ type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true, cssClass: 'desktop-only'}
{ 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'}
]
);
@@ -162,7 +162,7 @@ export class DataTableComponent {
icon: this._imageUrl
}
];
const rows = objects.map(obj => new ObjectDataRow(obj));
const rows = objects.map((obj) => new ObjectDataRow(obj));
this.data.setRows(rows);
}
@@ -171,7 +171,7 @@ export class DataTableComponent {
{ type: 'text', key: 'id', title: 'Id', sortable: true },
{ type: 'text', key: 'name', title: 'Name', sortable: true, cssClass: 'full-width name-column' }
];
const columns = schema.map(col => new ObjectDataColumn(col));
const columns = schema.map((col) => new ObjectDataColumn(col));
this.data.setColumns(columns);
}
@@ -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 { DataTableComponent } from './datatable.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: DataTableComponent
}
];
@NgModule({
imports: [
CommonModule,
CoreModule.forChild(),
RouterModule.forChild(routes),
ContentModule.forChild()
],
declarations: [DataTableComponent]
})
export class AppDataTableModule {}
@@ -4,7 +4,7 @@
<adf-info-drawer [title]="'APP.INFO_DRAWER.TITLE' | translate">
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.COMMENTS' | translate">
<adf-comments [nodeId]="nodeId"></adf-comments>
<adf-comments [nodeId]="nodeId" [readOnly]="!isCommentEnabled"></adf-comments>
</adf-info-drawer-tab>
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.PROPERTIES' | translate">
@@ -188,6 +188,16 @@
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-moreactionsmenu"
[color]="'primary'"
(change)="toggleMoreActionsMenu()"
[checked]="moreActionsMenu">
More Actions Menu
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-download"
@@ -208,22 +218,12 @@
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-share"
[color]="'primary'"
(change)="toggleAllowShare()"
[checked]="allowShare">
Allow Share
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="adf-switch-allowsidebar"
[color]="'primary'"
(change)="toggleAllowSidebar()"
[checked]="allowSidebar">
(change)="toggleAllowRightSidebar()"
[checked]="allowRightSidebar">
Allow Right Sidebar
</mat-slide-toggle>
</p>
@@ -265,25 +265,22 @@
</adf-info-drawer>
</ng-template>
<ng-template let-node="node" #sidebarTemplate> <adf-info-drawer-layout> <div info-drawer-content> <mat-card> My info </mat-card> </div> </adf-info-drawer-layout> </ng-template>
<adf-viewer
[nodeId]="nodeId"
[showSidebar]="showRightSidebar"
[showRightSidebar]="showRightSidebar"
[showLeftSidebar]="showLeftSidebar"
[allowGoBack]="allowGoBack"
[displayName]="displayName"
[showToolbar]="showToolbar"
[allowShare]="allowShare"
[allowPrint]="allowPrint"
[allowDownload]="allowDownload"
[allowSidebar]="allowSidebar"
[allowRightSidebar]="allowRightSidebar"
[allowLeftSidebar]="allowLeftSidebar"
[urlFile]="urlFile"
[sidebarLeftTemplate]="sidebarLeftTemplate"
[sidebarTemplate]="sidebarRightTemplate">
[sidebarRightTemplate]="sidebarRightTemplate">
<adf-viewer-toolbar *ngIf="customToolbar">
<adf-viewer-toolbar *ngIf="customToolbar" data-automation-id="adf-viewer-custom-toolbar">
<h1>My custom toolbar</h1>
</adf-viewer-toolbar>
@@ -299,6 +296,21 @@
</button>
</adf-viewer-toolbar-actions>
<adf-viewer-more-actions *ngIf="moreActionsMenu">
<button mat-menu-item id="adf-viewer-more-menu-alarm">
<mat-icon>alarm</mat-icon>
<span>Alarm</span>
</button>
<button mat-menu-item id="adf-viewer-more-menu-backup">
<mat-icon>backup</mat-icon>
<span>Backup</span>
</button>
<button mat-menu-item id="adf-viewer-more-menu-bug">
<mat-icon>bug_report</mat-icon>
<span>Bug report</span>
</button>
</adf-viewer-more-actions>
<ng-container *ngIf="openWith">
<adf-viewer-open-with>
<button mat-menu-item>
@@ -1,3 +1,12 @@
.adf-viewer__sidebar {
width: 380px !important;
}
/* stylelint-disable */
.monaco-scrollable-element {
width: 600px;
}
adf-preview-extension {
width: 600px;
}
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
* 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.
@@ -17,7 +17,7 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { ContentService, AllowableOperationsEnum, PermissionsEnum, NodesApiService } from '@alfresco/adf-core';
import { MatSnackBar } from '@angular/material';
@Component({
@@ -43,29 +43,33 @@ export class FileViewComponent implements OnInit {
openWith = false;
allowDownload = true;
allowPrint = true;
allowShare = true;
allowSidebar = true;
allowRightSidebar = true;
allowLeftSidebar = true;
moreActions = true;
moreActionsMenu = false;
customName = false;
fileUrlSwitch = false;
showLeftSidebar = null;
showRightSidebar = false;
customToolbar = false;
isCommentEnabled = false;
constructor(private router: Router,
private route: ActivatedRoute,
private snackBar: MatSnackBar,
private apiService: AlfrescoApiService) {
private nodeApiService: NodesApiService,
private contentServices: ContentService) {
}
ngOnInit() {
this.route.params.subscribe(params => {
this.route.params.subscribe((params) => {
const id = params.nodeId;
if (id) {
this.apiService.getInstance().nodes.getNodeInfo(id).then(
this.nodeApiService.getNode(id).subscribe(
(node) => {
if (node && node.isFile) {
this.isCommentEnabled = this.contentServices.hasPermissions(node, PermissionsEnum.NOT_CONSUMER) ||
this.contentServices.hasAllowableOperations(node, AllowableOperationsEnum.UPDATE);
this.nodeId = id;
return;
}
@@ -117,14 +121,14 @@ export class FileViewComponent implements OnInit {
this.allowPrint = !this.allowPrint;
}
toggleAllowShare() {
this.allowShare = !this.allowShare;
}
toggleOpenMoreActions() {
this.moreActions = !this.moreActions;
}
toggleMoreActionsMenu() {
this.moreActionsMenu = !this.moreActionsMenu;
}
toggleShowRightSidebar() {
this.showRightSidebar = !this.showRightSidebar;
}
@@ -133,8 +137,8 @@ export class FileViewComponent implements OnInit {
this.showLeftSidebar = false;
}
toggleAllowSidebar() {
this.allowSidebar = !this.allowSidebar;
toggleAllowRightSidebar() {
this.allowRightSidebar = !this.allowRightSidebar;
}
toggleAllowLeftSidebar() {

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