Compare commits

..
444 Commits
Author SHA1 Message Date
Eugenio Romano afa298060a Merge pull request #3206 from Alfresco/development
2.3.0
2018-04-17 17:43:50 +01:00
Eugenio Romano 89af79029a Update 2.3.0 version (#3207) 2018-04-17 17:40:50 +01:00
Popovics András fba23c4377 [ADF-2755] Fix preview overlay (#3208)
* Fix overlay in the new sidenav

* Update wrong url

* Enrich BlobPreviewService

* Fix another previews

* Filepreview use the same router outlet
2018-04-17 17:04:24 +01:00
Eugenio Romano adfc5adba8 Merge branch 'master' into development 2018-04-17 15:16:19 +01:00
Andy Stark 02620f5563 [ADF-2670] Final doc checks for release (#3205)
* [ADF-2670] Fixed files with wrong name or location

* [ADF-2670] Fixed display glitch with tutorial index
2018-04-17 13:02:12 +01:00
Eugenio Romano 1681958d6b [ADF-2743] changes gallery manager 2018-04-17 12:27:05 +01:00
Eugenio Romano 0a8438954b [ADF-2455] fix properly fall back datatable thumbnail
fix search node selector
drop down list style
2018-04-17 01:19:59 +01:00
Eugenio Romano c8cbc8d645 fix cdk scrollable sidenav (#3204) 2018-04-16 22:42:22 +01:00
Mario Romano 2aafecd752 move data pipe in adf core (#3203) 2018-04-16 21:51:02 +01:00
Vito fc22c2a4c8 [ADF-2734] added the listner for user preference supported page to th… (#3201)
* [ADF-2734] added the listner for user preference supported page to the trashcan

* [ADF-2734] revert changes on app.config

* [ADF-2734] added missing whitespace
2018-04-16 21:05:24 +01:00
Vito a6b8e16391 [ADF-2723] preventing document list to restart always from -my- folder (#3200)
* [ADF-2723] preventing document list to restart always from -my- folder

* [ADF-2723] fixed condition

* [ADF-2723] removed commented line
2018-04-16 21:03:03 +01:00
Andy Stark 460e33ccdb [ADF- 2670] Checked and updated docs for 2.3 (#3197)
* [ADF-2670] Reviewed docs for 2.3 with only minor changes

* [ADF-2670] Checked and updated docs for 2.3
2018-04-16 15:51:29 +01:00
Eugenio Romano e4b9d775a2 [ADF-2695] DocumentList content action documentation (#3198)
* update action component documentation

* fix after review
2018-04-16 15:48:19 +01:00
Eugenio Romano 62f91b567c [ADF-2682][ADF-2714][ADF-2719] fix issues folder navigation and messages releated (#3196)
* [ADF-2687] No message is displayed when deleting a folder from content action
[ADF-2714] Not able to download a version of a file
[ADF-2682] Number of page doesn't change when navigating to another folder
Expand lock documentation

* fix test init
2018-04-16 14:02:44 +01:00
Mario Romano 8a0af2c5e4 [ADF-2724] fix comments internationalization (#3195) 2018-04-16 13:05:09 +01:00
Francesco Corti 68df6138c4 Updated the existing tutorials and added another about Using components. (#3191) 2018-04-16 12:23:46 +01:00
Eugenio Romano eff3ea83b0 Update ADF packages version 2.3.0-beta10 (#3193) 2018-04-14 19:11:53 +01:00
Eugenio Romano 6cd0e9f5bb [ADF-2645] move the service use in the upload in the right place (#3189)
[ADF-2645] move the service use in the upload in the right place 
[ADF-2687] No message is displayed when deleting a file/folder from content action
[ADF-2714] [demo shell] Not able to download a version of a file

* add spaces tslint fix
2018-04-14 10:39:24 +01:00
Alex Bolboșenco 66d8935624 [ADF-2676] Demo shell pagination bug fix (#3174)
* Demo shell pagination bug fix

* tslint error fix

* user preferences service fix

* refactor

* refactor

* refactor

* unit tests added

* unit tests fix

* [ADF-2676] added documentation for app config onChange stream

* [ADF-2676] renamed onChange stream to onLoad stream

* [ADF-2676] fixed test
2018-04-14 02:47:06 +01:00
Andy Stark d0f5bad894 [ADF-2679] Added first tutorials (#3186)
* [ADF-2679] Updated tutorial index script and added the first few tutorials

* [ADF-2679] Minor fixes to README and index script
2018-04-13 14:50:29 +01:00
Eugenio Romano 978c4487a7 [ADF-2690] fix margin header property metadata card 2018-04-13 10:44:56 +01:00
Eugenio Romano f8d1480f29 [ADF-2682] Fix pagination, bradcrumb, general reload scenarios (#3184)
* skipcount page reset in new folder

* fix files component reload multiple times

* fix folderNode scenario
2018-04-13 10:08:02 +01:00
Eugenio Romano 007cc1d1fc i18n update 2.3.0 (#3185) 2018-04-12 19:53:15 +01:00
Andy Stark 0d2f0b7b84 [ADF-2670] Updated doc indexes for 2.3 (#3183)
* [ADF-2670] Updated doc indexes for 2.3

* [ADF-2670] Clarified explanation of sharedLinkId property in Viewer

* [ADF-2670] Updated review checker for new doc folder structure
2018-04-12 16:46:35 +01:00
Andy Stark 014f2ab26c [ADF-2670] Added new docs for 2.3 features (#3181) 2018-04-12 12:32:19 +01:00
Alex Bolboșenco 893cefa9ee bug fix (#3180) 2018-04-12 12:27:10 +01:00
Vito 7a41803cf0 [ADF-2687] enabled snack bar for delete confirmation (#3178) 2018-04-12 12:24:54 +01:00
Eugenio Romano dc432897c9 rollback angualr cli update demo shell because bug https://github.com/angular/angular-cli/issues/10031 2018-04-11 17:52:17 +01:00
Andy Stark 809cf56e2b [ADF-2679] Added tutorial index tool (#3175) 2018-04-11 17:46:27 +01:00
Denys Vuika aba9f41af1 [ADF-2672] version manager fixes (#3169)
* fix app config, add extra flags for version manager

* add docs and tests

* update i18n strings

* rename "id" to "nodeId"

* automatically detect permissions

* restore 'id' and mark as deprecated
2018-04-11 17:34:45 +01:00
Eugenio Romano 8b4af90b46 restore PS xit tests (#3173) 2018-04-11 17:23:56 +01:00
Andy Stark 38de016893 [ADF-2670] Reviewed sidenav docs and updated index files (#3172)
* [ADF-2670] Updated indexes and reviewed sidenav docs

* [ADF-2670] Rebuilt index files after doc file change
2018-04-11 14:27:42 +01:00
Eugenio Romano a4da697b7e [ADF-2586] change export org for AOT (#3170)
* change export org for AOT

* update CLI and remove memory hack

* remove unused import

* right type
2018-04-11 14:04:05 +01:00
camorra-skk 82da1f80b3 [ADF-2607] Task Form - Number Widget placeholder no longer displayed (#3165)
* [ADF-2607] Task Form - Number Widget placeholder no longer displayed

* Removed css to display placeholder after focus on input.

* [ADF-2607] Task Form - Number Widget placeholder no longer displayed.

Changed test cases and placeholder value in amount and text widgets.
2018-04-11 13:32:55 +01:00
Eugenio Romano 5f8b41411a [NO-ISSUE] RE enable failing test (#3168)
* restore viewer test

* fix content node selector breadcrumb tests

* fix skipped test

* notification service uncomment test

* remove duplicated test
exclude dialog test
2018-04-11 09:03:03 +01:00
Alex Bolboșenco 12df7500da [ADF-2455] Fallback thumbnail fix (#3164)
* Show default icon when thumbnail image is broken

* Remove thumbnails prop from demo-shell

* Unit test added
2018-04-10 18:27:21 +01:00
Denys Vuika c214054767 primary button style for confirm dialog (#3167) 2018-04-10 17:21:08 +01:00
Andy Stark 2a5fe7ad28 [ADF-2596] Fixed inputs with incorrect names (#3166)
* [ADF-2596] Updated prop script to handle names from input decorators

* [ADF-2596] Fixed inputs with accessors

* [ADF-2596] Fixed remaining inputs with wrong names

* [ADF-2596] Updated prop script to handle names from input decorators

* [ADF-2596] Fixed inputs with accessors

* [ADF-2596] Fixed remaining inputs with wrong names
2018-04-10 17:19:15 +01:00
Maurizio Vitale a32b1b7359 Remove wrong process service import and use the content service (#3162) 2018-04-10 15:36:25 +01:00
Denys Vuika 11d38efe2b [ADF-2625] updating viewer on node editing (#3160)
* update viewer on metadata changes

* add test and docs
2018-04-10 11:00:35 +01:00
siva kumar 2b8f12fa57 [ADF-2501] Checkbox form Widget - TASK "Complete" button not grayed out when widget set as required. (#3161)
* Validation missing for the boolean type.
* Added test cases for the recent changes
2018-04-10 10:34:41 +01:00
Denys Vuika 4293bbba83 upgrade ng-packagr (#3156)
* upgrade ng-packagr

* restore js-api vesion

* restore compiler version

* revert demo shell update package
2018-04-10 02:08:42 +01:00
Vito bc979ad661 [ADF-1714] added selection mechanism for enter key pressed on datatable (#3157) 2018-04-09 16:07:16 +01:00
Popovics András 89b56e9e66 Fix Safari's thrown error (#3155) 2018-04-09 14:35:08 +01:00
Eugenio Romano 813d189ae4 update automatic packages PR message 2018-04-09 14:07:02 +01:00
Eugenio Romano 07c247ca11 [ADF-2500] fix trashcan bug plus refactoring documentlist (#3136)
* [ADF-2500] The full content of Trashcan is not displayed.

fix pagination problem and add tests

* refactor code

* custom resources services

* move custom resources in separate service part 2

* move custom resources in separate service part 3

* move isCustomResources in custom resources

* move getCorrispondinNodeIds in custom services

* reorganize code

* add pagination interface

* remove permissions check document list and use the common cs method
remove the merge option and move it in the paginator

* make infinte scrolling always use the target

* restore loading infinite page

* fix license header

* fix type problems

* breadcrumb test service

* fix test

* export CustomResourcesService

* fix test pagination

* fix content ndoe test

* remove timeout content node selector test

* fix after rebase

* ripristinate observalbe in search service

* fix wrong type return stub document list test

* fix search service

* fix test document list

* move handle error in common method

* restore observable in search control

* Update search-control.component.spec.ts

* fix after rebase

* add import switchmap

* core import in karma conf

* missing commas

* fix mocks

* fix mock searchquerybody

* search test fix
2018-04-09 10:31:43 +01:00
Vito 79789cb070 [ADF-2553] added select box and updating role (#3148)
* [ADF-2553] start adding dropdown

* [ADF-2553] added select box and updating role

* [ADF-2553] added some fixes

* [ADF-2554] added test for component phase 1

* [ADF-2553] fixed error and added tests

* [ADF-2553] added documentation and improved api call
2018-04-08 16:25:51 +01:00
Andy Stark 1d517d3a8a [ADF-2557] Updated docs with new props script (#3149)
* [ADF-2557] Updated docs for services with new props script

* [ADF-2557] Updated service docs with new props script
2018-04-08 16:23:04 +01:00
Vito 8769c257f8 [ADF-2580] - changing the inherit permission button by status (#3152) 2018-04-08 16:20:14 +01:00
Eugenio Romano f78d5e2865 Update generator to use packages version 2.3.0-beta7 (#3153) 2018-04-08 16:18:59 +01:00
Denys Vuika 5325fd4cd4 [ADF-2567] delete a version (#3151)
* configuration support for version manager

* checkbox for version deletion demo

* i18n support for version manager

* deleting versions

* confirmation dialog for version deletion

* readme update

* update schema

* update code as per code review

* update i18n resources for demo shell

* unit tests
2018-04-06 18:40:17 +01:00
siva kumar 313d7f30cf [ADF-2614] Edit icon misses in Info-drawer Assignee (#3145)
* [DW-488] Edit icon misses in Info-drawer Assignee

* * Added unit testcases for the recent changes .

* * Updated card-view doc for the recent changes made.

* * Fixed failing taskHeader testcases
2018-04-06 12:49:38 +01:00
Denys Vuika 38f2973863 tooltip and i18n fixes (#3147)
* tooltip fixes

* i18n for info drawer strings
2018-04-06 12:47:19 +01:00
Maurizio Vitale 24b3972d84 [ADF-2609] Add the contextRootBPM and contextRootECM to the schema validator (#3146) 2018-04-06 07:05:16 +01:00
Alex Bolboșenco 7d1b4bf14a [ADF-2540] Lock node feature (#3138)
* add adf-node-lock directive

* add lock-node service + button in context menu

* unit tests

* docs

* unit tests fix

* Remove unnecessary imports

* PR changes

* Remove fit from tests

* Update specific node from list on lock/ulock
2018-04-06 06:59:28 +01:00
Suzana Dirla 7b7e39d989 [ADF-2562] Download a previous version (#3141)
* [ADF-2562] Download a previous version

* [ADF-2562] add input property to enable/disable version downloads

* [ADF-2562] add example in demo-shell

* [ADF-2562] unit tests

* [ADF-2561] View comments on previous versions (#3137)

* [ADF-2561] View comments on previous versions

add input property to enable/disable viewing version comments

* [ADF-2561] add more tests

* remove name property

* test fixes
2018-04-05 21:24:05 +01:00
Maurizio Vitale 9792f83c9b Provide a way to change the contextBpmRoot from the app.config file (#3144) 2018-04-05 14:13:28 +01:00
Suzana Dirla c7507c0c31 [ADF-2561] add showComments toggle on demo-shell (#3143) 2018-04-05 12:05:58 +01:00
Denys Vuika 9b3e153b83 [ADF-2595] fix demo shell pagination for search filter (#3142) 2018-04-04 13:37:41 +01:00
Suzana Dirla eb0b0fa5aa [ADF-2561] View comments on previous versions (#3137)
* [ADF-2561] View comments on previous versions

add input property to enable/disable viewing version comments

* [ADF-2561] add more tests
2018-04-04 12:33:15 +01:00
davidcanonieto 3a7751fec9 [ADF-2414] Min length user message at login screen fixed (#3140) 2018-04-03 23:23:15 +01:00
Denys Vuika 5d7ccbeb9a [ADF-2595] use pagination settings with search filter (#3139)
* use pagination settings

* unit tests
2018-04-03 12:58:14 +01:00
Mario Romano 653a510a5c [ADF-2588] make comment component compatible with content (#3128) 2018-03-30 11:13:38 +01:00
Eugenio Romano f985dd11d5 add public scope on queryBuilder 2018-03-29 18:22:54 +01:00
Eugenio Romano b61f187c1a queryBuilder can not be private if used in the template 2018-03-29 18:10:54 +01:00
Andy Stark 717dbfb388 [ADF-2557] Updated doc files with new script and fixed script bugs (#3135) 2018-03-29 17:02:40 +01:00
Denys Vuika 9401e77e0c style fix (#3134) 2018-03-29 13:57:14 +01:00
Denys Vuika d337bff48b (viewer) use system screen-reader friendly tooltips (#3133) 2018-03-29 13:38:42 +01:00
Popovics András 00b04d53dd Fix assorted styles for files in different breakpoints (#3132) 2018-03-29 11:50:15 +01:00
Denys Vuika ed48994e67 [ADF-2128] facet container component (#3094)
* (wip) facet container

* shaping out the API

* code lint fixes

* radiobox facet example

* fields selector facet

* search limits support

* scope locations facet example

* move custom search to 'search.query' config

* use facet fields and queries from the config file

* use facet filters

* use facet buckets in query

* preserve expanded/checked states

* code cleanup and binding fixes

* fix apis after rebase

* extract query builder into separate class

* code improvements

* full chip list (merge facet fields with queries)

* placeholder for range requests

* move search infrastructure to ADF core

* cleanup code

* auto-search on init

* move search components to the content services

* selected facets chip list

* split into separate components at ADF level

* move the rest of the implementation to ADF

* facet builder fixes and tests

* translation support for category names

* docs placeholders

* update language level

* unit tests and packaging updates

* fix after rebase

* remove fdescribe

* some docs on search settings

* rename components as per review

* simplify chip list as per review

* turn query builder into service

* improve search service, integrate old search results

* fix node selector integration

* move service to the top module

* update tests

* remove fdescribe

* update tests

* test fixes

* test fixes

* test updates

* fix tests

* code and test fixes

* remove fit

* fix tests

* fix tests

* remove obsolete test

* increase bundle threshold

* update docs to reflect PR changes

* fix docs
2018-03-29 11:34:08 +01:00
Eugenio Romano d6f51c22aa [ADF-2477] add new log component in demo shell (#3129)
* add CTRL + L new log component in demo shell to test the log service bus

* remove trivial definition

* close tag app-log
2018-03-29 11:04:33 +01:00
Eugenio Romano 99abef0b0a add deprecated tag for old double tag 2018-03-29 11:02:12 +01:00
cristinaj aaddc58bfd Adding data-automation-id (#3131) 2018-03-29 10:34:23 +01:00
Eugenio Romano 8f08528dc3 fix export module sidenav
fix private access property sidenav
2018-03-28 23:20:27 +01:00
Eugenio Romano 8faa9527e0 fix sidenav layout export 2018-03-28 17:48:59 +01:00
Eugenio Romano 152c825328 [ADF-2428] aspectNames in demo shell for document list 2018-03-28 17:06:24 +01:00
Andy Stark 7d5f1b223b [ADF-2557] Added return tag support and error messages (#3127)
* [ADF-2557] Added return tag support and error messages

* [ADF-2557] Set doc tool config to use index script correctly
2018-03-28 16:00:59 +01:00
Popovics András 0aba5bb1b5 [ADF-2559] Sidenav layout (#3119)
* First step of extraction

* Add sidenav-layout to demo-shell

* Fix some sidenav-layout styles

* Fix tests

* Add documentation

* Fix typescript transpiler's stomache

* Modify component's directive's interface

* Enrich documentation

* Another documentation enrichment

* Fix tests and mobile expanded issue
2018-03-28 13:49:52 +01:00
Eugenio Romano 9e2969b955 [ADF-2569] fix reload app.config.json (#3124)
* fix reload app.config.json

* improve style mobile
fix test

* test karma setup update

* fix core providers test

* remove unused providers

* use mock api in service test

* skip test in the wrong place

* remove comma

* remove fdescribe
2018-03-28 11:01:04 +01:00
Andy Stark 21b8cd30ce [ADF-2557] Added new prop table script with support for "deprecated" tags (#3126)
* [ADF-2557] Initial test of typedoc props script

* [ADF-2557] Added simple table generation and support for deprecated tag

* [ADF-2557] Added templates and simple method list

* [ADF-2557] Finished method features and added new templates

* [ADF-2557] Updated templates and added Markdown insertion
2018-03-28 10:20:29 +01:00
Eugenio Romano c803e9f753 fix reload app.config.json 2018-03-26 19:27:32 +01:00
davidcanonieto 3d21aa59f3 [ADF-1828] Folder title shrinks when it's too long to display it in a small screen (#3123) 2018-03-26 19:29:03 +02:00
davidcanonieto 3033102ae4 [ADF-1935] Content on widgets now wraps when viewing it on a small de… (#3117)
* [ADF-1935] Content on widgets now wraps when viewing it on a small device

* [ADF-1935] Width property replaced for flex property

* [ADF-1935] Query modified to work with variable

* [ADF-1935] Removed unnecessary styling classes
2018-03-26 14:32:46 +02:00
Andy Stark 838842caac [ADF-2451] Reviewed component docs and fixed package.json (#3118)
* [ADF-2451] Reviewed component docs and fixed package.json issues

* [ADF-2451] Fixed permission list brief desc and rebuilt indexes

* [ADF-2451] Fixed incorrect filename for inherited button directive docs
2018-03-26 14:32:12 +02:00
Denys Vuika 396d9104ee [ADF-2531] Fixes for production mode (#3121)
* fix dialog module

* fix social component providers

* content metadata module fixes

* remove empty provider sections
2018-03-26 11:37:28 +02:00
davidcanonieto 2940b6ce99 [ADF-1932] Settings button now is located inside the login menu (#3114)
* [ADF-1932] Settings button now is located inside the login menu

* [ADF-1932] Improved styles

* [ADF-1932] CSS replaced by SCSS, settings button now matches material accent color

* enable source map in the dist

* Revert "enable source map in the dist"

This reverts commit 0e53ace55b.
2018-03-26 10:57:50 +02:00
Eugenio Romano b84e716fe5 Update generator to use packages version 2.3.0-beta5 (#3120) 2018-03-26 10:57:20 +02:00
Eugenio Romano 812c7be6f6 [no-issue] remove viewChildren use (#3116)
* remove viewChildren component use in lib and demoshell

* Update trashcan.component.ts

* Update trashcan.component.ts
2018-03-23 10:06:59 +00:00
Deepak Paul 12f29d5524 [ADF-2505] ADF Processlist multi selection issues. (#3115)
* [ADF-2505] Added new input to check if first row has to be selected

* [ADF-2505] Reset selection when data changes

* [ADF-2505] Added documentation
2018-03-23 08:16:06 +00:00
Eugenio Romano 845bdebfc9 remove sourcemap 2018-03-22 23:41:30 +00:00
Eugenio Romano 11c0c89c25 exclude node_modules demo shell 2018-03-22 21:36:50 +00:00
Eugenio Romano 3a499c8561 restore fdescribe ban 2018-03-22 19:16:50 +00:00
Eugenio Romano c2820ee9b4 fix demo node permissions dist 2018-03-22 19:09:08 +00:00
Eugenio Romano 535a445c95 enable source map in the dist 2018-03-22 17:46:44 +00:00
Andy Stark ea0f783015 [ADF-2451] Reviewed component docs (#3113)
* [ADF-2451] Reviewed component docs

* [ADF-2451] Updated review date on tasklist service docs
2018-03-22 17:27:30 +00:00
Vito 10d437b30b [ADF-2432] created directive for add/remove inherited permissions (#3111)
* [ADF-2432] permission display component - phase 1

* [ADF-2432] display permission table for node - phase 2

* [ADF-2432] fixed layout for display permissions

* [ADF-2432] added test and documentation for permission display

* [ADF-2432] fixed wrong rebase changes

* [ADF-2432] created directive for add/remove inherited permissions

* [ADF-2432] renamed folder and added inheriting directive

* [ADF-2432] removed old documentation

* [ADF-2432] added async to tests
2018-03-22 14:56:32 +00:00
davidcanonieto 2084748993 [ADF-2018] Hide details button when it's displayed on a smartphone (#3100)
* [ADF-2018] Hide details button when it's displayed on a smartphone

* [ADF-2018] Media query with variables fixed

* [ADF-2018] Properly merged
2018-03-22 14:53:17 +00:00
Denys Vuika 5c4a18dd48 [ADF-2531] support for AoT and production builds (#3110)
* fix translation for Core module

* fix datatable reference

* fix issue with duplicate pipe and i18n error

* fixes for upload service cutomisation (process services)

* demo shell fixes

* fix search component

* remove unused declaration

* update tests

* remove fdescribe
2018-03-22 10:43:56 +00:00
camorra-skk 7358563b09 [ADF-711] Drag and drop doesn't have the acceptedFilesType property (#3104)
* Added acceptedFilesType property for upload-drag-area component.
* Only those files will be uploaded which are included in acceptedFilesType.
2018-03-22 09:35:40 +00:00
Andy Stark 36625c1af6 [ADF-2451] Reviewed component docs (#3108)
* [ADF-2451] Reviewed component docs

* [ADF-2451] Reviewed component docs

* [ADF-2451] Renamed node share directive doc fileand rebuilt index
2018-03-22 09:34:26 +00:00
Eugenio Romano e8e2af7d6b [ADF-2306] DocumentList should let configure the includeFields request to the se… (#3109)
* DocumentList should let configure the includeFields request to the server

* fix test

* fix test after rebase

* fix permissions

* travis_wait dist
2018-03-22 09:27:12 +00:00
Vito 99e694ef98 [ADF-2432] Creating component to display node permission (#3106)
* [ADF-2432] start adding demo shell changes for permissions

* [ADF-2432] permission display component - phase 1

* [ADF-2432] added permissions to node query|

* [ADF-2432] display permission table for node - phase 2

* [ADF-2432] fixed layout for display permissions

* [ADF-2432] added test and documentation for permission display

* [ADF-2432] fixed wrong rebase changes

* [ADF-2432] added peer review changes

* [ADF-2432] added license header to mock file
2018-03-21 22:02:40 +00:00
Cilibiu Bogdan ae8b7419a0 [ADF-2415] PDF Viewer - open password protected pdf files (#3022)
* pdf password dialog

* PDF viewer onPassword test

* pdf password dialog

* PDF viewer onPassword test

* test

* test

* test

* test

* test

* test

* test

* fix password test

* travis improvements
2018-03-21 21:30:20 +00:00
Eugenio Romano 2951374cc0 [ASD-2483] Validate folder name on change (#3088)
* notify service refactoring
get translate eliminitation in favor of instant
add error event where necessary
fix config problem during test

* fix delete notify test

* remove fdescribe

* fix core test

* errors

* fix types
2018-03-21 16:55:52 +00:00
Cilibiu Bogdan de0fdd9ab4 translate group title (#3105) 2018-03-21 15:18:09 +00:00
Eugenio Romano 18a5106b86 rollback update angular cli because of https://github.com/angular/angular-cli/issues/10031 2018-03-21 02:12:15 +00:00
Eugenio Romano 2761626f55 [ADF-ADF-2528] share directive (#3102)
* share file directive

* share link phase 2

* share dialog

* share dialog test

* more documentation

* add more meaningfully specification

* Add  description in the dialog
2018-03-20 22:32:56 +00:00
Eugenio Romano 71b85588cf fix pipeline 2018-03-20 21:45:22 +00:00
Vito ebec5ea8d7 [ADF-2444] supportedPageSize is used only via input parameter (#3087)
* [ADF-2444] supportedPageSize is used only via input parameter

* [ADF-2444] removed white space

* [ADF-2444] added deprecation to supportedPageSize attribute of paginated interface
2018-03-20 17:23:10 +00:00
Andy Stark 436a911e0d [ADF-2451] Reviewed component docs (#3101)
* [ADF-2451] Reviewed Login component docs

* [ADF-2451] Reviewed component docs
2018-03-20 16:47:47 +00:00
Andy Stark 347b2bb5e8 [ADF-2526] Fixed interpolation marker issue in doc files (#3098)
* [ADF-2526] Test commit of a file with escape tags

* [ADF-2526] Fixed interpolation marker issue in doc code samples
2018-03-20 14:03:12 +00:00
Popovics András f5d58178db [ADF-2504] Add read-only mode for the content meta-data component (#3089)
* Add read-only mode for the content meta-data component

* Multi parameter

* Fix input param name
2018-03-20 12:24:30 +00:00
camorra-skk afb91cf062 [ADF-2452] Task Standalone component (#3084)
* Add a new standalone component to show when there is no form attached to a task.
2018-03-20 12:23:19 +00:00
Eugenio Romano c578529b15 [ADF-2514][ADF-2517][ADF-2143] Fix build isssues (#3097)
* fix remove angular folder problem

* fix npm import cli

* fix search module

* fix comment

* fix tsconfig output

* es 20016 tsconfig

* travis add demo shell dist

* exclude datapicker process services

* demo shell script fix

* bundle check new build

* add simulate publish

* invert publish

* test distribution

* improve sh help

* uncomment script

* finally got the guilty piece of code

* run e2e
2018-03-20 11:53:11 +00:00
siva kumar c06cf28769 [ADF-2492] Task without a form is not displayed when the assignment is preselected on APS (#3093)
* [ADF-2492] Task without a form is not displayed when assignment is preselected on APS

* Fixed  task without a form is not displayed when assignment is preselected on APS

* * Added testcases for the recent changes
2018-03-20 01:00:23 +00:00
davidcanonieto a5055128b8 [ADF-2454] ficing style for fixing the logo (#3095) 2018-03-19 22:36:48 +00:00
Vito 5d92fc4b3b [ADF-2480] document list reload should be always performed (#3096) 2018-03-19 22:36:33 +00:00
Vito 8ead17685a [ADF-2484] moved translation into the context menu action (#3092) 2018-03-19 15:57:37 +00:00
Vito 1c2a959a23 [ADF-2486] input mask placeholder should be shown whenever it is present (#3090)
* [ADF-2486] input mask placeholder should be shown whenever it is present

* [ADF-2486] fixed test for checking placehoolder
2018-03-19 14:37:54 +00:00
Andy Stark 9d578bbd55 [ADF-2463] Added index pages to doc subfolders (#3091) 2018-03-19 14:37:08 +00:00
Eugenio Romano 6427139b21 ng-packagr 2.2.0 update
travis PR also in ng2-components
2018-03-18 10:34:25 +00:00
Andy Stark 126e73f5f3 [ADF-2463] Moved user guide pages to a subfolder (#3083)
* [ADF-2463] Moved user guide to a subfolder

* [ADF-2463] Fixed broken links and images
2018-03-16 17:26:39 +00:00
Vito 6490260c5d [ADF-2353] replaced datatable with mat-list (#3085)
* [ADF-2353] replaced datatable with mat-list

* [ADF-2353] fixed test for the new mat-list comment
2018-03-16 17:11:50 +00:00
Denys Vuika ce14d68ea7 Create CODE_OF_CONDUCT.md (#3082) 2018-03-16 09:55:09 +00:00
Eugenio Romano 7c6085648f remove conditional build 2018-03-15 15:42:16 +00:00
Andy Stark e33cb06371 [ADF-2463] Moved doc files to subfolders (#3081) 2018-03-15 15:41:09 +00:00
Deepak Paul c27273cb7d [ADF-2405] Reverted service to get all process definition versions (#3079)
AnalyticsService.getProcessDefinitionsValues() has same behaviour
2018-03-14 23:36:39 +00:00
Andy Stark 86cc219bc4 [ADF-2463] Moved doc files into subfolders (#3080) 2018-03-14 15:38:55 +00:00
Eugenio Romano 2889f6dcac build PR and tag travis 2018-03-14 15:37:40 +00:00
Eugenio Romano 98a7e151f8 improve commit message automatic update 2018-03-14 15:12:04 +00:00
Eugenio Romano ec4ccd89f4 fix update script version 2018-03-14 15:03:00 +00:00
cristinaj 43503c5f61 Add data-automation-id for theming (#3078) 2018-03-14 14:23:42 +00:00
Eugenio Romano 1959777a52 [ADF-2468] add check if nodeid is present in tag components (#3076)
* add check if nodeid is present in tag components

* fix test
2018-03-14 13:57:57 +00:00
Eugenio Romano 6734a02b86 fix input parameter update projects 2018-03-14 13:47:36 +00:00
Vito c162899b75 [ADF-2393] added fix for infinite scrolling to the other delete buttons (#3077) 2018-03-14 12:57:31 +00:00
Eugenio Romano aa17330ab9 =~ regex identifier travis 2018-03-14 12:34:28 +00:00
Eugenio Romano 1bda8c1af9 change regex beta identifier 2018-03-14 12:31:56 +00:00
Eugenio Romano 0722aaabbf builf if tag is present 2018-03-14 12:20:29 +00:00
Eugenio Romano 4faa93cff0 [ADF-2462] Automatic project update after any beta (#3075)
* First try

* Fix typo

* Fix filename

* use https

* create pull request with github token

* gnu  version

* clone with token

* try example beta 13

* if beta tag only exectute

* update other projects

* unify script

* documentation
2018-03-14 11:19:06 +00:00
Vito 18ec14f210 [ADF-1810] fixed visualisation for small devices (#3074) 2018-03-13 18:45:17 +00:00
Eugenio Romano ad6c6847de add proxy in start command (#3071) 2018-03-13 17:36:10 +00:00
suzanadirla 87c37dd9bd [ADF-2397] Sometimes Load more on Content Node Selector does not load next page of results (#3065)
* [ADF-2397] Sometimes Load more on Content Node Selector does not load next page of results

* [ADF-2397] added test
2018-03-13 17:35:44 +00:00
suzanadirla 3a68382be0 [ADF-2465] Sometimes, navigating using the breadcrumb opens another folder instead of the clicked one - after search performed on the Content Node Selector (#3054)
* [ADF-2465] Sometimes, navigating using the breadcrumb opens another folder instead of the clicked one - after search performed on the Content Node Selector

fixed bug
added tests
made sure that deleting search input field clears all search related data

* [ADF-2465] change tests not to use setTimeouts
2018-03-13 17:34:56 +00:00
Andy Stark 6dc758889f [ADF-2463] Moved doc files to subfolders (#3073) 2018-03-13 17:29:07 +00:00
Vito 766bb082f5 [ADF-2393] fixed reloading on delete with infinite scrolling (#3057)
* [ADF-2393] fixed reloading on delete with infinite scrolling

* [ADF-2393] refactored after PR
2018-03-13 17:28:25 +00:00
Eugenio Romano 27de866193 [ADF-2477] message bus in log service (#3063)
* add message bus in log service to allow third pat integrations

* fix test after review
2018-03-13 15:48:19 +00:00
Andy Stark 6c56d164ec [ADF-2451] Reviewed component docs (#3072) 2018-03-13 15:47:59 +00:00
Andy Stark d563dbbd77 [ADF-2451] Reviewed docs for components (#3061)
* [ADF-2451] Reviewed tasklist docs

* [ADF-2451] Reviewed docs for content node components

* [ADF-2451] Fixed tslint error

* [ADF-2463] Moved core components to subfolder (#3062)

* [ADF-2443] renaming getDifferentPageSize to getDefaultPageSize (#3060)

* [ADF-2443] renaming getDifferentPageSize to getDefaultPageSize

* [ADF-2443] fixed method call for demo shell

* Add data-automation-id to an error message displayed on the Tag Page. (#3064)

* Update upload-drag-area.component.md (#3067)

* [ADF-2443] fixed documentation (#3066)

* [ADF-2451] Reviewed tasklist docs

* [ADF-2451] Reviewed docs for content node components

* [ADF-2451] Fixed tslint error
2018-03-13 12:11:13 +00:00
Eugenio Romano c3e2588e35 [ADF-No-issue-number] search problem type fix (#3068)
* search problem type fix

* fix type test

* fix test node selector

* fix test content node selector panel
2018-03-13 12:10:06 +00:00
Andy Stark ba905acf13 [ADF-2463] Moved doc files to subfolders (#3070)
* [ADF-2463] Moved doc files to subfolders

* [ADF-2463] Fixed broken image links

* [ADF-2463] Moved doc files to subfolders

* [ADF-2463] Fixed broken image links
2018-03-13 11:55:33 +00:00
Vito d4780d41ce [ADF-1913] added ellipsis to long category name (#3069) 2018-03-13 11:54:35 +00:00
Vito e12a3774e0 [ADF-2443] fixed documentation (#3066) 2018-03-13 11:18:42 +00:00
Kasper 5fa8ad075d Update upload-drag-area.component.md (#3067) 2018-03-13 11:18:27 +00:00
cristinaj 1bb2f676a0 Add data-automation-id to an error message displayed on the Tag Page. (#3064) 2018-03-13 10:40:01 +00:00
Vito 84fcdd46c2 [ADF-2443] renaming getDifferentPageSize to getDefaultPageSize (#3060)
* [ADF-2443] renaming getDifferentPageSize to getDefaultPageSize

* [ADF-2443] fixed method call for demo shell
2018-03-12 16:25:38 +00:00
Andy Stark 333e8ee89c [ADF-2463] Moved core components to subfolder (#3062) 2018-03-12 16:24:40 +00:00
Eugenio Romano f3459e1221 when stale wait test (#3059) 2018-03-10 00:13:54 +00:00
Popovics András 8859d3466e [ADF-2368] Version manager update (#3058)
* Add auto file renaming in FE side

* Add error handling, file type restriction

* Documentation

* Fix ts-lint error

* Test the service

* Fix fdescribe...
2018-03-09 22:55:24 +00:00
Andy Stark 4ee7cc0870 [ADF-2463] Update doc tools to work with subfolders (#3056)
* [ADF-2463] Updated main doc tool and index tool to handle subfolders

* [ADF-2463] Updated version index tool for subfolders
2018-03-09 22:39:59 +00:00
camorra-skk 16a8fa8cd8 [ADF-2457] Comment component - Hide the table header (#3053)
* Added showHeader input property in adf-datatable  to hide header in comment-list component.
2018-03-09 13:49:20 +00:00
Andy Stark 487147ca22 [ADF-2451] Reviewed docs for components (#3055) 2018-03-09 13:47:44 +00:00
Eugenio Romano e627613bc5 fast stop appveyor 2018-03-09 12:59:45 +00:00
Eugenio Romano ae489f6737 [ADF-2240] fix e2e and test in demo shell (#3035)
* fix e2e and test in demo shell

* test single run demo shell conf

* fix script e2e

* fix test lint problems

* remove async from nested test

* fix pdf test

* modify url load pdf strategy test

* SimpleChange import

* pdf viewer test fix

* remove force closing

* refactor pdf viewer
-remove promise approach
-add event rendered
-add destroy worker

* increment timeout

* use proxy files

* remove require

* fix viewer component test

* remove last require

* prefer use of done for txt viewer test
2018-03-09 12:16:05 +00:00
Andy Stark 606009cac2 [ADF-2456] Fixed property table formatting (#3051) 2018-03-08 19:41:37 +00:00
Vito 8a70e026cd [ADF-1814] added delete event to mobile menu (#3052) 2018-03-08 19:39:13 +00:00
Vito f0dcaa02fb [ADF-2361] added breadcrumb transform function to the breadcrumb comp… (#3050)
* [ADF-2361] added breadcrumb transform function to the breadcrumb component

* [ADF-2361] added PR review changes
2018-03-08 18:05:00 +00:00
suzanadirla f8f79b3f31 [ADF-2421] Unable to copy / move a file from Recent or Favorites when user has only granular permissions on the file (#3041)
* [ADF-2421] Unable to copy / move a file from Recent or Favorites when user has only granular permissions on the file

* [ADF-2421] refactor code

* [ADF-2421] refactor to simplify code
2018-03-08 10:58:35 +00:00
Andy Stark 499c3cd66e [ADF-2458] Updated doc to standard format (#3047) 2018-03-08 10:11:13 +00:00
Deepak Paul 1fade9b23b [ADF-2320] Complete button is visible on an involved task (#3033)
* * [ADF-2320] Conditionally showing Complete button for task without form

* * [ADF-2320] Refactored the coditions
2018-03-08 10:02:41 +00:00
Vito 6afdbcad7c [ADF-2358] Always enabling copy action (#3044) 2018-03-07 14:11:36 +00:00
Popovics András 232404aef3 Fix dark theme for viewing pdf files also. (#3042) 2018-03-07 11:55:41 +00:00
Andy Stark 4b9daeb1c8 [ADF-2447] Added review checker tool (#3039) 2018-03-06 22:01:22 +00:00
Popovics András e37eb3c7cb Fix mobile styles (#3040) 2018-03-06 21:56:28 +00:00
Vito 52df355e90 [ADF-2373] added filtering for membership on site dropdown (#3031)
* [ADF-2373] added filtering for membership on site dropdown

* [ADF-2373] added test for new site service method

* [ADF-2373] added filtering for site membering to the sites dropdown

* [ADF-2373] added another check into sites tests

* [ADF-2373] added a fix for the site dropdown tests

* [ADF-2373] fixed broken test check

* [ADF-2373] added PR review changes
2018-03-06 16:28:30 +00:00
Vito 0f64af39d9 [ADF-645] added claim and unclaim event for task details action (#3038)
* [ADF-645] added claim and unclaim event for task details action

* [ADF-645] added new events to documentation
2018-03-06 15:54:44 +00:00
Eugenio Romano d8e5e55ffa [ADF-2417] remove tag id as default value from demo shell (#3036)
* remove tag id as default value from demo shell

* fix export check script
2018-03-06 14:07:21 +00:00
siva kumar d867d5f4a9 [ADF-2412] Task List - refactoring. (#3034)
* Removed initStream method.
2018-03-06 13:59:25 +00:00
Eugenio Romano 43ce4a195a update development documentation demo shell 2018-03-06 10:23:55 +00:00
Vito 169403bbae [ADF-2255] fixed loading for form loading data (#3032)
* [ADF-2255] fixed loading for form loading data

* [ADF-2255] fix wrong placeholder

* [ADF-2255] fixed and added test for new value retrieving form

* [ADF-2255] fixed test on validation
2018-03-06 10:01:49 +00:00
Deepak Paul 6aca2a2761 [ADF-2405] Added new service to get all process definition versions (#3023) 2018-03-06 10:00:23 +00:00
Deepak Paul caab70e021 [ADF-2394] Process List Component - Should expose the mutiSelect property (#3013)
* [ADF-2394] Exposed multiselect and selectionMode

* [ADF-2394] Improved documentation
2018-03-06 09:59:23 +00:00
suzanadirla 0a748ac555 [ADF-2391] skipCount is not reset on document-list when choosing a custom source from adf-sites-dropdown, nor the currentFolderId and folderNode (#3012)
* [ADF-2391] skipCount is not reset on document-list when choosing a custom source from adf-sites-dropdown, nor the currentFolderId and folderNode

fix and tests added

* [ADF-2391] refactor code & took into account merge parameter
2018-03-06 09:58:28 +00:00
Popovics András f41498658b [ADF-2337] Fix viewer dark theme issues (#3020)
* Fix viewer dark theme issues

* Further fixes
2018-03-06 09:19:37 +00:00
suzanadirla c1f0537a0d [ADF-2406] [Document Picker] Unnecessary extra request is made on Load more click (#3019)
* [ADF-2406] [Document Picker] Unnecessary extra request is made on Load more click

fixed bug

* [ADF-2406] refactored code

* [ADF-2406] added tests
2018-03-06 09:19:06 +00:00
Denys Vuika ac994ed7af [ADF-2424] reduce docker image size (#3027) 2018-03-06 09:17:46 +00:00
Cilibiu Bogdan eedb7a65db disable fullscreen for media types (#3026) 2018-03-06 07:03:35 +00:00
Cilibiu Bogdan 69ac38713f [ADF-2388, ADF-2375] PDF Viewer - show buffer thumbnail on pagechange (#3011)
* disable thumbnails button until document is loaded

* show buffer thumbnail on page change

* correct value property

* correct test
2018-03-06 07:00:52 +00:00
Eugenio Romano 99db801725 Development (#3030)
* rollup-plugin-commonjs 8.3.0 pin up

* update ng-packagr 2.1.0

* move ng-pkgr in dev
2018-03-05 14:45:59 +00:00
Eugenio Romano 8f63af1fbd move ng-pkgr in dev 2018-03-05 14:30:17 +00:00
Eugenio Romano 9b705d87ac update ng-packagr 2.1.0 2018-03-05 14:11:28 +00:00
Eugenio Romano c2d63bab7d rollup-plugin-commonjs 8.3.0 pin up 2018-03-05 13:53:15 +00:00
Eugenio Romano ad57efc7fc bump 2.2.0 2018-03-05 13:14:05 +00:00
Vito 8d825b19eb [ADF-2387] added a stream for pagination size change (#3014)
* [ADF-2387] added a stream for pagination size change

* [ADF-2387] added test for page size stream

* [ADF-2387] start refactoring adding a general stream for user preference attributes

* [ADF-2387] added documentation and test for user values stream
2018-03-02 13:54:17 +00:00
Eugenio Romano cef91dc516 upload version refresh (#3021) 2018-03-01 19:23:39 +00:00
Denys Vuika 73720d8975 i18n fixes (#3018) 2018-03-01 13:39:12 +00:00
Vito cef05cbcb9 [ADF-2395] fixed expression change problem when startin a process on demo shell (#3016) 2018-03-01 11:52:19 +00:00
Popovics András 3df245a58a Fix card view pipe params issue (#3015) 2018-03-01 10:35:51 +00:00
Chen dc1a17686e add callback for VersionManagerComponent and VersionUploadComponent (#3008) 2018-02-28 18:22:02 +00:00
Eugenio Romano 224dd17042 fix documentation form json 2018-02-28 18:20:21 +00:00
Deepak Paul af9873cfce [ADF-2261] Missing documentation to render json in a form component (#2920)
* [ADF-2261] Missing documentation to render json in a form component

* Added documentation on how to render form by using form definition JSON

* * Updated documentation
2018-02-28 18:13:39 +00:00
Eugenio Romano 45426fd246 [no-issue] speed up test CS part 2 (#3009)
* remove tag and rating service the testbed

* remove unused import in modules

* pdf viewer async

* viewer test fixed

* remove testbed share datatable

* remove unused dependencies

* add missing parameter

* remove testbed from folder actions service

* TaskHeaderComponent async

* remove testbed from document actions and list

* remove unused import

* use done for nested test

* fast finish false
2018-02-28 17:15:52 +00:00
Eugenio Romano b359579078 Update document-list.component.md 2018-02-27 14:44:00 +00:00
Eugenio Romano 563f51505c Update datatable.component.md 2018-02-27 14:43:23 +00:00
Eugenio Romano a738dc70d8 Update document-list.component.md 2018-02-27 14:42:31 +00:00
Eugenio Romano 876ce7b9ae [ADF-2367] [Demo shell] Fix default site (#3004)
* fix default site scenario

* add default my files object in the list
2018-02-27 10:13:38 +00:00
Eugenio Romano 0a266bebdc [no-issue] improve test part 1 PS (#3006)
* remove testbed service process services

* add appconfig in test log

* test import fix
2018-02-26 20:23:29 +00:00
Vito 7e8e5f371f [ADF-2329] fixed padding for start task window for all themes (#3005) 2018-02-26 16:04:28 +00:00
Eugenio Romano 273e0a3900 new multi version export check 2018-02-26 15:08:56 +00:00
Eugenio Romano 4e05e78846 fix empty datatable hiding the header (#3003) 2018-02-26 14:57:27 +00:00
Vito e127149a2e [ADF-2346] fixed the people list task style (#3001) 2018-02-26 14:56:46 +00:00
Eugenio Romano bb4f17ace7 fix document list viewchild pointer in demo shell (#3000) 2018-02-26 11:58:57 +00:00
Vito b2eae9205c [ADF-2300] added menu option to attach file widget (#2992)
* [ADF-2300] added new selection menu to file uploaded

* [ADF-2300] added menu option to attach file widget

* [ADF-2300] removed fdescribe

* [ADF-2300] fixed due peer review
2018-02-26 11:41:40 +00:00
camorra-skk 03bfeb50bd [ADF-2354] Paginator Component - Add an unique id to the overlay menu (#2997)
* [ADF-2354] Paginator Component - Add an unique id to the overlay menu

* Added a unique class for pageSize in pagination-component

* *[ADF-2354] Reused existing class
2018-02-26 09:52:45 +00:00
Denys Vuika 026cc11171 fix broken template file 2018-02-26 09:39:12 +00:00
Eugenio Romano 97a10bde78 add possible future configurability display mode document list and datatable (#2998) 2018-02-26 03:04:19 +00:00
Eugenio Romano 76cf4f178e [ADF-2312] Sites Dropdown component - default select option (#2994)
* fix gallery view sort drop down empty values
restore recent in main pace
trashcan example demo shell add multi select

* add selectable default value

* remove change delete directive

* remove fdescribe

* missing return type
2018-02-24 18:00:41 +00:00
Denys Vuika a2ff6d85b0 AoT fixes (#2996) 2018-02-24 16:36:35 +00:00
Denys Vuika 40f51a17df fixes for AoT (#2995)
* fixes for missing values in templates

* fix location cell implementation for object picker
2018-02-24 10:28:45 +00:00
Andy Stark e24fe25c20 [ADF-2357] Updated index for 2.2.0 (#2993) 2018-02-23 17:39:33 +00:00
suzanadirla d997f14565 [ADF-2077] [Destination picker] User should not be able to copy / mo… (#2978)
* [ADF-20177] [Destination picker] User should not be able to copy / move items into a site outside of the documentLibrary

* [ADF-20177] added unit tests for the change

* [ADF-2077] refactor code and unit tests after code review

* [ADF-2077] more refactoring to make the unit tests messages more clear
2018-02-23 17:38:08 +00:00
Eugenio Romano 8f471d8beb fix gallery view sort drop down empty values (#2990)
restore recent in main pace
trashcan example demo shell add multi select
2018-02-23 17:37:15 +00:00
Andy Stark 69fd016d32 [ADF-#2983] Renamed interface files and fixed links (#2988)
* [ADF-#2983] Renamed interface files

* [ADF-#2983] Fixed links to changed filenames
2018-02-23 15:48:43 +00:00
Denys Vuika f7cfccc7d9 [ADF-2352] project toolbar buttons for the Viewer (#2989)
* project toolbar buttons for the Viewer

* test fixes
2018-02-23 15:48:17 +00:00
Cilibiu Bogdan 1c48a3c0df [ADF-2355] Viewer - text color opacity (#2991) 2018-02-23 15:29:22 +00:00
Eugenio Romano a5eeeb4941 fix process service theming people comments tasks fixed border and background color issues (#2986) 2018-02-23 10:41:37 +00:00
Eugenio Romano 7f63b76d37 [ADF-2311] fix metadata components with folders (#2985)
* fix metadata folders

* remove dead code

* fix check mimetype
2018-02-23 10:41:03 +00:00
Andy Stark ad3dbd4d0b [ADF-2334] Added status icons and version index based on metadata (#2987)
* [ADF-2334] Added status icons to index page

* [ADF-2334] Improved status icons

* [ADF-2334] Added version index page

* [ADF-2334] Fixed bad anchors in version index
2018-02-23 09:35:16 +00:00
Denys Vuika c915a79342 [ADF-2169] Destination Picker fixes (#2984)
* style and layout fixes for Destination Picker

* fix for binding to private member, remove recent demo

* add 'search results' label, code fixes

* selected icon style fixes

* style fixes

* style fixes

* fix column header align issue

* style fixes for empty content

* icon column style fixes
2018-02-22 19:21:10 +00:00
Eugenio Romano 1a97cc00c0 fix login ts 2018-02-22 14:59:42 +00:00
Eugenio Romano f19ade65d3 remove password from login success event 2018-02-22 14:43:12 +00:00
Eugenio Romano 6e14ff5470 [ADF-2340] add trashcan in demo shell and definitely delete in delete directive (#2976)
* add trashcan in demo shell and definetly delete in delete directive

* fix delte directive test
2018-02-22 12:33:42 +00:00
Andy Stark 9bb2a0ae19 [ADF-2334] Added metadata to remaining doc files (#2981) 2018-02-22 11:47:19 +00:00
Eugenio Romano 8a36adb469 new translated files 2.2.0 (#2979) 2018-02-22 11:46:58 +00:00
Andy Stark 16cb15468c [ADF-2334] Added metadata to doc files (#2980) 2018-02-22 10:28:13 +00:00
Eugenio Romano 93bbecaaa8 wrong definition process service md 2018-02-22 09:38:09 +00:00
Andy Stark 4752f3b73e [ADF-2334] Added version and status metadata to doc files (#2974)
* [ADF-2334] Added version and status metadata to doc files

* [ADF-2334] Tidier looking metadata for guide pages
2018-02-22 09:34:21 +00:00
siva kumar 9c5be3eb27 [ADF-2326] Process List - Provide a way to support custom html template and static columns at same time. (#2975)
* [ADF-2326] Process List - Provide a way to support custom html template and static columns at same time.

* Fixed support custom html template and static columns at same time

* Updated process list documentation with recent changes.

* * Added testcases for recent changes .
2018-02-22 09:33:45 +00:00
Cilibiu Bogdan 9bbdf4331e [ADF-2338] PDF Thumbnail Pane - close button (#2977)
* close thumblist panel

* thumbnails template container
2018-02-22 09:29:20 +00:00
Deepak Paul ec3b208b84 [ADF-2305] Process app tiles on process workspace landing page show "…" in Firefox (#2963)
* [ADF-2305] Process app tiles on process workspace landing page show "..." in Firefox

* [ADF-2305] Removed multi-line ellipsis work around for Firefox
* [ADF-2305] Added multi-line or single line ellpsis conditionally

* * [ADF-2305] Imported line-clamp mixin from core mixins
2018-02-21 12:07:00 +00:00
Andy Stark 9e8fb2b6ea [ADF-2334] Added version and status metadata to docs (#2973) 2018-02-21 12:05:55 +00:00
Eugenio Romano 62d5dd1b30 [ADF-2322] Card view datatable and documentlist (#2968)
* move table in style

* Enable the cardview mode

* add button in demo shell to change view
add missing translation terms toolbar

* missing comma

* add example in demo shell

* style loading and images

* border card container

* document list tests

* test check class and input

* test fix

* fix test process services

* more documentation

* rirpristinate base pacakge integgration

* remove test color
2018-02-21 09:57:01 +00:00
suzanadirla ff887772e3 first run clean-lock command to prevent incomplete clean up (#2972) 2018-02-21 09:44:39 +00:00
siva kumar bca77b390e [ADF-2260] Action menu translation is missing when right clicking on a file/folder. (#2971)
* Fixed missing translation support.
* Added a action-menu key in en.json
2018-02-21 09:27:21 +00:00
Eugenio Romano 02806dedfa fix breadcrumb demo shell navigation (#2970) 2018-02-20 21:31:57 +00:00
Denys Vuika 2f69383c44 [ADF-2316] upgrade ngx-translate (#2956)
* upgrade ngx-translate

* add missing export

* add missing export

* Update test-e2e-bc.sh

* rxjs fixes

* increase timeout test

* lettable operator translate
2018-02-20 18:39:57 +00:00
suzanadirla ed9289d6df [ADF-2310] Error is thrown if isSelectionValid optional property is not defined (#2957)
* [ADF-2310] Error is thrown if isSelectionValid optional property is not defined

* [ADF-2310] added unit tests for the change and removed unneeded import

* fix tests

* [ADF-2310] add missing async

* [ADF-2310] add more async function to unit tests
2018-02-20 18:22:21 +00:00
Andy Stark 4513cb0e09 [ADF-2334] Added metadata to Markdown files (#2969) 2018-02-20 18:21:38 +00:00
jdosti afe8778ac1 Adding a data-automation-id for Start Process button in a start event (#2967) 2018-02-20 15:45:53 +00:00
Vito 36836d0119 [ADF-2255] added refresh visibility before validation check (#2965)
* [ADF-2225] added check visibility before validation and refactored the visibility template check

* [ADF-2255] added refresh visibility before validation check

* [ADF-2225] readded deprecation signatures
2018-02-20 15:45:23 +00:00
camorra-skk 1ae5558126 [ADF-2324] Process Pagination - Items per page is not saved on user preferences (#2966)
* Made the  pagination pageSize to be reflected according to the changes done in either tasklist or processlist pagination.
2018-02-20 14:54:30 +00:00
Andy Stark b45048b5ed [ADF-1769] Added JSDocs for directives (#2964) 2018-02-20 14:00:18 +00:00
suzanadirla d731cc651c [ADF-2175] Document List requests are executed twice when opening the copy and move dialog (#2960)
* [ADF-2175] Document List requests are executed twice when opening the dialog

fixed bug

* [ADF-2175] added unit tests for the change & refactored initial code
2018-02-20 13:59:12 +00:00
Denys Vuika adb0b8df38 restore original BaseEvent implementation (#2962) 2018-02-20 10:51:15 +00:00
Cilibiu Bogdan 28ca71a5f9 [ADF-2137] Document Thumbnail Pane (#2943)
* pdf thumbnails

* update TestBed declarations

* add PdfViewerService to TestBed

* content projection

* update TestBed declaration

* update TestBed

* update TestBed

* docs

* pristine

* added doc component image

* use global PDFJS instance fro tests
2018-02-20 10:29:40 +00:00
madhukar23 5955cc567d [ADF-2297] App-list - The component shows "No Apps found" until all the apps are loaded (#2945)
* [ADF-2297] When loading the process workspace landing page after login, there is a message "No Apps found" displayed until all the apps are loaded

* Added a template in app-list component to show apps loading status.

* [ADF-2297] When loading the process workspace landing page after login, there is a message "No Apps found" displayed until all the apps are loaded

* Added a template in app-list component to show apps loading status.

* [ADF-2297] When loading the process workspace landing page after login, there is a message "No Apps found" displayed until all the apps are loaded

* Added a template in app-list component to show apps loading status.

* [ADF-2297] When loading the process workspace landing page after login, there is a message "No Apps found" displayed until all the apps are loaded

* Added a template in app-list component to show apps loading status.

* added a way to pass custom no-apps template to adf-apps

* [ADF-2297] When loading the process workspace landing page after login, there is a message "No Apps found" displayed until all the apps are loaded

* Added a template in app-list component to show apps loading status.

* added a way to pass custom no-apps template to adf-apps
2018-02-20 10:25:53 +00:00
Andy Stark de575fd47b [ADF-1769] Added JSDocs for services (#2961) 2018-02-19 17:28:44 +00:00
suzanadirla 6d0bab9278 [ADF-2304] Add option to Content Node Selector to transform the breadcrumb folder node (#2952)
* [ADF-2304] Add option to Content Node Selector to transform the breadcrumb folder node

* [ADF-2304] update documentation with recent changes

* [ADF-2304] added example of using the breadcrumbTransform
2018-02-19 17:27:55 +00:00
siva kumar 6b980edcf5 [ADF-2260] Action menu translation is missing when right clicking on a file/folder. (#2958)
* Fixed Action menu translation.
2018-02-18 10:13:47 +00:00
camorra-skk 744f4d9a7d [ADF-2263] Translation is missing on delete warning messages when user has no permission. (#2959)
* Fixed Translation missing on delete warning message
2018-02-18 10:13:09 +00:00
Eugenio Romano 78ab1ddffc remove space package.json 2018-02-16 09:53:26 +00:00
Eugenio Romano 54fb69fdfc fix demo shell build 2018-02-16 09:52:39 +00:00
Popovics András 4ace303b13 Update content-metadata.component.md (#2955) 2018-02-15 14:34:35 +00:00
Eugenio Romano 5bfecff1a0 fix process service flat module id 2018-02-15 11:15:25 +00:00
Eugenio Romano fd533a8c97 fix style copy 2018-02-15 10:54:18 +00:00
siva kumar 1a41da514b [ADF-2123] Process Pagination - There is no way to paginate the result (#2946)
* [ADF- 2123] Process Pagination - There is no way to paginate the result

* Updated unimplemented pagination method.

* * Refactored process-service component.

* * Removed unused  pagination methods from process-service component.

* * Updated process/task list documentation with recent changes.
2018-02-15 10:20:23 +00:00
siva kumar f828e8e847 [ADF-2118] Process Initiator should be able to complete a task (#2951)
* [ADF-2118] Process Initiator should be able to complete a task.

* Fixed Process Initiator should be able to complete a task.

* * Fixed Process Initiator should be able to complete a task.

* * Removed extra space
2018-02-15 10:18:41 +00:00
suzanadirla 6f81d7729e [ADF-2264] [Destination picker] File Libraries visibility column is not displayed (#2954) 2018-02-15 10:17:43 +00:00
Eugenio Romano ddb53a83a4 fix check schema script 2018-02-15 10:09:45 +00:00
Eugenio Romano ae0994edf1 [ADF-2296] Background color on form buttons (#2953)
* add a targeting ID for any Form button

* custom outcome style ID
2018-02-15 10:08:46 +00:00
Eugenio Romano 6e57cd3e17 [ADF-2265] fix user preference null value (#2948)
* fix user preference null value

* fix method call test public
2018-02-15 09:30:35 +00:00
Denys Vuika 63a146616b [ADF-2161] download directive (#2934)
* node download directive

* integrate with demo shell

* docs on the directive

* node actions integration

* test fixes

* remove old and disable invalid tests

* remove fdescribe

* fix unit tests
2018-02-15 09:23:55 +00:00
Eugenio Romano 2c1271a5b2 fix copy scripts 2018-02-14 18:49:29 +00:00
Eugenio Romano 45ab4602c0 add schema check 2018-02-14 18:41:49 +00:00
jdosti 3e3aab50ad [ADF-2307] Adding of an id tag for Process services navigation bar (#2950)
* [ADF-2307] Adding of an id tag for Process services navigation bar

* [ADF-2307] Changing the tag name to data-automation-id
2018-02-14 14:20:49 +00:00
Andy Stark 9887d8bca4 [ADF-1769] Added JSDocs for services (#2949) 2018-02-14 14:20:10 +00:00
Eugenio Romano 8bfac2f9f8 [ADF-2236] Automatic check export (#2933)
* save export in a file

* print errors

* add position error

* color error log and add comment to skip a file

* export check ver 2

* ignore source

* fix export modules

* fix possible nullable value

* remove duplicates

* improve logs

* add travis configuration

* fix travis and import

* export fix

* remove export check js file

* add export check js ignore

* fix content metadata service export
2018-02-14 09:33:50 +00:00
Deepak Paul c51d76f5a2 [ADF-2298] Process Header - Make it customizable from config file (#2944)
* [ADF-2298] Process Header - Make it customizable from config file

* Added customization to process instance header through config file

* [ADF-2298] Process Header - Make it customizable from config file

* Fixed tests
* Added documentation
2018-02-14 09:31:36 +00:00
siva kumar b08e2eced7 [ADF-2212] Task List - Improve the pagination using the interface (#2921)
* [ADF-2212] Task List - Improve the pagination using the interface

 * Improved the pagination using the interface.

* * Updated unimplemented pagination method.
* Removed unused currentPage() method from process-service component.

* * Refactored process-service component.
* Removed unused pagination method.

* * Updated tasklist doc.
2018-02-14 09:15:33 +00:00
Vito 8b0aa198e4 [ADF-2243] Fixed extended search demo translation (#2942)
* [ADF-2243] added removed keys

* [ADF-2243] fixed no result parameter
2018-02-13 22:46:23 +00:00
Andy Stark 68ded23c9a [ADF-1769] Added JSDocs to services (#2937)
* [ADF-1769] Added JSDocs to services

* Removed JSDoc return directives from doc comments
2018-02-13 22:44:47 +00:00
Vito b3955b3f6c [ADF-1876] added custom empty result tag for search result control (#2940)
* [ADF-1876] added custom empty template for no search result

* [ADF-1876] added custom empty result tag for search result control

* [ADF-1876] added custom no search result tag for search control component

* [ADF-1876] added documentation for template no result
2018-02-13 18:11:09 +00:00
Eugenio Romano 5d3f005b60 dynamic license header in dist packages 2018-02-13 16:32:42 +00:00
Eugenio Romano a014aef9e0 autocomplete off (#2938) 2018-02-13 15:57:58 +00:00
Eugenio Romano c5225a4c7d add loading demo shell (#2941) 2018-02-13 15:35:57 +00:00
Eugenio Romano 239772bbb2 update moment.js to last version (#2939) 2018-02-13 14:00:21 +00:00
Popovics András c109b9f6f3 [ADF-2232] Content metadata layout oriented configuration (#2918)
* Small refactoring I.

* Small refactoring II.

* On the way of implementing the soultion

* Refactoring aspect to groups and supporting different type of configs

* Fixed linter errors

* Fix debug project runner

* Fix linting errors

* Fix and align tests

* Config factory tests

* Layout oriented config parser

* Adding layout oriented config to the config factory

* Update config schema

* Layout oriented config

* Aspect oriented and indifferent configs alignment to the new propertyGroups structure

* Remove dead codes

* Fixinfinite loading error and custom type properties

* Add documentation

* Fix tests
2018-02-13 13:57:45 +00:00
Eugenio Romano a863631f0d [ADF-2149] Update ng-packagr to 2.0.0 (#2935)
* ng-packagr version 2.0.0 core fixes

* fix content services jsdoc

* fix process service jsdoc

* last update new build 2.0.0

* fix comment jsdoc
2018-02-13 10:37:03 +00:00
Vito 71a1ca1787 [ADF-2225] visibility and validation must be done after form is parsed (#2931)
* [ADF-2225] visibility and validation must be done after form is parsed

* [ADF-2225] remove fdescribe

* [ADF-2225] fixed broken test

* [ADF-2225] moved check visibility appended to the main condition

* [ADF-2225] added visibility check to new validators
2018-02-13 10:10:13 +00:00
Andy Stark f4e2cb8cb2 [ADF-2262] Updated theming docs (#2917)
* [ADF-2262] Updated theming docs

* [ADF-2262] Replaced new theming doc with a modified version of the original
2018-02-12 18:21:14 +00:00
Maurizio Vitale 37561d1d27 [ADF-2289] Login with oauth2 provider (#2924)
* Fix oauth2 provider

* Add the schema validation

* Improve the login doc with provider "OAUTH"

* fix doc
2018-02-12 15:25:03 +00:00
Cilibiu Bogdan 3368607aff [ADF-2290] PDF Viewer - scroll event dispatch outside view container (#2922)
* use viewer pagechange event over document scroll

* undo declaration component deletion

* safe ngOnDestroy

* preserve context
2018-02-12 15:22:35 +00:00
Denys Vuika 6072a987c9 [ADF-1418] Viewer enhancements (#2930)
* move navigation buttons to the header

* restrict file name to 35 characters

* remove wrong condition in template
2018-02-12 13:57:53 +00:00
Vito 3d19341c0d [ADF-1925] created datetime widget (#2929)
* [ADF-2225] created datetime widget

* [ADF-2225] start fixing max and min date validation

* [ADF-2225] fixed validator for date time

* [ADF-2225] start adding test

* [ADF-2225] removed time wrong workaround and added test to the widget

* [ADF-2225] removed fdescribe

* [1925] renamed variable
2018-02-09 22:31:53 +00:00
Vito f2dd70a455 [ADF-2243] added removed keys (#2932) 2018-02-09 22:07:22 +00:00
Andy Stark 76ad797488 [ADF-1769] Added JSDocs and methods and updated script (#2927) 2018-02-09 18:06:24 +00:00
Denys Vuika 2bfed5818f [ADF-2254] always update display name for ACS nodes (#2926)
* always update display name for ACS nodes
* remove the test that tests opposite behaviour
2018-02-09 16:48:25 +00:00
Andy Stark 3114fa4862 [ADF-1769] Added support for methods to JSDoc tool (#2925)
* [ADF-1769] Refactored component props features

* [ADF-1769] Added methods list feature to doc tool

* [ADF-1769] Added support for optional parameters and initialisers

* [ADF-1769] Switched off prop generator tool
2018-02-09 10:22:41 +00:00
Denys Vuika 0e51208333 emit "sorting-changed" DOM event (DataTable) (#2916) 2018-02-06 16:58:19 +00:00
Vito 2080d75d51 [ADF-2211] added configuration filter for task header properties (#2914)
* [ADF-2211] added configuration filter for task header properties

* [ADF-2211] removed added configuration

* [ADF-2211] updated schema.json with the new attribute

* [ADF-2211] added schema check on build step of demo shell
2018-02-06 14:53:50 +00:00
Deepak Paul 84775804c0 [ADF-2251] ContentWidgetModule is not exposed from ADF (#2912)
* Exposed ContentWidget Module
2018-02-06 14:11:47 +00:00
suzanadirla 9e6469c566 [ADF-2176] [Destination picker] File Libraries are not displayed (#2868)
* [ADF-2176] [Destination picker] File Libraries are not displayed

update columns used for display according to the folder node to display

* [ADF-2176] revert initial changes

* [ADF-2176] assure that site entries have 'name' property set

* [ADF-2176] add unit test
2018-02-06 13:53:44 +00:00
Andy Stark 03cca19599 [ADF-1769] Added JSDocs and prop tables (#2913) 2018-02-05 19:05:48 +00:00
Vito b232d05c4f [ADF-2199] fixed check for radio button and dropdown (#2910) 2018-02-05 15:05:23 +00:00
Vito 1ae122e077 [ADF-2215] fixed sorting key for comment list (#2911) 2018-02-05 15:03:36 +00:00
suzanadirla b6cc8efe27 [ADF-2246] [Destination Picker] The selection from the dropdown is ignored after 'Clear' action (#2908) 2018-02-05 11:24:19 +00:00
Deepak Paul 05659b3837 [ADF-2245] Setting Component - Emit an event to detect the changed url (#2907)
* [ADF-2245] Setting Component - Emit an event to detect the changed url

* Added change event emitters

* * Updated documentation
2018-02-05 09:52:44 +00:00
Maurizio Vitale 0f6ac42e4c Process list implement pagination interface (#2872) 2018-02-03 18:22:05 +00:00
Vito 105bc80d2c [ADF-2163] added target all for content actions (#2900)
* [ADF-2163] first step to target all

* [ADF-2163] start refactoring folder dulpication action

* [ADF-2163] start refactorin all approach

* [ADF-2163] added test for target action 'all'

* [ADF-2163] fixed test and added enum for target actions

* [ADF-2163] updated documentation for content action target all

* [ADF-2163] updated documentation adding ENUM

* [ADF-2163] added change to documentation after quick review

* [ADF-2163] moved to upper case enum

* Revert "[ADF-2163] moved to upper case enum"

This reverts commit 41da0a34dd.

* [ADF-2163] fixed case for documentation
2018-02-02 19:27:54 +00:00
Eugenio Romano f72d388076 check PascalCase enum 2018-02-02 16:54:25 +00:00
suzanadirla 78c6a68e51 [ADF-2242] Search on custom sources is not working. (#2904)
* [ADF-2242] Search on custom sources is not working.

fix search on custom sources

* [ADF-2242] added unit tests

* [ADF-2242] reverted change

* [ADF-2242] simplify code on search method and make extra call only when having custom dropdown defined
2018-02-02 15:22:33 +00:00
Andy Stark 5ee9b09a21 [ADF-1769] Added prop tables and JSDocs (#2906) 2018-02-02 14:56:59 +00:00
Andy Stark 819274301b [ADF-2228] Added missing space in French example (#2905) 2018-02-02 14:56:31 +00:00
Eugenio Romano 7693904be2 [ADF-2147] test upgrade 2.0.0 (#2902)
* add integration 2.0.0 test

* update readme

* add integration test in travis

* restore tsconfig.dev

* fix test script travis call

* improve script

* fix npm run test
2018-02-02 12:11:48 +00:00
Andy Stark e5c025aa35 [ADF-2228] Added i18n guide (#2903) 2018-02-02 10:27:08 +00:00
Denys Vuika e5afe96a52 [ADF-2138] Viewer enhancements (#2897)
* greatly improved rendition management

* code cleanup

* test fixes

* better handling of media types

* docs update

* fix code style

* fix tests after rebase
2018-02-01 17:14:32 +00:00
Denys Vuika 8cd2190f37 add missing exports and declarations (#2901) 2018-02-01 17:10:48 +00:00
Andy Stark 5c4aaa4f92 [ADF-1769] Fixed index file that had been trashed unexpectedly (#2899) 2018-02-01 10:33:15 +00:00
Eugenio Romano 102656582c [NO-ISSUE] appveyor build fix experimenting (#2845)
* appveyor fix
2018-02-01 10:08:41 +00:00
Eugenio Romano 9e4b2e74e9 [ADF-2159] Update angular-cli to latest version (#2874)
* Update angular cli version 1.6.5

* fix tslint problems and update devdependencies using the angularcli 1.6.4

* test fixing

* [ADF-2159] start fixing userinfo test

* [ADF-2159] fixed userinfo tests

* [ADF-2159] added async to accordion component test

* [ADF-2159] testing probable failed test on CI

* [ADF-2159] check removing fake destroyed view test

* [ADF-2159] check viewer tests

* [ADF-2159] attempt on test fix

* [ADF-2159] test fix

* [ADF-2159] fix test

* [ADF-2159] fix test

* [ADF-2159] rebased

* [ADF-2159] check test

* [ADF-2159] fixing test

* [ADF-2159] Fix#1

* [ADF-2159] Fix#2

* [ADF-2159] Fix#3

* [ADF-2159] Fix #4

* [ADF-2159] Fix #5

* [ADF-2159] Fix #6

* [ADF-2159] fixed viewer test

* [ADF-2159] fixed cast element
2018-02-01 10:08:25 +00:00
Andy Stark dd7afc65db [ADF-1769] Added JSDocs and prop tables (#2898) 2018-01-31 17:40:28 +00:00
Denys Vuika 0d93c65fd7 [ADF-2064] Lazy loading support (#2811)
* remove BrowserAnimationsModule dependency

* improve test shim

* update test shim

* test shim updates

* example of lazy-loaded datatable

* local and global i18n demo for lazy modules

* lazy loading support for CoreModule providers

* test shim updates

* update test shim

* support global i18n for lazy modules

* cleanup lazy loading example

* update card view after rebase

* backwards compatibility

* cleanup files

* fix code after rebase
2018-01-31 17:39:26 +00:00
Denys Vuika 49456b3fcd [ADF-2139] extra cookie availability check (#2865)
* extra cookie availability check

* code style and test fixes

* unit tests
2018-01-31 17:37:42 +00:00
Andy Stark 900fd70d63 [ADF-1769] Added prop tables and fixed script (#2896)
* [ADF-1769] Added prop tables and fixed script

* [ADF-1769] Corrected JSDoc formatting errors

* [ADF-1769] Restored default column to prop tables
2018-01-31 09:22:05 +00:00
Denys Vuika 8a4959d172 [ADF-1416] image viewer enhancements (#2895)
* image viewer enhancements

* code improvements

* fix scrolling of the zommed in content

* remove flip for now as it needs much efforts

* unit tests, thumbnail selector enhancements
2018-01-30 16:30:41 +00:00
Eugenio Romano a51d522807 new docker publish script 2018-01-30 15:40:51 +00:00
Popovics András 9bd18c9770 [ADF-1532] Assignee typeahead in start task form (#2839)
* people module directory restructuring

* Extract PeopleSearchFieldComponent to reuse most part of it

* Transform PeopleSearchFieldComponent to the form we want to reuse

* People selector component, first try

* Remove material grid from start-task.component, first part

* Styling and i18n

* clear button for deleting the selected assignee

* Remove people preloading, remove combobox and update assigneeId

* Fix existing tests

* Add new tests

* Final css fixes
2018-01-30 13:38:53 +00:00
Vito 74cd0fab33 [ADF-2215] modified key to allow search for createdBy email (#2894) 2018-01-30 13:37:39 +00:00
Popovics András fafc75a9a0 [ADF-2134] App config schema (#2892)
* Application config schema

* Adding descriptions

* validate-config npm script

* Finishing schema

* Package.json modifications

* Add validation to demo shell start
2018-01-30 13:34:08 +00:00
Denys Vuika 08f2cc9236 [ADF-1412] Viewer enhancements (#2873)
* collection navigation support for Viewer

* code cleanup

* full screen mode support

* keyboard shortcuts

* zooming scale label

* layout fixes

* test fixes

* image toolbar with basic tranformations

* test fixes

* test fixes
2018-01-28 23:01:01 +00:00
suzanadirla d2d635b94d [ADF-2000] Destination picker is not completely translated (#2883) 2018-01-28 22:55:39 +00:00
Eugenio Romano ac657ae40a update tag fix script 2018-01-26 18:16:48 +00:00
Eugenio Romano ef679b9c1f Merge branch 'master' into development 2018-01-26 11:40:18 +00:00
Eugenio Romano 3ffc4f809a update versions to 2.1.0 2018-01-26 11:37:56 +00:00
Maurizio Vitale f7229e39fb Remove app.config reference from doc (#2889) 2018-01-26 11:21:27 +00:00
Eugenio Romano ad02ec1fbd export material only from the core (#2885) 2018-01-26 11:21:10 +00:00
Andy Stark 613b30bdb8 [ADF-2201] Fixed broken links (#2890) 2018-01-26 11:19:30 +00:00
suzanadirla d071250e24 [ADF-2221] Search fails on Content Node Selector (#2888) 2018-01-26 10:25:55 +00:00
Vito 0ad4bf6eb9 [ADF-2200] fixed redirectUrl check (#2886) 2018-01-25 16:54:43 +00:00
Maurizio Vitale 657c28491a [ADF-2188] Start Process - Change processDefinition property and fix bug (#2884)
* Change processDefinition property and fix bug

* Fix unit test

* Fix async

* Fix id
2018-01-25 16:52:05 +00:00
Popovics András abca6e481d Fix css error (#2882) 2018-01-25 12:34:59 +00:00
Vito 77f6c51dc2 [ADF-2200] fixed problem with redirection url (#2877)
* [ADF-2200] fixed wrong handling of redirectUrl

* [ADF-2200] fixed problem with redirection url

* [ADF-2200] fixed redirection config path

* [ADF-2200] fixed wrong fdescribe test

* [ADF-2200] removed authserviceMock and fixed some tests
2018-01-25 11:48:47 +00:00
Deepak Paul 9f88c02ef3 [ADF-2208] The width of the 'New Task' option is smaller then Create Task drop down (#2881)
* Set width for menu and button
2018-01-25 11:46:12 +00:00
Andy Stark 5063ad6872 [ADF-2201] Updated renditions service docs (#2880) 2018-01-25 11:09:12 +00:00
jdosti dd633bddda Update start-process.component.md 2018-01-25 10:27:49 +00:00
jdosti d92b791d32 Update start-process.component.md 2018-01-25 10:27:31 +00:00
Andy Stark 87101d4e85 [ADF-2201] Search Configuration doc (#2876)
* [ADF-2201] Updated search component docs and tidied index page

* [ADF-2201] Fixed incorrect link

* [ADF-2201] Updated docs based on feedback

* [ADF-2201] Fixed broken relative link
2018-01-24 19:23:50 +01:00
Eugenio Romano 8e4017ed19 new i18n file 2.1.0 (#2878) 2018-01-24 17:22:53 +00:00
Eugenio Romano b3a9e1a884 [ADF-1880] More configuration options for adf-start-process component (#2869)
* procesdefinitionId set
show dropdown multiple process

* fix sourcemap

* fix test start process

* fix test

* changes after code review

* add show dropdown optional

* remove fit fdescribe

* processDefinitionId in processDefinition change

* improve tests
2018-01-24 15:40:42 +00:00
Popovics András 5152a90592 Fix dynamic table css (#2879) 2018-01-24 15:18:27 +00:00
Maurizio Vitale 21571b45e5 Fix margin top (#2875) 2018-01-24 12:16:27 +00:00
Andy Stark 6dc14eb2e0 [ADF-2201] Tidied Content Node Dialog docs (#2870) 2018-01-23 17:38:33 +00:00
Deepak Paul 2e27662eb2 [ADF-2174] Menus background color is not properly displayed in black themes (#2859)
* [ADF-2174] Menus background color is not properly displayed in black themes

* Removed global mat-menu-panel class style overriding

* * Refactored styles

* * Changed opacity property to rgba so that injected coponents will not be affected

* Removed fixed menu width
2018-01-23 16:11:33 +00:00
Andy Stark 441d1e648e [ADF-2201] Tidied Start Process docs (#2864)
* [ADF-2201] Tidied Start Process docs

* [ADF-2201] Removed file with probably incorrect name
2018-01-23 14:56:42 +00:00
Popovics András c66115fe70 Fix sidebar node reloading issue (#2866)
[ADF-2186] Fix sidebar node reloading issue
2018-01-23 14:48:00 +00:00
Popovics András 4e434f7e11 Fix missing translation (#2867) 2018-01-23 14:46:49 +00:00
Vito 101701b72e [ADF-2196] fixed error message for no permission on copy and move (#2863)
* [ADF-2196] fixed error message for no permission on copy and move

* [ADF-2196] removed fdescribe
2018-01-23 12:06:10 +00:00
Denys Vuika 0ea7259988 style fixes for viewer (#2858)
* style fixes for viewer

* use theme colors

* initial theme support for PDF viewer
2018-01-23 11:35:45 +00:00
Vito a401ebd35d [ADF-2150] improved queryBody mechanism (#2852)
* [ADF-2150] changed query body parameter to a function

* [ADF-2150] added an example page where to try change query body

* [ADF-2150] improved queryBody mechanism

* [ADF-2150] fixed content node test

* [ADF-2150] extended docs added another way to use the query node

* [ADF-2150] fixed test for search on content node

* [ADF-2150] added some improvements to service config

* [ADF-2150] changed the documentation accordingly

* [ADF-2150] added PR changes

* [ADF-2150] fixed jdoc

* [ADF-2150] added checkbox to switch from service approach to input object approach

* [ADF-2150] fixed build error on demo shell
2018-01-23 10:12:52 +00:00
Maurizio Vitale 8788eaeb80 remove processInstanceId reset (#2847) 2018-01-22 20:04:51 +00:00
Andy Stark 8e7f5eb200 [ADF-2160] Improved combined action info in Content Action component docs (#2861) 2018-01-22 19:57:08 +00:00
Popovics András eb6db1d449 [ADF-2186] Update calculated properties on node change in content metadata compo… (#2862)
* Update calculated properties on node change in content metadata component

* Add module to public api
2018-01-22 19:56:31 +00:00
Vito b481bde483 [ADF-2170] fixed condition for file size equal zero (#2860)
* [ADF-2170] fixed condition for file size equal zero

* [ADF-2170] refactored if condition
2018-01-22 16:52:02 +00:00
Andy Stark b65440b490 [ADF-1769] Updated prop table script to handle inherited classes (#2855) 2018-01-22 12:20:49 +00:00
Popovics András 89a7b0c4b0 [ADF-2157] Infinite pagination target supporting (#2856)
* Infinite pagination target supporting

* Updating documentation
2018-01-22 10:59:05 +00:00
Popovics András d189567853 Fix localisation in Datetimepicker (#2851) 2018-01-22 10:54:07 +00:00
Vito c4d9f9c829 [ADF-2183] fixed translation on no permission tooltip (#2857) 2018-01-22 10:51:47 +00:00
Maurizio Vitale 28e9697604 Add @angular-devkit/core as dev dependency (#2853) 2018-01-19 14:09:15 +01:00
Eugenio Romano 807d7e0f78 [ADF-1880] processDefinitionId parameter in adf-start-process (#2848)
* processDefinitionId parameter in adf-start-process

* fix test

* fix test
2018-01-19 11:04:03 +00:00
Maurizio Vitale e883f5c83d Rollback the upgrade libs (#2850) 2018-01-18 19:15:52 +00:00
Eugenio Romano 381ae97bfd Add soem more explanation in the search autocomplete binding 2018-01-17 17:33:19 +00:00
Andy Stark f5ef324dd2 [ADF-2152] Updated See Also sections in docs (#2846) 2018-01-17 17:11:48 +00:00
Andy Stark c9a3b048b4 [ADF-1769] Added JSDocs and updated prop table script (#2838)
* [ADF-1769] Added JSDocs and updated prop table script

* [ADF-1769] Fixed lint error in JSDoc
2018-01-17 17:11:22 +00:00
Maurizio Vitale 3461749dc6 Fix default translation key (#2844) 2018-01-17 17:09:27 +00:00
Eugenio Romano b1fd6cb60c [ADF-2055] Ability to pre-populate form with a file and values (#2834)
* fix translations form

* fix style webpack script

* fix tslint error problem in viewer

* fix naming problems in attach file widget

* add start process form values data initialization option

* fix translation problems

* missing return type

* start process name configuration

* add CS cross PS configuration

* start process from file example

* fix minor issues

* add documentation and move the dialog in a separate component

* easy test select app

* alfrescoRepositoryName right property

* file conversion test

* fix issue after CR

* Remove forgotten semicolon.
2018-01-17 17:06:00 +00:00
Andy Stark 244234db4f [ADF-2152] Updated See Also sections in docs (#2842) 2018-01-17 13:56:08 +00:00
Popovics András ed6c62b990 Remove wrapping form datatable header (#2841) 2018-01-17 13:54:43 +00:00
Maurizio Vitale b932942983 Fix mobile media query (#2840) 2018-01-17 13:44:34 +00:00
Andy Stark 6160d33683 [ADF-2162] Added screenshot for Notification service (#2843) 2018-01-17 13:43:36 +00:00
Andy Stark 7a523961e2 [ADF-2152] Added See Also sections and updated doc tools (#2835)
* [ADF-2152] Added See Also sections to docs

* [ADF-2152] Added doc script to package.json
2018-01-16 17:43:10 +00:00
Vito f4684f68be [ADF-2120] added page size retrieving from user preference on demo shell (#2837) 2018-01-16 16:39:36 +00:00
Vito 5d6af1af55 [ADF-2053] improved search result adding refresh on delete (#2836)
* [ADF-2053] refreshed results when folder is deleted

* [ADF-2053] improved search result adding refresh on delete

* [ADF-2053] added missing whitespace
2018-01-16 15:51:16 +01:00
Vito 66262c4822 [ADF-325] added attach folder widget (#2831)
[ADF-325] added new attach folder widget
2018-01-16 14:28:39 +00:00
Maurizio Vitale 3671c12f35 [ADF-2148] Update the angular and material libraries to the latest version (#2821)
* Update the angular and material library to the latest version
2018-01-16 00:10:50 +00:00
Andy Stark 3bee9a70f5 [ADF-1769] Updates to prop table script (#2829)
* [ADF-1769] Fixed prop table tool formatting

* [ADF-1769] Added code style to event type column
2018-01-16 00:10:02 +00:00
Andy Stark e757378e9b [ADF-2152] Updated See Also sections in docs (#2830) 2018-01-16 00:09:39 +00:00
jdosti 9d6e10d5c2 [ADF-2172]Adding data-automation-id for create task/process button (#2828) 2018-01-15 23:50:25 +01:00
Eugenio Romano 068cc0bc27 [contextMenuActions]="true" properties documentation 2018-01-13 00:51:03 +00:00
Eugenio Romano c8b37ea36a contentActions enabling properties 2018-01-13 00:43:30 +00:00
Denys Vuika e97a6de792 fallback to image preview if PDF rendition now available (#2827) 2018-01-12 20:02:05 +00:00
Denys Vuika 713e4bb33b [ADF-2136] support shared links and renditions in the Viewer (#2826)
* support previewing shared link content

* remove unused router instance

* docs update

* support 'shared links' preview in the Viewer
2018-01-12 17:12:34 +00:00
Vito 46ad98cd8b [ADF-2054] Created a new widget to handle uploading file from Share (#2810)
* [ADF-2054] start creating custom upload widget for share integration

* [ADF-2054] changed content node selector service to allow different opening approach

* [ADF-2054] addedd support for multi resource files

* [ADF-2054] fixed base case for upload when only local files are selected

* [ADF-2054] start adding and fixing tests for new share attach button widget

* [ADF-2054] changed test to perfrom a correct check

* [ADF-2054] removed fdescribe

* [ADF-2054] added test for share-widget component

* [ADF-2054] added peer reviews changes

* [ADF-2054] created a module folder for content widgets

* [ADF-2054] fixed wrong import

* [ADF-2054] fixed rebase errors

* [ADF-2054] restored some files changed by rebase

* [ADF-2054] added link to content services to fix packaging issue

* [ADF-2054] renamed widget
2018-01-12 13:28:18 +00:00
Andy Stark 69e40ea1c0 [ADF-2135] Updated tables of contents (#2822) 2018-01-12 13:26:11 +00:00
Andy Stark 72cfd7894d [ADF-1769] Added JSDoc for components (#2823)
* [ADF-1769] Added JSDoc for components

* [ADF-1769] Fixed tslint error with trailing whitespace
2018-01-12 13:25:54 +00:00
Eugenio Romano f6cf036769 [no-issue] downgrade scss bundle and some other minor fix (#2824)
* downgrade scss bundle and some other minor fix

* 2.0.9

* remove chrome in travis conf

* execute different configuration
2018-01-12 13:23:17 +00:00
siva kumar d5b17c14e2 [ADF-2097] Sidebar Action Menu - New component (#2813)
SidebarMenu Component
2018-01-11 14:54:50 +00:00
Popovics András 783f7f0497 [ADF-1986] Content matadata editing phase II. (#2796)
* Aspects collection

* Fetch only those metadata aspects which are defined in the application config

* Aspect property filtering first round

* Addig wildcard support for preset, default preset fallback to wildcard, and logging

* Add white list service

* Renaming services

* ContentMetadataService and CardViewItemDispatcherComponent update

* Observables... Observables everywhere...

* Propers CardViewAspect

* Defining more interfaces

* Dummy data and expansions panels

* Fix build attempt & proper panel expansion

* Folder restructuring

* Add different type mappings

* Restructuring Card view component

* Fix build

* More ECM types supported

* Validators first phase, extraction of interfaces, world domination preparation

* Validators phase II.

* Integer and float validators

* Hide empty text items and validation message foundation

* Validation error messages for text item view, small style changes

* Update date item

* bool item component

* Datetimepicker npm module

* Datetime model

* Add mapping for datetime

* Small fixes

* Passing down preset

* Adding forgotten package.json entry

* Adding some tests for wrapper card component

* content-metadata.component tests

* Covering some edge cases, adding some tests

* Fix cardview component's test

* Add datetimepicker to demoshell

* card view component show empty values by default

* displayEmpty dependency injection

* remove table like design from cardview

* Using alfresco-js-api instead of spike

* Remove spike folder and contents

* Fix test

* Cardview updated docs

* Content metadata md

* Fix review issues

* Fix the packagr issue
2018-01-11 12:31:22 +00:00
Andy Stark 994041fb23 [ADF-2135] Updated tables of contents and tools (#2820) 2018-01-11 10:15:00 +00:00
Denys Vuika 9e706d68e4 [ADF-1999] fix file size translation for 0 bytes (#2817)
* fix file size translation for 0 bytes

* update translation mock
2018-01-11 10:13:31 +00:00
Eugenio Romano 95a33363cf No input and No Output rename tslint rule (#2814) 2018-01-10 17:39:55 +00:00
Eugenio Romano 932a23d449 [fix-build] add stable version chrome in travis conf (#2819)
* chrome stable
2018-01-10 14:53:47 +00:00
Eugenio Romano 344725d6b5 try to revert karma change 2018-01-10 10:20:59 +00:00
Andy Stark da9d0e0ec2 [ADF-2127] Started introducing new doc tools (#2809) 2018-01-09 10:36:24 +00:00
Denys Vuika 1d0670a826 add missing headless chrome setup for Travis (#2807) 2018-01-09 10:33:52 +00:00
Denys Vuika 58166d36f3 viewer styling improvements (#2805) 2018-01-08 14:13:32 +00:00
Denys Vuika a998198250 documentation updates (#2806) 2018-01-08 13:56:29 +00:00
Eugenio Romano 6debc14fc7 docker nginx fix 2018-01-07 23:41:04 +00:00
Eugenio Romano 48c2a8f63d fix documentation theming 2018-01-07 20:20:58 +00:00
Denys Vuika e98d904363 [ADF-1999] i18n support for file size pipe (#2803)
* i18n support for fileSize pipe

* remove unused declaration

* update unit test
2018-01-05 21:26:09 +00:00
Denys Vuika f9fb7dc7dd cache busting for translation files (#2804) 2018-01-05 21:23:41 +00:00
Eugenio Romano 96311c669a [no-issue] docker file (#2800)
* docker file
2018-01-05 16:33:22 +00:00
madhukar23 f58405e07a [ADF-2119] Document List - The pagination should be fetched from the UserPreference (#2801)
* Changed the service fetching page sizes in document-list component

* uncommented a line in process-service.component.ts for the tasklist to show page-sizes in task-list
2018-01-05 13:23:40 +01:00
madhukar23 77822b8494 [ADF-1958] Process Attachment list - The empty list should be a simpl… (#2798)
* [ADF-1958] Process Attachment list - The empty list should be a simple template

* changed the default empty list to a simple template

* changed process-attachment.component.html so that the user can pass custom empty tempate

* [ADF-1958] Process Attachment list - The empty list should be a simple template

* changed the default empty list to a simple template

* changed process-attachment.component.html so that the user can pass custom empty tempate

* removed some unused variables

* [ADF-1958] Process Attachment list - The empty list should be a simple template

* changed the default empty list to a simple template

* changed process-attachment.component.html so that the user can pass custom empty tempate
2018-01-03 20:09:11 +01:00
siva kumar 771cea1f11 [ADF-2095] Start Task - The start button should have the primary colour (#2799)
* [ADF-2095] Start Task - The start button should have the primary colour.

* fixed start button should have the primary colour.

* [ADF-2095] Start Task/Process - The start button should have the primary colour.

*  fixed start button should have the primary colour and Uppercase.

* * Start task button should have the primary colour
2018-01-03 12:06:01 +01:00
madhukar23 e66cb4035a [ADF-2109] Task Form - The form doesn't fit in the mobile screen (#2797)
* [ADF-2109] Task Form - The form doesn't fit in the mobile screen

* Made form mobile compatible

* Fixed issues arising due to the issue ADF-2094

* [ADF-2109] Task Form - The form doesn't fit in the mobile screen

* Made adf form mobile compatible

* Fixed issues arising due to the issue ADF-2094
2017-12-27 10:10:17 +00:00
Maurizio Vitale 23c912989a Fix adf is not defined for customStencil (#2795) 2017-12-21 17:18:02 +01:00
madhukar23 904b930009 [ADF-2098] Start Process - the default process definition should be selected (#2794)
* [ADF-2098] Start Process - the default process definition should be selected

* made the start-process component to automatically select Process definition if it is the only definition.

* [ADF-2098] Start Process - the default process definition should be selected

* made the start-process component to automatically select a processDef in start-form if there just one processDef present

* [ADF-2098] Start Process - the default process definition should be selected

* made the start-process component to automatically select a processDef in start-form if there just one processDef present

* Update start-process.component.html

* Update start-process.component.ts
2017-12-21 09:34:29 +00:00
siva kumar 1f9024d4f6 [ADF-2067] Not able to see the 'My tasks' filter when clicking on a newly created app. (#2792)
* fixed Not able to see the 'My tasks' filter when clicking on a newly created app.
* Create default services return response with id.
2017-12-21 09:01:51 +00:00
siva kumar 1b50094cc5 [ADF-2102] Task List - Provide a way to support custom html template and static columns at same time (#2793)
* Removed lodash import from tasklist component.
* Refactored getschema method.
2017-12-20 13:15:07 +00:00
suzanadirla 553ae4db7b [ADF-2070][ADF-2071][ADF-2072] 'Load more' on destination picker does… (#2774)
* [ADF-2070][ADF-2071][ADF-2072] 'Load more' on destination picker doesn't display correct content of folders

* [ADF-2070][ADF-2071][ADF-2072] add tests

* [ADF-2070][ADF-2071][ADF-2072] 'Load more' on destination picker doesn't display correct content of folders
2017-12-19 22:14:36 +00:00
Eugenio Romano 413dcc9e45 fix different material depencncies (#2791) 2017-12-19 15:41:36 +00:00
Maurizio Vitale 14c81ca978 [ADF-2103] Info Drawer - Provide a way to select a different tab (#2788)
* Provide a way to select a different tab

* Fix the default value

* Override the value through the html
2017-12-18 12:11:23 +00:00
madhukar23 7653e5784d [ADF-2094] Task Form - Doesn't follow the specification (#2786)
* [ADF-2094] Task Form - Doesn't follow the specification

* Removed icon visible beside title

* Made font-size for title as semibold 20px

* Set the outcome buttons on bottom right side

* set color of Complete button as primary

* [ADF-2094] Task Form - Doesn't follow the specification
* Changed the css for the Adf-form according to zeplin design

* Removed icon visible beside title

* Made font-size for title as semibold 20px

* Set the outcome buttons on bottom right side

* set color of Complete button as primary

* [ADF-2094] Task Form - Doesn't follow the specification

* Changed the css for the adf-form according to zeplin design

* Removed icon visible beside title

* Made font-size for title as semibold 20px

* Set the outcome buttons on bottom right side

* set color of Complete button as primary
2017-12-15 16:41:06 +00:00
siva kumar a5e6d9abcf [ADF-2102] Task List - Provide a way to support custom html template and static columns at same time (#2787)
* * Removed unused adf-task-list keys from app.config
* Fix can add/remove the static property through the app.config and can put custom columns into the html in adf-tasklist component

* Fix add/remove the static property through the app.config and can put custom columns into the html in adf-tasklist component

* * Fixed support custom html template and static columns.
* Updated tasklist doc.
* Fixed failing test case.

* * Fixed support custom html template and static columns

* * Updated task-list documentation.
2017-12-15 13:53:30 +00:00
Denys Vuika fe84522ce2 add missing exports (#2784) 2017-12-14 16:49:03 +00:00
Vito 9afa632148 [ADF-2065] Refactored Content node selector component (#2778)
* [ADF-2065] created dialog component for content node selector

* [ADF-2065] removing SiteModel from site dropdown to use SitePaging model of js-api

* [ADF-2065] - removed site model and updated documentation

* [ADF-2065] fixed test for site component

* [ADF-2065] refactored content node selector and created content node selector dialog

* [ADF-2065] fixed test on site-api service

* [ADF-2065] added a new content node dialog service to centralise the logic for content node dialog

* [ADF-2065] start adding test for node-actions service|

* [ADF-2065] added test for node-actions service

* [ADF-2065] added test for node action service

* [ADF-2065] renamed components to keep backward compatibility

* [ADF-2065] added input just for backward compatibility

* [ADF-2065] added some changes for backward compatibility and updated documentation

* [ADF-2065] updated documentation for content node selector
2017-12-14 12:36:08 +00:00
Denys Vuika d489dd175a add missing exports (#2782) 2017-12-14 00:47:06 +00:00
Denys Vuika 6b80969c37 special CSS class if pagination is empty (#2780) 2017-12-13 14:50:35 +00:00
madhukar23 b3fb51e06d [ADF-2069] Error is displayed on console when adding a description to a task. (#2779)
* Fixed the console error coming while adding description or priority in task details
2017-12-12 14:22:02 +00:00
Popovics András 3e52127b5c [ADF-2061] Fix content node selector search (#2772)
* Fix content node selector search

* Fix tests
2017-12-07 19:23:38 +00:00
mihai sirghe 19b1507251 [ADF-2051] Involve people name is not displayed properly. (#2773)
This issue is now fixed
2017-12-07 16:44:37 +00:00
Eugenio Romano 764cd458cb comment out test service under should return the task details 2017-12-07 13:22:17 +00:00
Eugenio Romano a99c1a37e4 [ADF-2056] update dependencies (#2764)
* update dependencies
add ban for fdescribe in tslint
reenable test
add badge codacy
check bundles esm5 and esm2015
travis run new vuild script

* remove fdescribe

* material 5.0.0 stable release
2017-12-07 11:58:16 +00:00
mihai sirghe 321c4f48e1 [ADF-1826] Task Header - The priority property should be editable (#2768)
* [ADF-1826] Task Header - The priority property should be editable

* [ADF-1826] - Fixed isEditble typo

* [ADF-1826] - Adding unit test - checking the priority value is displayed

* [ADF-1826] fixed unit test

* [ADF-1826] fixed unit test (replaced fit with it)
2017-12-06 20:46:28 +00:00
cristinaj 791e443a72 Fix the title of Model column in ECM License datatable. (#2770) 2017-12-06 10:30:10 +00:00
Popovics András cb06c8a963 [ADF-1431] Destination Picker: Display path of the folder in search results (#2762)
* Add initial implementation with style fixes

* Further style fixes

* Add tests, styling fixes
2017-12-05 01:09:40 +00:00
Popovics András f341137b06 Update viewer documentation (#2763) 2017-12-04 22:03:13 +00:00
madhukar23 4462486df1 [ADF-2025] Task List - The pagination should be fetched from the UserPreference (#2733)
[ADF-2025] Task List - The pagination should be fetched from the UserPreference
2017-12-04 17:33:45 +00:00
cristinaj 910b2b344c Adding automation-id to search-control component (#2759) 2017-12-04 09:52:44 +00:00
Popovics András 163ef2edc2 Fix line clamp temporary (#2747) 2017-12-04 09:52:26 +00:00
Denys Vuika 6c8ed9eae0 support for explicit viewer type for URL (#2688) 2017-12-04 09:49:03 +00:00
Vito dc213adf55 [ADF-1752] disable completely sidebar when allowSidebar option is false (#2753)
* [ADF-1752] disable completely sidebar when allowSidebar option is false

* [ADF-1752] improved condition for showing toolbar
2017-12-04 09:45:14 +00:00
Andy Stark 68d6092118 [ADF-2048] Fixed corrupted link in User Guide (#2757) 2017-11-30 19:46:29 +00:00
Eugenio Romano 3f9223eeff update script 2017-11-29 19:32:01 +00:00
Eugenio Romano a25c6a39d3 adf-insights 2.0.1 2017-11-29 18:23:49 +00:00
1200 changed files with 59112 additions and 16951 deletions
+5
View File
@@ -20,3 +20,8 @@ src/environments/
package-lock.*
/ng2-components/ng2-alfresco-core/prebuilt-themes/
.ng_pkg_build/
/demo-shell/dist-dev-temp/
/lib/export-new.json
/lib/config/exportCheck.js
/lib/config/export-check/export-new.json
/lib/config/export-check/exportCheck.js
+29 -2
View File
@@ -6,6 +6,9 @@ node_js:
addons:
chrome: stable
before_script:
- "sudo chown root /opt/google/chrome/chrome-sandbox"
- "sudo chmod 4755 /opt/google/chrome/chrome-sandbox"
before_install:
- export CHROME_BIN=chromium-browser
@@ -26,7 +29,7 @@ install:
if ([ "$TRAVIS_BRANCH" = "master" ]); then
(./scripts/npm-build-all.sh || exit 1;);
else
(./scripts/npm-build-all.sh -vjsapi alpha || exit 1;);
(./scripts/npm-build-all.sh -vjsapi alpha -sb || exit 1;);
fi
fi
@@ -48,7 +51,7 @@ script:
fi
- if ([ "$MODULE" == "packaging" ]); then
(cd lib && npm run new-build || exit 1;);
(cd lib && npm run build || exit 1;);
fi
- if ([ "$MODULE" == "demo-shell" ]); then
@@ -59,6 +62,30 @@ script:
fi
fi
jobs:
include:
- stage: Check build demo shell in production mode AND e2e
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
script: travis_wait 30 ./scripts/test-dist.sh
- stage: Check 2.0.0 Project Update
script: ./scripts/test-e2e-bc.sh
- stage: Check ADF exports
script: cd lib && npm run test-export
- stage: Update Generator
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n generator-ng2-alfresco-app
- stage: Update Content app
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-content-app
- stage: Update DW
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n adf-app-manager-ui
- stage: Update ng2-components
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-ng2-components
# jobs:
# include:
# - stage: Publish alpha to NPM
-1
View File
@@ -9,7 +9,6 @@
"**/.happypack": true
},
"editor.renderIndentGuides": true,
"tslint.configFile": "ng2-components/tslint.json",
"markdownlint.config": {
"MD032": false,
"MD004": false,
+23
View File
@@ -0,0 +1,23 @@
# Contributor Code of Conduct
We want to make everyone feel welcome to contribute to ADF.
We promise to respect everyone who posts issues, updates documentation,
submits pull requests, provides feedback in comments, or makes any other contribution to the project.
We expect all discussion about the project (on GitHub, social media and other channels) to be positive and constructive.
We do not accept personal attacks, trolling, public or private harassment, insults,
or other unprofessional conduct towards anyone.
We promise to show respect to all contributors regardless of their gender, gender identity,
sexual orientation, disability, age, race, ethnicity, religion, or level of experience.
We expect all contributors to understand and follow these standards
If any member of the community does not follow the code of conduct,
the maintainers will do whatever they consider appropriate to stop the unacceptable behavior.
This may include removing issues, comments, and PRs or blocking accounts.
Any bans may be temporary or permanent, at the maintainers discretion.
Contact us if you see any behavior that breaks the code of conduct, whether it is directed at you or at anyone else.
We take responsibility for making sure the code of conduct is clear and understandable,
so you should also contact us if you think there is anything that needs to be explained better.
Our contact email address is: [conduct@alfresco.com](mailto:conduct@alfresco.com)
+1 -1
View File
@@ -1,4 +1,4 @@
FROM nginx
FROM nginx:alpine
COPY demo-shell/nginx.conf /etc/nginx/nginx.conf
+7 -5
View File
@@ -9,10 +9,10 @@ environment:
nodejs_version: "8"
matrix:
- COMPONENT_NAME: core
- COMPONENT_NAME: process-service
- COMPONENT_NAME: content-service
- COMPONENT_NAME: insights
- COMPONENT_NAME: process-service
- COMPONENT_NAME: content-service
- COMPONENT_NAME: core
- COMPONENT_NAME: insights
# - COMPONENT_NAME: ng2-demo-shell
# Install scripts. (runs after repo cloning)
@@ -38,7 +38,7 @@ install:
else
(cd scripts && sh npm-build-all.sh -t "insights" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU core (
- if %COMPONENT_NAME% EQU core (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "core" || exit 1)
else
@@ -53,3 +53,5 @@ install:
# Don't actually build.
build: off
matrix:
fast_finish: true
+9 -42
View File
@@ -18,6 +18,11 @@
"input": "../resources",
"output": "./resources"
},
{
"glob": "**/*",
"input": "./app/components/lazy-loading/i18n",
"output": "./resources/lazy-loading/i18n"
},
{
"glob": "**/*",
"input": "../node_modules/@alfresco/adf-core/prebuilt-themes",
@@ -92,43 +97,13 @@
},
{
"glob": "**/*",
"input": "../../lib/core/prebuilt-themes",
"output": "./assets/prebuilt-themes"
"input": "./app/components/lazy-loading/i18n",
"output": "./resources/lazy-loading/i18n"
},
{
"glob": "**/*",
"input": "../../lib/core/assets",
"output": "./assets/"
},
{
"glob": "**/*",
"input": "../../lib/process-services/assets",
"output": "./assets/"
},
{
"glob": "**/*",
"input": "../../lib/content-services/assets",
"output": "./assets/"
},
{
"glob": "**/*",
"input": "../../lib/core/i18n",
"output": "./assets/adf-core/i18n"
},
{
"glob": "**/*",
"input": "../../lib/process-services/i18n",
"output": "./assets/adf-process-services/i18n"
},
{
"glob": "**/*",
"input": "../../lib/content-services/i18n",
"output": "./assets/adf-content-services/i18n"
},
{
"glob": "**/*",
"input": "../../lib/insights/i18n",
"output": "./assets/adf-insights/i18n"
"input": "../dist-dev-temp/",
"output": "./"
},
{
"glob": "pdf.worker.js",
@@ -174,14 +149,6 @@
{
"project": "src/tsconfig.app.json",
"exclude": "**/node_modules/**/*"
},
{
"project": "src/tsconfig.spec.json",
"exclude": "**/node_modules/**/*"
},
{
"project": "e2e/tsconfig.e2e.json",
"exclude": "**/node_modules/**/*"
}
],
"test": {
+7 -34
View File
@@ -22,44 +22,24 @@ To simplify development and reduce the time to get the application started, we h
The settings above address most common scenarios for running ACS on port 8080 and APS on port 9999 and allow you to skip the CORS configuration.
If you would like to change default proxy settings, please edit the `config/webpack.common.js` file.
If you would like to change default proxy settings, please edit the `proxy.conf.js` file.
## Application settings (server-side)
All server-side application settings are stored in the `app.config-dev.json` and `app.config-prod.json` files.
All server-side application settings are stored in the [src/app.config.json](src/app.config.json).
By default the configuration files have the content similar to the following one:
```json
{
"ecmHost": "http://localhost:3000/ecm",
"bpmHost": "http://localhost:3000/bpm",
"$schema": "../../lib/core/app-config/schema.json",
"ecmHost": "http://{hostname}:{port}",
"bpmHost": "http://{hostname}:{port}",
"application": {
"name": "Alfresco"
"name": "Alfresco ADF Application"
}
}
```
You can add any additional settings to the application configuration file if needed.
Configuration files are picked based on environment settings (see `app.module.ts` for more details).
```ts
let appConfigFile = 'app.config-dev.json';
if (process.env.ENV === 'production') {
appConfigFile = 'app.config-prod.json';
}
@NgModule({
imports: [
...
CoreModule.forRoot({
appConfigFile: appConfigFile
}),
...
]
})
```
## Development build
```sh
@@ -85,17 +65,10 @@ This command builds project in `production` mode.
All output is placed to `dist` folder and can be served to your preferred web server.
You should need no additional files outside the `dist` folder.
### Important notes
By default demo application is configured to use [wsrv](https://www.npmjs.com/package/wsrv) tool (lightweight web server)
to serve production build output. It will be running at `0.0.0.0` address with port `3000` and allow you to access your application
via network. However, you can use any web server of your choice in production.
## Development branch build
If you want to run the demo shell with the latest changes from the development branch, use the following command from the /script folder:
```sh
./npm-clean.sh
./start-linked.sh -install
npm run start:dev
```
+14
View File
@@ -0,0 +1,14 @@
const cpx = require('cpx');
//Workaround for https://github.com/angular/angular-cli/issues/8783
//we copy before the files in dist-dev-temp in the demo shell and after we let the angular cli watch over them..double wathh necessary for dev mode
cpx.watch('../lib/core/prebuilt-themes/**/*.*', './dist-dev-temp/assets/prebuilt-themes')
cpx.watch('../lib/core/assets/**/*.*', './dist-dev-temp/assets/' )
cpx.watch('../lib/process-services/assets/**/*.*', './dist-dev-temp/assets/' )
cpx.watch('../lib/content-services/assets/**/*.*', './dist-dev-temp/assets/' )
cpx.watch('../lib/core/i18n/**/*.*', './dist-dev-temp//assets/adf-core/i18n' )
cpx.watch('../lib/process-services/i18n/**/*.*', './dist-dev-temp/assets/adf-process-services/i18n' )
cpx.watch('../lib/content-services/i18n/**/*.*', './dist-dev-temp/assets/adf-content-services/i18n' )
cpx.watch('../lib/insights/i18n/**/*.*', './dist-dev-temp//assets/adf-insights/i18n' )
+8 -8
View File
@@ -1,14 +1,14 @@
import { MyappPage } from './app.po';
describe('myapp App', () => {
let page: MyappPage;
let page: MyappPage;
beforeEach(() => {
page = new MyappPage();
});
beforeEach(() => {
page = new MyappPage();
});
it('should display message saying app works', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('app works!');
});
it('should display toolbar', () => {
page.navigateTo();
expect(page.getToolbar()).toBeDefined();
});
});
+6 -6
View File
@@ -1,11 +1,11 @@
import { browser, element, by } from 'protractor';
export class MyappPage {
navigateTo() {
return browser.get('/');
}
navigateTo() {
return browser.get('/');
}
getParagraphText() {
return element(by.css('app-root h1')).getText();
}
getToolbar() {
return element(by.tagName('adf-toolbar'));
}
}
+36 -33
View File
@@ -1,24 +1,26 @@
{
"name": "Alfresco-ADF-Angular-Demo",
"description": "Demo shell for Alfresco Angular components",
"version": "2.1.0",
"version": "2.3.0",
"author": "Alfresco Software, Ltd.",
"scripts": {
"ng": "ng",
"start": "npm run server-versions && rimraf dist && ng serve --host 0.0.0.0 --app dist --open --aot=false",
"start:dev": "npm run lint && npm run server-versions && rimraf dist && npm run clean-lib-angular && concurrently \"ng serve --host 0.0.0.0 --disable-host-check --app dev pp-dev --proxy-config proxy.conf.js --open\" \"npm run style:dev -- --watch\" ",
"start:dist": "npm run server-versions && rimraf dist && node --max_old_space_size=30000 node_modules/.bin/ng serve --prod --build-optimizer=false --aot=false --host 0.0.0.0 --disable-host-check --app dist",
"build": "npm run server-versions && rimraf dist && ng build --app dist",
"build:dev": "npm run lint && npm run style:dev && npm run server-versions && rimraf dist && ng build --app dev",
"build:dist": "npm run style:dev && npm run server-versions && rimraf dist && node --max_old_space_size=30000 node_modules/.bin/ng build --prod --build-optimizer=false --aot=false --app dist",
"prestart": "npm run validate-config",
"start": "npm run server-versions && rimraf dist && ng serve --host 0.0.0.0 --proxy-config proxy.conf.js --app dist --open",
"start:dev": " npm run lint && npm run server-versions && rimraf dist && npm run clean-lib-angular && concurrently \"ng serve --host 0.0.0.0 --disable-host-check --app dev --proxy-config proxy.conf.js --open\" \"npm run style:dev --watch\" \"npm run copy:dev\" ",
"start:dist": "npm run server-versions && rimraf dist && node --max_old_space_size=30000 node_modules/.bin/ng serve --prod --host 0.0.0.0 --disable-host-check --app dist --proxy-config proxy.conf.js -open",
"build": "npm run validate-config && npm run server-versions && rimraf dist && ng build --app dist",
"build:dev": "npm run validate-config && npm run lint && npm run style:dev && npm run server-versions && rimraf dist && ng build --app dev",
"build:dist": "npm run validate-config && npm run server-versions && rimraf dist && ng build --prod --app dist",
"style:dev": "npm run webpack -- --config config/webpack.style.js --progress --profile --bail",
"test": "ng test",
"copy:dev": "node ./config/dev-copy-watch.js",
"test": " ng test --single-run",
"lint": "ng lint",
"e2e": "ng e2e",
"validate-config": "ajv validate -s ../lib/core/app-config/schema.json -d ./src/app.config.json --errors=text --verbose",
"server-versions": "rimraf ./src/versions.json && npm list --depth=0 --json=true --prod=true > ./src/versions.json || exit 0",
"clean": "npm run clean-build && rimraf dist node_modules typings dist",
"clean": "rimraf dist node_modules typings",
"clean-lib-angular": "rimraf ../lib/node_modules/@angular",
"clean-build": "rimraf 'app/{,**/}**.js' 'app/{,**/}**.js.map' 'app/{,**/}**.d.ts'",
"clean-lock": "rimraf package-lock.json",
"webpack": "node node_modules/webpack/bin/webpack.js"
},
@@ -60,10 +62,10 @@
],
"private": true,
"dependencies": {
"@alfresco/adf-content-services": "2.1.0",
"@alfresco/adf-core": "2.1.0",
"@alfresco/adf-insights": "2.1.0",
"@alfresco/adf-process-services": "2.1.0",
"@alfresco/adf-content-services": "2.3.0",
"@alfresco/adf-core": "2.3.0",
"@alfresco/adf-insights": "2.3.0",
"@alfresco/adf-process-services": "2.3.0",
"@angular/animations": "5.1.1",
"@angular/cdk": "5.0.1",
"@angular/common": "5.1.1",
@@ -76,10 +78,10 @@
"@angular/platform-browser": "5.1.1",
"@angular/platform-browser-dynamic": "5.1.1",
"@angular/router": "5.1.1",
"@mat-datetimepicker/core": "^1.0.1",
"@mat-datetimepicker/moment": "^1.0.1",
"@ngx-translate/core": "8.0.0",
"alfresco-js-api": "2.1.0",
"@mat-datetimepicker/core": "1.0.4",
"@mat-datetimepicker/moment": "1.0.4",
"@ngx-translate/core": "9.1.1",
"alfresco-js-api": "2.3.0",
"chart.js": "2.5.0",
"classlist.js": "1.1.20150312",
"core-js": "2.4.1",
@@ -87,10 +89,10 @@
"hammerjs": "2.0.8",
"intl": "1.2.5",
"minimatch": "3.0.4",
"moment": "2.18.1",
"moment": "2.20.1",
"moment-es6": "^1.0.0",
"ng2-charts": "1.6.0",
"pdfjs-dist": "1.5.404",
"pdfjs-dist": "2.0.265",
"raphael": "2.2.7",
"reflect-metadata": "0.1.10",
"rxjs": "5.5.2",
@@ -98,27 +100,28 @@
"zone.js": "0.8.14"
},
"devDependencies": {
"@angular-devkit/core": "0.0.28",
"@angular/cli": "1.5.0",
"@angular/compiler-cli": "5.1.1",
"@angular/language-service": "5.1.1",
"@types/jasmine": "~2.5.53",
"@angular/cli": "1.6.5",
"@angular/compiler-cli": "^5.2.0",
"@angular/language-service": "^5.2.0",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "4.0.0",
"ajv-cli": "^3.0.0",
"codelyzer": "4.1.0",
"concurrently": "^3.5.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"cpx": "^1.5.0",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~2.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"rimraf": "^2.6.2",
"ts-node": "~3.2.0",
"tslint": "^5.7.0",
"typescript": "2.6.2"
"ts-node": "~4.1.0",
"tslint": "~5.9.1",
"typescript": "~2.5.3"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Kommentare",
"PROPERTIES": "Eigenschaften",
"VERSIONS": "Versionen"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Löschen zulassen",
"SHOW_COMMENTS": "Anmerkungen zu Versionen einblenden",
"ALLOW_DOWNLOAD": "Versions-Download zulassen"
}
},
"title": "Willkommen",
"VERSION": {
"NO_PERMISSION": "Sie verfügen nicht über die nötige Berechtigung, um Versionen dieses Inhalts zu verwalten",
@@ -9,6 +22,12 @@
"TITLE": "Versionen verwalten"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Schließen",
"TITLE": "Metadaten"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-Demoanwendung",
"HOME": "Startseite",
@@ -17,15 +36,34 @@
"LOGIN": "Anmelden",
"CUSTOM_SOURCES": "Benutzerdefinierte Quellen",
"DATATABLE": "DataTable",
"DATATABLE_LAZY": "DataTable (Lazy)",
"FORM": "Formular",
"FORM_LIST": "Formularliste",
"FORM_LOADING": "Formular laden",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Papierkorb",
"SOCIAL": "Soziale Funktionen",
"SETTINGS": "Einstellungen",
"OVERLAY_VIEWER": "Overlay-Viewer",
"ABOUT": "Info"
"ABOUT": "Info",
"SEARCH": "Erweiterte Suche",
"EXTENDED_SEARCH_QUERY_BODY": "Erweiterte Suche mit Abfragetext",
"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"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Endgültig löschen",
"RESTORE": "Wiederherstellen"
},
"EMPTY_STATE": {
"TITLE": "Papierkorb ist leer",
"FIRST_TEXT": "Gelöschte Elemente werden in den Papierkorb verschoben.",
"SECOND_TEXT": "Leeren Sie den Papierkorb, um die Elemente endgültig zu löschen."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Mehrfachauswahl (mit Kontrollkästchen)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "Hochladen aktivieren",
"ENABLE_INFINITE_SCROLL": "Unendlich Scrollen aktivieren",
"MULTISELECT_DESCRIPTION": "Mit der Befehls- (Mac) oder der Steuerungstaste (Windows) können Sie die Auswahl mehrerer Elemente umschalten",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Die Liste der zuletzt verwendeten Dateien ist leer"
},
"TITLE": "Zuletzt verwendete Dateien"
},
"COLUMNS": {
"DISPLAY_NAME": "Namen anzeigen",
"IS_LOCKED": "Sperren",
"TAG": "Tag",
"CREATED_BY": "Erstellt von",
"CREATED_ON": "Erstellt am",
"CREATED": "Erstellt"
"CREATED": "Erstellt",
"SIZE": "Größe",
"DELETED_ON": "Gelöscht",
"DELETED_BY": "Gelöscht von"
},
"TOOLBAR": {
"CARDVIEW": "Kartenansichtsmodus",
"NEW_FOLDER": "Neuer Ordner",
"EDIT_FOLDER": "Ordner bearbeiten",
"DOWNLOAD": "Herunterladen",
"DELETE": "Löschen"
},
"ACTIONS": {
"VERSIONS": "Versionen verwalten",
"METADATA": "Info",
"DOWNLOAD": "Herunterladen",
"PERMISSION": "Berechtigung",
"FOLDER": {
"COPY": "Kopieren",
"MOVE": "Verschieben",
"DELETE": "Löschen"
},
"DOCUMENT": {
"DOWNLOAD": "Herunterladen",
"COPY": "Kopieren",
"MOVE": "Verschieben",
"DELETE": "Löschen",
@@ -84,6 +142,13 @@
"STORE": "Speichern",
"RESTORE": "Wiederherstellen"
},
"FORM-LOADING": {
"FORM_DATA": "Formulardaten",
"FORM_DATA_MESSAGE": "Geben Sie Werte ein, um das Formular auszufüllen",
"TYPEAHEAD_PLACEHOLDER": "Automatische Vervollständigung",
"RADIO_PLACEHOLDER": "Optionsschaltfläche",
"SELECT_PLACEHOLDER": "Dropdown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Content Services-Tagliste",
"INSERT": "Node-ID einfügen",
"NODE_LIST": "Tagliste nach Node-ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Berechtigungen erben",
"INHERITED_PERMISSIONS_BUTTON": "Berechtigungen geerbt"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Comments",
"PROPERTIES": "Properties",
"VERSIONS": "Versions"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Allow delete",
"SHOW_COMMENTS" : "Show comments on versions",
"ALLOW_DOWNLOAD" :"Enable version download"
}
},
"title": "Welcome",
"VERSION": {
"NO_PERMISSION": "You don't have permission to manage versions of this content",
@@ -9,6 +22,12 @@
"TITLE": "Manage Versions"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Close",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF Demo Application",
"HOME": "Home",
@@ -17,15 +36,34 @@
"LOGIN": "Login",
"CUSTOM_SOURCES": "Custom Sources",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Lazy)",
"FORM": "Form",
"FORM_LIST": "Form List",
"FORM_LOADING": "Form Loading",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Trashcan",
"SOCIAL": "Social",
"SETTINGS": "Settings",
"OVERLAY_VIEWER": "Overlay Viewer",
"ABOUT": "About"
"ABOUT": "About",
"SEARCH": "Extended Search",
"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"
},
"TRASHCAN" :{
"ACTIONS":{
"DELETE_PERMANENT":"Delete permanently",
"RESTORE":"Restore"
},
"EMPTY_STATE": {
"TITLE": "Trash is empty",
"FIRST_TEXT": "Items you delete are moved to the Trash.",
"SECOND_TEXT": "Empty Trash to permanently delete items."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES" :"Multiselect (with checkboxes)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD" : "Enable upload",
"ENABLE_INFINITE_SCROLL":"Enable Infinite Scrolling",
"MULTISELECT_DESCRIPTION" : "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items",
"RECENT" : {
"EMPTY_STATE": {
"TITLE": "Recent Files list is empty"
},
"TITLE":"Recent Files"
},
"COLUMNS": {
"DISPLAY_NAME": "Display name",
"IS_LOCKED": "Lock",
"TAG": "Tag",
"CREATED_BY": "Created by",
"CREATED_ON": "Created on",
"CREATED": "Created"
"CREATED": "Created",
"SIZE": "Size",
"DELETED_ON": "Deleted",
"DELETED_BY": "Deleted by"
},
"TOOLBAR": {
"CARDVIEW":"Card view mode",
"NEW_FOLDER":"New folder",
"EDIT_FOLDER":"Edit folder",
"DOWNLOAD":"Download",
"DELETE":"Delete"
},
"ACTIONS": {
"VERSIONS": "Manage versions",
"METADATA": "Info",
"DOWNLOAD": "Download",
"PERMISSION": "Permission",
"FOLDER": {
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete"
},
"DOCUMENT": {
"DOWNLOAD": "Download",
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete",
@@ -84,6 +142,13 @@
"STORE": "Store",
"RESTORE": "Restore"
},
"FORM-LOADING": {
"FORM_DATA" : "Form Data",
"FORM_DATA_MESSAGE": "Enter values to populate the form",
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
"RADIO_PLACEHOLDER": "Radio Button",
"SELECT_PLACEHOLDER": "DropDown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST":"List Tags Content Services",
"INSERT":"Insert Node ID",
"NODE_LIST":"Tag list By Node ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON" :"Inherit Permission" ,
"INHERITED_PERMISSIONS_BUTTON" : "Permission Inherited"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detalles",
"COMMENTS": "Comentarios",
"PROPERTIES": "Propiedades",
"VERSIONS": "Versiones"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir eliminar",
"SHOW_COMMENTS": "Mostrar comentarios en las versiones",
"ALLOW_DOWNLOAD": "Permitir descarga de la versión"
}
},
"title": "Bienvenido",
"VERSION": {
"NO_PERMISSION": "No tiene permiso para administrar versiones de este contenido",
@@ -9,6 +22,12 @@
"TITLE": "Gestionar versiones"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Cerrar",
"TITLE": "Metadatos"
}
},
"APP_LAYOUT": {
"APP_NAME": "Aplicación ADF Demo",
"HOME": "Inicio",
@@ -17,15 +36,34 @@
"LOGIN": "Iniciar sesión",
"CUSTOM_SOURCES": "Fuentes personalizadas",
"DATATABLE": "Tabla de datos",
"DATATABLE_LAZY": "Tabla de datos (diferida)",
"FORM": "Formulario",
"FORM_LIST": "Lista de formularios",
"FORM_LOADING": "Carga de formulario",
"UPLOADER": "Cargador",
"WEBSCRIPT": "Webscript",
"TAG": "Etiqueta",
"TRASHCAN": "Papelera",
"SOCIAL": "Social",
"SETTINGS": "Configuración",
"OVERLAY_VIEWER": "Visor de superposición",
"ABOUT": "Acerca de"
"ABOUT": "Acerca de",
"SEARCH": "Búsqueda ampliada",
"EXTENDED_SEARCH_QUERY_BODY": "Búsqueda ampliada con cuerpo de consulta",
"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"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Eliminar permanentemente",
"RESTORE": "Restaurar"
},
"EMPTY_STATE": {
"TITLE": "La papelera está vacía",
"FIRST_TEXT": "Los elementos que elimine se trasladan a la papelera.",
"SECOND_TEXT": "Vacíe la papelera para eliminar los elementos permanentemente."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Selección múltiple (con casillas)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "Habilitar carga",
"ENABLE_INFINITE_SCROLL": "Habilitar desplazamiento infinito",
"MULTISELECT_DESCRIPTION": "Utilice Cmd (Mac) o Ctrl (Windows) para cambiar la selección de varios elementos",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "La lista de ficheros recientes está vacía"
},
"TITLE": "Ficheros recientes"
},
"COLUMNS": {
"DISPLAY_NAME": "Nombre a mostrar",
"IS_LOCKED": "Bloquear",
"TAG": "Etiqueta",
"CREATED_BY": "Creado por",
"CREATED_ON": "Creado",
"CREATED": "Creado"
"CREATED": "Creado",
"SIZE": "Tamaño",
"DELETED_ON": "Eliminado",
"DELETED_BY": "Eliminado por"
},
"TOOLBAR": {
"CARDVIEW": "Modo de vista de tarjeta",
"NEW_FOLDER": "Nueva carpeta",
"EDIT_FOLDER": "Editar carpeta",
"DOWNLOAD": "Descargar",
"DELETE": "Eliminar"
},
"ACTIONS": {
"VERSIONS": "Gestionar versiones",
"METADATA": "Información",
"DOWNLOAD": "Descargar",
"PERMISSION": "Permiso",
"FOLDER": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Eliminar"
},
"DOCUMENT": {
"DOWNLOAD": "Descargar",
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Eliminar",
@@ -84,6 +142,13 @@
"STORE": "Almacenar",
"RESTORE": "Restaurar"
},
"FORM-LOADING": {
"FORM_DATA": "Datos del formulario",
"FORM_DATA_MESSAGE": "Introduzca valores para rellenar el formulario",
"TYPEAHEAD_PLACEHOLDER": "Predictivo",
"RADIO_PLACEHOLDER": "Botón de opción",
"SELECT_PLACEHOLDER": "Desplegable"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Lista de etiquetas de Content Services",
"INSERT": "Insertar ID del nodo",
"NODE_LIST": "Lista de etiquetas por ID de nodo"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Heredar permiso",
"INHERITED_PERMISSIONS_BUTTON": "Permiso heredado"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Détails",
"COMMENTS": "Commentaires",
"PROPERTIES": "Propriétés",
"VERSIONS": "Versions"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Autoriser la suppression",
"SHOW_COMMENTS": "Afficher les commentaires sur les versions",
"ALLOW_DOWNLOAD": "Autoriser le téléchargement de la version"
}
},
"title": "Bienvenue",
"VERSION": {
"NO_PERMISSION": "Vous n'avez pas les droits d'accès pour gérer les versions de ce contenu",
@@ -9,6 +22,12 @@
"TITLE": "Gérer les versions"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Fermer",
"TITLE": "Métadonnées"
}
},
"APP_LAYOUT": {
"APP_NAME": "Application Démo ADF",
"HOME": "Accueil",
@@ -17,15 +36,34 @@
"LOGIN": "Connexion",
"CUSTOM_SOURCES": "Sources personnalisées",
"DATATABLE": "Table de données",
"DATATABLE_LAZY": "Table de données (différé)",
"FORM": "Formulaire",
"FORM_LIST": "Liste de formulaires",
"FORM_LOADING": "Chargement du formulaire",
"UPLOADER": "Chargeur",
"WEBSCRIPT": "Script Web",
"TAG": "Tag",
"TRASHCAN": "Corbeille",
"SOCIAL": "Réseaux sociaux",
"SETTINGS": "Paramètres",
"OVERLAY_VIEWER": "Visualisation de la superposition",
"ABOUT": "À propos de"
"ABOUT": "À propos de",
"SEARCH": "Recherche globale",
"EXTENDED_SEARCH_QUERY_BODY": "Recherche globale sur le corps de la requête",
"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"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Supprimer définitivement",
"RESTORE": "Restaurer"
},
"EMPTY_STATE": {
"TITLE": "La corbeille est vide",
"FIRST_TEXT": "Les éléments supprimés sont placés dans la corbeille.",
"SECOND_TEXT": "Videz la corbeille pour supprimer définitivement les éléments."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Sélection multiple (avec cases à cocher)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "Activer l'importation",
"ENABLE_INFINITE_SCROLL": "Activer le défilement illimité",
"MULTISELECT_DESCRIPTION": "Utiliser Cmd (Mac) ou Ctrl (Windows) pour activer/désactiver la sélection d'éléments multiples",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "La liste des fichiers récents est vide"
},
"TITLE": "Fichiers récents"
},
"COLUMNS": {
"DISPLAY_NAME": "Nom affiché",
"IS_LOCKED": "Verrouiller",
"TAG": "Tag",
"CREATED_BY": "Créé par",
"CREATED_ON": "Créé le",
"CREATED": "Créé"
"CREATED": "Créé",
"SIZE": "Taille",
"DELETED_ON": "Supprimé",
"DELETED_BY": "Supprimé par"
},
"TOOLBAR": {
"CARDVIEW": "Mode d'affichage Carte",
"NEW_FOLDER": "Nouveau Dossier",
"EDIT_FOLDER": "Modifier le dossier",
"DOWNLOAD": "Télécharger",
"DELETE": "Supprimer"
},
"ACTIONS": {
"VERSIONS": "Gérer les versions",
"METADATA": "Informations",
"DOWNLOAD": "Télécharger",
"PERMISSION": "Droit d'accès",
"FOLDER": {
"COPY": "Copier",
"MOVE": "Déplacer",
"DELETE": "Supprimer"
},
"DOCUMENT": {
"DOWNLOAD": "Télécharger",
"COPY": "Copier",
"MOVE": "Déplacer",
"DELETE": "Supprimer",
@@ -84,6 +142,13 @@
"STORE": "Stocker",
"RESTORE": "Restaurer"
},
"FORM-LOADING": {
"FORM_DATA": "Données du formulaire",
"FORM_DATA_MESSAGE": "Entrez les valeurs pour remplir le formulaire",
"TYPEAHEAD_PLACEHOLDER": "Saisie semi-automatique",
"RADIO_PLACEHOLDER": "Case d'option",
"SELECT_PLACEHOLDER": "Liste déroulante"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Liste de tags Content Services",
"INSERT": "Insérer l'ID du nœud",
"NODE_LIST": "Liste de tags par ID de nœud"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Hériter les droits d'accès",
"INHERITED_PERMISSIONS_BUTTON": "Droits d'accès hérités"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Dettagli",
"COMMENTS": "Commenti",
"PROPERTIES": "Proprietà",
"VERSIONS": "Versione"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Consenti eliminazione",
"SHOW_COMMENTS": "Mostra commenti sulle versioni",
"ALLOW_DOWNLOAD": "Abilita download versioni"
}
},
"title": "Benvenuto",
"VERSION": {
"NO_PERMISSION": "Non hai il permesso di gestire versioni di questo contenuto",
@@ -9,6 +22,12 @@
"TITLE": "Gestione versioni"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Chiudi",
"TITLE": "Metadati"
}
},
"APP_LAYOUT": {
"APP_NAME": "Applicazione demo ADF",
"HOME": "Home",
@@ -17,15 +36,34 @@
"LOGIN": "Login",
"CUSTOM_SOURCES": "Fonti personalizzate",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Caricamento dati (ottimizzato)",
"FORM": "Modulo",
"FORM_LIST": "Elenco moduli",
"FORM_LOADING": "Caricamento modulo",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Cestino",
"SOCIAL": "Social",
"SETTINGS": "Impostazioni",
"OVERLAY_VIEWER": "Visualizzatore overlay",
"ABOUT": "Informazioni su"
"ABOUT": "Informazioni su",
"SEARCH": "Ricerca estesa",
"EXTENDED_SEARCH_QUERY_BODY": "Ricerca estesa con corpo query",
"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"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Elimina definitivamente",
"RESTORE": "Ripristina"
},
"EMPTY_STATE": {
"TITLE": "Il cestino è vuoto",
"FIRST_TEXT": "Gli elementi eliminati vengono spostati nel cestino.",
"SECOND_TEXT": "Svuotare il cestino per eliminare definitivamente gli elementi."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Selezione multipla (con caselle di spunta)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "Abilita caricamento",
"ENABLE_INFINITE_SCROLL": "Abilita scorrimento infinito",
"MULTISELECT_DESCRIPTION": "Usa Cmd (Mac) o Ctrl (Windows) per attivare/disattivare la selezione di più elementi",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "L'elenco File recenti è vuoto"
},
"TITLE": "File recenti"
},
"COLUMNS": {
"DISPLAY_NAME": "Nome visualizzato",
"IS_LOCKED": "Blocca",
"TAG": "Tag",
"CREATED_BY": "Creato da",
"CREATED_ON": "Creato il",
"CREATED": "Creato"
"CREATED": "Creato",
"SIZE": "Dimensione",
"DELETED_ON": "Eliminato",
"DELETED_BY": "Eliminato da"
},
"TOOLBAR": {
"CARDVIEW": "Modalità di visualizzazione scheda",
"NEW_FOLDER": "Nuova cartella",
"EDIT_FOLDER": "Modifica cartella",
"DOWNLOAD": "Download",
"DELETE": "Elimina"
},
"ACTIONS": {
"VERSIONS": "Gestione versioni",
"METADATA": "Informazioni",
"DOWNLOAD": "Download",
"PERMISSION": "Permesso",
"FOLDER": {
"COPY": "Copia",
"MOVE": "Sposta",
"DELETE": "Elimina"
},
"DOCUMENT": {
"DOWNLOAD": "Download",
"COPY": "Copia",
"MOVE": "Sposta",
"DELETE": "Elimina",
@@ -84,6 +142,13 @@
"STORE": "Memorizza",
"RESTORE": "Ripristina"
},
"FORM-LOADING": {
"FORM_DATA": "Dati modulo",
"FORM_DATA_MESSAGE": "Inserire i dati per compilare il modulo",
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
"RADIO_PLACEHOLDER": "Pulsante di opzione",
"SELECT_PLACEHOLDER": "Elenco a discesa"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Elenco tag Content Services",
"INSERT": "Inserisci ID nodo",
"NODE_LIST": "Elenco tag per ID nodo"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Eredita permessi",
"INHERITED_PERMISSIONS_BUTTON": "Permesso ereditato"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "詳細",
"COMMENTS": "コメント",
"PROPERTIES": "プロパティ",
"VERSIONS": "バージョン"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "削除を許可する",
"SHOW_COMMENTS": "バージョンに関するコメントを表示",
"ALLOW_DOWNLOAD": "バージョンのダウンロードを許可する"
}
},
"title": "ようこそ",
"VERSION": {
"NO_PERMISSION": "このコンテンツのバージョンを管理する権限がありません",
@@ -9,6 +22,12 @@
"TITLE": "バージョンの管理"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "閉じる",
"TITLE": "メタデータ"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF デモアプリケーション",
"HOME": "ホーム",
@@ -17,15 +36,34 @@
"LOGIN": "ログイン",
"CUSTOM_SOURCES": "カスタムソース",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (遅延読み込み)",
"FORM": "フォーム",
"FORM_LIST": "フォームリスト",
"FORM_LOADING": "フォームを読み込んでいます",
"UPLOADER": "アップローダー",
"WEBSCRIPT": "Webscript",
"TAG": "タグ",
"TRASHCAN": "ごみ箱",
"SOCIAL": "ソーシャル",
"SETTINGS": "設定",
"OVERLAY_VIEWER": "オーバーレイビューア",
"ABOUT": "バージョン情報"
"ABOUT": "バージョン情報",
"SEARCH": "詳細検索",
"EXTENDED_SEARCH_QUERY_BODY": "クエリ本体を使った詳細検索",
"WORD_TO_SEARCH": "語句の検索",
"SEARCH_CREATED_BY": "作成者",
"SEARCH_SERVICE_APPROACH": "入力プロパティを無効にし、サービスを使って設定する場合は、このチェックボックスをオンにします"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "完全に削除する",
"RESTORE": "復元"
},
"EMPTY_STATE": {
"TITLE": "ごみ箱は空です",
"FIRST_TEXT": "削除するアイテムはごみ箱に移動されます。",
"SECOND_TEXT": "ごみ箱を空にするとアイテムが完全に削除されます。"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "複数選択 (チェックボックスを使用)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "アップロードを有効にします",
"ENABLE_INFINITE_SCROLL": "無限スクロールを有効にする",
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "[最近使ったファイル] 一覧は空です"
},
"TITLE": "最近使ったファイル"
},
"COLUMNS": {
"DISPLAY_NAME": "表示名",
"IS_LOCKED": "ロック",
"TAG": "タグ",
"CREATED_BY": "作成者",
"CREATED_ON": "作成日",
"CREATED": "作成日"
"CREATED": "作成日",
"SIZE": "サイズ",
"DELETED_ON": "削除済み",
"DELETED_BY": "削除者"
},
"TOOLBAR": {
"CARDVIEW": "カード表示モード",
"NEW_FOLDER": "新しいフォルダ",
"EDIT_FOLDER": "フォルダの編集",
"DOWNLOAD": "ダウンロード",
"DELETE": "削除"
},
"ACTIONS": {
"VERSIONS": "バージョンの管理",
"METADATA": "情報",
"DOWNLOAD": "ダウンロード",
"PERMISSION": "権限",
"FOLDER": {
"COPY": "コピー",
"MOVE": "移動",
"DELETE": "削除"
},
"DOCUMENT": {
"DOWNLOAD": "ダウンロード",
"COPY": "コピー",
"MOVE": "移動",
"DELETE": "削除",
@@ -84,6 +142,13 @@
"STORE": "保存",
"RESTORE": "復元"
},
"FORM-LOADING": {
"FORM_DATA": "フォーム データ",
"FORM_DATA_MESSAGE": "フォームに入力する値を入力してください",
"TYPEAHEAD_PLACEHOLDER": "先行入力",
"RADIO_PLACEHOLDER": "ラジオ ボタン",
"SELECT_PLACEHOLDER": "ドロップダウン"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Content Services のタグリスト",
"INSERT": "ノード ID の挿入",
"NODE_LIST": "ノード ID 別タグリスト"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "権限の継承",
"INHERITED_PERMISSIONS_BUTTON": "継承された権限"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detaljer",
"COMMENTS": "Kommentarer",
"PROPERTIES": "Egenskaper",
"VERSIONS": "Versjoner"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Tillat sletting",
"SHOW_COMMENTS": "Vis kommentarer om versjoner",
"ALLOW_DOWNLOAD": "Tillat versjonsnedlasting"
}
},
"title": "Velkommen",
"VERSION": {
"NO_PERMISSION": "Du har ikke tillatelse til å håndtere versjoner av dette innholdet",
@@ -9,6 +22,12 @@
"TITLE": "Håndtere versjoner"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Lukk",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-demoprogam",
"HOME": "Hjem",
@@ -17,15 +36,34 @@
"LOGIN": "Logg på",
"CUSTOM_SOURCES": "Tilpassede kilder",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatabell (avventende)",
"FORM": "Skjema",
"FORM_LIST": "Skjemaliste",
"FORM_LOADING": "Skjema lastes inn",
"UPLOADER": "Opplaster",
"WEBSCRIPT": "Webscript",
"TAG": "Tagg",
"TRASHCAN": "Søppelkurv",
"SOCIAL": "Sosial",
"SETTINGS": "Innstillinger",
"OVERLAY_VIEWER": "Overleggsfremviser",
"ABOUT": "Om"
"ABOUT": "Om",
"SEARCH": "Utvidet søk",
"EXTENDED_SEARCH_QUERY_BODY": "Utvidet søk med spørringsuttrykk",
"WORD_TO_SEARCH": "Søkeord",
"SEARCH_CREATED_BY": "Opprettet av",
"SEARCH_SERVICE_APPROACH": "Velg dette for å deaktivere inndataegenskapen og konfigurere ved hjelp av tjenesten"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Slett for godt",
"RESTORE": "Gjenopprett"
},
"EMPTY_STATE": {
"TITLE": "Søppelkurven er tom",
"FIRST_TEXT": "Elementer du sletter, flyttes til søppelkurven.",
"SECOND_TEXT": "Tøm søppelkurven for å slette elementer for godt."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multivalg (med avskrysningsbokser)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "Aktiver opplasting",
"ENABLE_INFINITE_SCROLL": "Aktiver uendelig rulling",
"MULTISELECT_DESCRIPTION": "Bruk Cmd (Mac) eller Ctrl (Windows) for å veksle mellom valg av flere elementer",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Nylige filer-listen er tom"
},
"TITLE": "Nylige filer"
},
"COLUMNS": {
"DISPLAY_NAME": "Vis navn",
"IS_LOCKED": "Lås",
"TAG": "Tagg",
"CREATED_BY": "Opprettet av",
"CREATED_ON": "Opprettet",
"CREATED": "Opprettet"
"CREATED": "Opprettet",
"SIZE": "Størrelse",
"DELETED_ON": "Slettet",
"DELETED_BY": "Slettet av"
},
"TOOLBAR": {
"CARDVIEW": "Kortvisningsmodus",
"NEW_FOLDER": "Ny mappe",
"EDIT_FOLDER": "Rediger mappe",
"DOWNLOAD": "Last ned",
"DELETE": "Slett"
},
"ACTIONS": {
"VERSIONS": "Administrer versjoner",
"METADATA": "Info",
"DOWNLOAD": "Last ned",
"PERMISSION": "Tillatelse",
"FOLDER": {
"COPY": "Kopier",
"MOVE": "Flytt",
"DELETE": "Slett"
},
"DOCUMENT": {
"DOWNLOAD": "Last ned",
"COPY": "Kopier",
"MOVE": "Flytt",
"DELETE": "Slett",
@@ -84,6 +142,13 @@
"STORE": "Lagre",
"RESTORE": "Gjenopprett"
},
"FORM-LOADING": {
"FORM_DATA": "Skjemadata",
"FORM_DATA_MESSAGE": "Skriv inn verdier for å fylle ut skjemaet",
"TYPEAHEAD_PLACEHOLDER": "Type-ahead",
"RADIO_PLACEHOLDER": "Alternativknapp",
"SELECT_PLACEHOLDER": "Nedtrekk"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Liste med tagger Innholdstjenester",
"INSERT": "Sett inn node-ID",
"NODE_LIST": "Tagg listen etter node-ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Arv tillatelse",
"INHERITED_PERMISSIONS_BUTTON": "Tillatelse arvet"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Opmerkingen",
"PROPERTIES": "Eigenschappen",
"VERSIONS": "Versies"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Verwijderen toestaan",
"SHOW_COMMENTS": "Opmerkingen over versies tonen",
"ALLOW_DOWNLOAD": "Downloaden van versies toestaan"
}
},
"title": "Welkom",
"VERSION": {
"NO_PERMISSION": "U hebt geen rechten voor het beheren van versies van deze content",
@@ -9,6 +22,12 @@
"TITLE": "Versies beheren"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Sluiten",
"TITLE": "Metagegevens"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-demotoepassing",
"HOME": "Home",
@@ -17,15 +36,34 @@
"LOGIN": "Aanmelden",
"CUSTOM_SOURCES": "Aangepaste bronnen",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (vertraagd)",
"FORM": "Formulier",
"FORM_LIST": "Formulierlijst",
"FORM_LOADING": "Formulier laden",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Prullenbak",
"SOCIAL": "Sociaal",
"SETTINGS": "Instellingen",
"OVERLAY_VIEWER": "Overlay-viewer",
"ABOUT": "Info"
"ABOUT": "Info",
"SEARCH": "Uitgebreid zoeken",
"EXTENDED_SEARCH_QUERY_BODY": "Uitgebreid zoeken met queryhoofdcode",
"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"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Definitief verwijderen",
"RESTORE": "Herstellen"
},
"EMPTY_STATE": {
"TITLE": "Prullenbak is leeg",
"FIRST_TEXT": "Items die u verwijdert, worden verplaatst naar de prullenbak.",
"SECOND_TEXT": "Leeg de prullenmand om items definitief te verwijderen."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multiselect (met selectievakjes)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "Uploaden inschakelen",
"ENABLE_INFINITE_SCROLL": "Oneindig scrollen inschakelen",
"MULTISELECT_DESCRIPTION": "Cmd (Mac) of Ctrl (Windows) gebruiken om de selectie van meerdere items in of uit te schakelen",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Lijst met recente bestanden is leeg"
},
"TITLE": "Recente bestanden"
},
"COLUMNS": {
"DISPLAY_NAME": "Getoonde naam",
"IS_LOCKED": "Vergrendeling",
"TAG": "Tag",
"CREATED_BY": "Gemaakt door",
"CREATED_ON": "Gemaakt op",
"CREATED": "Gemaakt"
"CREATED": "Gemaakt",
"SIZE": "Grootte",
"DELETED_ON": "Verwijderd",
"DELETED_BY": "Verwijderd door"
},
"TOOLBAR": {
"CARDVIEW": "Kaartweergavemodus",
"NEW_FOLDER": "Nieuwe map",
"EDIT_FOLDER": "Map bewerken",
"DOWNLOAD": "Downloaden",
"DELETE": "Verwijderen"
},
"ACTIONS": {
"VERSIONS": "Versies beheren",
"METADATA": "Info",
"DOWNLOAD": "Downloaden",
"PERMISSION": "Machtiging",
"FOLDER": {
"COPY": "Kopiëren",
"MOVE": "Verplaatsen",
"DELETE": "Verwijderen"
},
"DOCUMENT": {
"DOWNLOAD": "Downloaden",
"COPY": "Kopiëren",
"MOVE": "Verplaatsen",
"DELETE": "Verwijderen",
@@ -84,6 +142,13 @@
"STORE": "Opslaan",
"RESTORE": "Herstellen"
},
"FORM-LOADING": {
"FORM_DATA": "Formuliergegevens",
"FORM_DATA_MESSAGE": "Voer waarden in om het formulier in te vullen",
"TYPEAHEAD_PLACEHOLDER": "Automatische voltooiing",
"RADIO_PLACEHOLDER": "Keuzerondje",
"SELECT_PLACEHOLDER": "Dropdown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Taglijst Content Services",
"INSERT": "Node-id invoegen",
"NODE_LIST": "Taglijst per node-id"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Machtiging overnemen",
"INHERITED_PERMISSIONS_BUTTON": "Machtiging overgenomen"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detalhes",
"COMMENTS": "Comentários",
"PROPERTIES": "Propriedades",
"VERSIONS": "Versões"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir apagar",
"SHOW_COMMENTS": "Mostrar comentários em versões",
"ALLOW_DOWNLOAD": "Permitir download da versão"
}
},
"title": "Bem-vindo",
"VERSION": {
"NO_PERMISSION": "Você não tem permissão para gerenciar versões deste conteúdo",
@@ -9,6 +22,12 @@
"TITLE": "Gerenciar versões"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Fechar",
"TITLE": "Metadados"
}
},
"APP_LAYOUT": {
"APP_NAME": "Aplicativo Demo ADF",
"HOME": "Página Inicial",
@@ -17,15 +36,34 @@
"LOGIN": "Login",
"CUSTOM_SOURCES": "Origens Personalizadas",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Sob demanda)",
"FORM": "Formulário",
"FORM_LIST": "Lista de Formulário",
"FORM_LOADING": "Carregamento de formulário",
"UPLOADER": "Carregador",
"WEBSCRIPT": "Webscript",
"TAG": "Marca",
"TRASHCAN": "Lixeira",
"SOCIAL": "Social",
"SETTINGS": "Configurações",
"OVERLAY_VIEWER": "Visualizador de sobreposição",
"ABOUT": "Sobre"
"ABOUT": "Sobre",
"SEARCH": "Pesquisa estendida",
"EXTENDED_SEARCH_QUERY_BODY": "Pesquisa estendida com corpo de consulta",
"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"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Apagar permanentemente",
"RESTORE": "Restaurar"
},
"EMPTY_STATE": {
"TITLE": "A lixeira está vazia",
"FIRST_TEXT": "Itens apagados são movidos para a Lixeira.",
"SECOND_TEXT": "Esvazie a Lixeira para apagar os itens permanentemente."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Seleção Múltipla (com caixas de seleção)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "Ativar carregamento",
"ENABLE_INFINITE_SCROLL": "Ativar rolagem infinita",
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) ou Ctrl (Windows) para alternar a seleção de vários itens",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "A lista de Arquivos recentes está vazia"
},
"TITLE": "Arquivos recentes"
},
"COLUMNS": {
"DISPLAY_NAME": "Nome de exibição",
"IS_LOCKED": "Bloqueio",
"TAG": "Marca",
"CREATED_BY": "Criado por",
"CREATED_ON": "Criado em",
"CREATED": "Criado"
"CREATED": "Criado",
"SIZE": "Tamanho",
"DELETED_ON": "Excluído",
"DELETED_BY": "Excluído por"
},
"TOOLBAR": {
"CARDVIEW": "Modo de visualização de cartão",
"NEW_FOLDER": "Nova Pasta",
"EDIT_FOLDER": "Editar pasta",
"DOWNLOAD": "Download",
"DELETE": "Excluir"
},
"ACTIONS": {
"VERSIONS": "Gerenciar versões",
"METADATA": "Informações",
"DOWNLOAD": "Download",
"PERMISSION": "Permissão",
"FOLDER": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Excluir"
},
"DOCUMENT": {
"DOWNLOAD": "Download",
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Excluir",
@@ -84,6 +142,13 @@
"STORE": "Armazenar",
"RESTORE": "Restaurar"
},
"FORM-LOADING": {
"FORM_DATA": "Dados do formulário",
"FORM_DATA_MESSAGE": "Insira os valores para preencher o formulário",
"TYPEAHEAD_PLACEHOLDER": "Campo de sugestão",
"RADIO_PLACEHOLDER": "Botão de opção",
"SELECT_PLACEHOLDER": "Lista suspensa"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Lista de Marcas do Content Services",
"INSERT": "Inserir ID de Nó",
"NODE_LIST": "Lista de marcas por ID de Nó"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Herdar permissão",
"INHERITED_PERMISSIONS_BUTTON": "Permissão herdada"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Сведения",
"COMMENTS": "Комментарии",
"PROPERTIES": "Свойства",
"VERSIONS": "Версии"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Разрешить удаление",
"SHOW_COMMENTS": "Показать комментарии к версиям",
"ALLOW_DOWNLOAD": "Разрешить загрузку версии"
}
},
"title": "Добро пожаловать",
"VERSION": {
"NO_PERMISSION": "У вас нет разрешения на управление версиями этого контента",
@@ -9,6 +22,12 @@
"TITLE": "Управление версиями"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Закрыть",
"TITLE": "Метаданные"
}
},
"APP_LAYOUT": {
"APP_NAME": "Демонстрационное приложение ADF",
"HOME": "Домашняя",
@@ -17,15 +36,34 @@
"LOGIN": "Войти",
"CUSTOM_SOURCES": "Пользовательские источники",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Таблица данных (частичная загрузка)",
"FORM": "Форма",
"FORM_LIST": "Список форм",
"FORM_LOADING": "Загрузка формы",
"UPLOADER": "Загрузчик",
"WEBSCRIPT": "Webscript",
"TAG": "Метка",
"TRASHCAN": "Корзина",
"SOCIAL": "Социальный",
"SETTINGS": "Параметры",
"OVERLAY_VIEWER": "Просмотр наложения",
"ABOUT": "О приложении"
"ABOUT": "О приложении",
"SEARCH": "Расширенный поиск",
"EXTENDED_SEARCH_QUERY_BODY": "Расширенный поиск с использованием тела запроса",
"WORD_TO_SEARCH": "Искать слово",
"SEARCH_CREATED_BY": "Создано пользователем",
"SEARCH_SERVICE_APPROACH": "Установите флажок, чтобы отключить свойство ввода и настроить, используя службу."
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Удалить навсегда",
"RESTORE": "Восстановить"
},
"EMPTY_STATE": {
"TITLE": "Корзина пуста",
"FIRST_TEXT": "Элементы, которые вы удаляете, перемещаются в корзину.",
"SECOND_TEXT": "Очистите корзину, чтобы удалить элементы навсегда."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Выбор нескольких вариантов (с флажками)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "Включить загрузку",
"ENABLE_INFINITE_SCROLL": "Включить бесконечную прокрутку",
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Список последних файлов пуст"
},
"TITLE": "Последние файлы"
},
"COLUMNS": {
"DISPLAY_NAME": "Отображаемое имя",
"IS_LOCKED": "Блокировка",
"TAG": "Метка",
"CREATED_BY": "Создано пользователем",
"CREATED_ON": "Дата создания",
"CREATED": "Создано"
"CREATED": "Создано",
"SIZE": "Размер",
"DELETED_ON": "Удаленные",
"DELETED_BY": "Удалено пользователем"
},
"TOOLBAR": {
"CARDVIEW": "Режим просмотра карты",
"NEW_FOLDER": "Новая папка",
"EDIT_FOLDER": "Редактировать папку",
"DOWNLOAD": "Скачать",
"DELETE": "Удалить"
},
"ACTIONS": {
"VERSIONS": "Управление версиями",
"METADATA": "Информация",
"DOWNLOAD": "Скачать",
"PERMISSION": "Право",
"FOLDER": {
"COPY": "Копировать",
"MOVE": "Переместить",
"DELETE": "Удалить"
},
"DOCUMENT": {
"DOWNLOAD": "Скачать",
"COPY": "Копировать",
"MOVE": "Переместить",
"DELETE": "Удалить",
@@ -84,6 +142,13 @@
"STORE": "Хранилище",
"RESTORE": "Восстановить"
},
"FORM-LOADING": {
"FORM_DATA": "Данные формы",
"FORM_DATA_MESSAGE": "Введите значения для заполнения формы",
"TYPEAHEAD_PLACEHOLDER": "Буфер клавиатуры",
"RADIO_PLACEHOLDER": "Селективная кнопка",
"SELECT_PLACEHOLDER": "Раскрывающееся меню"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "Список меток Content Services",
"INSERT": "Вставить идентификатор узла",
"NODE_LIST": "Список меток по идентификатору узла"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Наследовать разрешение",
"INHERITED_PERMISSIONS_BUTTON": "Разрешение унаследовано"
}
}
+72 -3
View File
@@ -1,4 +1,17 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "详细信息",
"COMMENTS": "注释",
"PROPERTIES": "属性",
"VERSIONS": "版本"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "允许删除",
"SHOW_COMMENTS": "显示有关版本的注释",
"ALLOW_DOWNLOAD": "允许版本下载"
}
},
"title": "欢迎使用",
"VERSION": {
"NO_PERMISSION": "您没有管理此内容版本的权限",
@@ -9,6 +22,12 @@
"TITLE": "管理版本"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "关闭",
"TITLE": "元数据"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF 演示应用程序",
"HOME": "主页",
@@ -17,15 +36,34 @@
"LOGIN": "登录",
"CUSTOM_SOURCES": "自定义来源",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable(迟缓)",
"FORM": "表单",
"FORM_LIST": "表单列表",
"FORM_LOADING": "表单加载",
"UPLOADER": "上传程序",
"WEBSCRIPT": "Webscript",
"TAG": "标签",
"TRASHCAN": "垃圾桶",
"SOCIAL": "社交",
"SETTINGS": "设置",
"OVERLAY_VIEWER": "重叠查看器",
"ABOUT": "关于"
"ABOUT": "关于",
"SEARCH": "扩展搜索",
"EXTENDED_SEARCH_QUERY_BODY": "包含查询主体的扩展搜索",
"WORD_TO_SEARCH": "搜索词",
"SEARCH_CREATED_BY": "创建者",
"SEARCH_SERVICE_APPROACH": "选中此项以禁用输入属性并使用服务进行配置"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "永久删除",
"RESTORE": "恢复"
},
"EMPTY_STATE": {
"TITLE": "“垃圾”为空",
"FIRST_TEXT": "删除的项目移动到“垃圾”。",
"SECOND_TEXT": "清空“垃圾”以永久删除项目。"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "多选(含复选框)",
@@ -37,21 +75,41 @@
"DESCRIPTION_UPLOAD": "启用上传",
"ENABLE_INFINITE_SCROLL": "启用无限滚动",
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "\"最近的文件\"列表为空"
},
"TITLE": "最近的文件"
},
"COLUMNS": {
"DISPLAY_NAME": "显示名称",
"IS_LOCKED": "锁定",
"TAG": "标签",
"CREATED_BY": "创建者",
"CREATED_ON": "创建日期",
"CREATED": "已创建"
"CREATED": "已创建",
"SIZE": "字号(&S)",
"DELETED_ON": "已删除",
"DELETED_BY": "删除人"
},
"TOOLBAR": {
"CARDVIEW": "卡查看模式",
"NEW_FOLDER": "新建文件夹",
"EDIT_FOLDER": "编辑文件夹",
"DOWNLOAD": "下载",
"DELETE": "删除"
},
"ACTIONS": {
"VERSIONS": "管理版本",
"METADATA": "信息",
"DOWNLOAD": "下载",
"PERMISSION": "权限",
"FOLDER": {
"COPY": "复制",
"MOVE": "移动",
"DELETE": "删除"
},
"DOCUMENT": {
"DOWNLOAD": "下载",
"COPY": "复制",
"MOVE": "移动",
"DELETE": "删除",
@@ -84,6 +142,13 @@
"STORE": "存储",
"RESTORE": "恢复"
},
"FORM-LOADING": {
"FORM_DATA": "表单数据",
"FORM_DATA_MESSAGE": "输入值以填充表单",
"TYPEAHEAD_PLACEHOLDER": "预先输入",
"RADIO_PLACEHOLDER": "单选按钮",
"SELECT_PLACEHOLDER": "下拉列表"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
@@ -101,5 +166,9 @@
"LIST": "列表标签 Content Services",
"INSERT": "插入节点 ID",
"NODE_LIST": "标签列表(按节点 ID 排序)"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "继承权限",
"INHERITED_PERMISSIONS_BUTTON": "已继承权限"
}
}
+118
View File
@@ -1,6 +1,8 @@
{
"$schema": "../../lib/core/app-config/schema.json",
"ecmHost": "http://{hostname}:{port}",
"bpmHost": "http://{hostname}:{port}",
"contextRootBpm": "activiti-app",
"application": {
"name": "Alfresco ADF Application"
},
@@ -50,6 +52,118 @@
"label": "Simplified Chinese"
}
],
"search": {
"limits": {
"permissionEvaluationTime": null,
"permissionEvaluationCount": null
},
"filterQueries": [
{ "query": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
{ "query": "NOT cm:creator:System" }
],
"facetFields": {
"facets": [
{ "field": "content.mimetype", "mincount": 1, "label": "Type" },
{ "field": "content.size", "mincount": 1, "label": "Size" },
{ "field": "creator", "mincount": 1, "label": "Creator" },
{ "field": "modifier", "mincount": 1, "label": "Modifier" }
]
},
"facetQueries": [
{ "query": "created:2018", "label": "Created This Year" },
{ "query": "content.mimetype", "label": "Type" },
{ "query": "content.size:[0 TO 10240]", "label": "Size: xtra small"},
{ "query": "content.size:[10240 TO 102400]", "label": "Size: small"},
{ "query": "content.size:[102400 TO 1048576]", "label": "Size: medium" },
{ "query": "content.size:[1048576 TO 16777216]", "label": "Size: large" },
{ "query": "content.size:[16777216 TO 134217728]", "label": "Size: xtra large" },
{ "query": "content.size:[134217728 TO MAX]", "label": "Size: XX large" }
],
"query": {
"categories": [
{
"id": "broken",
"name": "Broken Facet",
"enabled": false,
"expanded": false,
"component": {
"selector": "adf-search-text",
"settings": {
"field": "fieldname"
}
}
},
{
"id": "queryName",
"name": "Name",
"enabled": true,
"expanded": true,
"component": {
"selector": "adf-search-text",
"settings": {
"pattern": "cm:name:'(.*?)'",
"field": "cm:name",
"placeholder": "Enter the name"
}
}
},
{
"id": "queryFields",
"name": "Fields",
"enabled": true,
"expanded": false,
"component": {
"selector": "adf-search-fields",
"settings": {
"field": null,
"options": [
{ "name": "Name", "value": "name", "fields": ["name"], "default": true },
{ "name": "File Size", "value": "content.sizeInBytes", "fields": ["content"], "default": true },
{ "name": "Modified On", "value": "modifiedAt", "fields": ["modifiedAt"], "default": true },
{ "name": "Modified By", "value": "modifiedByUser.displayName", "fields": ["modifiedByUser"], "default": true }
]
}
}
},
{
"id": "queryType",
"name": "Type",
"enabled": true,
"expanded": false,
"component": {
"selector": "adf-search-radio",
"settings": {
"field": null,
"options": [
{ "name": "None", "value": "", "default": true },
{ "name": "All", "value": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
{ "name": "Folder", "value": "TYPE:'cm:folder'" },
{ "name": "Document", "value": "TYPE:'cm:content'" }
]
}
}
},
{
"id": "queryLocations",
"name": "Locations",
"enabled": true,
"expanded": false,
"component": {
"selector": "adf-search-scope-locations",
"settings": {
"field": null,
"options": [
{ "name": "Default", "value": "nodes", "default": true },
{ "name": "Nodes", "value": "nodes" },
{ "name": "Deleted Nodes", "value": "deleted-nodes" },
{ "name": "Versions", "value": "versions" }
]
}
}
}
]
}
},
"pagination": {
"size": 25,
"supportedPageSizes": [ 5, 10, 15, 20 ]
@@ -370,5 +484,9 @@
"exif:exif": "*"
}
}
},
"adf-version-manager": {
"allowComments": true,
"allowDownload": true
}
}
+2
View File
@@ -1 +1,3 @@
<router-outlet></router-outlet>
<app-log></app-log>
<router-outlet name="overlay"></router-outlet>
+59
View File
@@ -0,0 +1,59 @@
.empty-list {
.adf-data-table {
height: 100%;
tr:hover, tr:focus {
cursor: default;
}
}
&__block {
display: flex;
flex-direction: column;
align-items: center;
p {
line-height: 0;
}
}
&__title {
font-size: 18px;
font-weight: 600;
}
&__subtitle {
font-size: 14px;
font-weight: 300;
}
&__block > mat-icon {
font-size: 52px;
height: 52px;
width: 52px;
}
}
router-outlet[name="overlay"] + * {
width: 100%;
height: 100%;
z-index: 999999;
position: absolute;
top: 0;
right: 0;
}
@media (max-width: 425px) {
adf-content-node-selector {
.adf-content-node-selector-content-list {
.adf-data-table-cell {
display: none;
}
.adf-data-table-cell:first-child,
.adf-data-table-cell:nth-child(2) {
display: table-cell;
}
}
}
}
+18 -25
View File
@@ -1,32 +1,25 @@
import { TestBed, async } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { AdfModule } from './adf.module';
import { AppComponent } from './app.component';
describe('AppComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
AppComponent
],
}).compileComponents();
}));
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
RouterTestingModule,
AdfModule
],
declarations: [
AppComponent
]
}).compileComponents();
}));
it('should create the app', async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
}));
it(`should have as title 'app works!'`, async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app.title).toEqual('app works!');
}));
it('should render title in a h1 tag', async(() => {
const fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
expect(compiled.querySelector('h1').textContent).toContain('app works!');
}));
it('should create the app', async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
}));
});
+1 -1
View File
@@ -22,7 +22,7 @@ import { SettingsService, PageTitleService, StorageService, TranslationService }
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
styleUrls: ['./app.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class AppComponent {
+32 -11
View File
@@ -4,7 +4,7 @@ import { FormsModule } from '@angular/forms';
import { FlexLayoutModule } from '@angular/flex-layout';
import { ChartsModule } from 'ng2-charts';
import { HttpClientModule } from '@angular/common/http';
import { TranslateService } from '@ngx-translate/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppConfigService, TRANSLATION_PROVIDER } from '@alfresco/adf-core';
import { AppComponent } from './app.component';
@@ -18,8 +18,10 @@ 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';
@@ -29,37 +31,40 @@ import { FormViewerComponent } from './components/process-service/form-viewer.co
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 { FileViewComponent } from './components/file-view/file-view.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';
import { BlobPreviewComponent } from './components/blob-preview/blob-preview.component';
import { ThemePickerModule } from './components/theme-picker/theme-picker';
import { DebugAppConfigService } from './services/debug-app-config.service';
import { routing } from './app.routes';
import { TranslateModule } from '@ngx-translate/core';
import { ReactiveFormsModule } from '@angular/forms';
import { TaskAttachmentsComponent } from './components/process-service/task-attachments.component';
import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component';
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';
@NgModule({
imports: [
ReactiveFormsModule,
TranslateModule,
BrowserModule,
BrowserAnimationsModule,
ReactiveFormsModule,
routing,
FormsModule,
AdfModule,
MaterialModule,
ThemePickerModule,
FlexLayoutModule,
ChartsModule,
HttpClientModule
HttpClientModule,
AdfModule
],
declarations: [
AppComponent,
@@ -71,6 +76,7 @@ import { SharedLinkViewComponent } from './components/shared-link-view/shared-li
SearchResultComponent,
SearchExtendedComponent,
AboutComponent,
LogComponent,
ProcessServiceComponent,
ShowDiagramComponent,
FormViewerComponent,
@@ -79,6 +85,7 @@ import { SharedLinkViewComponent } from './components/shared-link-view/shared-li
DataTableComponent,
FilesComponent,
FileViewComponent,
TrashcanComponent,
FormComponent,
FormListComponent,
WebscriptComponent,
@@ -86,13 +93,17 @@ import { SharedLinkViewComponent } from './components/shared-link-view/shared-li
SocialComponent,
CustomSourcesComponent,
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent,
TaskAttachmentsComponent,
ProcessAttachmentsComponent,
OverlayViewerComponent,
SharedLinkViewComponent
SharedLinkViewComponent,
FormLoadingComponent,
DemoPermissionComponent,
FormLoadingComponent,
BlobPreviewComponent
],
providers: [
TranslateService,
{ provide: AppConfigService, useClass: DebugAppConfigService },
{
provide: TRANSLATION_PROVIDER,
@@ -101,10 +112,20 @@ import { SharedLinkViewComponent } from './components/shared-link-view/shared-li
name: 'app',
source: 'resources'
}
}
},
{
provide: TRANSLATION_PROVIDER,
multi: true,
useValue: {
name: 'lazy-loading',
source: 'resources/lazy-loading'
}
},
PreviewService
],
entryComponents: [
VersionManagerDialogAdapterComponent
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent
],
bootstrap: [AppComponent]
})
+32 -13
View File
@@ -30,6 +30,7 @@ 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';
@@ -38,21 +39,21 @@ import { SocialComponent } from './components/social/social.component';
import { FilesComponent } from './components/files/files.component';
import { FormComponent } from './components/form/form.component';
import { UploadButtonComponent } from '@alfresco/adf-content-services';
import { FileViewComponent } from './components/file-view/file-view.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 { BlobPreviewComponent } from './components/blob-preview/blob-preview.component';
export const appRoutes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: 'settings', component: SettingsComponent },
{ path: 'files/:nodeId/view', component: FileViewComponent, canActivate: [ AuthGuardEcm ] },
{
path: 'preview/s/:id',
component: SharedLinkViewComponent
},
{ path: 'files/:nodeId/view', component: FileViewComponent, canActivate: [ AuthGuardEcm ], outlet: 'overlay' },
{ path: 'preview/blob', component: BlobPreviewComponent, outlet: 'overlay', pathMatch: 'full' },
{ path: 'preview/s/:id', component: SharedLinkViewComponent },
{
path: '',
component: AppLayoutComponent,
@@ -65,8 +66,16 @@ export const appRoutes: Routes = [
{
path: 'home',
component: HomeComponent
}
,
},
{
path: 'settings-layout',
component: SettingsComponent
},
{
path: 'trashcan',
component: TrashcanComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'files',
component: FilesComponent,
@@ -77,6 +86,11 @@ export const appRoutes: Routes = [
component: FilesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'files/:id/display/:mode',
component: FilesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'dl-custom-sources',
component: CustomSourcesComponent,
@@ -86,11 +100,6 @@ export const appRoutes: Routes = [
path: 'datatable',
component: DataTableComponent
},
{
path: 'uploader',
component: UploadButtonComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'search',
component: SearchResultComponent,
@@ -159,13 +168,23 @@ export const appRoutes: Routes = [
component: SocialComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'permissions/:id',
component: DemoPermissionComponent,
canActivate: [AuthGuardEcm]
},
{ path: 'about', component: AboutComponent },
{ path: 'form', component: FormComponent },
{ path: 'form-list', component: FormListComponent },
{ path: 'form-loading', component: FormLoadingComponent },
{
path: 'overlay-viewer',
component: OverlayViewerComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'datatable-lazy',
loadChildren: 'app/components/lazy-loading/lazy-loading.module#LazyLoadingModule'
}
]
}
@@ -1,47 +1,54 @@
<mat-sidenav-container class="adf-nav-container">
<mat-sidenav #sidenav class="adf-sidenav" position="end" mode="push">
<mat-nav-list>
<a mat-list-item *ngFor="let link of links" [routerLink]="link.href" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }" (click)="sidenav.close()" class="adf-sidenav-link">
<mat-icon matListIcon>{{link.icon}}</mat-icon>
<span>{{link.title | translate }}</span>
</a>
<a mat-list-item adf-logout (click)="sidenav.close()">
<mat-icon matListIcon>exit_to_app</mat-icon>
<span>Logout</span>
</a>
</mat-nav-list>
</mat-sidenav>
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="220" [stepOver]="780" [hideSidenav]="false" [expandedSidenav]="false">
<mat-toolbar color="primary" class="adf-app-layout-toolbar mat-elevation-z6">
<adf-userinfo
class="adf-app-layout-user-profile"
[menuPositionX]="'before'"
[menuPositionY]="'above'">
</adf-userinfo>
<adf-sidenav-layout-header>
<ng-template let-toggleMenu="toggleMenu">
<mat-toolbar color="primary" class="adf-app-layout-toolbar mat-elevation-z6">
<button mat-icon-button (click)="toggleMenu()">
<mat-icon>menu</mat-icon>
</button>
<span fxFlex="1 1 auto" fxShow fxHide.lt-sm="true">{{'APP_LAYOUT.APP_NAME' | translate }}</span>
<span fxFlex="1 1 auto" fxShow fxHide.lt-sm="true">{{'APP_LAYOUT.APP_NAME' | translate }}</span>
<div class="adf-app-layout-menu-spacer"></div>
<div class="adf-app-layout-menu-spacer"></div>
<app-search-bar fxFlex="0 1 auto"></app-search-bar>
<app-search-bar fxFlex="0 1 auto"></app-search-bar>
<a fxFlex="0 0 auto" class="adf-toolbar-link" fxShow fxHide.lt-md="true" mat-button data-automation-id="home" href="" routerLink="/home" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }">{{'APP_LAYOUT.HOME' | translate }}</a>
<a fxFlex="0 0 auto" class="adf-toolbar-link" fxShow fxHide.lt-md="true" mat-button data-automation-id="files" href="" routerLink="/files" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }">{{'APP_LAYOUT.CONTENT_SERVICES' | translate }}</a>
<a fxFlex="0 0 auto" class="adf-toolbar-link" fxShow fxHide.lt-md="true" mat-button data-automation-id="activiti" href="" routerLink="/activiti" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }">{{'APP_LAYOUT.PROCESS_SERVICES' | translate }}</a>
<a fxFlex="0 0 auto" class="adf-toolbar-link" fxShow fxHide.lt-md="true" mat-button data-automation-id="login" href="" routerLink="/login">Login</a>
<adf-userinfo
class="adf-app-layout-user-profile"
[menuPositionX]="'before'"
[menuPositionY]="'above'">
</adf-userinfo>
<app-theme-picker></app-theme-picker>
<button mat-icon-button [matMenuTriggerFor]="langMenu">
<mat-icon>language</mat-icon>
</button>
<mat-menu #langMenu="matMenu">
<adf-language-menu></adf-language-menu>
</mat-menu>
<app-theme-picker></app-theme-picker>
<button mat-icon-button [matMenuTriggerFor]="langMenu">
<mat-icon>language</mat-icon>
</button>
<mat-menu #langMenu="matMenu">
<adf-language-menu></adf-language-menu>
</mat-menu>
</mat-toolbar>
</ng-template>
</adf-sidenav-layout-header>
<button mat-icon-button (click)="sidenav.open()">
<mat-icon>menu</mat-icon>
</button>
</mat-toolbar>
<adf-sidenav-layout-navigation>
<ng-template let-isMenuMinimized="isMenuMinimized">
<mat-nav-list class="adf-sidenav-linklist">
<a mat-list-item *ngFor="let link of links" [attr.data-automation-id]="link.title | translate" [routerLink]="link.href" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }" class="adf-sidenav-link">
<mat-icon matListIcon class="sidenav-menu-icon">{{link.icon}}</mat-icon>
<div class="sidenav-menu-label" *ngIf="!isMenuMinimized()">{{link.title | translate }}</div>
</a>
<a mat-list-item adf-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>
</a>
</mat-nav-list>
</ng-template>
</adf-sidenav-layout-navigation>
<router-outlet></router-outlet>
</mat-sidenav-container>
<adf-sidenav-layout-content>
<ng-template>
<router-outlet></router-outlet>
</ng-template>
</adf-sidenav-layout-content>
</adf-sidenav-layout>
@@ -1,5 +1,7 @@
@mixin adf-app-layout-theme($theme) {
$primary: map-get($theme, primary);
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
$minimumAppWidth: 320px;
$toolbarHeight: 64px;
@@ -17,12 +19,14 @@
}
.adf-app-layout-toolbar {
position: relative;
overflow: visible !important;
z-index: 1001;
position: relative;
overflow: visible !important;
}
.adf-app-layout {
display: block;
display: flex;
flex: 1;
min-width: $minimumAppWidth;
height: 100%;
@@ -32,10 +36,32 @@
height: 100%;
}
.adf-sidenav-linklist {
height: 100%;
overflow: auto;
padding-bottom: 8px;
box-sizing: border-box;
}
.adf-sidenav-link {
&.active {
color: mat-color($primary);
}
.sidenav-menu-icon {
margin-right: 20px;
font-size: 14px;
}
.sidenav-menu-label {
font-size: 14px;
white-space: nowrap;
}
}
.mat-nav-list .mat-list-item.adf-sidenav-link {
height: 40px;
}
&-user-profile {
@@ -32,15 +32,17 @@ export class AppLayoutComponent {
{ href: '/files', icon: 'folder_open', title: 'APP_LAYOUT.CONTENT_SERVICES' },
{ 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: '/form', icon: 'poll', title: 'APP_LAYOUT.FORM' },
{ href: '/form-list', icon: 'library_books', title: 'APP_LAYOUT.FORM_LIST' },
{ href: '/uploader', icon: 'file_upload', title: 'APP_LAYOUT.UPLOADER' },
{ href: '/form-loading', icon: 'cached', title: 'APP_LAYOUT.FORM_LOADING' },
{ href: '/webscript', icon: 'extension', title: 'APP_LAYOUT.WEBSCRIPT' },
{ href: '/tag', icon: 'local_offer', title: 'APP_LAYOUT.TAG' },
{ href: '/social', icon: 'thumb_up', title: 'APP_LAYOUT.SOCIAL' },
{ href: '/settings', icon: 'settings', title: 'APP_LAYOUT.SETTINGS' },
{ href: '/settings-layout', icon: 'settings', title: 'APP_LAYOUT.SETTINGS' },
{ href: '/extendedSearch', icon: 'search', title: 'APP_LAYOUT.SEARCH' },
{ href: '/overlay-viewer', icon: 'pageview', title: 'APP_LAYOUT.OVERLAY_VIEWER' },
{ href: '/about', icon: 'info_outline', title: 'APP_LAYOUT.ABOUT' }
@@ -0,0 +1,21 @@
import { Component } from '@angular/core';
import { PreviewService } from '../../services/preview.service';
import { Router } from '@angular/router';
@Component({
templateUrl: 'bob-preview.component.html'
})
export class BlobPreviewComponent {
content: Blob;
name: string;
constructor(preview: PreviewService, router: Router) {
if (preview.content === null || preview.name === null) {
router.navigate([{ outlets: { overlay: null } }]);
return;
}
this.content = preview.content;
this.name = preview.name;
}
}
@@ -0,0 +1,5 @@
<adf-viewer
[showViewer]="true"
[blobFile]="content"
[displayName]="name">
</adf-viewer>
@@ -178,7 +178,7 @@ export class DataTableComponent {
getRowForNode() {
const opts: any = {
includeSource: true,
include: ['path', 'properties', 'allowableOperations']
include: ['path', 'properties', 'allowableOperations', 'permissions']
};
Observable.fromPromise(this.apiService.getInstance().nodes
@@ -1,15 +1,19 @@
<ng-container *ngIf="nodeId">
<ng-template let-node="node" #sidebarTemplate>
<adf-info-drawer title="Details">
<adf-info-drawer-tab label="Properties">
<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-info-drawer-tab>
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.PROPERTIES' | translate">
<adf-content-metadata-card [node]="node"></adf-content-metadata-card>
</adf-info-drawer-tab>
<adf-info-drawer-tab label="Versions">
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.VERSIONS' | translate">
<mat-card>
<mat-card-content>
<adf-version-manager [node]="node">
<adf-version-manager [node]="node" (uploadError)="uploadError($event)">
</adf-version-manager>
</mat-card-content>
</mat-card>
@@ -18,6 +22,19 @@
</ng-template>
<adf-viewer [fileNodeId]="nodeId" [allowSidebar]="true" [sidebarTemplate]="sidebarTemplate">
<adf-viewer-toolbar-actions>
<button mat-icon-button>
<mat-icon>alarm</mat-icon>
</button>
<button mat-icon-button>
<mat-icon>backup</mat-icon>
</button>
<button mat-icon-button>
<mat-icon>bug_report</mat-icon>
</button>
</adf-viewer-toolbar-actions>
<!--
<adf-viewer-extension [supportedExtensions]="['json']">
<ng-template let-urlFileContent="urlFileContent" let-extension="extension">
@@ -18,6 +18,7 @@
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { MatSnackBar } from '@angular/material';
@Component({
selector: 'app-file-view',
@@ -30,6 +31,7 @@ export class FileViewComponent implements OnInit {
constructor(
private router: Router,
private route: ActivatedRoute,
private snackBar: MatSnackBar,
private apiService: AlfrescoApiService) {}
ngOnInit() {
@@ -51,4 +53,7 @@ export class FileViewComponent implements OnInit {
});
}
uploadError(errorMessage: string) {
this.snackBar.open(errorMessage, '', { duration: 4000 });
}
}
@@ -8,19 +8,9 @@
</mat-select>
</mat-form-field>
</adf-toolbar-title>
<div fxFlex="0 1 auto" class="adf-document-action-buttons" fxShow fxHide.lt-sm="true">
<button mat-icon-button
(restore)="documentList.reload()"
[disabled]="!documentList.selection.length"
*ngIf="selectedSource === '-trashcan-'"
location="/files"
[adf-restore]="documentList.selection">
<mat-icon>restore</mat-icon>
</button>
</div>
</adf-toolbar>
<adf-document-list
#customSourcesDocumentList
[currentFolderId]="selectedSource"
locationFormat="/files"
selectionMode="multiple">
@@ -27,7 +27,7 @@ export class CustomSourcesComponent {
@Input()
selectedSource = '-recent-';
@ViewChild(DocumentListComponent)
@ViewChild('customSourcesDocumentList')
documentList: DocumentListComponent;
sources = [
@@ -1,15 +1,44 @@
<div class="container">
<mat-accordion class="adf-container-recent">
<mat-expansion-panel hideToggle="true">
<mat-expansion-panel-header >
<mat-panel-title>
{{ 'DOCUMENT_LIST.RECENT.TITLE' | translate }}<mat-icon>history</mat-icon>
</mat-panel-title>
</mat-expansion-panel-header>
<adf-document-list
[currentFolderId]="'-recent-'"
locationFormat="/files"
[display]="'gallery'"
[showHeader]="false"
[maxItems]="5"
(preview)="showFile($event)"
selectionMode="null">
<empty-folder-content>
<ng-template>
<div class="empty-list__block">
<mat-icon>history</mat-icon>
<p class="empty-list__title">{{ 'DOCUMENT_LIST.RECENT.EMPTY_STATE.TITLE' | translate}}</p>
</div>
</ng-template>
</empty-folder-content>
</adf-document-list>
</mat-expansion-panel>
</mat-accordion>
<div class="adf-site-container-style" id="site-container">
<adf-sites-dropdown (change)="getSiteContent($event)" [hideMyFiles]="false">
<adf-sites-dropdown (change)="onSiteChange($event)" [hideMyFiles]="false" [relations]="'members'">
</adf-sites-dropdown>
</div>
<div class="document-list-container" fxLayout="row" fxLayoutAlign="start stretch" fxLayoutGap="16px">
<adf-upload-drag-area fxFlex="1 1 auto"
[disabled]="disableDragArea"
[parentId]="getDocumentListCurrentFolderId()"
[versioning]="versioning"
[adf-node-permission]="'create'"
[adf-nodes]="disableDragArea ? getCurrentDocumentListNode() : []">
[disabled]="disableDragArea"
[parentId]="getDocumentListCurrentFolderId()"
[versioning]="versioning"
[adf-node-permission]="'create'"
[adf-nodes]="disableDragArea ? getCurrentDocumentListNode() : []">
<div *ngIf="errorMessage" class="error-message">
<button (click)="resetError()" mat-icon-button>
<mat-icon>highlight_off</mat-icon>
@@ -34,27 +63,39 @@
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider>
<div fxFlex="0 0 auto" class="adf-document-action-buttons" fxShow fxHide.lt-sm="true">
<button
mat-icon-button
title="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}"
(click)="toogleGalleryView()">
<mat-icon *ngIf="displayMode === 'list'" >view_comfy</mat-icon>
<mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
</button>
<button
mat-icon-button
[disabled]="!canCreateContent(documentList.folderNode)"
title="{{ 'DOCUMENT_LIST.TOOLBAR.NEW_FOLDER' | translate }}"
(error)="openSnackMessage($event)"
[adf-create-folder]="getDocumentListCurrentFolderId()">
<mat-icon>create_new_folder</mat-icon>
</button>
<button mat-icon-button
[disabled]="!canEditFolder(documentList.selection)"
title="{{ 'DOCUMENT_LIST.TOOLBAR.EDIT_FOLDER' | translate }}"
(error)="openSnackMessage($event)"
[adf-edit-folder]="documentList.selection[0]?.entry">
<mat-icon>create</mat-icon>
</button>
<button mat-icon-button
[disabled]="!hasSelection(documentList.selection)"
title="Download"
(click)="downloadNodes(documentList.selection)">
title="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}"
[adfNodeDownload]="documentList.selection">
<mat-icon>get_app</mat-icon>
</button>
<button mat-icon-button
adf-node-permission="delete"
[adf-nodes]="documentList.selection"
(delete)="documentList.reload()"
title="{{ 'DOCUMENT_LIST.TOOLBAR.DELETE' | translate }}"
(delete)="onDeleteActionSuccess($event)"
[adf-delete]="documentList.selection">
<mat-icon>delete</mat-icon>
</button>
@@ -66,6 +107,14 @@
{{ favorite.hasFavorites() ? 'star' :'star_border' }}
</mat-icon>
</button>
<button mat-icon-button
[disabled]="!documentList.selection.length"
[baseShareUrl]="baseShareUrl"
[adf-share]="documentList.selection[0]">
<mat-icon>
share
</mat-icon>
</button>
</div>
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker">
@@ -79,7 +128,7 @@
<button mat-menu-item (click)="toolbarColor = 'warn'">Warn</button>
</mat-menu>
<button mat-icon-button (click)="showVersions = !showVersions">
<button mat-icon-button (click)="showVersions = !showVersions" class="adf-show-versions-button">
<mat-icon *ngIf="!showVersions">chevron_left</mat-icon>
<mat-icon *ngIf="showVersions">chevron_right</mat-icon>
</button>
@@ -91,35 +140,44 @@
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item
(click)="toogleGalleryView()">
<mat-icon *ngIf="displayMode === 'list'" >view_comfy</mat-icon>
<mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}</span>
</button>
<button mat-menu-item
(error)="openSnackMessage($event)"
[adf-create-folder]="getDocumentListCurrentFolderId()">
<mat-icon>create_new_folder</mat-icon>
<span>New folder</span>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.NEW_FOLDER' | translate }}</span>
</button>
<button mat-menu-item
[disabled]="!canEditFolder(documentList.selection)"
(error)="openSnackMessage($event)"
[adf-edit-folder]="documentList.selection[0]?.entry">
<mat-icon>create</mat-icon>
<span>Edit folder</span>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.EDIT_FOLDER' | translate }}</span>
</button>
<button mat-menu-item
[disabled]="!hasSelection(documentList.selection)"
title="Download"
(click)="downloadNodes(documentList.selection)">
<mat-icon>get_app</mat-icon>
<span>Download</span>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}</span>
</button>
<button mat-menu-item
adf-node-permission="delete"
[adf-nodes]="documentList.selection">
[adf-nodes]="documentList.selection"
(delete)="onDeleteActionSuccess($event)"
[adf-delete]="documentList.selection">
<mat-icon>delete</mat-icon>
<span>Delete</span>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.DELETE' | translate }}</span>
</button>
</mat-menu>
</adf-toolbar>
<adf-document-list
#documentList
[enableInfiniteScrolling]="infiniteScrolling"
[permissionsStyle]="permissionsStyle"
[currentFolderId]="currentFolderId"
[contextMenuActions]="true"
@@ -127,7 +185,9 @@
[allowDropFiles]="true"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
[display]="displayMode"
[node]="nodeResult"
[includeFields]="includeFields"
(error)="onNavigationError($event)"
(success)="resetError()"
(ready)="emitReadyEvent($event)"
@@ -165,7 +225,7 @@
-->
<data-column
key="content.sizeInBytes"
title="Size"
title="{{'DOCUMENT_LIST.COLUMNS.SIZE' | translate}}"
type="fileSize">
</data-column>
<!-- Notes: has performance overhead due to multiple files/folders causing separate HTTP calls to get tags -->
@@ -179,6 +239,17 @@
</ng-template>
</data-column>
-->
<data-column
class="desktop-only"
title="{{'DOCUMENT_LIST.COLUMNS.IS_LOCKED' | translate}}"
key="id">
<ng-template let-entry="$implicit">
<button mat-icon-button [adf-node-lock]="entry.row.node.entry">
<mat-icon *ngIf="entry.row.getValue('isLocked')">lock</mat-icon>
<mat-icon *ngIf="!entry.row.getValue('isLocked')">lock_open</mat-icon>
</button>
</ng-template>
</data-column>
<data-column
title="{{'DOCUMENT_LIST.COLUMNS.CREATED_BY' | translate}}"
key="createdByUser.displayName"
@@ -195,87 +266,71 @@
</data-columns>
<content-actions>
<!-- folder actions -->
<!-- common actions -->
<content-action
icon="content_copy"
target="folder"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.COPY' | translate}}"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="copy">
</content-action>
<content-action
icon="redo"
target="folder"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.MOVE' | translate}}"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="move">
</content-action>
<content-action
icon="delete"
target="folder"
permission="delete"
[disableWithNoPermission]="true"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.DELETE' | translate}}"
(permissionEvent)="handlePermissionError($event)"
(success)="onDeleteActionSuccess($event)"
handler="delete">
</content-action>
<!-- document actions -->
<content-action
icon="content_copy"
target="document"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.COPY' | translate}}"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="copy">
</content-action>
<content-action
icon="redo"
target="document"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.MOVE' | translate}}"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="move">
</content-action>
<content-action
icon="storage"
target="document"
title="Manage versions..."
(execute)="onManageVersions($event)">
</content-action>
<content-action
icon="file_download"
target="document"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.DOWNLOAD' | translate}}"
icon="get_app"
title="DOCUMENT_LIST.ACTIONS.DOWNLOAD"
handler="download">
</content-action>
<content-action
icon="content_copy"
title="DOCUMENT_LIST.ACTIONS.FOLDER.COPY"
permission="copy"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="copy">
</content-action>
<content-action
icon="redo"
title="DOCUMENT_LIST.ACTIONS.FOLDER.MOVE"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="move">
</content-action>
<content-action
icon="delete"
target="document"
permission="delete"
[disableWithNoPermission]="true"
title="DOCUMENT_LIST.ACTIONS.FOLDER.DELETE"
(permissionEvent)="handlePermissionError($event)"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.DELETE' | translate}}"
(success)="onDeleteActionSuccess($event)"
handler="delete">
</content-action>
<content-action
icon="info"
title="DOCUMENT_LIST.ACTIONS.METADATA"
(execute)="onManageMetadata($event)">
</content-action>
<!-- document actions -->
<content-action
icon="storage"
target="document"
title="DOCUMENT_LIST.ACTIONS.VERSIONS"
(execute)="onManageVersions($event)">
</content-action>
<content-action
*ngIf="authenticationService.isBpmLoggedIn()"
icon="play_arrow"
target="document"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.PROCESS_ACTION' | translate}}"
title="DOCUMENT_LIST.ACTIONS.DOCUMENT.PROCESS_ACTION"
(execute)="startProcesAction($event)">
</content-action>
<content-action
icon="settings_input_component"
title="{{'DOCUMENT_LIST.ACTIONS.PERMISSION' | translate}}"
permission="copy"
(error)="onContentActionError($event)"
(execute)="onPermissionRequested($event)">
</content-action>
<content-action
icon="lock"
permission="lock"
handler="lock"
title="Lock">
</content-action>
</content-actions>
</adf-document-list>
<adf-pagination
@@ -298,24 +353,27 @@
</adf-upload-drag-area>
<adf-info-drawer-layout *ngIf="showVersions" class="adf-manage-versions-sidebar" fxFlex="0 0 auto">
<div info-drawer-content>
<ng-container *ngIf="hasOneFileSelected();else choose_document_template">
<ng-container *ngIf="userHasPermissionToManageVersions(); else no_permission_to_versions">
<adf-version-manager
[node]="documentList.selection[0].entry">
[node]="documentList.selection[0].entry"
[showComments]="showVersionComments"
[allowDownload]="allowVersionDownload">
</adf-version-manager>
</ng-container>
</ng-container>
<ng-template #choose_document_template>
<div class="adf-manage-versions-empty">
<mat-icon class="adf-manage-versions-empty-icon">face</mat-icon>
{{'VERSION.CHOOSE_FILE' | translate}}
{{'VERSION.CHOOSE_FILE' | translate}}
</div>
</ng-template>
<ng-template #no_permission_to_versions>
<div class="adf-manage-versions-no-permission">
<mat-icon class="adf-manage-versions-no-permission-icon">warning</mat-icon>
{{'VERSION.NO_PERMISSION' | translate}}
{{'VERSION.NO_PERMISSION' | translate}}
</div>
</ng-template>
</div>
@@ -323,9 +381,9 @@
</div>
</div>
<context-menu-holder></context-menu-holder>
<adf-context-menu-holder></adf-context-menu-holder>
<div *ngIf="processId" >
<div *ngIf="processId">
<adf-start-process
[values]="formValues"
[appId]="processId">
@@ -371,35 +429,47 @@
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="maxSizeShow">{{'DOCUMENT_LIST.MAX_SIZE' |
translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="versioning">{{'DOCUMENT_LIST.ENABLE_VERSIONING' |
<mat-slide-toggle [color]="'primary'" [(ngModel)]="maxSizeShow">{{'DOCUMENT_LIST.MAX_SIZE' |
translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="infiniteScrolling">
<mat-slide-toggle [color]="'primary'" [(ngModel)]="versioning">
{{'DOCUMENT_LIST.ENABLE_VERSIONING' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="infiniteScrolling">
{{'DOCUMENT_LIST.ENABLE_INFINITE_SCROLL' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="showVersionComments">
{{'APP.ADF_VERSION_MANAGER.SHOW_COMMENTS' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="allowVersionDownload">
{{'APP.ADF_VERSION_MANAGER.ALLOW_DOWNLOAD' | translate}}
</mat-slide-toggle>
</section>
<h5>Upload</h5>
<section *ngIf="acceptedFilesTypeShow">
<mat-form-field floatPlaceholder="float">
<input matInput
placeholder="Extension accepted"
[(ngModel)]="acceptedFilesType"
data-automation-id="accepted-files-type">
<input matInput
placeholder="Extension accepted"
[(ngModel)]="acceptedFilesType"
data-automation-id="accepted-files-type">
</mat-form-field>
</section>
<section *ngIf="maxSizeShow">
<mat-form-field>
<input matInput type="number" placeholder="Max file size" [(ngModel)]="maxFilesSize"
<input matInput type="number" placeholder="Max file size" [(ngModel)]="maxFilesSize"
data-automation-id="max-files-size">
</mat-form-field>
</section>
@@ -413,7 +483,7 @@
[multipleFiles]="multipleFileUpload"
[uploadFolders]="folderUpload"
[maxFilesSize]="maxSizeShow ? maxFilesSize : null"
(error)="handleUploadError($event)"
(error)="openSnackMessage($event)"
[versioning]="versioning"
[adf-node-permission]="'create'"
[adf-nodes]="enableUpload ? getCurrentDocumentListNode() : []"
@@ -431,7 +501,7 @@
[multipleFiles]="multipleFileUpload"
[uploadFolders]="folderUpload"
[versioning]="versioning"
(error)="handleUploadError($event)"
(error)="openSnackMessage($event)"
[adf-node-permission]="'create'"
[adf-nodes]="enableUpload ? getCurrentDocumentListNode() : []"
(permissionEvent)="handlePermissionError($event)">
@@ -458,4 +528,4 @@
</div>
</div>
<file-uploading-dialog #fileDialog></file-uploading-dialog>
<adf-file-uploading-dialog #fileDialog (error)="openSnackMessage($event)" ></adf-file-uploading-dialog>
@@ -1,134 +1,182 @@
$minimumDocumentListWidth: 425px;
@mixin adf-file-component-theme($theme) {
$minimumDocumentListWidth: 900px;
$foreground: map-get($theme, foreground);
.container {
margin: 10px;
}
@media only screen and (max-width: 640px) {
.container {
margin: 0;
}
}
.error-message {
text-align: left;
}
.error-message--text {
color: #d50000;
}
.adf-not-overlay-viewer {
height:900px;
}
adf-document-list ::ng-deep adf-datatable tr.document-list__create {
background: green !important;
}
adf-document-list ::ng-deep adf-datatable tr.document-list__disable {
background: red !important;
}
adf-document-list ::ng-deep adf-datatable > table > tbody > tr.is-selected > td.adf-data-table-cell.adf-data-table-cell--image.image-table-cell > div > div > mat-icon > svg {
fill: #00bcd4;
}
.adf-site-container-style {
margin-top: 10px;
margin-bottom: 10px;
width: 100%;
min-width: 200px;
}
.adf-content-service-settings {
padding: 16px;
}
.adf-files-toolbar {
.adf-toolbar-title {
display: flex;
width: 100%;
.adf-breadcrumb {
width: 0;
}
}
}
.adf-manage-versions-sidebar {
width: 300px;
color: rgba(0, 0, 0, 0.87);
.adf-manage-versions-empty,
.adf-manage-versions-no-permission {
margin: 24px;
color: grey;
text-align: justify;
&-icon {
display: block;
font-size: 48px;
margin: 0 auto 32px auto;
}
margin: 10px !important;
}
& ::ng-deep .adf-info-drawer-layout-header {
display: none;
}
& ::ng-deep .adf-info-drawer-layout-content {
padding: 0;
.adf-version-upload,
.adf-new-version-file-upload {
width: 100%;
& .mat-raised-button {
width: 100%;
}
@media screen and ($mat-xsmall) {
.container {
margin: 0;
}
.adf-new-version-uploader-container {
padding: 8px 24px 16px 24px;
}
}
}
.adf-no-result__empty_doc_lib {
width: 565px;
height: 161px;
object-fit: contain;
margin-top: 17px;
}
.adf-empty_template {
text-align: center;
margin-top: 20px;
margin-bottom: 20px;
}
.adf-no-result-message{
height: 32px;
opacity: 0.26;
font-size: 24px;
line-height: 1.33;
letter-spacing: -1px;
}
@media (max-width: $minimumDocumentListWidth) {
adf-document-list ::ng-deep adf-datatable {
& ::ng-deep .adf-data-table-cell--fileSize {
.adf-show-versions-button.mat-icon-button {
display: none;
}
}
.adf-site-container-style {
width: 100%;
display: block;
.error-message {
text-align: left;
}
& ::ng-deep .adf-site-dropdown-list-element {
.error-message--text {
color: #d50000;
}
.adf-not-overlay-viewer {
height: 900px;
}
adf-document-list ::ng-deep adf-datatable tr.document-list__create {
background: green !important;
}
adf-document-list ::ng-deep adf-datatable tr.document-list__disable {
background: red !important;
}
adf-document-list ::ng-deep .adf-datatable-selected > svg {
fill: #00bcd4 !important;
}
.adf-site-container-style {
margin-top: 10px;
margin-bottom: 10px;
width: 100%;
min-width: 200px;
}
.adf-content-service-settings {
padding: 16px;
}
.adf-files-toolbar {
.adf-toolbar-title {
display: flex;
width: 100%;
.adf-breadcrumb {
width: 0;
}
}
}
.adf-manage-versions-sidebar {
width: 300px !important;
color: rgba(0, 0, 0, 0.87);
.adf-manage-versions-empty,
.adf-manage-versions-no-permission {
margin: 44px;
color: mat-color($foreground, text, 0.54);
text-align: center;
&-icon {
display: block;
font-size: 48px;
margin: 0 auto 32px auto;
}
}
& ::ng-deep .adf-info-drawer-layout-header {
display: none;
}
& ::ng-deep .adf-info-drawer-layout-content {
padding: 0;
.adf-version-upload,
.adf-new-version-file-upload {
width: 100%;
& .mat-raised-button {
width: 100%;
}
}
.adf-new-version-uploader-container {
padding: 8px 24px 16px 24px;
}
}
}
.adf-no-result__empty_doc_lib {
width: 565px;
height: 161px;
object-fit: contain;
margin-top: 17px;
}
.adf-empty_template {
text-align: center;
margin-top: 20px;
margin-bottom: 20px;
}
.adf-no-result-message {
height: 32px;
opacity: 0.26;
font-size: 24px;
line-height: 1.33;
letter-spacing: -1px;
}
.adf-container-recent {
mat-icon {
margin-left: 20px;
}
.empty-list__block {
height: 100%;
padding: 0;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
}
}
@media (max-device-width: $minimumDocumentListWidth) {
adf-document-list .adf-data-table {
.adf-data-table-cell,
.adf-datatable-table-cell-header {
display: none;
}
.adf-data-table-cell:first-child,
.adf-datatable-table-cell-header:first-child,
.adf-data-table-cell:nth-child(2),
.adf-datatable-table-cell-header:nth-child(2) {
display: table-cell;
}
}
.adf-site-container-style {
width: 100%;
display: block;
& ::ng-deep .adf-site-dropdown-list-element {
width: 100%;
}
}
adf-file-uploading-dialog ::ng-deep .upload-dialog {
width: 80%;
& ::ng-deep adf-file-uploading-list ::ng-deep adf-file-uploading-list-row .adf-file-uploading-row__group {
min-width: 0;
}
}
}
@media (max-device-width: 1024px) {
adf-document-list .adf-data-table {
.adf-data-table-cell:nth-child(4),
.adf-datatable-table-cell-header:nth-child(4) {
display: none;
}
}
}
}
@@ -16,25 +16,29 @@
*/
import {
Component, Input, OnInit, OnChanges, OnDestroy, ChangeDetectorRef,
EventEmitter, Optional, ViewChild, SimpleChanges, Output
Component, Input, OnInit, OnChanges, OnDestroy, Optional,
EventEmitter, ViewChild, SimpleChanges, Output
} from '@angular/core';
import { Location } from '@angular/common';
import { MatDialog } from '@angular/material';
import { ActivatedRoute, Params, Router } from '@angular/router';
import { MinimalNodeEntity, NodePaging, Pagination, MinimalNodeEntryEntity, SiteEntry } from 'alfresco-js-api';
import {
AlfrescoApiService, AuthenticationService, ContentService, TranslationService,
AuthenticationService, AppConfigService, ContentService, TranslationService,
FileUploadEvent, FolderCreatedEvent, LogService, NotificationService,
UploadService, DataColumn, DataRow, UserPreferencesService,
PaginationComponent, FormValues
PaginationComponent, FormValues, DisplayMode, UserPreferenceValues
} from '@alfresco/adf-core';
import { DocumentListComponent, PermissionStyleModel, DownloadZipDialogComponent } from '@alfresco/adf-content-services';
import { DocumentListComponent, PermissionStyleModel } from '@alfresco/adf-content-services';
import { SelectAppsDialogComponent } from '@alfresco/adf-process-services';
import { VersionManagerDialogAdapterComponent } from './version-manager-dialog-adapter.component';
import { Subscription } from 'rxjs/Rx';
import { MetadataDialogAdapterComponent } from './metadata-dialog-adapter.component';
import { Subscription } from 'rxjs/Subscription';
import { PreviewService } from '../../services/preview.service';
const DEFAULT_FOLDER_TO_SHOW = '-my-';
@@ -49,6 +53,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
fileNodeId: any;
showViewer = false;
showVersions = false;
displayMode = DisplayMode.List;
includeFields = ['isLocked', 'aspectNames'];
baseShareUrl = this.appConfig.get<string>('ecmHost') + '/preview/s/';
toolbarColor = 'default';
@@ -58,8 +66,8 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
{ value: 'multiple', viewValue: 'Multiple' }
];
// The identifier of a node. You can also use one of these well-known aliases: -my- | -shared- | -root-
@Input()
// The identifier of a node. You can also use one of these well-known aliases: -my- | -shared- | -root-
currentFolderId: string = DEFAULT_FOLDER_TO_SHOW;
formValues: FormValues = {};
@@ -84,9 +92,15 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Input()
maxSizeShow = false;
@Input()
showVersionComments = true;
@Input()
versioning = false;
@Input()
allowVersionDownload = true;
@Input()
acceptedFilesType = '.jpg,.pdf,.js';
@@ -126,45 +140,46 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Output()
deleteElementSuccess: EventEmitter<any> = new EventEmitter();
@ViewChild(DocumentListComponent)
@ViewChild('documentList')
documentList: DocumentListComponent;
@ViewChild(PaginationComponent)
@ViewChild('standardPagination')
standardPagination: PaginationComponent;
permissionsStyle: PermissionStyleModel[] = [];
infiniteScrolling: boolean;
supportedPages: number[];
currentSiteid = '';
private onCreateFolder: Subscription;
private onEditFolder: Subscription;
constructor(private changeDetector: ChangeDetectorRef,
private apiService: AlfrescoApiService,
private notificationService: NotificationService,
constructor(private notificationService: NotificationService,
private uploadService: UploadService,
private contentService: ContentService,
private dialog: MatDialog,
private location: Location,
private translateService: TranslationService,
private router: Router,
private logService: LogService,
private preference: UserPreferencesService,
private appConfig: AppConfigService,
private preview: PreviewService,
@Optional() private route: ActivatedRoute,
public authenticationService: AuthenticationService) {
this.preference.select(UserPreferenceValues.SupportedPageSizes)
.subscribe((pages) => {
this.supportedPages = pages;
});
}
showFile(event) {
const entry = event.value.entry;
if (entry && entry.isFile) {
this.router.navigate(['/files', entry.id, 'view']);
this.preview.showResource(entry.id);
}
}
onFolderChange($event) {
this.currentFolderId = $event.value.id;
this.router.navigate(['/files', $event.value.id]);
}
toggleFolder() {
this.multipleFileUpload = false;
this.folderUpload = !this.folderUpload;
@@ -178,11 +193,15 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
skipCount: 0
};
}
if (this.route) {
this.route.params.forEach((params: Params) => {
if (params['id']) {
if (params['id'] && this.currentFolderId !== params['id']) {
this.currentFolderId = params['id'];
this.changeDetector.detectChanges();
}
if (params['mode']) {
this.displayMode = DisplayMode.Gallery;
}
});
}
@@ -193,7 +212,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
this.contentService.folderCreated.subscribe(value => this.onFolderCreated(value));
this.onCreateFolder = this.contentService.folderCreate.subscribe(value => this.onFolderAction(value));
this.onEditFolder = this.contentService.folderEdit.subscribe(value => this.onFolderAction(value));
this.supportedPages = this.preference.getDifferentPageSizes();
this.supportedPages = this.supportedPages ? this.supportedPages : this.preference.getDefaultPageSizes();
// this.permissionsStyle.push(new PermissionStyleModel('document-list__create', PermissionsEnum.CREATE));
// this.permissionsStyle.push(new PermissionStyleModel('document-list__disable', PermissionsEnum.NOT_CREATE, false, true));
@@ -262,33 +281,29 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
}
onFolderChange($event) {
this.router.navigate(['/files', $event.value.id]);
}
handlePermissionError(event: any) {
this.translateService.get('VERSION.NO_PERMISSION_EVENT', {
this.translateService.get('PERMISSON.LACKOF', {
permission: event.permission,
action: event.action,
type: event.type
}).subscribe((message) => {
this.notificationService.openSnackMessage(
message,
4000
);
})
this.openSnackMessage(message);
});
}
handleUploadError(event: any) {
openSnackMessage(event: any) {
this.notificationService.openSnackMessage(
event,
4000
);
}
emitReadyEvent(event: any) {
if (this.pageIsEmpty(event)) {
this.standardPagination.goPrevious();
} else {
this.documentListReady.emit(event);
this.pagination = event.list.pagination;
}
emitReadyEvent(event: NodePaging) {
this.documentListReady.emit(event);
}
pageIsEmpty(node: NodePaging) {
@@ -310,36 +325,67 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
translatedErrorMessage = this.translateService.get('OPERATION.ERROR.UNKNOWN');
}
this.notificationService.openSnackMessage(translatedErrorMessage.value, 4000);
this.openSnackMessage(translatedErrorMessage.value);
}
onContentActionSuccess(message) {
const translatedMessage: any = this.translateService.get(message);
this.notificationService.openSnackMessage(translatedMessage.value, 4000);
this.openSnackMessage(translatedMessage.value);
this.reloadForInfiniteScrolling();
}
onDeleteActionSuccess(message) {
this.uploadService.fileDeleted.next(message);
this.deleteElementSuccess.emit();
this.reloadForInfiniteScrolling();
this.openSnackMessage(message);
}
onPermissionRequested(node) {
this.router.navigate(['/permissions', node.value.entry.id]);
}
private reloadForInfiniteScrolling() {
if (this.infiniteScrolling) {
this.documentList.skipCount = 0;
}
this.documentList.reload();
}
onManageVersions(event) {
const contentEntry = event.value.entry;
const showComments = this.showVersionComments;
const allowDownload = this.allowVersionDownload;
if (this.contentService.hasPermission(contentEntry, 'update')) {
this.dialog.open(VersionManagerDialogAdapterComponent, {
data: { contentEntry },
data: { contentEntry: contentEntry, showComments: showComments, allowDownload: allowDownload },
panelClass: 'adf-version-manager-dialog',
width: '630px'
});
} else {
const translatedErrorMessage: any = this.translateService.get('OPERATION.ERROR.PERMISSION');
this.notificationService.openSnackMessage(translatedErrorMessage.value, 4000);
this.openSnackMessage(translatedErrorMessage.value);
}
}
getSiteContent(site: SiteEntry) {
this.currentFolderId = site && site.entry.guid ? site.entry.guid : DEFAULT_FOLDER_TO_SHOW;
onManageMetadata(event) {
const contentEntry = event.value.entry;
if (this.contentService.hasPermission(contentEntry, 'update')) {
this.dialog.open(MetadataDialogAdapterComponent, {
data: { contentEntry },
panelClass: 'adf-metadata-manager-dialog',
width: '630px'
});
} else {
const translatedErrorMessage: any = this.translateService.get('OPERATION.ERROR.PERMISSION');
this.openSnackMessage(translatedErrorMessage.value);
}
}
onSiteChange(site: SiteEntry) {
this.currentFolderId = site.entry.guid;
}
getDocumentListCurrentFolderId() {
@@ -361,73 +407,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
return this.contentService.hasPermission(selection[0].entry, 'update');
}
downloadNodes(selection: Array<MinimalNodeEntity>) {
if (!selection || selection.length === 0) {
return;
}
if (selection.length === 1) {
this.downloadNode(selection[0]);
} else {
this.downloadZip(selection);
}
}
downloadNode(node: MinimalNodeEntity) {
if (node && node.entry) {
const entry = node.entry;
if (entry.isFile) {
this.downloadFile(node);
}
if (entry.isFolder) {
this.downloadZip([node]);
}
}
}
downloadFile(node: MinimalNodeEntity) {
if (node && node.entry) {
const contentApi = this.apiService.getInstance().content;
const url = contentApi.getContentUrl(node.entry.id, true);
const fileName = node.entry.name;
this.download(url, fileName);
}
}
downloadZip(selection: Array<MinimalNodeEntity>) {
if (selection && selection.length > 0) {
const nodeIds = selection.map(node => node.entry.id);
const dialogRef = this.dialog.open(DownloadZipDialogComponent, {
width: '600px',
data: {
nodeIds: nodeIds
}
});
dialogRef.afterClosed().subscribe(result => {
this.logService.log(result);
});
}
}
download(url: string, fileName: string) {
if (url && fileName) {
const link = document.createElement('a');
link.style.display = 'none';
link.download = fileName;
link.href = url;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
getNodeNameTooltip(row: DataRow, col: DataColumn): string {
if (row) {
return row.getValue('name');
@@ -487,4 +466,19 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
onPrevPage(event: Pagination): void {
this.turnedPreviousPage.emit(event);
}
toogleGalleryView(): void {
const url = this
.router
.createUrlTree(['/files', this.currentFolderId, 'display', this.displayMode])
.toString();
if (this.displayMode === DisplayMode.List) {
this.displayMode = DisplayMode.Gallery;
this.location.go(url);
} else {
this.displayMode = DisplayMode.List;
this.location.go(url);
}
}
}
@@ -0,0 +1,7 @@
<header mat-dialog-title>{{'METADATA.DIALOG.TITLE' | translate}}</header>
<section mat-dialog-content>
<adf-content-metadata-card [node]="contentEntry"></adf-content-metadata-card>
</section>
<footer mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
<button mat-button (click)="close()">{{'METADATA.DIALOG.CLOSE' | translate}}</button>
</footer>
@@ -0,0 +1,38 @@
/*!
* @license
* Copyright 2016 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, Inject, ViewEncapsulation } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
@Component({
templateUrl: './metadata-dialog-adapter.component.html',
encapsulation: ViewEncapsulation.None
})
export class MetadataDialogAdapterComponent {
public contentEntry: MinimalNodeEntryEntity;
constructor(@Inject(MAT_DIALOG_DATA) data: any,
private containingDialog?: MatDialogRef<MetadataDialogAdapterComponent>) {
this.contentEntry = data.contentEntry;
}
close() {
this.containingDialog.close();
}
}
@@ -1,6 +1,6 @@
<header mat-dialog-title>{{'VERSION.DIALOG.TITLE' | translate}}</header>
<section mat-dialog-content>
<adf-version-manager [node]="contentEntry"></adf-version-manager>
<adf-version-manager [node]="contentEntry" [allowDownload]="allowDownload" [showComments]="showComments" (uploadError)="uploadError($event)"></adf-version-manager>
</section>
<footer mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
<button mat-button (click)="close()">{{'VERSION.DIALOG.CLOSE' | translate}}</button>
@@ -18,6 +18,7 @@
import { Component, Inject, ViewEncapsulation } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { MatSnackBar } from '@angular/material';
@Component({
templateUrl: './version-manager-dialog-adapter.component.html',
@@ -27,9 +28,19 @@ export class VersionManagerDialogAdapterComponent {
public contentEntry: MinimalNodeEntryEntity;
showComments = true;
allowDownload = true;
constructor(@Inject(MAT_DIALOG_DATA) data: any,
private snackBar: MatSnackBar,
private containingDialog?: MatDialogRef<VersionManagerDialogAdapterComponent>) {
this.contentEntry = data.contentEntry;
this.showComments = data.hasOwnProperty('showComments') ? data.showComments : this.showComments;
this.allowDownload = data.hasOwnProperty('allowDownload') ? data.allowDownload : this.allowDownload;
}
uploadError(errorMessage: string) {
this.snackBar.open(errorMessage, '', { duration: 4000 });
}
close() {
+269 -7
View File
@@ -2,14 +2,14 @@
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* 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,
* 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.
@@ -21,11 +21,6 @@ export class DemoForm {
return {
'id': 1001,
'name': 'ISSUE_FORM',
'processDefinitionId': 'ISSUE_APP:1:2504',
'processDefinitionName': 'ISSUE_APP',
'processDefinitionKey': 'ISSUE_APP',
'taskId': '2510',
'taskDefinitionKey': 'sid-F67A2996-1684-4774-855A-4591490081FD',
'tabs': [],
'fields': [
{
@@ -1455,4 +1450,271 @@ export class DemoForm {
};
}
static getSimpleFormDefinition(): any {
return {
'id': 1001,
'name': 'SIMPLE_FORM_EXAMPLE',
'description': '',
'version': 1,
'lastUpdatedBy': 2,
'lastUpdatedByFullName': 'Test01 01Test',
'lastUpdated': '2018-02-26T17:44:04.543+0000',
'stencilSetId': 0,
'referenceId': null,
'taskId': '9999',
'formDefinition': {
'tabs': [],
'fields': [
{
'fieldType': 'ContainerRepresentation',
'id': '1519666726245',
'name': 'Label',
'type': 'container',
'value': null,
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': null,
'hasEmptyValue': null,
'options': null,
'restUrl': null,
'restResponsePath': null,
'restIdProperty': null,
'restLabelProperty': null,
'tab': null,
'className': null,
'dateDisplayFormat': null,
'layout': null,
'sizeX': 2,
'sizeY': 1,
'row': -1,
'col': -1,
'visibilityCondition': null,
'numberOfColumns': 2,
'fields': {
'1': [
{
'fieldType': 'RestFieldRepresentation',
'id': 'typeahedField',
'name': 'TypeahedField',
'type': 'typeahead',
'value': null,
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': null,
'hasEmptyValue': null,
'options': null,
'restUrl': 'https://jsonplaceholder.typicode.com/users',
'restResponsePath': null,
'restIdProperty': 'id',
'restLabelProperty': 'name',
'tab': null,
'className': null,
'params': {
'existingColspan': 1,
'maxColspan': 2
},
'dateDisplayFormat': null,
'layout': {
'row': -1,
'column': -1,
'colspan': 1
},
'sizeX': 1,
'sizeY': 1,
'row': -1,
'col': -1,
'visibilityCondition': null,
'endpoint': null,
'requestHeaders': null
}
],
'2': [
{
'fieldType': 'RestFieldRepresentation',
'id': 'radioButton',
'name': 'RadioButtons',
'type': 'radio-buttons',
'value': null,
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': null,
'hasEmptyValue': null,
'options': [
{
'id': 'option_1',
'name': 'Option 1'
},
{
'id': 'option_2',
'name': 'Option 2'
},
{
'id': 'option_3',
'name': 'Option 3'
}
],
'restUrl': null,
'restResponsePath': null,
'restIdProperty': null,
'restLabelProperty': null,
'tab': null,
'className': null,
'params': {
'existingColspan': 1,
'maxColspan': 1
},
'dateDisplayFormat': null,
'layout': {
'row': -1,
'column': -1,
'colspan': 1
},
'sizeX': 1,
'sizeY': 2,
'row': -1,
'col': -1,
'visibilityCondition': null,
'endpoint': null,
'requestHeaders': null
}
]
}
},
{
'fieldType': 'ContainerRepresentation',
'id': '1519666735185',
'name': 'Label',
'type': 'container',
'value': null,
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': null,
'hasEmptyValue': null,
'options': null,
'restUrl': null,
'restResponsePath': null,
'restIdProperty': null,
'restLabelProperty': null,
'tab': null,
'className': null,
'dateDisplayFormat': null,
'layout': null,
'sizeX': 2,
'sizeY': 1,
'row': -1,
'col': -1,
'visibilityCondition': null,
'numberOfColumns': 2,
'fields': {
'1': [
{
'fieldType': 'RestFieldRepresentation',
'id': 'selectBox',
'name': 'SelectBox',
'type': 'dropdown',
'value': 'Choose one...',
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': 'manual',
'hasEmptyValue': true,
'options': [
{
'id': 'empty',
'name': 'Choose one...'
},
{
'id': 'option_1',
'name': '1'
},
{
'id': 'option_2',
'name': '2'
},
{
'id': 'option_3',
'name': '3'
}
],
'restUrl': null,
'restResponsePath': null,
'restIdProperty': null,
'restLabelProperty': null,
'tab': null,
'className': null,
'params': {
'existingColspan': 1,
'maxColspan': 2
},
'dateDisplayFormat': null,
'layout': {
'row': -1,
'column': -1,
'colspan': 1
},
'sizeX': 1,
'sizeY': 1,
'row': -1,
'col': -1,
'visibilityCondition': null,
'endpoint': null,
'requestHeaders': null
}
],
'2': []
}
}
],
'outcomes': [],
'javascriptEvents': [],
'className': '',
'style': '',
'customFieldTemplates': {},
'metadata': {},
'variables': [],
'customFieldsValueInfo': {},
'gridsterForm': false
}
};
}
}
@@ -0,0 +1,54 @@
/*!
* @license
* Copyright 2016 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 { Observable } from 'rxjs/Observable';
import { Injectable } from '@angular/core';
import {
AppConfigService, AlfrescoApiService, EcmModelService, LogService, FormService, FormOutcomeEvent
} from '@alfresco/adf-core';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class FakeFormService extends FormService {
executeOutcome = new Subject<FormOutcomeEvent>();
constructor(appConfig: AppConfigService,
ecmModelService: EcmModelService,
apiService: AlfrescoApiService,
protected logService: LogService) {
super(ecmModelService, apiService, logService);
}
public getRestFieldValues(taskId: string, fieldId: string): Observable<any> {
if (fieldId === 'typeahedField') {
return Observable.of([
{ 'id': '1', 'name': 'Leanne Graham' },
{ 'id': '2', 'name': 'Ervin Howell' },
{ 'id': '3', 'name': 'Clementine Bauch' },
{ 'id': '4', 'name': 'Patricia Lebsack' },
{ 'id': '5', 'name': 'Chelsey Dietrich' },
{ 'id': '6', 'name': 'Mrs. Dennis Schulist' },
{ 'id': '7', 'name': 'Kurtis Weissnat' },
{ 'id': '8', 'name': 'Nicholas Runolfsdottir V' },
{ 'id': '9', 'name': 'Glenna Reichert' },
{ 'id': '10', 'name': 'Clementina DuBuque' }]);
} else {
return super.getRestFieldValues(taskId, fieldId);
}
}
}
@@ -1,7 +1,7 @@
<adf-form-list [forms]="formList" (row-dblclick)="onRowDblClick($event)">
</adf-form-list>
<div class="form-container" *ngIf="!isEmptyForm()">
<adf-form [form]="form" [data]="restoredData">
<adf-form #adfForm [form]="form" [data]="restoredData">
</adf-form>
</div>
<button mat-button (click)="store()" color="primary">{{'FORM-LIST.STORE' | translate }}</button>
@@ -25,7 +25,7 @@ import { FormComponent, FormModel, FormService, LogService } from '@alfresco/adf
})
export class FormListComponent {
@ViewChild(FormComponent)
@ViewChild('adfForm')
activitiForm: FormComponent;
formList: any [] = [];
@@ -0,0 +1,41 @@
<div class="form-container">
<mat-accordion>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
{{'FORM-LOADING.FORM_DATA' | translate}}
</mat-panel-title>
<mat-panel-description>
{{'FORM-LOADING.FORM_DATA_MESSAGE' | translate}}
</mat-panel-description>
</mat-expansion-panel-header>
<mat-list>
<mat-list-item>
<mat-form-field>
<input matInput
placeholder="{{'FORM-LOADING.TYPEAHEAD_PLACEHOLDER' | translate}}"
[(ngModel)]="typeaheadFieldValue">
</mat-form-field>
</mat-list-item>
<mat-list-item>
<mat-form-field>
<input matInput
placeholder="{{'FORM-LOADING.SELECT_PLACEHOLDER' | translate}}"
[(ngModel)]="selectFieldValue">
</mat-form-field>
</mat-list-item>
<mat-list-item>
<mat-form-field>
<input matInput
placeholder="{{'FORM-LOADING.RADIO_PLACEHOLDER' | translate}}"
[(ngModel)]="radioButtonFieldValue">
</mat-form-field>
</mat-list-item>
</mat-list>
<button mat-button color="primary" (click)="onLoadButtonClicked()">Load</button>
</mat-expansion-panel>
</mat-accordion>
<mat-divider></mat-divider>
<adf-form [showRefreshButton]="false" [form]="form" [data]="formattedData">
</adf-form>
</div>
@@ -0,0 +1,3 @@
.form-container {
padding: 10px;
}
@@ -0,0 +1,60 @@
/*!
* @license
* Copyright 2016 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, Inject, OnInit } from '@angular/core';
import { FormModel, FormService, FormOutcomeEvent } from '@alfresco/adf-core';
import { InMemoryFormService } from '../../services/in-memory-form.service';
import { DemoForm } from './demo-form';
import { FakeFormService } from './fake-form.service';
@Component({
selector: 'app-form-loading',
templateUrl: 'form-loading.component.html',
styleUrls: ['form-loading.component.scss'],
providers: [
{ provide: FormService, useClass: FakeFormService },
]
})
export class FormLoadingComponent implements OnInit {
form: FormModel;
typeaheadFieldValue = '';
selectFieldValue = '';
radioButtonFieldValue = '';
formattedData = {};
constructor(@Inject(FormService) private formService: InMemoryFormService) {
formService.executeOutcome.subscribe((formOutcomeEvent: FormOutcomeEvent) => {
formOutcomeEvent.preventDefault();
});
}
ngOnInit() {
this.formattedData = {};
const formDefinitionJSON: any = DemoForm.getSimpleFormDefinition();
this.form = this.formService.parseForm(formDefinitionJSON);
}
onLoadButtonClicked() {
this.formattedData = {
'typeahedField': this.typeaheadFieldValue,
'selectBox': this.selectFieldValue,
'radioButton': this.radioButtonFieldValue
};
}
}
@@ -1,4 +1,4 @@
<header class="adf-home-background adf-primary-background-color">
<header class="adf-home-background">
<div class="adf-home-section ad">
<div class="adf-home-headline">
<h1 class="mat-h1">ADF</h1>
@@ -1,3 +1,9 @@
:host {
display: flex;
justify-content: center;
align-items: center;
}
.adf-home-header-background {
overflow: hidden;
}
@@ -8,6 +14,7 @@
}
.adf-home-headline {
h1 {
font-size: 56px;
font-weight: 300;
@@ -0,0 +1,5 @@
{
"LAZY": {
"TEXT": "Text from lazy component resources"
}
}
@@ -0,0 +1,54 @@
import { Component } from '@angular/core';
import { ObjectDataTableAdapter, AuthenticationService } from '@alfresco/adf-core';
@Component({
selector: 'app-lazy-component',
template: `
<adf-datatable [data]="data"></adf-datatable>
<ul>
<li>Global i18n: {{ 'APP_LAYOUT.DATATABLE_LAZY' | translate }}</li>
<li>Local i18n (work in progress): {{ 'LAZY.TEXT' | translate }}</li>
<li>isLoggedIn: {{ isLoggedIn }}</li>
<li>ECM username: {{ username }}
</ul>
`
})
export class LazyLoadingComponent {
data: ObjectDataTableAdapter;
get isLoggedIn(): boolean {
return this.auth.isLoggedIn();
}
get username(): string {
return this.auth.getEcmUsername();
}
constructor(private auth: AuthenticationService) {
this.data = new ObjectDataTableAdapter(
// data
[
{id: 1, name: 'Name 1'},
{id: 2, name: 'Name 2'}
],
// schema
[
{
type: 'text',
key: 'id',
title: 'Id',
sortable: true
},
{
type: 'text',
key: 'name',
title: 'Name',
cssClass: 'full-width',
sortable: true
}
]
);
}
}
@@ -0,0 +1,19 @@
import { NgModule } from '@angular/core';
import { CoreModule, TranslationService } from '@alfresco/adf-core';
import { LazyLoadingRoutes } from './lazy-loading.routes';
import { LazyLoadingComponent } from './lazy-loading.component';
@NgModule({
imports: [
CoreModule.forChild(),
LazyLoadingRoutes
],
declarations: [
LazyLoadingComponent
]
})
export class LazyLoadingModule {
constructor(translation: TranslationService) {
}
}
@@ -0,0 +1,21 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LazyLoadingComponent } from './lazy-loading.component';
export const routes: Routes = [
{
path: '',
component: LazyLoadingComponent
}
];
@NgModule({
imports: [
RouterModule.forChild(routes)
],
exports: [
RouterModule
]
})
export class LazyLoadingRoutes {
}
@@ -0,0 +1,27 @@
.log-list-type {
float: left;
}
.log-list-text {
float: left;
}
.log-card {
min-width: 200px;
z-index: 1;
height: 20%;
width: 40%;
position: fixed;
top: 1em;
right: 1em;
opacity: 0.9;
overflow: scroll;
}
.log-ERROR {
color: red;
}
.log-WARN {
color: yellow;
}
@@ -0,0 +1,12 @@
<mat-card class="log-card" *ngIf="show">
<mat-card-header>
<mat-card-title><h2>Log Service</h2></mat-card-title>
</mat-card-header>
<mat-card-content class="log-container">
<div *ngIf="logsData">
<adf-datatable [data]="logsData"></adf-datatable>
</div>
</mat-card-content>
</mat-card>
@@ -0,0 +1,52 @@
/*!
* @license
* Copyright 2016 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, HostListener } from '@angular/core';
import { LogService, ObjectDataTableAdapter } from '@alfresco/adf-core';
@Component({
selector: 'app-log',
templateUrl: './log.component.html',
styleUrls: ['./log.component.css']
})
export class LogComponent {
logs: any[] = [];
show = false;
ctrlLKey = 12;
logsData: ObjectDataTableAdapter;
constructor(public logService: LogService) {
logService.onMessage.subscribe((message) => {
this.logs.push({ type: message.type, text: JSON.stringify(message.text) });
this.logsData = new ObjectDataTableAdapter(this.logs, [
{ type: 'text', key: 'type', title: 'Log level', sortable: true },
{ type: 'text', key: 'text', title: 'Message', sortable: false }
]);
});
}
@HostListener('document:keypress', ['$event'])
handleKeyboardEvent(event: KeyboardEvent) {
const key = event.keyCode;
if (key === this.ctrlLKey) {
this.show = !this.show;
}
}
}
@@ -1,40 +0,0 @@
.setting-button {
position: absolute;
right: 10px;
top: 10px;
z-index: 1;
background-color: rgb(68,138,255);
color: rgb(255,255,255);
}
.settings {
border-radius: 8px;
position: absolute;
background-color: papayawhip;
color: cadetblue;
left: 10px;
top: 10px;
z-index: 1;
}
.toggle {
width: 190px;
margin: 5px;
padding: 5px;
}
@media (min-width: 721px) {
.mobile-settings {
display: none;
}
}
@media (max-width: 720px) {
.settings {
display: none;
}
}
.settings ::ng-deep .mat-slide-toggle-thumb-container {
cursor: pointer;
}
@@ -41,7 +41,7 @@
<!--SETTING BUTTON-->
<a mat-fab class="setting-button" data-automation-id="settings" href="" routerLink="/settings">
<a mat-fab class="setting-button" data-automation-id="settings" href="" routerLink="/settings" color="accent">
<mat-icon>settings</mat-icon>
</a>
@@ -92,5 +92,7 @@
{{ 'LOGIN.LOGIN_FOOTER'| translate }}
</mat-slide-toggle>
</p>
<button type="button" mat-raised-button color="accent" class="mobile-setting-button" routerLink="/settings" data-automation-id="settings">{{ 'APP_LAYOUT.SETTINGS'| translate }}</button>
</div>
</adf-login>
@@ -0,0 +1,52 @@
@mixin adf-login-component-theme($theme) {
.setting-button.mat-fab.mat-accent {
position: absolute;
right: 10px;
top: 10px;
z-index: 1;
}
.settings {
border-radius: 8px;
position: absolute;
background-color: papayawhip;
color: cadetblue;
left: 10px;
top: 10px;
z-index: 1;
}
.toggle {
width: 190px;
margin: 5px;
padding: 5px;
}
.mobile-settings, .mobile-setting-button {
display: none;
}
@media screen and ($mat-small) {
.settings, .setting-button.mat-fab.mat-accent {
display: none;
}
.mobile-settings, .mobile-setting-button {
display: block;
}
.mobile-setting-button {
width: 100%;
}
.mobile-settings {
padding-bottom: 20px;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
}
.settings ::ng-deep .mat-slide-toggle-thumb-container {
cursor: pointer;
}
}
@@ -23,7 +23,7 @@ import { LogService, StorageService } from '@alfresco/adf-core';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
@@ -0,0 +1,12 @@
<div class="inherit_permission_button">
<button mat-raised-button
[color]="toggleStatus?'accent':'primary'"
adf-inherit-permission [nodeId]="nodeId"
(updated)="onUpdatedPermissions($event)">
{{ (toggleStatus?'DEMO_PERMISSION.INHERITED_PERMISSIONS_BUTTON':'DEMO_PERMISSION.INHERIT_PERMISSION_BUTTON') | translate}}</button>
</div>
<div>
<adf-permission-list #permissionList [nodeId]="nodeId">
</adf-permission-list>
</div>
@@ -0,0 +1,6 @@
.inherit_permission_button {
padding-top: 20px;
display: flex;
justify-content: space-evenly;
padding-bottom: 20px;
}
@@ -0,0 +1,59 @@
/*!
* @license
* Copyright 2016 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, Optional, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Params} from '@angular/router';
import { PermissionListComponent } from '@alfresco/adf-content-services';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { NodesApiService } from '@alfresco/adf-core';
@Component({
selector: 'app-permissions',
templateUrl: './demo-permissions.component.html',
styleUrls: ['./demo-permissions.component.scss']
})
export class DemoPermissionComponent implements OnInit {
@ViewChild('permissionList')
displayPermissionComponent: PermissionListComponent;
nodeId: string;
toggleStatus = false;
constructor(@Optional() private route: ActivatedRoute,
private nodeService: NodesApiService) {
}
ngOnInit() {
if (this.route) {
this.route.params.forEach((params: Params) => {
if (params['id']) {
this.nodeId = params['id'];
}
});
}
this.nodeService.getNode(this.nodeId, {include: ['permissions'] }).subscribe( (currentNode: MinimalNodeEntryEntity) => {
this.toggleStatus = currentNode.permissions.isInheritanceEnabled;
});
}
onUpdatedPermissions(node: MinimalNodeEntryEntity) {
this.toggleStatus = node.permissions.isInheritanceEnabled;
this.displayPermissionComponent.reload();
}
}
@@ -17,7 +17,7 @@
import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs/Rx';
import { Subscription } from 'rxjs/Subscription';
@Component({
selector: 'app-form-node-viewer',
@@ -17,7 +17,7 @@
import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs/Rx';
import { Subscription } from 'rxjs/Subscription';
@Component({
selector: 'app-form-viewer',
@@ -35,13 +35,4 @@
</adf-create-process-attachment>
</div>
</div>
<div *ngIf="fileShowed">
<adf-viewer
[(showViewer)]="fileShowed"
[blobFile]="content"
[displayName]="contentName"
[overlayMode]="true">
</adf-viewer>
</div>
</div>
@@ -19,32 +19,42 @@ import { Component, Input, OnChanges, OnInit, ViewChild } from '@angular/core';
import { ProcessInstance, ProcessService ,
ProcessAttachmentListComponent, ProcessUploadService } from '@alfresco/adf-process-services';
import { UploadService } from '@alfresco/adf-core';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { AppConfigService } from '@alfresco/adf-core';
import { PreviewService } from '../../services/preview.service';
export function processUploadServiceFactory(api: AlfrescoApiService, config: AppConfigService) {
return new ProcessUploadService(api, config);
}
@Component({
selector: 'app-process-attachments',
templateUrl: './process-attachments.component.html',
styleUrls: ['./process-attachments.component.css'],
providers: [
{ provide: UploadService, useClass: ProcessUploadService }
{
provide: UploadService,
useFactory: (processUploadServiceFactory),
deps: [AlfrescoApiService, AppConfigService]
}
]
})
export class ProcessAttachmentsComponent implements OnInit, OnChanges {
@ViewChild(ProcessAttachmentListComponent)
@ViewChild('processAttachList')
processAttachList: ProcessAttachmentListComponent;
@Input()
processInstanceId: string;
fileShowed = false;
content: Blob;
contentName: string;
processInstance: ProcessInstance;
constructor(private uploadService: UploadService, private processService: ProcessService) {
}
constructor(
private uploadService: UploadService,
private processService: ProcessService,
private preview: PreviewService
) {}
ngOnInit() {
this.uploadService.fileUploadComplete.subscribe(value => this.onFileUploadComplete(value.data));
@@ -64,9 +74,7 @@ export class ProcessAttachmentsComponent implements OnInit, OnChanges {
}
onAttachmentClick(content: any): void {
this.fileShowed = true;
this.content = content.contentBlob;
this.contentName = content.name;
this.preview.showBlob(content.name, content.contentBlob);
}
isCompletedProcess(): boolean {
@@ -1,4 +1,4 @@
<mat-tab-group [(selectedIndex)]="activeTab">
<mat-tab-group [(selectedIndex)]="activeTab" (selectedTabChange)="onTabChange($event)" data-automation-id="navigation-bar">
<mat-tab id="tasks-header" href="#tasks" label="{{'PS-TAB.TASKS-TAB' | translate}}">
<div class="page-content">
<div class="adf-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
@@ -33,7 +33,7 @@
[appId]="taskFilter?.appId"
[presetColumn]="presetColoum"
[page]="taskPage"
[size]="taskPagination.maxItems"
[size]="paginationPageSize"
[processDefinitionKey]="taskFilter?.filter?.processDefinitionKey"
[name]="taskFilter?.filter?.name"
[assignment]="taskFilter?.filter?.assignment"
@@ -45,7 +45,7 @@
(success)="onSuccessTaskList($event)"
(row-click)="onRowClick($event)"
(row-dblclick)="onTaskRowDblClick($event)"
#activititasklist>
#taskList>
<!-- Custom column definition demo -->
<!-- <data-columns>
@@ -56,12 +56,11 @@
</adf-tasklist>
<adf-pagination
(changePageNumber)="onChangePageNumber($event)"
*ngIf="taskList"
[target]="taskList"
(changePageSize)="onChangePageSize($event)"
(nextPage)="onNextPage($event)"
(prevPage)="onPrevPage($event)"
[pagination]="taskPagination"
[supportedPageSizes]="supportedPages">
[supportedPageSizes]="supportedPages"
#taskListPagination>
</adf-pagination>
</div>
<div class="adf-grid-item adf-tasks-details" *ngIf="!isStartTaskMode()" fxFlex.gt-md="1 1 auto">
@@ -75,7 +74,7 @@
(assignTask)="onAssignTask()"
(taskDeleted)="onTaskDeleted($event)">
</adf-task-details>
<hr>
<mat-divider></mat-divider>
<div *ngIf="currentTaskId">
{{'PS-TAB.TASK-AUDIT-LOG' | translate}}
<button
@@ -85,7 +84,7 @@
mat-icon-button (clicked)="onAuditClick($event)" (error)="onAuditError($event)">
<mat-icon>assignment_ind</mat-icon>
</button>
<hr>
<mat-divider></mat-divider>
</div>
<mat-card>
<mat-card-content>
@@ -122,6 +121,7 @@
<adf-accordion-group [heading]="'Processes'" [isSelected]="true" [isOpen]="true"
[headingIcon]="'assessment'">
<adf-process-instance-filters
#activitiprocessfilter
[filterParam]="{index: 0}"
[appId]="appId"
(filterClick)="onProcessFilterClick($event)"
@@ -133,11 +133,14 @@
<div class="adf-grid-item adf-processes-list adf-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}"
*ngIf="processFilter && !isStartProcessMode()">
<adf-process-instance-list
#processList
*ngIf="processFilter?.filter" [appId]="processFilter?.appId"
[processDefinitionKey]="processFilter?.filter?.processDefinitionKey"
[name]="processFilter?.filter?.name"
[presetColumn]="presetColoum"
[state]="processFilter?.filter?.state"
[page]="processPage"
[size]="paginationPageSize"
[sort]="processFilter?.filter?.sort"
[data]="dataProcesses"
(rowClick)="onProcessRowClick($event)"
@@ -151,15 +154,23 @@
</data-columns> -->
</adf-process-instance-list>
<adf-pagination
*ngIf="showProcessPagination"
[target]="processList"
(changePageSize)="onChangePageSize($event)"
[supportedPageSizes]="supportedPages"
#processListPagination>
</adf-pagination>
</div>
<div class="adf-grid-item adf-processes-details" *ngIf="!isStartProcessMode()" fxFlex.gt-md="1 1 auto">
<adf-process-instance-details
#activitiprocessdetails
[processInstanceId]="currentProcessInstanceId"
(processCancelled)="processCancelled()"
(showProcessDiagram)="onShowProcessDiagram($event)"
(taskClick)="onProcessDetailsTaskClick($event)">
</adf-process-instance-details>
<hr>
<mat-divider></mat-divider>
<div *ngIf="currentProcessInstanceId">
{{'PS-TAB.PROCESS-AUDIT-LOG' | translate}}
<button adf-process-audit
@@ -170,7 +181,7 @@
(error)="onAuditError($event)">
<mat-icon>assignment_ind</mat-icon>
</button>
<hr>
<mat-divider></mat-divider>
</div>
<mat-card>
<mat-card-content>
@@ -181,6 +192,7 @@
<div class="adf-grid-item adf-processes-start" fxFlex.gt-md="1 1 auto"
*ngIf="isStartProcessMode()">
<adf-start-process
#activitiStartProcess
[appId]="appId"
[name]="defaultProcessName"
[processDefinitionName]="defaultProcessDefinitionName"
@@ -196,7 +208,7 @@
<div class="adf-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
<div class="adf-grid-item adf-reports-menu" fxFlex.gt-md="300px">
<span><h5>Report List</h5></span>
<hr>
<mat-divider></mat-divider>
<analytics-report-list
[appId]="appId"
[selectFirst]="selectFirstReport"
@@ -221,12 +233,3 @@
</div>
</mat-tab>
</mat-tab-group>
<div *ngIf="fileShowed">
<adf-viewer
[(showViewer)]="fileShowed"
[blobFile]="content"
[displayName]="contentName"
[overlayMode]="true">
</adf-viewer>
</div>
@@ -1,105 +1,102 @@
.adf-no-form-container {
text-align: center;
font-weight: 600;
font-size: 18px;
}
.adf-grid {
.adf-grid-item {
margin: 4px;
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
padding: 10px;
@mixin adf-process-service-component-theme($theme){
.adf-no-form-container {
text-align: center;
font-weight: 600;
font-size: 18px;
}
.adf-list-buttons {
margin-bottom: 24px;
}
.adf-grid {
.adf-list-buttons-start {
width: 100%;
}
.adf-tasks-list.small-pagination,
.adf-processes-list.small-pagination {
.adf-pagination {
flex-wrap: wrap;
padding-bottom: 24px;
padding-top: 8px;
&__block {
border-right: none;
}
&__range-block.adf-pagination__block:first-child {
order: 1;
width: 60%;
flex: 0 0 auto;
box-sizing: border-box;
padding-left: 2px;
justify-content: flex-start;
}
&__perpage-block {
order: 3;
width: 60%;
box-sizing: border-box;
padding-left: 2px;
justify-content: flex-start;
}
&__actualinfo-block {
order: 2;
width: 40%;
box-sizing: border-box;
padding-right: 2px;
justify-content: flex-end;
}
&__controls-block {
order: 4;
width: 40%;
box-sizing: border-box;
padding-right: 2px;
justify-content: flex-end;
}
}
}
.adf-list {
.adf-data-table {
border: none;
.adf-grid-item {
margin: 4px;
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
padding: 10px;
}
.adf-data-table tr,
.adf-data-table td {
height: 36px;
font-size: 14px;
.adf-list-buttons {
margin-bottom: 24px;
}
.adf-data-table td {
padding-top: 0;
padding-bottom: 0;
border-bottom: none;
.adf-list-buttons-start {
width: 100%;
}
.adf-data-table th {
padding-top: 0;
padding-bottom: 0;
height: 40px;
vertical-align: middle;
font-size: 14px;
.adf-tasks-list.small-pagination,
.adf-processes-list.small-pagination {
.adf-pagination {
flex-wrap: wrap;
padding-bottom: 24px;
padding-top: 8px;
&__block {
border-right: none;
}
&__range-block.adf-pagination__block:first-child {
order: 1;
width: 60%;
flex: 0 0 auto;
box-sizing: border-box;
padding-left: 2px;
justify-content: flex-start;
}
&__perpage-block {
order: 3;
width: 60%;
box-sizing: border-box;
padding-left: 2px;
justify-content: flex-start;
}
&__actualinfo-block {
order: 2;
width: 40%;
box-sizing: border-box;
padding-right: 2px;
justify-content: flex-end;
}
&__controls-block {
order: 4;
width: 40%;
box-sizing: border-box;
padding-right: 2px;
justify-content: flex-end;
}
}
}
}
@media screen and (max-width: 1279px) {
container-widget .grid-list {
flex-direction: column;
.adf-list {
.adf-data-table {
border: none;
}
.grid-list-item {
width: 100% !important;
.adf-data-table tr,
.adf-data-table td {
height: 36px;
font-size: 14px;
}
.adf-data-table td {
padding-top: 0;
padding-bottom: 0;
border-bottom: none;
}
.adf-data-table th {
padding-top: 0;
padding-bottom: 0;
height: 40px;
vertical-align: middle;
font-size: 14px;
}
}
@media screen and ($mat-small) {
container-widget .grid-list {
flex-direction: column;
}
}
}
@@ -24,13 +24,15 @@ import {
OnDestroy,
OnInit,
ViewChild,
ViewEncapsulation
ViewEncapsulation,
EventEmitter,
Output
} from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { Pagination, ProcessInstanceFilterRepresentation } from 'alfresco-js-api';
import { ProcessInstanceFilterRepresentation, Pagination } from 'alfresco-js-api';
import {
FORM_FIELD_VALIDATORS, FormEvent, FormFieldEvent, FormRenderingService, FormService,
DynamicTableRow, ValidateDynamicTableRowEvent, AppConfigService
DynamicTableRow, ValidateDynamicTableRowEvent, AppConfigService, PaginationComponent, UserPreferenceValues
} from '@alfresco/adf-core';
import { AnalyticsReportListComponent } from '@alfresco/adf-insights';
@@ -58,9 +60,10 @@ import {
ObjectDataRow,
ObjectDataTableAdapter
} from '@alfresco/adf-core';
import { Subscription } from 'rxjs/Rx';
import { Subscription } from 'rxjs/Subscription';
import { /*CustomEditorComponent*/ CustomStencil01 } from './custom-editor/custom-editor.component';
import { DemoFieldValidator } from './demo-field-validator';
import { PreviewService } from '../../services/preview.service';
const currentProcessIdNew = '__NEW__';
const currentTaskIdNew = '__NEW__';
@@ -73,52 +76,54 @@ const currentTaskIdNew = '__NEW__';
})
export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit {
@ViewChild(TaskFiltersComponent)
@ViewChild('activitifilter')
activitifilter: TaskFiltersComponent;
@ViewChild(TaskListComponent)
@ViewChild('processListPagination')
processListPagination: PaginationComponent;
@ViewChild('taskListPagination')
taskListPagination: PaginationComponent;
@ViewChild('taskList')
taskList: TaskListComponent;
@ViewChild(ProcessFiltersComponent)
@ViewChild('activitiprocessfilter')
activitiprocessfilter: ProcessFiltersComponent;
@ViewChild(ProcessInstanceListComponent)
@ViewChild('processList')
processList: ProcessInstanceListComponent;
@ViewChild(ProcessInstanceDetailsComponent)
@ViewChild('activitiprocessdetails')
activitiprocessdetails: ProcessInstanceDetailsComponent;
@ViewChild(TaskDetailsComponent)
@ViewChild('activitidetails')
activitidetails: TaskDetailsComponent;
@ViewChild(StartProcessInstanceComponent)
@ViewChild('activitiStartProcess')
activitiStartProcess: StartProcessInstanceComponent;
@ViewChild(AnalyticsReportListComponent)
@ViewChild('analyticsreportlist')
analyticsreportlist: AnalyticsReportListComponent;
@Input()
appId: number = null;
fileShowed = false;
@Output()
changePageSize: EventEmitter<Pagination> = new EventEmitter();
selectFirstReport = false;
private tabs = { tasks: 0, processes: 1, reports: 2 };
content: Blob;
contentName: string;
layoutType: string;
currentTaskId: string;
currentProcessInstanceId: string;
taskSchemaColumns: any[] = [];
taskPagination: Pagination = {
skipCount: 0,
maxItems: 10,
totalItems: 0
};
taskPage = 0;
processPage = 0;
paginationPageSize = 0;
processSchemaColumns: any[] = [];
supportedPages: number[];
@@ -139,6 +144,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
dataTasks: ObjectDataTableAdapter;
dataProcesses: ObjectDataTableAdapter;
presetColoum = 'default';
showProcessPagination = false;
fieldValidators = [
...FORM_FIELD_VALIDATORS,
@@ -152,13 +158,13 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
private apiService: AlfrescoApiService,
private logService: LogService,
private appConfig: AppConfigService,
private preview: PreviewService,
formRenderingService: FormRenderingService,
formService: FormService,
private preferenceService: UserPreferencesService) {
this.dataTasks = new ObjectDataTableAdapter();
this.dataTasks.setSorting(new DataSorting('created', 'desc'));
this.supportedPages = this.preferenceService.getDifferentPageSizes();
this.taskPagination.maxItems = this.preferenceService.paginationSize;
this.defaultProcessName = this.appConfig.get<string>('adf-start-process.name');
this.defaultProcessDefinitionName = this.appConfig.get<string>('adf-start-process.processDefinitionName');
@@ -177,6 +183,10 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
this.logService.log(`Field value changed. Form: ${e.form.id}, Field: ${e.field.id}, Value: ${e.field.value}`);
});
this.preferenceService.select(UserPreferenceValues.PaginationSize).subscribe((pageSize) => {
this.paginationPageSize = pageSize;
});
formService.validateDynamicTableRow.subscribe(
(validateDynamicTableRowEvent: ValidateDynamicTableRowEvent) => {
const row: DynamicTableRow = validateDynamicTableRowEvent.row;
@@ -197,54 +207,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
*/
}
onPrevPage(pagination: Pagination): void {
this.taskPagination.skipCount = pagination.skipCount;
this.taskPage--;
}
onNextPage(pagination: Pagination): void {
this.taskPagination.skipCount = pagination.skipCount;
this.taskPage++;
}
onChangePageSize(pagination: Pagination): void {
const { skipCount, maxItems } = pagination;
this.taskPage = this.currentPage(skipCount, maxItems);
this.taskPagination.maxItems = maxItems;
this.taskPagination.skipCount = skipCount;
this.preferenceService.paginationSize = maxItems;
}
onChangePageNumber(pagination: Pagination): void {
const { maxItems, skipCount } = pagination;
this.taskPage = this.currentPage(skipCount, maxItems);
this.taskPagination.maxItems = maxItems;
this.taskPagination.skipCount = skipCount;
}
currentPage(skipCount: number, maxItems: number): number {
return (skipCount && maxItems) ? Math.floor(skipCount / maxItems) : 0;
}
ngOnInit() {
this.taskListService.tasksList$.subscribe(
(tasks) => {
this.taskPagination = {
count: tasks.data.length,
maxItems: this.taskPagination.maxItems,
skipCount: this.taskPagination.skipCount,
totalItems: tasks.total
};
this.logService.log({
count: tasks.data.length,
maxItems: this.taskPagination.maxItems,
skipCount: this.taskPagination.skipCount,
totalItems: tasks.total
});
}, (err) => {
this.logService.log('err' + err);
});
if (this.router.url.includes('processes')) {
this.activeTab = this.tabs.processes;
}
@@ -260,6 +223,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
this.currentProcessInstanceId = null;
});
this.layoutType = AppsListComponent.LAYOUT_GRID;
this.supportedPages = this.preferenceService.getDefaultPageSizes();
}
ngOnDestroy() {
@@ -269,6 +233,21 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
onTaskFilterClick(filter: FilterRepresentationModel): void {
this.applyTaskFilter(filter);
this.resetTaskPaginationPage();
}
resetTaskPaginationPage() {
this.taskPage = 0;
}
onTabChange(event: any): void {
this.showProcessPagination = event.index === 1;
this.paginationPageSize = this.preferenceService.paginationSize;
}
onChangePageSize(event: Pagination): void {
this.preferenceService.paginationSize = event.maxItems;
this.changePageSize.emit(event);
}
onReportClick(event: any): void {
@@ -302,6 +281,11 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
onProcessFilterClick(event: ProcessInstanceFilterRepresentation): void {
this.processFilter = event;
this.resetProcessPaginationPage();
}
resetProcessPaginationPage() {
this.processPage = 0;
}
onSuccessProcessFilterList(event: ProcessInstanceFilterRepresentation[]): void {
@@ -309,6 +293,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
}
onSuccessProcessList(event: any): void {
this.showProcessPagination = true;
this.currentProcessInstanceId = this.processList.getCurrentId();
}
@@ -356,6 +341,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
}
onStartProcessInstance(instance: ProcessInstance): void {
this.showProcessPagination = false;
this.currentProcessInstanceId = instance.id;
this.activitiStartProcess.reset();
this.activitiprocessfilter.selectRunningFilter();
@@ -381,24 +367,23 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
onFormCompleted(form): void {
this.currentTaskId = null;
this.taskPagination.totalItems--;
const { skipCount, maxItems, totalItems } = this.taskPagination;
if (totalItems > 0 && (skipCount >= totalItems)) {
this.taskPagination.skipCount -= maxItems;
}
this.taskPage = this.currentPage(this.taskPagination.skipCount, maxItems);
this.taskPage = this.taskListPagination.current - 1;
if (this.taskList) {
this.taskList.reload();
} else {
this.navigateToProcess();
}
if (this.processList) {
this.processList.reload();
}
}
navigateToProcess(): void {
this.router.navigate([`/activiti/apps/${this.appId}/processes/`]);
}
onContentClick(content: any): void {
this.fileShowed = true;
this.content = content.contentBlob;
this.contentName = content.name;
this.preview.showBlob(content.name, content.contentBlob);
}
onAuditClick(event: any) {
@@ -33,12 +33,3 @@
</div>
</div>
<div *ngIf="fileShowed">
<adf-viewer
[(showViewer)]="fileShowed"
[blobFile]="content"
[displayName]="contentName"
[overlayMode]="true">
</adf-viewer>
</div>
@@ -17,33 +17,40 @@
import { Component, Input, OnChanges, OnInit, ViewChild } from '@angular/core';
import { TaskListService, TaskAttachmentListComponent, TaskDetailsModel, TaskUploadService } from '@alfresco/adf-process-services';
import { UploadService } from '@alfresco/adf-core';
import { UploadService, AlfrescoApiService, AppConfigService } from '@alfresco/adf-core';
import { PreviewService } from '../../services/preview.service';
export function taskUploadServiceFactory(api: AlfrescoApiService, config: AppConfigService) {
return new TaskUploadService(api, config);
}
@Component({
selector: 'app-task-attachments',
templateUrl: './task-attachments.component.html',
styleUrls: ['./task-attachments.component.css'],
providers: [
{ provide: UploadService, useClass: TaskUploadService }
{
provide: UploadService,
useFactory: (taskUploadServiceFactory),
deps: [AlfrescoApiService, AppConfigService]
}
]
})
export class TaskAttachmentsComponent implements OnInit, OnChanges {
@ViewChild(TaskAttachmentListComponent)
@ViewChild('taskAttachList')
taskAttachList: TaskAttachmentListComponent;
@Input()
taskId: string;
fileShowed = false;
content: Blob;
contentName: string;
taskDetails: any;
constructor(private uploadService: UploadService, private activitiTaskList: TaskListService) {
}
constructor(
private uploadService: UploadService,
private activitiTaskList: TaskListService,
private preview: PreviewService) {}
ngOnInit() {
this.uploadService.fileUploadComplete.subscribe(value => this.onFileUploadComplete(value.data));
@@ -63,9 +70,7 @@ export class TaskAttachmentsComponent implements OnInit, OnChanges {
}
onAttachmentClick(content: any): void {
this.fileShowed = true;
this.content = content.contentBlob;
this.contentName = content.name;
this.preview.showBlob(content.name, content.contentBlob);
}
isCompletedTask(): boolean {
@@ -1,4 +1,7 @@
<adf-search-control [highlight]="true"
(optionClicked)="onItemClicked($event)"
(submit)="onSearchSubmit($event)">
<!-- <adf-empty-search-result>
<span>I don't want to show you this result</span>
</adf-empty-search-result> -->
</adf-search-control>
@@ -23,7 +23,7 @@ export class TestSearchConfigurationService implements SearchConfigurationInterf
constructor() {
}
public generateQueryBody(searchTerm: string, maxResults: string, skipCount: string): QueryBody {
public generateQueryBody(searchTerm: string, maxResults: number, skipCount: number): QueryBody {
const defaultQueryBody: QueryBody = {
query: {
query: searchTerm ? `${searchTerm}* OR name:${searchTerm}*` : searchTerm
@@ -31,7 +31,7 @@
</mat-card-content>
</mat-card>
<mat-card class="example-card" id="search_no_result" *ngIf="data?.list?.entries.length === 0">
<p mat-line class="adf-search-fixed-text">{{ 'SEARCH.RESULTS.NONE' | translate:{searchTerm: searchTerm} }}</p>
<p mat-line class="adf-search-fixed-text">{{ 'SEARCH.RESULTS.NONE' | translate:{searchTerm: searchedWord} }}</p>
</mat-card>
</ng-template>
</adf-search>
@@ -1,3 +1,4 @@
<adf-search [searchTerm]="searchedWord"
[maxResults]="maxItems"
[skipResults]="skipCount"
@@ -5,15 +6,25 @@
#search>
</adf-search>
<app-files-component
[currentFolderId]="null"
[nodeResult]="resultNodePageList"
[disableDragArea]="true"
[pagination]="pagination"
(changedPageSize)="onRefreshPagination($event)"
(changedPageNumber)="onRefreshPagination($event)"
(turnedNextPage)="onRefreshPagination($event)"
(loadNext)="onRefreshPagination($event)"
(turnedPreviousPage)="onRefreshPagination($event)"
(deleteElementSuccess)="onDeleteElementSuccess($event)">
</app-files-component>
<div class="adf-search-results__facets">
<adf-search-chip-list [searchFilter]="searchFilter"></adf-search-chip-list>
</div>
<div class="adf-search-results">
<adf-search-filter #searchFilter></adf-search-filter>
<div class="adf-search-results__content">
<app-files-component
[currentFolderId]="null"
[nodeResult]="resultNodePageList"
[disableDragArea]="true"
[pagination]="pagination"
(changedPageSize)="onRefreshPagination($event)"
(changedPageNumber)="onRefreshPagination($event)"
(turnedNextPage)="onRefreshPagination($event)"
(loadNext)="onRefreshPagination($event)"
(turnedPreviousPage)="onRefreshPagination($event)"
(deleteElementSuccess)="onDeleteElementSuccess($event)">
</app-files-component>
</div>
</div>
@@ -1,3 +1,21 @@
.adf-search-results {
display: flex;
margin-left: 5px;
.adf-search-settings {
width: 260px;
border: 1px solid #eee;
}
&__facets {
margin: 5px;
}
&__content {
flex: 1;
}
}
div.search-results-container {
padding: 0 20px 20px 20px;
}
@@ -18,7 +18,7 @@
import { Component, OnInit, Optional, ViewChild } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';
import { NodePaging, Pagination } from 'alfresco-js-api';
import { SearchComponent } from '@alfresco/adf-content-services';
import { SearchComponent, SearchQueryBuilderService } from '@alfresco/adf-content-services';
import { UserPreferencesService } from '@alfresco/adf-core';
@Component({
@@ -40,14 +40,21 @@ export class SearchResultComponent implements OnInit {
constructor(public router: Router,
private preferences: UserPreferencesService,
private queryBuilder: SearchQueryBuilderService,
@Optional() private route: ActivatedRoute) {
this.maxItems = this.preferences.paginationSize;
queryBuilder.paging = {
maxItems: this.maxItems,
skipCount: 0
};
}
ngOnInit() {
if (this.route) {
this.route.params.forEach((params: Params) => {
this.searchedWord = params.hasOwnProperty(this.queryParamName) ? params[this.queryParamName] : null;
this.queryBuilder.queryFragments['queryName'] = `cm:name:'${this.searchedWord}'`;
this.queryBuilder.update();
});
}
this.maxItems = this.preferences.paginationSize;
@@ -59,8 +66,14 @@ export class SearchResultComponent implements OnInit {
}
onRefreshPagination(pagination: Pagination) {
this.maxItems = pagination.maxItems;
this.skipCount = pagination.skipCount;
this.maxItems = pagination.maxItems;
this.skipCount = pagination.skipCount;
this.queryBuilder.paging = {
maxItems: pagination.maxItems,
skipCount: pagination.skipCount
};
this.queryBuilder.update();
}
onDeleteElementSuccess(element: any) {
@@ -28,6 +28,6 @@ export class SettingsComponent {
}
onError(error: string) {
this.logService.log(error)
this.logService.log(error);
}
}
@@ -24,5 +24,5 @@ import { Component } from '@angular/core';
})
export class TagComponent {
nodeId = '74cd8a96-8a21-47e5-9b3b-a1b3e296787d';
nodeId = '';
}
@@ -1,9 +1,9 @@
<button mat-icon-button [mat-menu-trigger-for]="themeMenu" matTooltip="Select a theme!">
<button data-automation-id="theme menu" mat-icon-button [mat-menu-trigger-for]="themeMenu" matTooltip="Select a theme!">
<mat-icon>format_color_fill</mat-icon>
</button>
<mat-menu class="docs-theme-picker-menu" #themeMenu="matMenu" x-position="before">
<button *ngFor="let theme of themes" mat-menu-item (click)="installTheme(theme)" >
<button *ngFor="let theme of themes" [attr.data-automation-id]="theme.name" mat-menu-item (click)="installTheme(theme)" >
<mat-icon mat-list-icon [matTooltip]="theme.name" class="docs-theme-chosen-icon" [style.color]="theme.accent"
[style.background]="theme.primary"
*ngIf="currentTheme === theme">check_circle
@@ -0,0 +1,99 @@
<div class="inner-layout">
<div class="inner-layout__header">
<adf-breadcrumb [root]="'APP_LAYOUT.TRASHCAN' | translate">
</adf-breadcrumb>
<adf-toolbar class="inline">
<button
mat-icon-button
[adf-delete]="documentList.selection"
(delete)="documentList.reload()"
[permanent]="true"
*ngIf="documentList.selection.length"
title="{{ 'TRASHCAN.ACTIONS.DELETE_PERMANENT' | translate }}">
<mat-icon>delete_forever</mat-icon>
</button>
<button
mat-icon-button
(selection-node-restored)="refresh()"
(restore)="documentList.reload()"
[adf-restore]="documentList.selection"
*ngIf="documentList.selection.length"
title="{{ 'TRASHCAN.ACTIONS.RESTORE' | translate }}">
<mat-icon>restore</mat-icon>
</button>
</adf-toolbar>
</div>
<div class="inner-layout__content">
<adf-document-list #documentList
[attr.class]="documentList.isEmpty() ? 'empty-list' : ''"
currentFolderId="-trashcan-"
selectionMode="multiple"
[multiselect]="true"
[navigate]="false"
locationFormat="/files"
[sorting]="[ 'archivedAt', 'desc' ]"
[contextMenuActions]="true"
[contentActions]="false">
<empty-folder-content>
<ng-template>
<div class="empty-list__block">
<mat-icon>delete</mat-icon>
<p class="empty-list__title">{{ 'TRASHCAN.EMPTY_STATE.TITLE' | translate }}</p>
<p class="empty-list__text">{{ 'TRASHCAN.EMPTY_STATE.FIRST_TEXT' | translate }}</p>
<p class="empty-list__text">{{ 'TRASHCAN.EMPTY_STATE.SECOND_TEXT' | translate }}</p>
</div>
</ng-template>
</empty-folder-content>
<data-columns>
<data-column
key="$thumbnail"
type="image"
[sortable]="false"
class="image-table-cell">
</data-column>
<data-column
class="adf-data-table-cell--ellipsis__name"
key="name"
title="DOCUMENT_LIST.COLUMNS.DISPLAY_NAME">
<ng-template let-value="value" let-context>
<span class="adf-datatable-cell" title="{{ context?.row?.obj | adfNodeNameTooltip }}">{{ value }}</span>
</ng-template>
</data-column>
<data-column
key="content.sizeInBytes"
title="DOCUMENT_LIST.COLUMNS.SIZE"
type="fileSize">
</data-column>
<data-column
key="archivedAt"
title="DOCUMENT_LIST.COLUMNS.DELETED_ON">
<ng-template let-value="value">
<span title="{{ value | date:'medium' }}">{{ value | adfTimeAgo }}</span>
</ng-template>
</data-column>
<data-column
class="adf-data-table-cell--ellipsis"
key="archivedByUser.displayName"
title="DOCUMENT_LIST.COLUMNS.DELETED_BY">
</data-column>
</data-columns>
</adf-document-list>
<adf-pagination [ngClass]="{ 'no-border' : documentList.isEmpty()}"
[supportedPageSizes]="supportedPages"
[target]="documentList">
</adf-pagination>
</div>
</div>
@@ -0,0 +1,53 @@
/*!
* @license
* Alfresco Example Content Application
*
* Copyright (C) 2005 - 2017 Alfresco Software Limited
*
* This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms:
*
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { Component, ViewChild } from '@angular/core';
import { DocumentListComponent } from '@alfresco/adf-content-services';
import { UserPreferencesService, UserPreferenceValues } from '@alfresco/adf-core';
@Component({
templateUrl: './trashcan.component.html',
styleUrls: ['trashcan.component.scss']
})
export class TrashcanComponent {
@ViewChild('documentList')
documentList: DocumentListComponent;
supportedPages = [];
constructor(private preference: UserPreferencesService) {
this.preference.select(UserPreferenceValues.SupportedPageSizes)
.subscribe((pages) => {
this.supportedPages = pages;
});
}
refresh() {
this.documentList.reload();
this.documentList.resetSelection();
}
}
+6 -2
View File
@@ -26,7 +26,9 @@ import {
MatCardModule,
MatListModule,
MatMenuModule,
MatToolbarModule
MatToolbarModule,
MatSnackBarModule,
MatExpansionModule
} from '@angular/material';
const MATERIAL_MODULES = [
@@ -39,7 +41,9 @@ const MATERIAL_MODULES = [
MatCardModule,
MatListModule,
MatMenuModule,
MatToolbarModule
MatToolbarModule,
MatSnackBarModule,
MatExpansionModule
];
@NgModule({
@@ -27,11 +27,11 @@ export class DebugAppConfigService extends AppConfigService {
}
/** @override */
get<T>(key: string): T {
get<T>(key: string, defaultValue?: T): T {
if (key === 'ecmHost' || key === 'bpmHost') {
return <T> (<any> this.storage.getItem(key) || super.get<T>(key));
}
return super.get<T>(key);
return super.get<T>(key, defaultValue);
}
}
@@ -16,21 +16,23 @@
*/
import { Injectable } from '@angular/core';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { forkJoin } from 'rxjs/observable/forkJoin';
import { Observable } from 'rxjs/Observable';
import { defer } from 'rxjs/observable/defer';
import { Router } from '@angular/router';
@Injectable()
export class PropertyDescriptorLoaderService {
export class PreviewService {
constructor(private alfrescoApiService: AlfrescoApiService) {}
public content: Blob = null;
public name: string = null;
load(aspects: string[]): Observable<any> {
const aspectFetchStreams = aspects
.map(aspectName => aspectName.replace(':', '_'))
.map(aspectName => defer( () => this.alfrescoApiService.classesApi.getClass(aspectName)) );
constructor(private router: Router) {}
return forkJoin(aspectFetchStreams);
showResource(resourceId): void {
this.router.navigate([{ outlets: { overlay: ['files', resourceId, 'view'] } }]);
}
showBlob(name: string, content: Blob): void {
this.name = name;
this.content = content;
this.router.navigate([{ outlets: { overlay: ['preview', 'blob'] } }]);
}
}
+8
View File
@@ -1,4 +1,8 @@
@import './app/components/app-layout/app-layout.component.scss';
@import './app/components/files/files.component.scss';
@import './app/components/login/login.component.scss';
@import './app/components/process-service/process-service.component.scss';
@import 'content-services/styles/index';
@import 'process-services/styles/index';
@@ -16,6 +20,10 @@ $theme: mat-light-theme($primary, $accent, $warn);
@include angular-material-theme($theme);
@include adf-app-layout-theme($theme);
@include adf-file-component-theme($theme);
@include adf-login-component-theme($theme);
@include adf-process-service-component-theme($theme);
@include adf-content-services-theme($theme);
@include adf-process-services-theme($theme);
+8
View File
@@ -1,4 +1,8 @@
@import './app/components/app-layout/app-layout.component.scss';
@import './app/components/files/files.component.scss';
@import './app/components/login/login.component.scss';
@import './app/components/process-service/process-service.component.scss';
@import '~@alfresco/adf-content-services/theming';
@import '~@alfresco/adf-process-services/theming';
@@ -16,6 +20,10 @@ $theme: mat-light-theme($primary, $accent, $warn);
@include angular-material-theme($theme);
@include adf-app-layout-theme($theme);
@include adf-file-component-theme($theme);
@include adf-login-component-theme($theme);
@include adf-process-service-component-theme($theme);
@include adf-content-services-theme($theme);
@include adf-process-services-theme($theme);
+69 -1
View File
@@ -17,7 +17,7 @@
.loader-container {
display: flex;
flex-direction: row;
flex-direction: column;
height:100%;
align-items: center;
@@ -29,16 +29,84 @@
max-width:300px;
}
.loader-spinner {
max-height:300px;
max-width:300px;
}
.loader-text{
white-space: nowrap;
text-align: center;
position: relative;
}
.loader {
position: absolute;
width: 100px;
height: 100px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.circular {
animation: rotate 2s linear infinite;
height: 100px;
position: relative;
width: 100px;
}
.path {
stroke-dasharray: 1,200;
stroke-dashoffset: 0;
stroke: #B6463A;
animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
stroke-linecap: round;
}
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
@keyframes dash {
0% {
stroke-dasharray: 1,200;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 89,200;
stroke-dashoffset: -35;
}
100% {
stroke-dasharray: 89,200;
stroke-dashoffset: -124;
}
}
@keyframes color {
100%, 0% {
stroke: #d62d20;
}
40% {
stroke: #0057e7;
}
66% {
stroke: #008744;
}
80%, 90% {
stroke: #ffa700;
}
}
</style>
</head>
<body class="adf-background-color">
<app-root>
<div id="loader-container" class="loader-container">
<div class="loader-spinner">
<svg class="circular">
<circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="5" stroke-miterlimit="10"></circle>
</svg>
</div>
<div class="loader-item">
<div id="loader-text" class="loader-text">Loading Demo Shell..</div>
</div>
+1 -1
View File
@@ -7,7 +7,7 @@ import 'hammerjs';
import 'chart.js';
import 'ng2-charts';
import pdfjsLib from 'pdfjs-dist';
import * as pdfjsLib from 'pdfjs-dist';
pdfjsLib.PDFJS.workerSrc = 'pdf.worker.js';
if (environment.production) {
+6 -1
View File
@@ -60,10 +60,15 @@ import 'zone.js/dist/zone'; // Included with Angular CLI.
* Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10
*/
import 'intl'; // Run `npm install --save intl`.
/**
* Need to import at least one locale-data with intl.
*/
import 'intl/locale-data/jsonp/en';
/**
* Support custom event in IE11
*
* */
import 'custom-event-polyfill/custom-event-polyfill' // Run `npm install --save custom-event-polyfill`.
import 'custom-event-polyfill/custom-event-polyfill'; // Run `npm install --save custom-event-polyfill`.
+32 -10
View File
@@ -2,19 +2,41 @@
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/spec",
"module": "commonjs",
"target": "es5",
"baseUrl": "",
"module": "es2015",
"rootDir": "..",
"baseUrl": ".",
"skipLibCheck": false,
"types": [
"jasmine",
"node"
]
],
"paths": {
"alfresco-js-api": [
"../node_modules/alfresco-js-api/dist/alfresco-js-api.js"
],
"rxjs/*": [
"../node_modules/rxjs/*"
],
"@angular/*": [
"../node_modules/@angular/*"
],
"@alfresco/adf-core": [
"../../lib/core"
],
"@alfresco/adf-content-services": [
"../../lib/content-services"
],
"@alfresco/adf-process-services": [
"../../lib/process-services"
],
"@alfresco/adf-insights": [
"../../lib/insights"
]
}
},
"files": [
"test.ts"
"exclude": [
],
"include": [
"**/*.spec.ts",
"**/*.d.ts"
]
"angularCompilerOptions": {
"skipTemplateCodegen": false
}
}

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