Compare commits

...
183 Commits
Author SHA1 Message Date
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
Codacy Badger 45356cf412 Add Codacy badge (#2761) 2017-12-04 14:56:42 +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
Eugenio Romano 933cee23e3 adf-insights 2.0.1 2017-11-29 17:15:33 +00:00
Maurizio Vitale 18dc0711f9 [ADF-1711] Task Attachment list - Fix the TaskService dependency (#2752)
* Fix the TaskService dependency

* Improve doc and remove unused dep
2017-11-29 12:06:52 +00:00
Andy Stark 820763ba0e [ADF-2048] Removed form stencils page from User Guide (#2751) 2017-11-29 10:43:01 +00:00
Vito fa98379fd9 fixing missed rename for search template and removed unused methods (#2750) 2017-11-29 10:42:31 +00:00
Eugenio Romano ee5b4c9978 2.0.0 bump version 2017-11-29 09:18:05 +00:00
Andy Stark 137249cb58 [ADF-2046] Updated links in README files for new folder structure (#2746) 2017-11-29 00:17:44 +00:00
Eugenio Romano 67ff5e68ec minor documentation fix 2017-11-28 23:01:00 +00:00
Maurizio Vitale 6fbda1919c [ADF-1711] Task Attachment list - fix custom template (#2748)
* fix custom template

* rollback change process attachment
2017-11-28 22:00:05 +00:00
Denys Vuika 9c734e472d cleanup angular versions (#2745) 2017-11-28 16:25:32 +00:00
mihai sirghe 634e65af96 [ADF-1924] - Some issues related to search bar (#2702)
* issue #1

Because the input element gets no focus when the search button is clicked, there is no way to toggle off the search input, when user clicks outside the search bar
Added focus on search input when the user click on search input

issue #2

Increased the width of the search results container in order to be able to show more text
translated results container to the left in order to prevent it to overlap the menu items from the navigation bar

* Adding test spec for checking if search input has focus after the user clicks on search button

* removed deprecated render dependency
using this call
	" searchInput.nativeElement.focus()"
to enable input focus

* fixed broken animation on input search focus()

* Fix search control component tests

* Fix rebasing
2017-11-28 16:24:27 +00:00
Eugenio Romano c763ba45e0 [ADF-2045] Pagination is not working properly on Search Results Page (#2744) 2017-11-28 12:46:01 +00:00
Denys Vuika ee901b6641 Update viewer.component.md 2017-11-28 09:27:20 +00:00
Denys Vuika 032f1237f0 viewer style fixes (#2743) 2017-11-28 08:28:27 +00:00
Eugenio Romano c968fbcdac fix layout app search bar small display 2017-11-27 23:22:33 +00:00
Denys Vuika 2746b29984 [ADF-2032] viewer reopening fixes (#2739)
* viewer reopening fixes

* docs update
2017-11-27 22:41:10 +00:00
Denys Vuika 82dca30d7f [ADF-2039] pagination fixes (#2742)
* pagination fixes

* test fixes
2017-11-27 22:39:58 +00:00
Vito 24fb8763c5 [ADF-2040] updated demoshell version for moment js (#2741) 2017-11-27 18:54:11 +00:00
Eugenio Romano 9b7e018f93 [no issue number] fix unsubscribing in documentlist (#2740)
* fix unsubscribing in documentlist

* fix tslint errors
2017-11-27 17:51:18 +00:00
Andy Stark 6843a6adfd [ADF-1586] Fixed incorrect import declarations in docs (#2738) 2017-11-27 16:47:50 +00:00
Andy Stark 57234cd348 [ADF-2042] Fixed incorrect property name on Upload Button component (#2737) 2017-11-27 15:03:24 +00:00
Eugenio Romano bdc06e3eed [ADF-2035] Drag and drop is not working on Processes - attachment List (#2736)
* fix upload for process attachment list
export ActivitiContentService
ProcessService.createOrUpdateProcessInstanceVariables has incorrect method signature

* fix signature methods

* fix test parameters
2017-11-27 14:39:33 +00:00
Andy Stark 2f07fa339d [ADF-1586] Updated paths of import statements in docs (#2735) 2017-11-27 12:29:05 +00:00
Vito 8834b0c2d2 [ADF-2019] removed refresh button from JSON example form (#2734) 2017-11-27 11:52:31 +00:00
Denys Vuika a9d61e5d6e [ADF-2016] pagination integration for document list (#2718)
* pagination integration for document list

* reload data only if needed

* unit tests for document list

* pagination tests

* update docs
2017-11-27 10:14:08 +00:00
Eugenio Romano d77db4e8f6 [ADF-2036][Demo Shell] Search dialog is not properly displayed 2017-11-27 09:06:33 +00:00
Eugenio Romano 197fab4da8 [ADF-2010] Move/copy, when searching for folder multiple results are returned (#2727)
* adding debounce time in object picker
unify search api
fix multiples duplicate result
remove limit of 4 character to search

* remove three.min.js

* remove unused import

* tlsint fix and remove file

* rename sitesApiService to sitesService as all the other services

* fix test timeout async
2017-11-26 22:06:05 +00:00
Eugenio Romano 4549dbf1f5 [ADF-2030] set the download name before to download it
fix theming documentation
remove old reference pack in the home
2017-11-24 23:58:04 +00:00
mihai sirghe eba46e4e44 [ADF-2007] Info Drawer - currentTab event should return a key not the label (#2715)
* [ADF-2007] bug fix

Info drawer will emit the current active tab instead of the tab label
Also updated the test spec

* Emit tab index on clicking
2017-11-24 23:55:03 +00:00
Vito eba4399d6c [ADF-2002] added ARROW support for search autocomplete results (#2732)
* [ADF-2002] added arrow up and down feature

* [ADF-2002] fixed search bar animation and added arrow support

* [ADF-2002] added some test for arrow manage
2017-11-24 23:50:26 +00:00
Popovics András 78cd7ad84b Fix node-permission directive for delete (#2730) 2017-11-24 18:04:07 +00:00
Popovics András 754e02625e Fix translation issues (#2731) 2017-11-24 16:37:13 +00:00
Andy Stark 321e4fbdc2 [ADF-1586] Removed ToCs and added See Alsos (#2729) 2017-11-24 15:57:58 +00:00
Eugenio Romano 05135a0494 [ADF-1964][Demo Shell] Max size filter is not switched off. 2017-11-24 15:53:32 +00:00
Eugenio Romano fb509a3c5a [ADF-2030] Not able to download a file on search page. 2017-11-24 15:25:51 +00:00
825 changed files with 25954 additions and 11085 deletions
+1
View File
@@ -20,3 +20,4 @@ src/environments/
package-lock.*
/ng2-components/ng2-alfresco-core/prebuilt-themes/
.ng_pkg_build/
/demo-shell/dist-dev-temp/
+17 -6
View File
@@ -1,12 +1,16 @@
language: node_js
dist: trusty
sudo: false
sudo: required
node_js:
- "8"
addons:
chrome: stable
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
env:
matrix:
@@ -15,6 +19,7 @@ env:
- MODULE=process-services
- MODULE=content-services
- MODULE=demo-shell
- MODULE=packaging
install:
- if ([ "$MODULE" != "demo-shell" ]); then
@@ -27,7 +32,7 @@ install:
script:
- if ([ "$MODULE" == "core" ]); then
(./scripts/npm-build-all.sh -si -sb -t "core*" || exit 1;);
(./scripts/npm-build-all.sh -si -sb -t "core" || exit 1;);
fi
- if ([ "$MODULE" == "process-services" ]); then
@@ -42,6 +47,10 @@ script:
(./scripts/npm-build-all.sh -si -sb -t "content-services" || exit 1;);
fi
- if ([ "$MODULE" == "packaging" ]); then
(cd lib && npm run new-build || exit 1;);
fi
- if ([ "$MODULE" == "demo-shell" ]); then
if ([ "$TRAVIS_BRANCH" = "master" ]); then
(./scripts/start.sh -t -ss || exit 1;);
@@ -49,6 +58,10 @@ script:
(./scripts/start.sh -dev -t -ss -vjsapi alpha || exit 1;);
fi
fi
jobs:
include:
- stage: Check 2.0.0 Project Update
script: ./scripts/test-e2e-bc.sh
# jobs:
# include:
@@ -80,7 +93,5 @@ after_success:
cache:
directories:
- ./node_modules/material-design-lite
- ./node_modules/material-design-icons
- demo-shell/node_modules
- lib/node_modules
+6 -8
View File
@@ -1,35 +1,33 @@
# Browser Support
Browser support and polyfills guide.
Browser compatibility and support depends on targeted browsers and 3rd party libraries. ADF is based on the following libraries and components:
- Angular 2 (all ADF components)
- Material Design Lite (all ADF components)
- Angular (all ADF components)
- Moment.js (many ADF components)
- PDF.js (`ng2-alfresco-viewer` component)
- Raphael.js (`ng2-alfresco-diagrams`, `ng2-alfresco-analytics`)
- Chart.js (`ng2-alfresco-analytics`)
- Material Design - Date and Time Picker (`ng2-activiti-form`, `ng2-alfresco-analytics`)
## Browser polyfills
### Angular 2
Please refer to the [official guide](https://angular.io/docs/ts/latest/guide/browser-support.html) for Angular 2 browser support.
### Angular
Please refer to the [official guide](https://angular.io/docs/ts/latest/guide/browser-support.html) for Angular browser support.
ADF (demo shell) imports by default the following set of recommended polyfills:
- [core-js](https://www.npmjs.com/package/core-js) (ES6 standard support)
### 3rd party libraries
Please refer to the following list of [popular polyfills](https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills) for HTML5 cross-browser compatibility.
ADF (demo shell) imports by default the following set of recommended polyfills:
- [intl](https://www.npmjs.com/package/intl), Polyfill the ECMA-402 Intl API (except collation), **IE**/**Safari**
- [dom4](https://github.com/WebReflection/dom4), A fully tested and covered polyfill for new DOM Level 4 entries, **IE**
- [element.scrollintoviewifneeded-polyfill](https://www.npmjs.com/package/element.scrollintoviewifneeded-polyfill), simple JavaScript implementation of the non-standard WebKit method scrollIntoViewIfNeeded that can be called on DOM elements, **IE**/**Firefox**/**Safari**, required only to support **Material Design - Date and Time Picker** component
- [pdfjs compatibility](https://www.npmjs.com/package/pdfjs-dist), Portable Document Format (PDF) library that is built with HTML5, **IE**
- (dialog-polyfill)[https://www.npmjs.com/package/dialog-polyfill], Polyfill for the dialog element, **IE**/**Safari**/**Firefox**
## Example
+6
View File
@@ -0,0 +1,6 @@
FROM nginx
COPY demo-shell/nginx.conf /etc/nginx/nginx.conf
WORKDIR /usr/share/nginx/html
COPY demo-shell/dist/ .
+10 -11
View File
@@ -1,6 +1,6 @@
# Introduction to the Alfresco Application Development Framework
The Alfresco application development framework is based on the [Angular 2 JavaScript library](https://angular.io/).
The Alfresco application development framework is based on the [Angular framework](https://angular.io/).
The framework is provided by Alfresco to make it easy to build custom web applications that
should manage and view content in the [Alfresco Platform Repository](http://docs.alfresco.com/5.1/concepts/content-repo-about.html) in a custom way.
@@ -18,22 +18,21 @@ However, there are use-cases that Share does not fit very well, such as:
This is where this application development framework comes into play, it can be used to create exactly the user interface
(i.e. web client) that the requirements demand.
The framework consists of several components that can be combined to form a customized content management application.
Here is a list of some of the available web components:
The framework consists of several libraries that can be used to form a customized content management application. The available libraries are:
- [Core library](ng2-components/ng2-alfresco-core/README.md)
- [DataTable](ng2-components/ng2-alfresco-datatable/README.md)
- [DocumentList](ng2-components/ng2-alfresco-documentlist/README.md)
- [Viewer](ng2-components/ng2-alfresco-viewer/README.md)
- [Login](ng2-components/ng2-alfresco-login/README.md)
- [Upload](ng2-components/ng2-alfresco-upload/README.md)
- [Core](lib/core/README.md)
- [Content Services](lib/content-services/README.md)
- [Process Services](lib/process-services/README.md)
- [Insights](lib/insights/README.md)
You can browse all the components at this [page](http://devproducts.alfresco.com/).
You can browse all the components at the
[ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
An architecture overview looks like this:
<p align="center">
<img title="alfresco-ng2-components-architecture" alt='alfresco' src='assets/alfresco-app-dev-framework-architecture.png'></img>
<img title="alfresco-angular-components-architecture" alt='alfresco' src='assets/alfresco-app-dev-framework-architecture.png'></img>
</p>
Here we can also see that there is an Alfresco JavaScript framework in use that wraps the Alfresco REST API, to make things easier for the client developer.
+1 -1
View File
@@ -1,6 +1,6 @@
# Prerequisites for building and running apps with the Alfresco Application Development Framework
The [Angular 2](https://angular.io/) based application development framework requires the following:
The [Angular](https://angular.io/) based application development framework requires the following:
- An Alfresco Platform Repository (version [201609 Early Access](https://community.alfresco.com/docs/DOC-6372-alfresco-community-edition-file-list-201609-ea) or newer)
- [Download and install the process service](https://www.alfresco.com/products/bpm/alfresco-activiti/trial)
+9 -8
View File
@@ -1,5 +1,6 @@
# ALFRESCO ANGULAR COMPONENTS
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/d9eb873741da403bb3284778102372e7)](https://www.codacy.com/app/Alfresco/alfresco-ng2-components?utm_source=github.com&utm_medium=referral&utm_content=Alfresco/alfresco-ng2-components&utm_campaign=badger)
[![Join the chat at https://gitter.im/Alfresco/alfresco-ng2-components](https://badges.gitter.im/Alfresco/alfresco-ng2-components.svg)](https://gitter.im/Alfresco/alfresco-ng2-components?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
<p>
@@ -30,10 +31,10 @@ necessary configuration, see this [page](PREREQUISITES.md).
## Components
To view the complete list of all the components that you can use to build your custom Alfresco (ECM,BPM) client follow this link:
[Components](/ng2-components).
To view the sources of all components that you can use to build your custom Alfresco (Content Services or Process Services) client follow this link:
[Components](/lib).
You can browse all the components at the following [page](http://devproducts.alfresco.com/).
You can browse all the components at the [ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
## Demo Application
@@ -43,7 +44,7 @@ You will find examples of basic interaction for both BPM and ECM sets of widgets
## Yeoman generators
To speed up the development of your Alfresco Angular 2 application, or Alfresco Angular 2 component, use one of the Yeoman generators.
To speed up the development of your Alfresco Angular application, or Alfresco Angular component, use one of the Yeoman generators.
These generators will create a full working project with all the right libraries and tools.
@@ -53,16 +54,16 @@ These generators will create a full working project with all the right libraries
### Generate an Alfresco web component starter project
To generate your Alfresco Angular 2 component you can use the following Yeoman generator:
To generate your Alfresco Angular component you can use the following Yeoman generator:
- [Yeoman Generator Angular 2 Alfresco component](https://github.com/Alfresco/generator-ng2-alfresco-component)
- [Yeoman Generator Angular Alfresco component](https://github.com/Alfresco/generator-ng2-alfresco-component)
### Generate an Alfresco web application starter project
To generate your Alfresco Angular 2 application you can use the following Yeoman generator:
To generate your Alfresco Angular application you can use the following Yeoman generator:
- [Yeoman Generator Angular 2 Alfresco application](https://github.com/Alfresco/generator-ng2-alfresco-app)
- [Yeoman Generator Angular Alfresco application](https://github.com/Alfresco/generator-ng2-alfresco-app)
## Amazon AWS Elastic Beanstalk fast deploy
+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
+31 -47
View File
@@ -5,7 +5,7 @@
},
"apps": [
{
"name" : "dist",
"name": "dist",
"root": "src",
"outDir": "dist",
"assets": [
@@ -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",
@@ -43,7 +48,11 @@
"input": "../node_modules/@alfresco/adf-content-services/bundles/assets",
"output": "./assets/"
},
{ "glob": "pdf.worker.js", "input": "../node_modules/pdfjs-dist/build", "output": "./" }
{
"glob": "pdf.worker.js",
"input": "../node_modules/pdfjs-dist/build",
"output": "./"
}
],
"index": "index.html",
"main": "main.ts",
@@ -65,8 +74,7 @@
"../node_modules/pdfjs-dist/build/pdf.js",
"../node_modules/pdfjs-dist/web/pdf_viewer.js",
"../node_modules/raphael/raphael.min.js",
"../node_modules/moment/min/moment.min.js",
"../node_modules/three/build/three.min.js"
"../node_modules/moment/min/moment.min.js"
],
"environmentSource": "environments/environment.ts",
"environments": {
@@ -75,7 +83,7 @@
}
},
{
"name" :"dev",
"name": "dev",
"root": "src",
"outDir": "dist",
"assets": [
@@ -89,45 +97,19 @@
},
{
"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/"
"input": "../dist-dev-temp/",
"output": "./"
},
{
"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"
},
{ "glob": "pdf.worker.js", "input": "../node_modules/pdfjs-dist/build", "output": "./" }
"glob": "pdf.worker.js",
"input": "../node_modules/pdfjs-dist/build",
"output": "./"
}
],
"index": "index.html",
"main": "main.ts",
@@ -141,16 +123,15 @@
"custom-style-dev.scss"
],
"stylePreprocessorOptions": {
"includePaths": [
"../../lib/"
]
"includePaths": [
"../../lib/"
]
},
"scripts": [
"../node_modules/pdfjs-dist/build/pdf.js",
"../node_modules/pdfjs-dist/web/pdf_viewer.js",
"../node_modules/raphael/raphael.min.js",
"../node_modules/moment/min/moment.min.js",
"../node_modules/three/build/three.min.js"
"../node_modules/moment/min/moment.min.js"
],
"environmentSource": "environments/environment.ts",
"environments": {
@@ -166,13 +147,16 @@
},
"lint": [
{
"project": "src/tsconfig.app.json"
"project": "src/tsconfig.app.json",
"exclude": "**/node_modules/**/*"
},
{
"project": "src/tsconfig.spec.json"
"project": "src/tsconfig.spec.json",
"exclude": "**/node_modules/**/*"
},
{
"project": "e2e/tsconfig.e2e.json"
"project": "e2e/tsconfig.e2e.json",
"exclude": "**/node_modules/**/*"
}
],
"test": {
-4
View File
@@ -57,7 +57,3 @@ app/**/*.d.ts
dist/
coverage/
# docker files
docker-compose.yml
Dockerfile
+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' )
+25
View File
@@ -0,0 +1,25 @@
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
include /etc/nginx/mime.types;
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
location / {
try_files $uri $uri/ /index.html;
}
}
}
+46 -38
View File
@@ -1,20 +1,23 @@
{
"name": "Alfresco-ADF-Angular-Demo",
"description": "Demo shell for Alfresco Angular components",
"version": "2.0.0-25b85eab2c1e2aa8bd749319c51ebac79348c91b",
"version": "2.1.0",
"author": "Alfresco Software, Ltd.",
"scripts": {
"ng": "ng",
"prestart": "npm run validate-config",
"start": "npm run server-versions && rimraf dist && ng serve --host 0.0.0.0 --app dist --open --aot=false",
"start:dev": "npm run style:dev & npm run clean-lib-angular && npm run server-versions && rimraf dist && ng serve --host 0.0.0.0 --disable-host-check --app dev pp-dev --proxy-config proxy.conf.js --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 pp-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 --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 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",
"style:dev": "npm run webpack -- --config config/webpack.style.js --progress --profile --bail --watch",
"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 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",
"style:dev": "npm run webpack -- --config config/webpack.style.js --progress --profile --bail",
"copy:dev": "node ./config/dev-copy-watch.js",
"test": "ng test",
"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-lib-angular": "rimraf ../lib/node_modules/@angular",
@@ -60,24 +63,26 @@
],
"private": true,
"dependencies": {
"@angular/animations": "5.0.0",
"@angular/cdk": "5.0.0-rc0",
"@angular/common": "5.0.0",
"@angular/compiler": "5.0.0",
"@angular/core": "5.0.0",
"@angular/flex-layout": "2.0.0-beta.10",
"@angular/forms": "5.0.0",
"@angular/http": "5.0.0",
"@angular/material": "5.0.0-rc0",
"@angular/platform-browser": "5.0.0",
"@angular/platform-browser-dynamic": "5.0.0",
"@angular/router": "5.0.0",
"@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",
"@angular/animations": "5.1.1",
"@angular/cdk": "5.0.1",
"@angular/common": "5.1.1",
"@angular/compiler": "5.1.1",
"@angular/core": "5.1.1",
"@angular/flex-layout": "2.0.0-beta.12",
"@angular/forms": "5.1.1",
"@angular/http": "5.1.1",
"@angular/material": "5.0.1",
"@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.0.0-de41fd8ca9c1c6f6072d2e06415eef0a71330dc0",
"@alfresco/adf-content-services": "2.0.0-303d0166157d305ebfbf1578bf5d1eadcaa631cc",
"@alfresco/adf-process-services": "2.0.0-303d0166157d305ebfbf1578bf5d1eadcaa631cc",
"@alfresco/adf-core": "2.0.0-303d0166157d305ebfbf1578bf5d1eadcaa631cc",
"@alfresco/adf-insights": "2.0.0-303d0166157d305ebfbf1578bf5d1eadcaa631cc",
"alfresco-js-api": "2.1.0",
"chart.js": "2.5.0",
"classlist.js": "1.1.20150312",
"core-js": "2.4.1",
@@ -85,11 +90,10 @@
"hammerjs": "2.0.8",
"intl": "1.2.5",
"minimatch": "3.0.4",
"moment": "2.18.1",
"moment-es6": "^1.0.0",
"moment": "2.15.2",
"ng2-3d-editor": "0.0.18",
"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",
@@ -97,25 +101,29 @@
"zone.js": "0.8.14"
},
"devDependencies": {
"@angular/cli": "1.5.0",
"@angular/compiler-cli": "^5.0.0",
"@angular/language-service": "^5.0.0",
"@types/jasmine": "~2.5.53",
"@angular-devkit/core": "0.0.28",
"@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": "~3.2.0",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"ajv-cli": "^3.0.0",
"codelyzer": "4.1.0",
"concurrently": "^3.5.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.4.2"
"ts-node": "~4.1.0",
"tslint": "~5.9.1",
"typescript": "~2.5.3"
}
}
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "Sie verfügen nicht über die nötige Berechtigung, um Versionen dieses Inhalts zu verwalten",
"NO_PERMISSION_EVENT": "Sie verfügen nicht über die nötige Berechtigung ('${event.permission}'), um ${event.action} zu ${event.type}",
"CHOOSE_FILE": "Wählen Sie eine Datei aus, um ihre Versionen anzuzeigen"
"CHOOSE_FILE": "Wählen Sie eine Datei aus, um ihre Versionen anzuzeigen",
"DIALOG": {
"CLOSE": "Schließen",
"TITLE": "Versionen verwalten"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-Demoanwendung",
@@ -20,6 +24,7 @@
"TAG": "Tag",
"SOCIAL": "Soziale Funktionen",
"SETTINGS": "Einstellungen",
"OVERLAY_VIEWER": "Overlay-Viewer",
"ABOUT": "Info"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "Filter für max. Größe",
"ENABLE_VERSIONING": "Versionsverwaltung aktivieren",
"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",
"COLUMNS": {
"DISPLAY_NAME": "Namen anzeigen",
@@ -48,7 +54,8 @@
"DOWNLOAD": "Herunterladen",
"COPY": "Kopieren",
"MOVE": "Verschieben",
"DELETE": "Löschen"
"DELETE": "Löschen",
"PROCESS_ACTION": "Prozess starten"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "Berichte",
"START-TASK": "Aufgabe starten",
"START-PROCESS": "Prozess starten",
"AUDIT-LOG": "Audit-Protokoll verarbeiten"
"PROCESS-AUDIT-LOG": "Prozess-Audit-Protokoll",
"TASK-AUDIT-LOG": "Aufgaben-Audit-Protokoll"
},
"FORM-LIST": {
"STORE": "Speichern",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "Login-Fußzeile"
},
"SEARCH": {
"RESULTS": "Ergebnisse durchsuchen"
"RESULTS": "Ergebnisse durchsuchen",
"NO_RESULT": "Keine Ergebnisse gefunden"
},
"SOCIAL": {
"LIKE": "Like-Komponente",
+11 -3
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "You don't have permission to manage versions of this content",
"NO_PERMISSION_EVENT": "You don't have ${event.permission} permission to ${event.action} the ${event.type}",
"CHOOSE_FILE": "Select a file to see its versions"
"CHOOSE_FILE": "Select a file to see its versions",
"DIALOG": {
"CLOSE": "Close",
"TITLE": "Manage Versions"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF Demo Application",
@@ -13,6 +17,7 @@
"LOGIN": "Login",
"CUSTOM_SOURCES": "Custom Sources",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Lazy)",
"FORM": "Form",
"FORM_LIST": "Form List",
"UPLOADER": "Uploader",
@@ -20,6 +25,7 @@
"TAG": "Tag",
"SOCIAL": "Social",
"SETTINGS": "Settings",
"OVERLAY_VIEWER": "Overlay Viewer",
"ABOUT": "About"
},
"DOCUMENT_LIST": {
@@ -49,7 +55,8 @@
"DOWNLOAD": "Download",
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete"
"DELETE": "Delete",
"PROCESS_ACTION": "Start Process"
}
}
},
@@ -71,7 +78,8 @@
"REPORTS-TAB": "Reports",
"START-TASK": "Start task",
"START-PROCESS": "Start process",
"AUDIT-LOG": "Process Audit log"
"PROCESS-AUDIT-LOG": "Process Audit log",
"TASK-AUDIT-LOG": "Task Audit log"
},
"FORM-LIST": {
"STORE": "Store",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "No tiene permiso para administrar versiones de este contenido",
"NO_PERMISSION_EVENT": "No tiene permiso ${event.permission} para ${event.action} el ${event.type}",
"CHOOSE_FILE": "Seleccione un fichero para ver sus versiones"
"CHOOSE_FILE": "Seleccione un fichero para ver sus versiones",
"DIALOG": {
"CLOSE": "Cerrar",
"TITLE": "Gestionar versiones"
}
},
"APP_LAYOUT": {
"APP_NAME": "Aplicación ADF Demo",
@@ -20,6 +24,7 @@
"TAG": "Etiqueta",
"SOCIAL": "Social",
"SETTINGS": "Configuración",
"OVERLAY_VIEWER": "Visor de superposición",
"ABOUT": "Acerca de"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "Filtro de tamaño máximo",
"ENABLE_VERSIONING": "Habilitar control de versiones",
"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",
"COLUMNS": {
"DISPLAY_NAME": "Nombre a mostrar",
@@ -48,7 +54,8 @@
"DOWNLOAD": "Descargar",
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Eliminar"
"DELETE": "Eliminar",
"PROCESS_ACTION": "Iniciar proceso"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "Informes",
"START-TASK": "Iniciar tarea",
"START-PROCESS": "Iniciar proceso",
"AUDIT-LOG": "Procesar registro de auditorías"
"PROCESS-AUDIT-LOG": "Registro de auditoría de procesos",
"TASK-AUDIT-LOG": "Registro de auditoría de tareas"
},
"FORM-LIST": {
"STORE": "Almacenar",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "Pie del inicio de sesión"
},
"SEARCH": {
"RESULTS": "Resultados de la búsqueda"
"RESULTS": "Resultados de la búsqueda",
"NO_RESULT": "Ningún resultado encontrado"
},
"SOCIAL": {
"LIKE": "Componente Me gusta",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "Vous n'avez pas les droits d'accès pour gérer les versions de ce contenu",
"NO_PERMISSION_EVENT": "Vous n'avez pas les droits d'accès ${event.permission} pour ${event.action} le/la ${event.type}",
"CHOOSE_FILE": "Sélectionnez un fichier pour afficher ses versions"
"CHOOSE_FILE": "Sélectionnez un fichier pour afficher ses versions",
"DIALOG": {
"CLOSE": "Fermer",
"TITLE": "Gérer les versions"
}
},
"APP_LAYOUT": {
"APP_NAME": "Application Démo ADF",
@@ -20,6 +24,7 @@
"TAG": "Tag",
"SOCIAL": "Réseaux sociaux",
"SETTINGS": "Paramètres",
"OVERLAY_VIEWER": "Visualisation de la superposition",
"ABOUT": "À propos de"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "Filtre de taille max",
"ENABLE_VERSIONING": "Activer le contrôle de version",
"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",
"COLUMNS": {
"DISPLAY_NAME": "Nom affiché",
@@ -48,7 +54,8 @@
"DOWNLOAD": "Télécharger",
"COPY": "Copier",
"MOVE": "Déplacer",
"DELETE": "Supprimer"
"DELETE": "Supprimer",
"PROCESS_ACTION": "Démarrer le processus"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "Rapports",
"START-TASK": "Démarrer la tâche",
"START-PROCESS": "Démarrer le processus",
"AUDIT-LOG": "Journal d'audit des processus"
"PROCESS-AUDIT-LOG": "Journal d'audit des processus",
"TASK-AUDIT-LOG": "Journal d'audit des tâches"
},
"FORM-LIST": {
"STORE": "Stocker",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "Pied de la page connexion"
},
"SEARCH": {
"RESULTS": "Résultats de la recherche"
"RESULTS": "Résultats de la recherche",
"NO_RESULT": "Aucun résultat trouvé"
},
"SOCIAL": {
"LIKE": "Composant J'aime",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "Non hai il permesso di gestire versioni di questo contenuto",
"NO_PERMISSION_EVENT": "Non hai il permesso ${event.permission} di ${event.action} ${event.type}",
"CHOOSE_FILE": "Seleziona un file per visualizzarne le versioni"
"CHOOSE_FILE": "Seleziona un file per visualizzarne le versioni",
"DIALOG": {
"CLOSE": "Chiudi",
"TITLE": "Gestione versioni"
}
},
"APP_LAYOUT": {
"APP_NAME": "Applicazione demo ADF",
@@ -20,6 +24,7 @@
"TAG": "Tag",
"SOCIAL": "Social",
"SETTINGS": "Impostazioni",
"OVERLAY_VIEWER": "Visualizzatore overlay",
"ABOUT": "Informazioni su"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "Filtro dimensioni max",
"ENABLE_VERSIONING": "Abilita controllo delle versioni",
"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",
"COLUMNS": {
"DISPLAY_NAME": "Nome visualizzato",
@@ -48,7 +54,8 @@
"DOWNLOAD": "Download",
"COPY": "Copia",
"MOVE": "Sposta",
"DELETE": "Elimina"
"DELETE": "Elimina",
"PROCESS_ACTION": "Avvia processo"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "Rapporti",
"START-TASK": "Avvia compito",
"START-PROCESS": "Avvia processo",
"AUDIT-LOG": "Log di audit processo"
"PROCESS-AUDIT-LOG": "Registro di audit processo",
"TASK-AUDIT-LOG": "Registro di audit compito"
},
"FORM-LIST": {
"STORE": "Memorizza",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "Piè di pagina login"
},
"SEARCH": {
"RESULTS": "Risultati della ricerca"
"RESULTS": "Risultati della ricerca",
"NO_RESULT": "Nessun risultato trovato"
},
"SOCIAL": {
"LIKE": "Componente Like",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "このコンテンツのバージョンを管理する権限がありません",
"NO_PERMISSION_EVENT": "${event.type} を ${event.action} するための ${event.permission} 権限がありません",
"CHOOSE_FILE": "バージョンを表示するファイルを選択してください"
"CHOOSE_FILE": "バージョンを表示するファイルを選択してください",
"DIALOG": {
"CLOSE": "閉じる",
"TITLE": "バージョンの管理"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF デモアプリケーション",
@@ -20,6 +24,7 @@
"TAG": "タグ",
"SOCIAL": "ソーシャル",
"SETTINGS": "設定",
"OVERLAY_VIEWER": "オーバーレイビューア",
"ABOUT": "バージョン情報"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "最大サイズフィルタ",
"ENABLE_VERSIONING": "バージョン管理を有効にする",
"DESCRIPTION_UPLOAD": "アップロードを有効にします",
"ENABLE_INFINITE_SCROLL": "無限スクロールを有効にする",
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します",
"COLUMNS": {
"DISPLAY_NAME": "表示名",
@@ -48,7 +54,8 @@
"DOWNLOAD": "ダウンロード",
"COPY": "コピー",
"MOVE": "移動",
"DELETE": "削除"
"DELETE": "削除",
"PROCESS_ACTION": "プロセスの開始"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "レポート",
"START-TASK": "タスクの開始",
"START-PROCESS": "プロセスの開始",
"AUDIT-LOG": "プロセスの監査ログ"
"PROCESS-AUDIT-LOG": "プロセスの監査ログ",
"TASK-AUDIT-LOG": "タスクの監査ログ"
},
"FORM-LIST": {
"STORE": "保存",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "ログインページのフッター"
},
"SEARCH": {
"RESULTS": "検索結果"
"RESULTS": "検索結果",
"NO_RESULT": "一致するアイテムはありません"
},
"SOCIAL": {
"LIKE": "[いいね!] コンポーネント",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "Du har ikke tillatelse til å håndtere versjoner av dette innholdet",
"NO_PERMISSION_EVENT": "Du har ikke ${event.permission} tillatelse til å ${event.action} ${event.type}",
"CHOOSE_FILE": "Velg en fil for å se versjonene"
"CHOOSE_FILE": "Velg en fil for å se versjonene",
"DIALOG": {
"CLOSE": "Lukk",
"TITLE": "Håndtere versjoner"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-demoprogam",
@@ -20,6 +24,7 @@
"TAG": "Tagg",
"SOCIAL": "Sosial",
"SETTINGS": "Innstillinger",
"OVERLAY_VIEWER": "Overleggsfremviser",
"ABOUT": "Om"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "Maks. størrelsesfilter",
"ENABLE_VERSIONING": "Aktiver versjonering",
"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",
"COLUMNS": {
"DISPLAY_NAME": "Vis navn",
@@ -48,7 +54,8 @@
"DOWNLOAD": "Last ned",
"COPY": "Kopier",
"MOVE": "Flytt",
"DELETE": "Slett"
"DELETE": "Slett",
"PROCESS_ACTION": "Start prosess"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "Rapporter",
"START-TASK": "Start oppgave",
"START-PROCESS": "Start prosess",
"AUDIT-LOG": "Behandle revisjonslogg"
"PROCESS-AUDIT-LOG": "Prosessrevisjonslogg",
"TASK-AUDIT-LOG": "Oppgaverevisjonslogg"
},
"FORM-LIST": {
"STORE": "Lagre",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "Bunntekt pålogging"
},
"SEARCH": {
"RESULTS": "Søkeresultater"
"RESULTS": "Søkeresultater",
"NO_RESULT": "Ingen resultater funnet"
},
"SOCIAL": {
"LIKE": "Like komponent",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "U hebt geen rechten voor het beheren van versies van deze content",
"NO_PERMISSION_EVENT": "U hebt geen ${event.permission} rechten voor het ${event.action} van ${event.type}",
"CHOOSE_FILE": "Selecteer een bestand om de versies ervan te zien"
"CHOOSE_FILE": "Selecteer een bestand om de versies ervan te zien",
"DIALOG": {
"CLOSE": "Sluiten",
"TITLE": "Versies beheren"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-demotoepassing",
@@ -20,6 +24,7 @@
"TAG": "Tag",
"SOCIAL": "Sociaal",
"SETTINGS": "Instellingen",
"OVERLAY_VIEWER": "Overlay-viewer",
"ABOUT": "Info"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "Max.formaat filter",
"ENABLE_VERSIONING": "Versiebeheer inschakelen",
"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",
"COLUMNS": {
"DISPLAY_NAME": "Getoonde naam",
@@ -48,7 +54,8 @@
"DOWNLOAD": "Downloaden",
"COPY": "Kopiëren",
"MOVE": "Verplaatsen",
"DELETE": "Verwijderen"
"DELETE": "Verwijderen",
"PROCESS_ACTION": "Proces starten"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "Rapporten",
"START-TASK": "Taak starten",
"START-PROCESS": "Proces starten",
"AUDIT-LOG": "Auditlog van proces"
"PROCESS-AUDIT-LOG": "Auditlog van proces",
"TASK-AUDIT-LOG": "Auditlog van taak"
},
"FORM-LIST": {
"STORE": "Opslaan",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "Voettekst aanmeldingspagina"
},
"SEARCH": {
"RESULTS": "Zoekresultaten"
"RESULTS": "Zoekresultaten",
"NO_RESULT": "Geen resultaten gevonden"
},
"SOCIAL": {
"LIKE": "'Vind ik leuk'-component",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "Você não tem permissão para gerenciar versões deste conteúdo",
"NO_PERMISSION_EVENT": "Você não tem a permissão ${event.permission} para ${event.action} o ${event.type}",
"CHOOSE_FILE": "Selecione um arquivo para ver suas versões"
"CHOOSE_FILE": "Selecione um arquivo para ver suas versões",
"DIALOG": {
"CLOSE": "Fechar",
"TITLE": "Gerenciar versões"
}
},
"APP_LAYOUT": {
"APP_NAME": "Aplicativo Demo ADF",
@@ -20,6 +24,7 @@
"TAG": "Marca",
"SOCIAL": "Social",
"SETTINGS": "Configurações",
"OVERLAY_VIEWER": "Visualizador de sobreposição",
"ABOUT": "Sobre"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "Tamanho máximo do filtro",
"ENABLE_VERSIONING": "Ativar versões",
"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",
"COLUMNS": {
"DISPLAY_NAME": "Nome de exibição",
@@ -48,7 +54,8 @@
"DOWNLOAD": "Download",
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Excluir"
"DELETE": "Excluir",
"PROCESS_ACTION": "Iniciar processo"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "Relatórios",
"START-TASK": "Iniciar tarefa",
"START-PROCESS": "Iniciar processo",
"AUDIT-LOG": "Log de auditoria de processo"
"PROCESS-AUDIT-LOG": "Log de auditoria de processo",
"TASK-AUDIT-LOG": "Log de auditoria de tarefa"
},
"FORM-LIST": {
"STORE": "Armazenar",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "Rodapé de login"
},
"SEARCH": {
"RESULTS": "Resultados da pesquisa"
"RESULTS": "Resultados da pesquisa",
"NO_RESULT": "Nenhum resultado encontrado"
},
"SOCIAL": {
"LIKE": "Componente Like",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "У вас нет разрешения на управление версиями этого контента",
"NO_PERMISSION_EVENT": "У вас нет разрешения ${event.permission} на ${event.action} ${event.type}",
"CHOOSE_FILE": "Чтобы просмотреть версии файла, выберите файл"
"CHOOSE_FILE": "Чтобы просмотреть версии файла, выберите файл",
"DIALOG": {
"CLOSE": "Закрыть",
"TITLE": "Управление версиями"
}
},
"APP_LAYOUT": {
"APP_NAME": "Демонстрационное приложение ADF",
@@ -20,6 +24,7 @@
"TAG": "Метка",
"SOCIAL": "Социальный",
"SETTINGS": "Параметры",
"OVERLAY_VIEWER": "Просмотр наложения",
"ABOUT": "О приложении"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "Фильтр максимального размера",
"ENABLE_VERSIONING": "Включить поддержку версий",
"DESCRIPTION_UPLOAD": "Включить загрузку",
"ENABLE_INFINITE_SCROLL": "Включить бесконечную прокрутку",
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов",
"COLUMNS": {
"DISPLAY_NAME": "Отображаемое имя",
@@ -48,7 +54,8 @@
"DOWNLOAD": "Скачать",
"COPY": "Копировать",
"MOVE": "Переместить",
"DELETE": "Удалить"
"DELETE": "Удалить",
"PROCESS_ACTION": "Начать процесс"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "Отчеты",
"START-TASK": "Начать задачу",
"START-PROCESS": "Начать процесс",
"AUDIT-LOG": "Журнал аудита процессов"
"PROCESS-AUDIT-LOG": "Журнал проверки процесса",
"TASK-AUDIT-LOG": "Журнал проверки задачи"
},
"FORM-LIST": {
"STORE": "Хранилище",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "Нижний колонтитул страницы входа в систему"
},
"SEARCH": {
"RESULTS": "Результаты поиска"
"RESULTS": "Результаты поиска",
"NO_RESULT": "Результаты не найдены"
},
"SOCIAL": {
"LIKE": "Компонент \"Нравится\"",
+13 -4
View File
@@ -3,7 +3,11 @@
"VERSION": {
"NO_PERMISSION": "您没有管理此内容版本的权限",
"NO_PERMISSION_EVENT": "您没有${event.action}${event.type}的${event.permission}权限",
"CHOOSE_FILE": "选择一个文件,查看其版本"
"CHOOSE_FILE": "选择一个文件,查看其版本",
"DIALOG": {
"CLOSE": "关闭",
"TITLE": "管理版本"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF 演示应用程序",
@@ -20,6 +24,7 @@
"TAG": "标签",
"SOCIAL": "社交",
"SETTINGS": "设置",
"OVERLAY_VIEWER": "重叠查看器",
"ABOUT": "关于"
},
"DOCUMENT_LIST": {
@@ -30,6 +35,7 @@
"MAX_SIZE": "最大大小过滤器",
"ENABLE_VERSIONING": "启用版本控制",
"DESCRIPTION_UPLOAD": "启用上传",
"ENABLE_INFINITE_SCROLL": "启用无限滚动",
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择",
"COLUMNS": {
"DISPLAY_NAME": "显示名称",
@@ -48,7 +54,8 @@
"DOWNLOAD": "下载",
"COPY": "复制",
"MOVE": "移动",
"DELETE": "删除"
"DELETE": "删除",
"PROCESS_ACTION": "启动流程"
}
}
},
@@ -70,7 +77,8 @@
"REPORTS-TAB": "报告",
"START-TASK": "启动任务",
"START-PROCESS": "启动流程",
"AUDIT-LOG": "流程审计记录"
"PROCESS-AUDIT-LOG": "流程审计日志",
"TASK-AUDIT-LOG": "任务审计日志"
},
"FORM-LIST": {
"STORE": "存储",
@@ -82,7 +90,8 @@
"LOGIN_FOOTER": "登录页脚"
},
"SEARCH": {
"RESULTS": "搜索结果"
"RESULTS": "搜索结果",
"NO_RESULT": "未找到结果"
},
"SOCIAL": {
"LIKE": "点赞组件",
+16 -47
View File
@@ -1,8 +1,9 @@
{
"$schema": "../../lib/core/app-config/schema.json",
"ecmHost": "http://{hostname}:{port}",
"bpmHost": "http://{hostname}:{port}",
"application": {
"name": "Alfresco ADF Appplication"
"name": "Alfresco ADF Application"
},
"languages": [
{
@@ -51,7 +52,8 @@
}
],
"pagination": {
"size": 25
"size": 25,
"supportedPageSizes": [ 5, 10, 15, 20 ]
},
"files": {
"excluded": [".DS_Store", "desktop.ini", ".git"]
@@ -83,7 +85,6 @@
}
},
"document-list": {
"supportedPageSizes": [ 5, 10, 15, 20 ],
"presets": {
"-trashcan-": [
{
@@ -330,7 +331,6 @@
}
},
"adf-task-list": {
"supportedPageSizes": [ 5, 10, 15, 20 ],
"presets": {
"default": [
{
@@ -338,52 +338,14 @@
"type": "text",
"title": "ADF_TASK_LIST.PROPERTIES.NAME",
"sortable": true
},
{
"key": "noassignee",
"type": "text",
"title": "ADF_TASK_LIST.PROPERTIES.ASSIGNEE_DEFAULT",
"cssClass": "hidden",
"sortable": true
},
{
"key": "nodueDate",
"type": "text",
"title": "ADF_TASK_LIST.PROPERTIES.DUE_DATE_DEFAULT",
"cssClass": "hidden",
"sortable": true
},
{
"key": "nocategory",
"type": "text",
"title": "ADF_TASK_LIST.PROPERTIES.CATEGORY_DEFAULT",
"cssClass": "hidden",
"sortable": true
},
{
"key": "noparentname",
"type": "text",
"title": "ADF_TASK_LIST.PROPERTIES.PARENT_NAME_DEFAULT",
"cssClass": "hidden",
"sortable": true
},
{
"key": "nodescription",
"type": "date",
"title": "ADF_TASK_LIST.PROPERTIES.DESCRIPTION_DEFAULT",
"cssClass": "hidden",
"sortable": true
},
{
"key": "noformName",
"type": "date",
"title": "ADF_TASK_LIST.PROPERTIES.FORM_NAME_DEFAULT",
"cssClass": "hidden",
"sortable": true
}
]
}
},
"adf-start-process": {
"name": "My Default Name",
"processDefinitionName": "My default process def name"
},
"adf-process-list": {
"presets": {
"default": [
@@ -402,5 +364,12 @@
}
]
}
},
"content-metadata": {
"presets": {
"default": {
"exif:exif": "*"
}
}
}
}
}
+2 -4
View File
@@ -16,7 +16,7 @@
*/
import { Component, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { ActivatedRoute } from '@angular/router';
import { SettingsService, PageTitleService, StorageService, TranslationService } from '@alfresco/adf-core';
@Component({
@@ -26,14 +26,12 @@ import { SettingsService, PageTitleService, StorageService, TranslationService }
encapsulation: ViewEncapsulation.None
})
export class AppComponent {
searchTerm: string = '';
constructor(private settingsService: SettingsService,
private storage: StorageService,
translationService: TranslationService,
pageTitleService: PageTitleService,
route: ActivatedRoute,
router: Router) {
route: ActivatedRoute) {
this.setProvider();
pageTitleService.setTitle();
}
+17 -7
View File
@@ -2,10 +2,9 @@ import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { FlexLayoutModule } from '@angular/flex-layout';
// import { Editor3DModule } from 'ng2-3d-editor';
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';
@@ -17,10 +16,12 @@ import { AppLayoutComponent } from './components/app-layout/app-layout.component
import { HomeComponent } from './components/home/home.component';
import { SearchBarComponent } from './components/search/search-bar.component';
import { SearchResultComponent } from './components/search/search-result.component';
import { SearchExtendedComponent } from './components/search/search-extended.component';
import { AboutComponent } from './components/about/about.component';
import { FormComponent } from './components/form/form.component';
import { FormListComponent } from './components/form/form-list.component';
import { CustomSourcesComponent } from './components/files/custom-sources.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
@@ -39,16 +40,16 @@ 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';
@NgModule({
imports: [
BrowserAnimationsModule,
ReactiveFormsModule,
TranslateModule,
BrowserModule,
routing,
FormsModule,
@@ -56,7 +57,6 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
MaterialModule,
ThemePickerModule,
FlexLayoutModule,
//Editor3DModule,
ChartsModule,
HttpClientModule
],
@@ -68,6 +68,7 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
HomeComponent,
SearchBarComponent,
SearchResultComponent,
SearchExtendedComponent,
AboutComponent,
ProcessServiceComponent,
ShowDiagramComponent,
@@ -85,10 +86,11 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
CustomSourcesComponent,
VersionManagerDialogAdapterComponent,
TaskAttachmentsComponent,
ProcessAttachmentsComponent
ProcessAttachmentsComponent,
OverlayViewerComponent,
SharedLinkViewComponent
],
providers: [
TranslateService,
{ provide: AppConfigService, useClass: DebugAppConfigService },
{
provide: TRANSLATION_PROVIDER,
@@ -97,6 +99,14 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
name: 'app',
source: 'resources'
}
},
{
provide: TRANSLATION_PROVIDER,
multi: true,
useValue: {
name: 'lazy-loading',
source: 'resources/lazy-loading'
}
}
],
entryComponents: [
+22 -1
View File
@@ -29,6 +29,7 @@ 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 { SearchResultComponent } from './components/search/search-result.component';
import { SearchExtendedComponent } from './components/search/search-extended.component';
import { DataTableComponent } from './components/datatable/datatable.component';
import { WebscriptComponent } from './components/webscript/webscript.component';
@@ -41,11 +42,17 @@ 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';
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: '',
component: AppLayoutComponent,
@@ -89,6 +96,11 @@ export const appRoutes: Routes = [
component: SearchResultComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'extendedSearch',
component: SearchExtendedComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'activiti',
component: AppsViewComponent,
@@ -149,7 +161,16 @@ export const appRoutes: Routes = [
},
{ path: 'about', component: AboutComponent },
{ path: 'form', component: FormComponent },
{ path: 'form-list', component: FormListComponent }
{ path: 'form-list', component: FormListComponent },
{
path: 'overlay-viewer',
component: OverlayViewerComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'datatable-lazy',
loadChildren: 'app/components/lazy-loading/lazy-loading.module#LazyLoadingModule'
}
]
}
];
@@ -1,7 +1,7 @@
<div class="about-container">
<h3>Server settings</h3>
<mat-list>
<small>The values below are taken from the AppConfigService and loaded from the '{{ configFile }}' file.</small>
<small>The values below are taken from the AppConfigService </small>
<mat-list-item>
<h4 matLine> Alfresco Process Services URL: {{ bpmHost }}</h4>
</mat-list-item>
@@ -27,7 +27,7 @@ import {
} from '@alfresco/adf-core';
@Component({
selector: 'adf-about-page',
selector: 'app-about-page',
templateUrl: './about.component.html',
styleUrls: ['./about.component.css']
})
@@ -37,11 +37,10 @@ export class AboutComponent implements OnInit {
status: ObjectDataTableAdapter;
license: ObjectDataTableAdapter;
modules: ObjectDataTableAdapter;
githubUrlCommitAlpha: string = 'https://github.com/Alfresco/alfresco-ng2-components/commits/';
githubUrlCommitAlpha = 'https://github.com/Alfresco/alfresco-ng2-components/commits/';
configFile: string = 'app.config.json';
ecmHost: string = '';
bpmHost: string = '';
ecmHost = '';
bpmHost = '';
ecmVersion: EcmProductVersionModel = null;
bpmVersion: BpmProductVersionModel = null;
@@ -80,7 +79,7 @@ export class AboutComponent implements OnInit {
{type: 'text', key: 'expiresAt', title: 'Expires At', sortable: true},
{type: 'text', key: 'remainingDays', title: 'Remaining Days', sortable: true},
{type: 'text', key: 'holder', title: 'Holder', sortable: true},
{type: 'text', key: 'mode', title: 'Is Cluster Enabled', sortable: true},
{type: 'text', key: 'mode', title: 'Mode', sortable: true},
{type: 'text', key: 'isClusterEnabled', title: 'Is Cluster Enabled', sortable: true},
{type: 'text', key: 'isCryptodocEnabled', title: 'Is Cryptodoc Enable', sortable: true}
]);
@@ -94,13 +93,13 @@ export class AboutComponent implements OnInit {
}
this.http.get('/versions.json').subscribe(response => {
let regexp = new RegExp('^(@alfresco)');
const regexp = new RegExp('^(@alfresco)');
let alfrescoPackages = Object.keys(response.json().dependencies).filter((val) => {
const alfrescoPackages = Object.keys(response.json().dependencies).filter((val) => {
return regexp.test(val);
});
let alfrescoPackagesTableRepresentation = [];
const alfrescoPackagesTableRepresentation = [];
alfrescoPackages.forEach((val) => {
alfrescoPackagesTableRepresentation.push({
name: val,
@@ -122,12 +121,12 @@ export class AboutComponent implements OnInit {
}
private gitHubLinkCreation(alfrescoPackagesTableRepresentation): void {
let corePackage = alfrescoPackagesTableRepresentation.find((packageUp) => {
const corePackage = alfrescoPackagesTableRepresentation.find((packageUp) => {
return packageUp.name === '@alfresco/adf-core';
});
if (corePackage) {
let commitIsh = corePackage.version.split('-');
const commitIsh = corePackage.version.split('-');
if (commitIsh.length > 1) {
this.githubUrlCommitAlpha = this.githubUrlCommitAlpha + commitIsh[1];
} else {
@@ -12,7 +12,7 @@
</mat-nav-list>
</mat-sidenav>
<mat-toolbar color="primary" class="adf-app-layout-toolbar" md-no-ink>
<mat-toolbar color="primary" class="adf-app-layout-toolbar mat-elevation-z6">
<adf-userinfo
class="adf-app-layout-user-profile"
[menuPositionX]="'before'"
@@ -23,14 +23,14 @@
<div class="adf-app-layout-menu-spacer"></div>
<adf-search-bar fxFlex="0 1 auto"></adf-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>
<theme-picker></theme-picker>
<app-theme-picker></app-theme-picker>
<button mat-icon-button [matMenuTriggerFor]="langMenu">
<mat-icon>language</mat-icon>
</button>
@@ -4,12 +4,23 @@
$toolbarHeight: 64px;
@media screen and ($mat-small) {
adf-search-bar {
@media screen and ($mat-xsmall) {
app-search-bar {
width: 150px;
}
}
@media screen and (max-width: 350px) {
app-search-bar {
width: 100px;
}
}
.adf-app-layout-toolbar {
position: relative;
overflow: visible !important;
}
.adf-app-layout {
display: block;
min-width: $minimumAppWidth;
@@ -34,6 +34,7 @@ export class AppLayoutComponent {
{ href: '/login', icon: 'vpn_key', title: 'APP_LAYOUT.LOGIN' },
{ 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' },
@@ -41,8 +42,11 @@ export class AppLayoutComponent {
{ 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: '/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' }
];
constructor(){};
constructor() {
}
}
@@ -21,13 +21,13 @@ import { DataCellEvent, DataRowActionEvent, DataSorting, ObjectDataColumn, Objec
import { Observable } from 'rxjs/Observable';
@Component({
selector: 'datatable',
selector: 'app-datatable',
templateUrl: './datatable.component.html',
styleUrls: ['./datatable.component.scss']
})
export class DataTableComponent {
multiselect: boolean = false;
multiselect = false;
data: ObjectDataTableAdapter;
@Input()
@@ -39,7 +39,7 @@ export class DataTableComponent {
{ value: 'multiple', viewValue: 'Multiple' }
];
private _imageUrl: string = 'http://placehold.it/140x100';
private _imageUrl = 'http://placehold.it/140x100';
private _createdBy: any = {
name: 'Denys Vuika',
email: 'denys.vuika@alfresco.com'
@@ -94,8 +94,8 @@ export class DataTableComponent {
}
addRow() {
let id = this.data.getRows().length + 1;
let row = new ObjectDataRow({
const id = this.data.getRows().length + 1;
const row = new ObjectDataRow({
id: id,
name: 'Name ' + id,
createdOn: new Date(),
@@ -107,7 +107,7 @@ export class DataTableComponent {
}
replaceRows() {
let objects = [
const objects = [
{
id: 10,
name: 'Name 10',
@@ -137,21 +137,21 @@ export class DataTableComponent {
icon: this._imageUrl
}
];
let rows = objects.map(obj => new ObjectDataRow(obj));
const rows = objects.map(obj => new ObjectDataRow(obj));
this.data.setRows(rows);
}
replaceColumns() {
let schema = [
const schema = [
{ type: 'text', key: 'id', title: 'Id', sortable: true },
{ type: 'text', key: 'name', title: 'Name', sortable: true, cssClass: 'full-width name-column' }
];
let columns = schema.map(col => new ObjectDataColumn(col));
const columns = schema.map(col => new ObjectDataColumn(col));
this.data.setColumns(columns);
}
onShowRowActionsMenu(event: DataCellEvent) {
let myAction = {
const myAction = {
title: 'Hello'
// you custom metadata needed for onExecuteRowAction
};
@@ -161,7 +161,7 @@ export class DataTableComponent {
}
onExecuteRowAction(event: DataRowActionEvent) {
let args = event.value;
const args = event.value;
this.logService.log(args.row);
this.logService.log(args.action);
window.alert(`My custom action: ${args.action.title}`);
@@ -176,7 +176,7 @@ export class DataTableComponent {
}
getRowForNode() {
let opts: any = {
const opts: any = {
includeSource: true,
include: ['path', 'properties', 'allowableOperations']
};
@@ -9,7 +9,8 @@
<adf-info-drawer-tab label="Versions">
<mat-card>
<mat-card-content>
Versions go here...
<adf-version-manager [node]="node">
</adf-version-manager>
</mat-card-content>
</mat-card>
</adf-info-drawer-tab>
@@ -49,4 +50,4 @@
</extension-viewer>
-->
</adf-viewer>
</ng-container>
</ng-container>
@@ -33,9 +33,6 @@ export class FileViewComponent implements OnInit {
private apiService: AlfrescoApiService) {}
ngOnInit() {
this.route
.data
.subscribe(v => console.log(v));
this.route.params.subscribe(params => {
const id = params.nodeId;
@@ -19,7 +19,7 @@ import { Component, Input, ViewChild } from '@angular/core';
import { DocumentListComponent } from '@alfresco/adf-content-services';
@Component({
selector: 'adf-custom-sources',
selector: 'app-custom-sources',
templateUrl: 'custom-sources.component.html'
})
export class CustomSourcesComponent {
@@ -116,10 +116,9 @@
</button>
</mat-menu>
</adf-toolbar>
<adf-document-list
#documentList
[maxItems]="currentMaxItems"
[skipCount]="currentSkipCount"
[enableInfiniteScrolling]="infiniteScrolling"
[permissionsStyle]="permissionsStyle"
[currentFolderId]="currentFolderId"
@@ -192,14 +191,14 @@
format="timeAgo"
class="desktop-only">
</data-column>
</data-columns>
<content-actions>
<!-- folder actions -->
<!-- common actions -->
<content-action
icon="content_copy"
target="folder"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.COPY' | translate}}"
title="DOCUMENT_LIST.ACTIONS.FOLDER.COPY"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
@@ -208,8 +207,7 @@
</content-action>
<content-action
icon="redo"
target="folder"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.MOVE' | translate}}"
title="DOCUMENT_LIST.ACTIONS.FOLDER.MOVE"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
@@ -218,34 +216,14 @@
</content-action>
<content-action
icon="delete"
target="folder"
permission="delete"
[disableWithNoPermission]="true"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.DELETE' | translate}}"
title="DOCUMENT_LIST.ACTIONS.FOLDER.DELETE"
(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"
@@ -253,14 +231,17 @@
(execute)="onManageVersions($event)">
</content-action>
<content-action
icon="delete"
icon="file_download"
target="document"
permission="delete"
[disableWithNoPermission]="true"
(permissionEvent)="handlePermissionError($event)"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.DELETE' | translate}}"
(success)="onDeleteActionSuccess($event)"
handler="delete">
title="DOCUMENT_LIST.ACTIONS.DOCUMENT.DOWNLOAD"
handler="download">
</content-action>
<content-action
*ngIf="authenticationService.isBpmLoggedIn()"
icon="play_arrow"
target="document"
title="DOCUMENT_LIST.ACTIONS.DOCUMENT.PROCESS_ACTION"
(execute)="startProcesAction($event)">
</content-action>
</content-actions>
</adf-document-list>
@@ -268,7 +249,7 @@
#standardPagination
*ngIf="!infiniteScrolling"
class="adf-documentlist-pagination"
[pagination]="pagination"
[target]="documentList"
[supportedPageSizes]="supportedPages"
(changePageSize)="onChangePageSize($event)"
(changePageNumber)="onChangePageNumber($event)"
@@ -277,13 +258,12 @@
</adf-pagination>
<adf-infinite-pagination
*ngIf="infiniteScrolling"
[pagination]="pagination"
[loading]="documentList.infiniteLoading"
[pageSize]="currentMaxItems"
(loadMore)="loadNextBatch($event)">
[target]="documentList"
[loading]="documentList.infiniteLoading">
{{ 'ADF-DOCUMENT-LIST.LAYOUT.LOAD_MORE' | translate }}
</adf-infinite-pagination>
</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">
@@ -312,6 +292,13 @@
<context-menu-holder></context-menu-holder>
<div *ngIf="processId" >
<adf-start-process
[values]="formValues"
[appId]="processId">
</adf-start-process>
</div>
<div class="adf-content-service-settings">
<p>Current folder ID: {{ documentList.currentFolderId }}</p>
@@ -392,7 +379,7 @@
[rootFolderId]="documentList.currentFolderId"
[multipleFiles]="multipleFileUpload"
[uploadFolders]="folderUpload"
[maxFilesSize]="maxFilesSize"
[maxFilesSize]="maxSizeShow ? maxFilesSize : null"
(error)="handleUploadError($event)"
[versioning]="versioning"
[adf-node-permission]="'create'"
@@ -21,23 +21,25 @@ import {
} from '@angular/core';
import { MatDialog } from '@angular/material';
import { ActivatedRoute, Params, Router } from '@angular/router';
import { MinimalNodeEntity, NodePaging, Pagination, MinimalNodeEntryEntity } from 'alfresco-js-api';
import { MinimalNodeEntity, NodePaging, Pagination, MinimalNodeEntryEntity, SiteEntry } from 'alfresco-js-api';
import {
AlfrescoApiService, ContentService, TranslationService,
AlfrescoApiService, AuthenticationService, ContentService, TranslationService,
FileUploadEvent, FolderCreatedEvent, LogService, NotificationService,
SiteModel, UploadService, DataColumn, DataRow, UserPreferencesService,
PaginationComponent
UploadService, DataColumn, DataRow, UserPreferencesService,
PaginationComponent, FormValues
} from '@alfresco/adf-core';
import { DocumentListComponent, PermissionStyleModel, DownloadZipDialogComponent } 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 { Subscription } from 'rxjs/Subscription';
const DEFAULT_FOLDER_TO_SHOW = '-my-';
@Component({
selector: 'adf-files-component',
selector: 'app-files-component',
templateUrl: './files.component.html',
styleUrls: ['./files.component.scss']
})
@@ -45,8 +47,8 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
errorMessage: string = null;
fileNodeId: any;
showViewer: boolean = false;
showVersions: boolean = false;
showViewer = false;
showVersions = false;
toolbarColor = 'default';
@@ -60,6 +62,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
// 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 = {};
processId;
@Input()
selectionMode = 'multiple';
@@ -67,28 +73,28 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
multiselect = false;
@Input()
multipleFileUpload: boolean = false;
multipleFileUpload = false;
@Input()
folderUpload: boolean = false;
folderUpload = false;
@Input()
acceptedFilesTypeShow: boolean = false;
acceptedFilesTypeShow = false;
@Input()
maxSizeShow: boolean = false;
maxSizeShow = false;
@Input()
versioning: boolean = false;
versioning = false;
@Input()
acceptedFilesType: string = '.jpg,.pdf,.js';
acceptedFilesType = '.jpg,.pdf,.js';
@Input()
maxFilesSize: number = null;
@Input()
enableUpload: boolean = true;
enableUpload = true;
@Input()
nodeResult: NodePaging;
@@ -97,7 +103,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
pagination: Pagination;
@Input()
disableDragArea: boolean = false;
disableDragArea = false;
@Output()
documentListReady: EventEmitter<any> = new EventEmitter();
@@ -117,6 +123,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Output()
loadNext: EventEmitter<Pagination> = new EventEmitter();
@Output()
deleteElementSuccess: EventEmitter<any> = new EventEmitter();
@ViewChild(DocumentListComponent)
documentList: DocumentListComponent;
@@ -124,10 +133,8 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
standardPagination: PaginationComponent;
permissionsStyle: PermissionStyleModel[] = [];
supportedPages: number[] = [5, 10, 15, 20];
infiniteScrolling: boolean;
currentMaxItems: number;
currentSkipCount: number = 0;
supportedPages: number[];
private onCreateFolder: Subscription;
private onEditFolder: Subscription;
@@ -142,7 +149,8 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
private router: Router,
private logService: LogService,
private preference: UserPreferencesService,
@Optional() private route: ActivatedRoute) {
@Optional() private route: ActivatedRoute,
public authenticationService: AuthenticationService) {
}
showFile(event) {
@@ -169,7 +177,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
maxItems: this.preference.paginationSize,
skipCount: 0
};
this.currentMaxItems = this.preference.paginationSize;
}
if (this.route) {
this.route.params.forEach((params: Params) => {
@@ -186,6 +193,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.permissionsStyle.push(new PermissionStyleModel('document-list__create', PermissionsEnum.CREATE));
// this.permissionsStyle.push(new PermissionStyleModel('document-list__disable', PermissionsEnum.NOT_CREATE, false, true));
@@ -207,7 +215,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
giveDefaultPaginationWhenNotDefined() {
this.pagination = <Pagination> {
this.pagination = <Pagination> {
maxItems: this.preference.paginationSize,
skipCount: 0,
totalItems: 0,
@@ -255,7 +263,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
handlePermissionError(event: any) {
this.translateService.get('OPERATION.ERROR.NO_PERMISSION_EVENT', {
this.translateService.get('VERSION.NO_PERMISSION_EVENT', {
permission: event.permission,
action: event.action,
type: event.type
@@ -264,7 +272,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
message,
4000
);
})
});
}
handleUploadError(event: any) {
@@ -306,12 +314,13 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
onContentActionSuccess(message) {
let translatedMessage: any = this.translateService.get(message);
const translatedMessage: any = this.translateService.get(message);
this.notificationService.openSnackMessage(translatedMessage.value, 4000);
}
onDeleteActionSuccess(message) {
this.uploadService.fileDeleted.next(message);
this.deleteElementSuccess.emit();
}
onManageVersions(event) {
@@ -329,8 +338,8 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
}
getSiteContent(site: SiteModel) {
this.currentFolderId = site && site.guid ? site.guid : DEFAULT_FOLDER_TO_SHOW;
getSiteContent(site: SiteEntry) {
this.currentFolderId = site && site.entry.guid ? site.entry.guid : DEFAULT_FOLDER_TO_SHOW;
}
getDocumentListCurrentFolderId() {
@@ -444,34 +453,38 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
return false;
}
startProcesAction($event) {
this.formValues['file'] = $event.value.entry;
const dialogRef = this.dialog.open(SelectAppsDialogComponent, {
width: '630px',
panelClass: 'adf-version-manager-dialog'
});
dialogRef.afterClosed().subscribe(selectedProcess => {
this.processId = selectedProcess.id;
});
}
onChangePageSize(event: Pagination): void {
this.preference.paginationSize = event.maxItems;
this.currentMaxItems = event.maxItems;
this.currentSkipCount = event.skipCount;
this.changedPageSize.emit(event);
}
onChangePageNumber(event: Pagination): void {
this.currentMaxItems = event.maxItems;
this.currentSkipCount = event.skipCount;
this.changedPageNumber.emit(event);
}
onNextPage(event: Pagination): void {
this.currentMaxItems = event.maxItems;
this.currentSkipCount = event.skipCount;
this.turnedNextPage.emit(event);
}
loadNextBatch(event: Pagination) {
this.currentMaxItems = event.maxItems;
this.currentSkipCount = event.skipCount;
this.loadNext.emit(event);
}
onPrevPage(event: Pagination): void {
this.currentMaxItems = event.maxItems;
this.currentSkipCount = event.skipCount;
this.turnedPreviousPage.emit(event);
}
}
@@ -1,7 +1,7 @@
<header mat-dialog-title>Manage versions</header>
<header mat-dialog-title>{{'VERSION.DIALOG.TITLE' | translate}}</header>
<section mat-dialog-content>
<adf-version-manager [node]="contentEntry"></adf-version-manager>
</section>
<footer mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
<button mat-button (click)="close()">Close</button>
<button mat-button (click)="close()">{{'VERSION.DIALOG.CLOSE' | translate}}</button>
</footer>
@@ -19,7 +19,7 @@ import { Component, ViewChild } from '@angular/core';
import { FormComponent, FormModel, FormService, LogService } from '@alfresco/adf-core';
@Component({
selector: 'form-list',
selector: 'app-form-list',
templateUrl: 'form-list.component.html',
styleUrls: ['form-list.component.scss']
})
@@ -45,10 +45,10 @@ export class FormListComponent {
}
onRowDblClick(event: CustomEvent) {
let rowForm = event.detail.value.obj;
const rowForm = event.detail.value.obj;
this.formService.getFormDefinitionById(rowForm.id).subscribe((formModel) => {
let form = this.formService.parseForm(formModel.formDefinition);
const form = this.formService.parseForm(formModel.formDefinition);
this.form = form;
});
@@ -68,7 +68,7 @@ export class FormListComponent {
}
clone(objToCopyFrom, objToCopyTo) {
for (let attribute in objToCopyFrom) {
for (const attribute in objToCopyFrom) {
if (objToCopyFrom.hasOwnProperty(attribute)) {
objToCopyTo[attribute] = objToCopyFrom[attribute];
}
@@ -1,4 +1,6 @@
<div class="form-container">
<adf-form [form]="form">
<adf-form
[showRefreshButton]="false"
[form]="form">
</adf-form>
</div>
@@ -16,14 +16,14 @@
*/
import { Component, Inject, OnInit } from '@angular/core';
import { FormModel, FormService } from '@alfresco/adf-core';
import { FormModel, FormService, FormOutcomeEvent } from '@alfresco/adf-core';
import { InMemoryFormService } from '../../services/in-memory-form.service';
import { DemoForm } from './demo-form';
@Component({
selector: 'form',
selector: 'app-form',
templateUrl: 'form.component.html',
styleUrls: [ 'form.component.css' ],
styleUrls: ['form.component.css'],
providers: [
{ provide: FormService, useClass: InMemoryFormService }
]
@@ -33,14 +33,13 @@ export class FormComponent implements OnInit {
form: FormModel;
constructor(@Inject(FormService) private formService: InMemoryFormService) {
formService.executeOutcome.subscribe(e => {
e.preventDefault();
console.log(e.outcome);
formService.executeOutcome.subscribe((formOutcomeEvent: FormOutcomeEvent) => {
formOutcomeEvent.preventDefault();
});
}
ngOnInit() {
let formDefinitionJSON: any = DemoForm.getDefinition();
const formDefinitionJSON: any = DemoForm.getDefinition();
this.form = this.formService.parseForm(formDefinitionJSON);
}
@@ -1,187 +1,11 @@
<!-- DOCUMENT LIST-->
<mat-card class="adf-home-card">
<mat-card-title class="adf-home-card-title adf-primary-background-color" routerLink="/files">
<h2 >
<mat-icon>dvr</mat-icon>
<span class="adf-home-card__text">DocumentList - Content Services</span>
</h2>
</mat-card-title>
<mat-card-content>
Demonstrates multiple Alfresco Content Services components used together to display the files of your Content Services instance:
<ul class="adf-home-feature-list">
<li>
<mat-icon>brightness_1</mat-icon>
<span class="adf-home-feature-list__text">Communication with the Rest Api and core services</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-core" target="_blank">ng2-alfresco-core</a>
</li>
<li>
<mat-icon>dvr</mat-icon>
<span class="adf-home-feature-list__text">Document List</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-documentlist" target="_blank">ng2-alfresco-documentlist</a>
</li>
<li>
<mat-icon>file_upload</mat-icon>
<span class="adf-home-feature-list__text">Upload</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-upload" target="_blank">ng2-alfresco-upload</a>
</li>
<li>
<mat-icon>view_module</mat-icon>
<span class="adf-home-feature-list__text">DataTable</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-datatable" target="_blank">ng2-alfresco-datatable</a>
</li>
</ul>
</mat-card-content>
</mat-card>
<!-- Process Services-->
<mat-card class="adf-home-card">
<mat-card-title class="adf-home-card-title adf-primary-background-color" routerLink="/activiti">
<h2 >
<mat-icon>apps</mat-icon>
<span class="adf-home-card__text">Process Services</span>
</h2>
</mat-card-title>
<mat-card-content>
Demonstrates multiple Alfresco Process Services components used together to show your Process Services process and tasks:
<ul class="adf-home-feature-list">
<li>
<mat-icon>brightness_1</mat-icon>
<span class="adf-home-feature-list__text">Communication with the Rest Api and core services</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-core" target="_blank">ng2-alfresco-core</a>
</li>
<li>
<mat-icon>view_module</mat-icon>
<span class="adf-home-feature-list__text">App List</span>
<a href="https://www.npmjs.com/package/ng2-activiti-tasklist" target="_blank">ng2-activiti-apps</a>
</li>
<li>
<mat-icon>view_headline</mat-icon>
<span class="adf-home-feature-list__text">Task List</span>
<a href="https://www.npmjs.com/package/ng2-activiti-tasklist" target="_blank">ng2-activiti-tasklist</a>
</li>
<li>
<mat-icon>view_headline</mat-icon>
<span class="adf-home-feature-list__text">Process List</span>
<a href="https://www.npmjs.com/package/ng2-activiti-processlist" target="_blank">ng2-activiti-processlist</a>
</li>
<li>
<mat-icon>view_quilt</mat-icon>
<span class="adf-home-feature-list__text">Form</span>
<a href="https://www.npmjs.com/package/ng2-activiti-form" target="_blank">ng2-activiti-form</a>
</li>
<li>
<mat-icon>pie_chart</mat-icon>
<span class="adf-home-feature-list__text">Analytics</span>
<a href="https://www.npmjs.com/package/ng2-activiti-analytics" target="_blank">ng2-activiti-analytics</a>,
<a href="https://www.npmjs.com/package/ng2-activiti-diagrams" target="_blank">ng2-activiti-diagrams</a>
</li>
<li>
<mat-icon>view_module</mat-icon>
<span class="adf-home-feature-list__text">DataTable</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-datatable" target="_blank">ng2-alfresco-datatable</a>
</li>
</ul>
</mat-card-content>
</mat-card>
<!-- DATATABLE-->
<mat-card class="adf-home-card">
<mat-card-title class="adf-home-card-title adf-primary-background-color" routerLink="/datatable">
<h2 >
<mat-icon>view_module</mat-icon>
<span class="adf-home-card__text">DataTable - Content Services & Process Services</span>
</h2>
</mat-card-title>
<mat-card-content>
Basic table component:
<ul class="adf-home-feature-list">
<li>
<mat-icon>brightness_1</mat-icon>
<span class="adf-home-feature-list__text">Communication with the Rest Api and core services</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-core" target="_blank">ng2-alfresco-core</a>
</li>
</ul>
</mat-card-content>
</mat-card>
<!-- UPLOADER-->
<mat-card class="adf-home-card">
<mat-card-title class="adf-home-card-title adf-primary-background-color" routerLink="/uploader">
<h2 >
<mat-icon>file_upload</mat-icon>
<span class="adf-home-card__text">Uploader - Content Services</span>
</h2>
</mat-card-title>
<mat-card-content>
Basic table uploader component for the Content Services & Process Services:
<ul class="adf-home-feature-list">
<li>
<mat-icon>brightness_1</mat-icon>
<span class="adf-home-feature-list__text">Communication with the Rest Api and core services</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-core" target="_blank">ng2-alfresco-core</a>
</li>
</ul>
</mat-card-content>
</mat-card>
<!-- LOGIN-->
<mat-card class="adf-home-card">
<mat-card-title class="adf-home-card-title adf-primary-background-color" routerLink="/login">
<h2 >
<mat-icon>account_circle</mat-icon>
<span class="adf-home-card__text">Login - Content Services & Process Services</span>
</h2>
</mat-card-title>
<mat-card-content>
Login component for the Content Services and Process Services:
<ul class="adf-home-feature-list">
<li>
<mat-icon>brightness_1</mat-icon>
<span class="adf-home-feature-list__text">Communication with the Rest Api and core services</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-core" target="_blank">ng2-alfresco-core</a>
</li>
</ul>
</mat-card-content>
</mat-card>
<!-- WEBSCRIPT-->
<mat-card class="adf-home-card">
<mat-card-title class="adf-home-card-title adf-primary-background-color" routerLink="/webscript">
<h2 >
<mat-icon>extension</mat-icon>
<span class="adf-home-card__text">Webscript - Content Services</span>
</h2>
</mat-card-title>
<mat-card-content>
Displays and creates webscripts in your Content Services instance:
<ul class="adf-home-feature-list">
<li>
<mat-icon>brightness_1</mat-icon>
<span class="adf-home-feature-list__text">Communication with the Rest Api and core services</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-core" target="_blank">ng2-alfresco-core</a>
</li>
</ul>
</mat-card-content>
</mat-card>
<!-- TAG-->
<mat-card class="adf-home-card">
<mat-card-title class="adf-home-card-title adf-primary-background-color" routerLink="/tag">
<h2 >
<mat-icon>local_offer</mat-icon>
<span class="adf-home-card__text">Tag - Content Services</span>
</h2>
</mat-card-title>
<mat-card-content>
Displays and adds tags to the node of your Content Services instance:
<ul class="adf-home-feature-list">
<li>
<mat-icon>brightness_1</mat-icon>
<span class="adf-home-feature-list__text">Communication with Rest</span>
<a href="https://www.npmjs.com/package/ng2-alfresco-core" target="_blank">ng2-alfresco-core</a>
</li>
</ul>
</mat-card-content>
</mat-card>
<header class="adf-home-background adf-primary-background-color">
<div class="adf-home-section ad">
<div class="adf-home-headline">
<h1 class="mat-h1">ADF</h1>
<h2> Angular components for Alfresco</h2>
</div>
<div class="adf-home-start">
<a mat-raised-button class="adf-home-docs-button adf-primary-color" href="https://github.com/Alfresco/alfresco-ng2-components/tree/master/docs">DOCS</a>
</div>
</div>
</header>
@@ -1,42 +1,28 @@
.adf-home-card {
float: left;
margin: 10px 10px 10px 10px;
width: 290px;
display: block;
overflow-y: auto;
height: 400px;
.adf-home-header-background {
overflow: hidden;
}
.adf-home-section {
text-align: center;
padding-top: 60px;
}
.adf-home-headline {
h1 {
font-size: 56px;
font-weight: 300;
line-height: 56px;
margin: 15px 5px;
}
h2 {
line-height: 30px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.material-icons {
position: relative;
top: 6px;
font-size: 18px;
font-weight: 300;
line-height: 28px;
margin: 15px 0 25px 0;
}
}
.adf-home-card-title {
padding: 24px;
cursor: pointer;
height: 55px;
margin: -63px -24px 18px -25px !important;
}
.adf-home-card__text {
font-size: 16px;
line-height: 18px;
}
.adf-home-feature-list {
list-style: none;
padding-left: 0;
}
span.home--feature-list__text:before {
content: '';
padding-left: 4px;
.adf-home-docs-button {
margin: 30px;
}
@@ -30,7 +30,7 @@ describe('HomeComponent', () => {
});
it ('should work', () => {
let fixture = TestBed.createComponent(HomeComponent);
const fixture = TestBed.createComponent(HomeComponent);
expect(fixture.componentInstance instanceof HomeComponent).toBe(true, 'should create HomeComponent');
});
});
@@ -18,7 +18,7 @@
import { Component } from '@angular/core';
@Component({
selector: 'home-view',
selector: 'app-home-view',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss']
})
@@ -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 {
}
@@ -21,7 +21,7 @@ import { Router } from '@angular/router';
import { LogService, StorageService } from '@alfresco/adf-core';
@Component({
selector: 'login',
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
@@ -30,27 +30,27 @@ export class LoginComponent implements OnInit {
@ViewChild('alfrescologin')
alfrescologin: any;
providers: string = 'ECM';
providers = 'ECM';
customValidation: any;
disableCsrf: boolean = false;
isECM: boolean = true;
isBPM: boolean = false;
showFooter: boolean = true;
customMinLenght: number = 2;
disableCsrf = false;
isECM = true;
isBPM = false;
showFooter = true;
customMinLength = 2;
constructor(private router: Router,
private storage: StorageService,
private logService: LogService) {
this.customValidation = {
username: ['', Validators.compose([Validators.required, Validators.minLength(this.customMinLenght)])],
username: ['', Validators.compose([Validators.required, Validators.minLength(this.customMinLength)])],
password: ['', Validators.required]
};
}
ngOnInit() {
this.alfrescologin.addCustomValidationError('username', 'required', 'LOGIN.MESSAGES.USERNAME-REQUIRED');
this.alfrescologin.addCustomValidationError('username', 'minlength', 'LOGIN.MESSAGES.USERNAME-MIN', {minLenght: this.customMinLenght});
this.alfrescologin.addCustomValidationError('username', 'minlength', 'LOGIN.MESSAGES.USERNAME-MIN', {minLength: this.customMinLength});
this.alfrescologin.addCustomValidationError('password', 'required', 'LOGIN.MESSAGES.PASSWORD-REQUIRED');
if (this.storage.hasItem('providers')) {
@@ -0,0 +1,12 @@
<h1>Overlay Viewer</h1>
<adf-document-list
currentFolderId="-my-"
(preview)="showPreview($event)">
</adf-document-list>
<adf-viewer
[(showViewer)]="showViewer"
[overlayMode]="true"
[fileNodeId]="nodeId">
</adf-viewer>
@@ -0,0 +1,36 @@
/*!
* @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, Input } from '@angular/core';
@Component({
templateUrl: 'overlay-viewer.component.html'
})
export class OverlayViewerComponent {
@Input()
showViewer = false;
nodeId: string;
showPreview(event) {
if (event.value.entry.isFile) {
this.nodeId = event.value.entry.id;
this.showViewer = true;
}
}
}
@@ -17,10 +17,10 @@
import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs/Rx';
import { Subscription } from 'rxjs/Subscription';
@Component({
selector: 'form-node-viewer',
selector: 'app-form-node-viewer',
templateUrl: './form-node-viewer.component.html',
styleUrls: ['./form-node-viewer.component.css']
})
@@ -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',
@@ -1,15 +1,31 @@
<div id="attachment-process-list" *ngIf="processInstanceId">
<h5>Attachments</h5>
<div class="adf-no-form-container">
<adf-upload-drag-area
[parentId]="processInstanceId"
[disabled]="isCompletedProcess()">
<adf-process-attachment-list #processAttachList
*ngIf="processInstanceId"
[disabled]="isCompletedProcess()"
[processInstanceId]="processInstanceId"
(attachmentClick)="onAttachmentClick($event)">
<adf-empty-list>
<div adf-empty-list-header class="adf-empty-list-header">
{{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.HEADER' | translate}}
</div>
<div adf-empty-list-body>
<div fxHide.lt-md="true" class="adf-empty-list-drag_drop">
{{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}
</div>
<div fxHide.lt-md="true" class="adf-empty-list__any-files-here-to-add">
{{'ADF_PROCESS_LIST.PROCESS-ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}}
</div>
</div>
</adf-empty-list>
</adf-process-attachment-list>
</adf-upload-drag-area>
<adf-create-process-attachment
@@ -17,26 +17,30 @@
import { Component, Input, OnChanges, OnInit, ViewChild } from '@angular/core';
import { ProcessInstance, ProcessService ,
ProcessAttachmentListComponent } from '@alfresco/adf-process-services';
ProcessAttachmentListComponent, ProcessUploadService } from '@alfresco/adf-process-services';
import { UploadService } from '@alfresco/adf-core';
@Component({
selector: 'app-process-attachments',
templateUrl: './process-attachments.component.html',
styleUrls: ['./process-attachments.component.css']
styleUrls: ['./process-attachments.component.css'],
providers: [
{ provide: UploadService, useClass: ProcessUploadService }
]
})
export class ProcessAttachmentsComponent implements OnInit, OnChanges {
@Input()
processInstanceId: string;
@ViewChild(ProcessAttachmentListComponent)
processAttachList: ProcessAttachmentListComponent;
fileShowed: boolean = false;
@Input()
processInstanceId: string;
fileShowed = false;
content: Blob;
contentName: string;
processInstance: ProcessInstance;
constructor(private uploadService: UploadService, private processService: ProcessService) {
@@ -48,7 +52,8 @@ export class ProcessAttachmentsComponent implements OnInit, OnChanges {
ngOnChanges() {
if (this.processInstanceId) {
this.processService.getProcess(this.processInstanceId).subscribe((processInstance: ProcessInstance) => {
this.processService.getProcess(this.processInstanceId)
.subscribe((processInstance: ProcessInstance) => {
this.processInstance = processInstance;
});
}
@@ -4,10 +4,14 @@
<div class="adf-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
<div class="adf-grid-item adf-tasks-menu" fxFlex.gt-md="225px">
<div class="adf-list-buttons">
<button color="primary" mat-raised-button data-automation-id="btn-start-task" class="adf-list-buttons-start" (click)="navigateStartTask()">
<mat-icon>add</mat-icon>
<span>{{'PS-TAB.START-TASK' | translate}}</span>
</button>
<adf-sidebar-action-menu [expanded]="true" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
<mat-icon sidebar-menu-title-icon >arrow_drop_down</mat-icon>
<div sidebar-menu-options>
<button mat-menu-item data-automation-id="btn-start-task" (click)="navigateStartTask()">
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_TASK' | translate}}</span>
</button>
</div>
</adf-sidebar-action-menu>
</div>
<adf-accordion>
<adf-accordion-group [heading]="'Tasks'" [isSelected]="true" [isOpen]="true"
@@ -57,7 +61,7 @@
(nextPage)="onNextPage($event)"
(prevPage)="onPrevPage($event)"
[pagination]="taskPagination"
[supportedPageSizes]="[2, 4, 6, 8, 10, 12]">
[supportedPageSizes]="supportedPages">
</adf-pagination>
</div>
<div class="adf-grid-item adf-tasks-details" *ngIf="!isStartTaskMode()" fxFlex.gt-md="1 1 auto">
@@ -73,7 +77,7 @@
</adf-task-details>
<hr>
<div *ngIf="currentTaskId">
{{'PS-TAB.AUDIT-LOG' | translate}}
{{'PS-TAB.TASK-AUDIT-LOG' | translate}}
<button
adf-task-audit
[task-id]="currentTaskId"
@@ -105,15 +109,14 @@
<div class="adf-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
<div class="adf-grid-item adf-processes-menu" fxFlex.gt-md="225px">
<div class="adf-list-buttons">
<button
color="primary"
mat-raised-button
class="adf-list-buttons-start"
data-automation-id="btn-start-process"
(click)="navigateStartProcess()">
<mat-icon>add</mat-icon>
<span>{{'PS-TAB.START-PROCESS' | translate}}</span>
</button>
<adf-sidebar-action-menu [expanded]="true" title="{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.CREATE' | translate}}">
<mat-icon sidebar-menu-title-icon >arrow_drop_down</mat-icon>
<div sidebar-menu-options>
<button mat-menu-item data-automation-id="btn-start-process" (click)="navigateStartProcess()">
<span>{{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_PROCESS' | translate}}</span>
</button>
</div>
</adf-sidebar-action-menu>
</div>
<adf-accordion>
<adf-accordion-group [heading]="'Processes'" [isSelected]="true" [isOpen]="true"
@@ -130,12 +133,15 @@
<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
*ngIf="processFilter?.hasFilter()" [appId]="processFilter.appId"
[processDefinitionKey]="processFilter.filter.processDefinitionKey"
[name]="processFilter.filter.name"
#processList
*ngIf="processFilter?.filter" [appId]="processFilter?.appId"
[processDefinitionKey]="processFilter?.filter?.processDefinitionKey"
[name]="processFilter?.filter?.name"
[presetColumn]="presetColoum"
[state]="processFilter.filter.state"
[sort]="processFilter.filter.sort"
[state]="processFilter?.filter?.state"
[page]="processPage"
[size]="paginationPageSize"
[sort]="processFilter?.filter?.sort"
[data]="dataProcesses"
(rowClick)="onProcessRowClick($event)"
(row-dblclick)="onProcessRowDblClick($event)"
@@ -148,6 +154,16 @@
</data-columns> -->
</adf-process-instance-list>
<adf-pagination
*ngIf="processList"
[target]="processList"
[supportedPageSizes]="supportedPages"
(changePageNumber)="onChangePageNumberProcess($event)"
(changePageSize)="onChangePageSizeProcess($event)"
(nextPage)="onNextPageProcess($event)"
(prevPage)="onPrevPageProcess($event)"
#processListPagination>
</adf-pagination>
</div>
<div class="adf-grid-item adf-processes-details" *ngIf="!isStartProcessMode()" fxFlex.gt-md="1 1 auto">
<adf-process-instance-details
@@ -158,7 +174,7 @@
</adf-process-instance-details>
<hr>
<div *ngIf="currentProcessInstanceId">
{{'PS-TAB.AUDIT-LOG' | translate}}
{{'PS-TAB.PROCESS-AUDIT-LOG' | translate}}
<button adf-process-audit
[process-id]="currentProcessInstanceId"
[download]="true" mat-icon-button
@@ -179,6 +195,8 @@
*ngIf="isStartProcessMode()">
<adf-start-process
[appId]="appId"
[name]="defaultProcessName"
[processDefinitionName]="defaultProcessDefinitionName"
(start)="onStartProcessInstance($event)"
(cancel)="onCancelProcessInstance()">
</adf-start-process>
@@ -30,7 +30,7 @@ import { ActivatedRoute, Router } from '@angular/router';
import { Pagination, ProcessInstanceFilterRepresentation } from 'alfresco-js-api';
import {
FORM_FIELD_VALIDATORS, FormEvent, FormFieldEvent, FormRenderingService, FormService,
DynamicTableRow, ValidateDynamicTableRowEvent
DynamicTableRow, ValidateDynamicTableRowEvent, AppConfigService, PaginationComponent
} from '@alfresco/adf-core';
import { AnalyticsReportListComponent } from '@alfresco/adf-insights';
@@ -49,17 +49,16 @@ import {
TaskDetailsEvent,
TaskFiltersComponent,
TaskListComponent,
TaskListService,
ProcessUploadService
TaskListService
} from '@alfresco/adf-process-services';
import { LogService } from '@alfresco/adf-core';
import { AlfrescoApiService, UploadService } from '@alfresco/adf-core';
import { AlfrescoApiService, UserPreferencesService } from '@alfresco/adf-core';
import {
DataSorting,
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';
@@ -70,9 +69,6 @@ const currentTaskIdNew = '__NEW__';
selector: 'app-process-service',
templateUrl: './process-service.component.html',
styleUrls: ['./process-service.component.scss'],
providers: [
{ provide: UploadService, useClass: ProcessUploadService }
],
encapsulation: ViewEncapsulation.None
})
export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit {
@@ -80,6 +76,9 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
@ViewChild(TaskFiltersComponent)
activitifilter: TaskFiltersComponent;
@ViewChild(PaginationComponent)
processListPagination: PaginationComponent;
@ViewChild(TaskListComponent)
taskList: TaskListComponent;
@@ -104,8 +103,8 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
@Input()
appId: number = null;
fileShowed: boolean = false;
selectFirstReport: boolean = false;
fileShowed = false;
selectFirstReport = false;
private tabs = { tasks: 0, processes: 1, reports: 2 };
@@ -122,9 +121,16 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
maxItems: 10,
totalItems: 0
};
taskPage: number = 0;
taskPage = 0;
processPage = 0;
paginationPageSize = 0;
processSchemaColumns: any[] = [];
supportedPages: number[];
defaultProcessDefinitionName: string;
defaultProcessName: string;
activeTab: number = this.tabs.tasks; // tasks|processes|reports
taskFilter: FilterRepresentationModel;
@@ -133,11 +139,11 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
sub: Subscription;
blobFile: any;
flag: boolean = true;
flag = true;
dataTasks: ObjectDataTableAdapter;
dataProcesses: ObjectDataTableAdapter;
presetColoum: string = 'default';
presetColoum = 'default';
fieldValidators = [
...FORM_FIELD_VALIDATORS,
@@ -150,10 +156,18 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
private taskListService: TaskListService,
private apiService: AlfrescoApiService,
private logService: LogService,
private appConfig: AppConfigService,
formRenderingService: FormRenderingService,
formService: FormService) {
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.paginationPageSize = this.preferenceService.paginationSize;
this.defaultProcessName = this.appConfig.get<string>('adf-start-process.name');
this.defaultProcessDefinitionName = this.appConfig.get<string>('adf-start-process.processDefinitionName');
// Uncomment this line to replace all 'text' field editors with custom component
// formRenderingService.setComponentTypeResolver('text', () => CustomEditorComponent, true);
@@ -170,12 +184,12 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
});
formService.validateDynamicTableRow.subscribe(
(e: ValidateDynamicTableRowEvent) => {
const row: DynamicTableRow = e.row;
(validateDynamicTableRowEvent: ValidateDynamicTableRowEvent) => {
const row: DynamicTableRow = validateDynamicTableRowEvent.row;
if (row && row.value && row.value.name === 'admin') {
e.summary.isValid = false;
e.summary.message = 'Sorry, wrong value. You cannot use "admin".';
e.preventDefault();
validateDynamicTableRowEvent.summary.isValid = false;
validateDynamicTableRowEvent.summary.message = 'Sorry, wrong value. You cannot use "admin".';
validateDynamicTableRowEvent.preventDefault();
}
}
);
@@ -194,16 +208,32 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
this.taskPage--;
}
onPrevPageProcess(pagination: Pagination): void {
this.processPage = this.processListPagination.current - 1;
}
onNextPage(pagination: Pagination): void {
this.taskPagination.skipCount = pagination.skipCount;
this.taskPage++;
}
onNextPageProcess(pagination: Pagination): void {
this.processPage = this.processListPagination.current - 1;
}
onChangePageSizeProcess(pagination: Pagination): void {
const { maxItems } = pagination;
this.preferenceService.paginationSize = maxItems;
this.processPage = this.processListPagination.current - 1;
this.paginationPageSize = maxItems;
}
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 {
@@ -213,6 +243,10 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
this.taskPagination.skipCount = skipCount;
}
onChangePageNumberProcess(pagination: Pagination): void {
this.processPage = this.processListPagination.current - 1;
}
currentPage(skipCount: number, maxItems: number): number {
return (skipCount && maxItems) ? Math.floor(skipCount / maxItems) : 0;
}
@@ -240,7 +274,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
this.activeTab = this.tabs.processes;
}
this.sub = this.route.params.subscribe(params => {
let applicationId = params['appId'];
const applicationId = params['appId'];
if (applicationId && applicationId !== '0') {
this.appId = params['appId'];
}
@@ -260,6 +294,12 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
onTaskFilterClick(filter: FilterRepresentationModel): void {
this.applyTaskFilter(filter);
this.resetTaskPaginationPage();
}
resetTaskPaginationPage() {
this.taskPage = 0;
this.taskPagination.skipCount = 0;
}
onReportClick(event: any): void {
@@ -292,8 +332,12 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
}
onProcessFilterClick(event: ProcessInstanceFilterRepresentation): void {
this.currentProcessInstanceId = null;
this.processFilter = event;
this.resetProcessPaginationPage();
}
resetProcessPaginationPage() {
this.processPage = 0;
}
onSuccessProcessFilterList(event: ProcessInstanceFilterRepresentation[]): void {
@@ -417,10 +461,10 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
loadStencilScriptsInPageFromProcessService() {
this.apiService.getInstance().activiti.scriptFileApi.getControllers().then(response => {
if (response) {
let s = document.createElement('script');
s.type = 'text/javascript';
s.text = response;
this.elementRef.nativeElement.appendChild(s);
const stencilSript = document.createElement('script');
stencilSript.type = 'text/javascript';
stencilSript.text = response;
this.elementRef.nativeElement.appendChild(stencilSript);
}
});
}
@@ -1,19 +1,25 @@
<div id="attachment-task-list" *ngIf="taskId">
<div class="adf-no-form-container">
<adf-upload-drag-area
[parentId]="taskId">
<adf-task-attachment-list #taskAttachList
[disabled]="isCompletedTask()"
(attachmentClick)="onAttachmentClick($event)"
[taskId]="taskId">
<div adf-empty-list>
<div adf-empty-list-header class="adf-empty-list-header"> {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}} </div>
<div adf-empty-list-body>
<div fxHide.lt-md="true" class="adf-empty-list-drag_drop">{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}</div>
<div fxHide.lt-md="true" class="adf-empty-list__any-files-here-to-add"> {{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}} </div>
[disabled]="isCompletedTask()"
[taskId]="taskId"
(attachmentClick)="onAttachmentClick($event)">
<adf-empty-list>
<div adf-empty-list-header class="adf-empty-list-header">{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.HEADER' | translate}}
</div>
</div>
<div adf-empty-list-body>
<div fxHide.lt-md="true" class="adf-empty-list-drag_drop">
{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.TITLE' | translate}}
</div>
<div fxHide.lt-md="true" class="adf-empty-list__any-files-here-to-add">
{{'ADF_TASK_LIST.ATTACHMENT.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate}}
</div>
</div>
</adf-empty-list>
</adf-task-attachment-list>
</adf-upload-drag-area>
@@ -16,13 +16,16 @@
*/
import { Component, Input, OnChanges, OnInit, ViewChild } from '@angular/core';
import { TaskListService, TaskAttachmentListComponent } from '@alfresco/adf-process-services';
import { TaskListService, TaskAttachmentListComponent, TaskDetailsModel, TaskUploadService } from '@alfresco/adf-process-services';
import { UploadService } from '@alfresco/adf-core';
@Component({
selector: 'app-task-attachments',
templateUrl: './task-attachments.component.html',
styleUrls: ['./task-attachments.component.css']
styleUrls: ['./task-attachments.component.css'],
providers: [
{ provide: UploadService, useClass: TaskUploadService }
]
})
export class TaskAttachmentsComponent implements OnInit, OnChanges {
@@ -33,15 +36,13 @@ export class TaskAttachmentsComponent implements OnInit, OnChanges {
@Input()
taskId: string;
fileShowed: boolean = false;
fileShowed = false;
content: Blob;
contentName: string;
taskDetails: any;
constructor(private uploadService: UploadService,
private activitiTaskList: TaskListService) {
constructor(private uploadService: UploadService, private activitiTaskList: TaskListService) {
}
ngOnInit() {
@@ -50,9 +51,9 @@ export class TaskAttachmentsComponent implements OnInit, OnChanges {
ngOnChanges() {
if (this.taskId) {
this.activitiTaskList.getTaskDetails(this.taskId).map((res) => res).subscribe(
(res: any) => {
this.taskDetails = res;
this.activitiTaskList.getTaskDetails(this.taskId).map((res) => res)
.subscribe((taskDetails: TaskDetailsModel) => {
this.taskDetails = taskDetails;
});
}
}
@@ -20,7 +20,7 @@ import { Router } from '@angular/router';
import { MinimalNodeEntity } from 'alfresco-js-api';
@Component({
selector: 'adf-search-bar',
selector: 'app-search-bar',
templateUrl: './search-bar.component.html',
styleUrls: ['./search-bar.component.scss']
})
@@ -0,0 +1,44 @@
/*!
* @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 { QueryBody } from 'alfresco-js-api';
import { SearchConfigurationInterface } from '@alfresco/adf-core';
export class TestSearchConfigurationService implements SearchConfigurationInterface {
constructor() {
}
public generateQueryBody(searchTerm: string, maxResults: string, skipCount: string): QueryBody {
const defaultQueryBody: QueryBody = {
query: {
query: searchTerm ? `${searchTerm}* OR name:${searchTerm}*` : searchTerm
},
include: ['path', 'allowableOperations'],
paging: {
maxItems: maxResults,
skipCount: skipCount
},
filterQueries: [
/*tslint:disable-next-line */
{ query: "TYPE:'cm:folder'" },
{ query: 'NOT cm:creator:System' }]
};
return defaultQueryBody;
}
}
@@ -0,0 +1,39 @@
<div>
<h3>{{'APP_LAYOUT.EXTENDED_SEARCH_QUERY_BODY' | translate}}</h3>
<mat-checkbox [(ngModel)]="useServiceApproach">
{{'APP_LAYOUT.SEARCH_SERVICE_APPROACH' | translate}}
</mat-checkbox>
<div id="container-for-custom-input" class="search-extended-input-containers">
<mat-form-field>
<label>{{'APP_LAYOUT.WORD_TO_SEARCH' | translate}}</label>
<input type="text" matInput
id="custom-input" [(ngModel)]="searchedWord" [searchAutocomplete]="auto">
</mat-form-field>
</div>
<div>
<adf-search #auto="searchAutocomplete"
[queryBody]="generateQueryBody(searchedWord)"
class="example-card-search-container">
<ng-template let-data>
<mat-card class="example-card"
*ngFor="let item of data?.list?.entries; let idx = index" (click)="onClick(item)">
<mat-card-header>
<div mat-card-avatar class="example-header-image"></div>
<mat-card-title>{{ item?.entry.name }}</mat-card-title>
<mat-card-subtitle>{{ item?.entry.createdAt }}</mat-card-subtitle>
</mat-card-header>
<img mat-card-image [src]="getMimeTypeIcon(item)">
<mat-card-content>
<p>
{{'APP_LAYOUT.SEARCH_CREATED_BY' | translate}}: {{item?.entry.createdByUser?.displayName}}
</p>
</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>
</mat-card>
</ng-template>
</adf-search>
</div>
</div>
@@ -0,0 +1,62 @@
div.search-results-container {
padding: 0 20px 20px 20px;
}
.adf-search-title {
font-size: 22px;
padding: 15px 0 15px 0;
}
@media screen and (max-width: 600px) {
:host .col-display-name {
min-width: 100px;
}
:host .col-modified-at, :host .col-modified-by {
display: none;
}
:host div.search-results-container table {
width: 100%;
}
}
.adf-search-results-content{
display: flex;
}
.search-extended-input-containers {
display: flex;
flex-direction: row-reverse;
justify-content: space-evenly;
}
.search-extended-input-textarea {
width: 300px;
}
.search-extended-label-error {
display: flex;
flex-direction: column;
}
.example-card {
width: 200px;
flex: 0 20%;
margin: 15px;
}
.example-card-search-container {
display: flex;
flex-wrap: wrap;
}
.example-header-image {
background-size: cover;
margin-bottom: 15px;
}
.example-search-input {
width: 100px;
border: 1 solid;
border-color: black;
}
@@ -0,0 +1,84 @@
/*!
* @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, ViewChild, ViewEncapsulation } from '@angular/core';
import { NodePaging, Pagination, QueryBody, MinimalNodeEntity } from 'alfresco-js-api';
import { SearchComponent } from '@alfresco/adf-content-services';
import { ThumbnailService } from '@alfresco/adf-core';
import { SearchService, SearchConfigurationService } from '@alfresco/adf-core';
import { TestSearchConfigurationService } from './search-config-test.service';
@Component({
selector: 'app-search-extended-component',
templateUrl: './search-extended.component.html',
styleUrls: ['./search-extended.component.scss'],
encapsulation: ViewEncapsulation.None,
providers: [
{ provide: SearchConfigurationService, useClass: TestSearchConfigurationService },
SearchService
]
})
export class SearchExtendedComponent {
@ViewChild('search')
search: SearchComponent;
queryParamName = 'q';
searchedWord = '';
queryBodyString = '';
errorMessage = '';
resultNodePageList: NodePaging;
maxItems: number;
skipCount = 0;
pagination: Pagination;
queryBody: QueryBody;
useServiceApproach = false;
constructor(public thumbnailService: ThumbnailService) {
}
getMimeTypeIcon(node: MinimalNodeEntity): string {
let mimeType;
if (node.entry.content && node.entry.content.mimeType) {
mimeType = node.entry.content.mimeType;
}
if (node.entry.isFolder) {
mimeType = 'folder';
}
return this.thumbnailService.getMimeTypeIcon(mimeType);
}
generateQueryBody(searchTerm: string): QueryBody {
if (this.useServiceApproach) {
return null;
} else {
return {
query: {
query: searchTerm ? `${searchTerm}* OR name:${searchTerm}*` : searchTerm
},
include: ['path', 'allowableOperations'],
filterQueries: [
/*tslint:disable-next-line */
{ query: "TYPE:'cm:folder' OR TYPE:'cm:content'" },
{ query: 'NOT cm:creator:System' }]
};
}
}
}
@@ -1,18 +1,19 @@
<adf-search [searchTerm]="searchedWord"
[maxResults]="maxItems"
[skipResults]="skipCount"
(resultLoaded)="showSearchResult($event)"
(resultLoaded)="onSearchResultLoaded($event)"
#search>
</adf-search>
<adf-files-component
<app-files-component
[currentFolderId]="null"
[nodeResult]="resultNodePageList"
[disableDragArea]="true"
(documentListReady)="refreshResults($event)"
(changedPageSize)="refreshPage($event)"
(changedPageNumber)="refreshPage($event)"
(turnedNextPage)="refreshPage($event)"
(loadNext)="refreshPage($event)"
(turnedPreviousPage)="refreshPage($event)">
</adf-files-component>
[pagination]="pagination"
(changedPageSize)="onRefreshPagination($event)"
(changedPageNumber)="onRefreshPagination($event)"
(turnedNextPage)="onRefreshPagination($event)"
(loadNext)="onRefreshPagination($event)"
(turnedPreviousPage)="onRefreshPagination($event)"
(deleteElementSuccess)="onDeleteElementSuccess($event)">
</app-files-component>
@@ -22,7 +22,7 @@ import { SearchComponent } from '@alfresco/adf-content-services';
import { UserPreferencesService } from '@alfresco/adf-core';
@Component({
selector: 'adf-search-result-component',
selector: 'app-search-result-component',
templateUrl: './search-result.component.html',
styleUrls: ['./search-result.component.scss']
})
@@ -31,15 +31,12 @@ export class SearchResultComponent implements OnInit {
@ViewChild('search')
search: SearchComponent;
fileNodeId: string;
queryParamName = 'q';
searchedWord: string = '';
fileShowed: boolean = false;
navigationMode: string = 'dblclick';
searchedWord = '';
resultNodePageList: NodePaging;
maxItems: number;
skipCount: number = 0;
paging: Pagination;
skipCount = 0;
pagination: Pagination;
constructor(public router: Router,
private preferences: UserPreferencesService,
@@ -56,17 +53,17 @@ export class SearchResultComponent implements OnInit {
this.maxItems = this.preferences.paginationSize;
}
showSearchResult(event: NodePaging) {
this.resultNodePageList = event;
this.paging = event.list.pagination;
onSearchResultLoaded(nodePaging: NodePaging) {
this.resultNodePageList = nodePaging;
this.pagination = nodePaging.list.pagination;
}
refreshResults(event: any) {
onRefreshPagination(pagination: Pagination) {
this.maxItems = pagination.maxItems;
this.skipCount = pagination.skipCount;
}
onDeleteElementSuccess(element: any) {
this.search.reload();
}
refreshPage(event: Pagination) {
this.maxItems = event.maxItems;
this.skipCount = event.skipCount;
}
}
@@ -24,10 +24,10 @@ import { LogService } from '@alfresco/adf-core';
})
export class SettingsComponent {
constructor(public logService: LogService){
}
constructor(public logService: LogService) {
}
onError(error: string){
this.logService.log(error)
}
onError(error: string) {
this.logService.log(error);
}
}
@@ -0,0 +1,6 @@
<ng-container *ngIf="sharedLinkId">
<adf-viewer
[sharedLinkId]="sharedLinkId"
[allowGoBack]="false">
</adf-viewer>
</ng-container>
@@ -0,0 +1,4 @@
.app-shared-link-view {
width: 100%;
height: 100%;
}
@@ -0,0 +1,24 @@
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-shared-link-view',
templateUrl: 'shared-link-view.component.html',
styleUrls: [ 'shared-link-view.component.scss' ],
encapsulation: ViewEncapsulation.None,
// tslint:disable-next-line:use-host-property-decorator
host: { 'class': 'app-shared-link-view' }
})
export class SharedLinkViewComponent implements OnInit {
sharedLinkId: string = null;
constructor(private route: ActivatedRoute) {}
ngOnInit() {
this.route.params.subscribe(params => {
this.sharedLinkId = params.id;
});
}
}
@@ -18,11 +18,11 @@
import { Component } from '@angular/core';
@Component({
selector: 'alfresco-social',
selector: 'app-social',
templateUrl: 'social.component.html',
styleUrls: ['social.component.scss']
})
export class SocialComponent {
nodeId: string = '74cd8a96-8a21-47e5-9b3b-a1b3e296787d';
nodeId = '74cd8a96-8a21-47e5-9b3b-a1b3e296787d';
}
@@ -18,11 +18,11 @@
import { Component } from '@angular/core';
@Component({
selector: 'alfresco-tag',
selector: 'app-tag',
templateUrl: 'tag.component.html',
styleUrls: ['tag.component.scss']
})
export class TagComponent {
nodeId: string = '74cd8a96-8a21-47e5-9b3b-a1b3e296787d';
nodeId = '74cd8a96-8a21-47e5-9b3b-a1b3e296787d';
}
@@ -8,7 +8,7 @@ import { StyleManager } from './style-manager/style-manager';
import { DocsSiteTheme, ThemeStorage } from './theme-storage/theme-storage';
@Component({
selector: 'theme-picker',
selector: 'app-theme-picker',
templateUrl: 'theme-picker.html',
styleUrls: ['theme-picker.css'],
changeDetection: ChangeDetectionStrategy.OnPush,
@@ -19,18 +19,15 @@ import { Component } from '@angular/core';
import { LogService } from '@alfresco/adf-core';
@Component({
selector: 'alfresco-webscript',
selector: 'app-webscript',
templateUrl: 'webscript.component.html'
})
export class WebscriptComponent {
currentPath: string = '/';
authenticated: boolean;
host: string = 'http://127.0.0.1:8080';
scriptPath: string = 'sample/folder/Company%20Home';
contextRoot: string = 'alfresco';
servicePath: string = 'service';
scriptArgs: string = '';
scriptPath = 'sample/folder/Company%20Home';
contextRoot = 'alfresco';
servicePath = 'service';
scriptArgs = '';
constructor(private logService: LogService) {
}
@@ -58,11 +58,11 @@ export class InMemoryFormService extends FormService {
this.logService.log(`getRestFieldValues: ${taskId} => ${field}`);
return new Observable<FormFieldOption[]>(observer => {
let field = this.data.rest.fields.find(
const currentField = this.data.rest.fields.find(
f => f.taskId === taskId && f.fieldId === field
);
if ( field ) {
let values: FormFieldOption[] = field.values || [];
if ( currentField ) {
const values: FormFieldOption[] = currentField.values || [];
this.logService.log(values);
observer.next(values);
}
@@ -71,7 +71,7 @@ export class InMemoryFormService extends FormService {
parseForm(json: any, data?: FormValues, readOnly: boolean = false): FormModel {
if (json) {
let form = new FormModel(json, data, readOnly, this);
const form = new FormModel(json, data, readOnly, this);
if (!json.fields) {
form.outcomes = [
new FormOutcomeModel(form, {
@@ -93,10 +93,10 @@ export class InMemoryFormService extends FormService {
this.logService.log(`getRestFieldValuesByProcessId: ${processDefinitionId} => ${fieldId}`);
return new Observable<FormFieldOption[]>(observer => {
let field = this.data.rest.fields.find(
const field = this.data.rest.fields.find(
f => f.processId === processDefinitionId && f.fieldId === fieldId
);
let values: FormFieldOption[] = field.values || [];
const values: FormFieldOption[] = field.values || [];
this.logService.log(values);
observer.next(values);
});
+1 -3
View File
@@ -6,10 +6,8 @@ import { environment } from './environments/environment';
import 'hammerjs';
import 'chart.js';
import 'ng2-charts';
// import 'ng2-3d-editor';
import 'three';
import pdfjsLib from 'pdfjs-dist';
import * as pdfjsLib from 'pdfjs-dist';
pdfjsLib.PDFJS.workerSrc = 'pdf.worker.js';
if (environment.production) {
+4 -11
View File
@@ -34,11 +34,10 @@ import 'core-js/es6/map';
import 'core-js/es6/set';
/** IE10 and IE11 requires the following for NgClass support on SVG elements */
import 'classlist.js'; // Run `npm install --save classlist.js`.
import 'classlist.js'; // Run `npm install --save classlist.js`.
/** IE10 and IE11 requires the following to support `@angular/animation`. */
import 'web-animations-js'; // Run `npm install --save web-animations-js`.
import 'web-animations-js'; // Run `npm install --save web-animations-js`.
/** Evergreen browsers require these. **/
import 'core-js/es6/reflect';
@@ -47,18 +46,11 @@ import 'core-js/es6/array';
import 'core-js/es7/array';
/** ALL Firefox browsers require the following to support `@angular/animation`. **/
import 'web-animations-js'; // Run `npm install --save web-animations-js`.
/***************************************************************************************************
* Zone JS is required by Angular itself.
*/
import 'zone.js/dist/zone'; // Included with Angular CLI.
/***************************************************************************************************
* APPLICATION IMPORTS
*/
@@ -73,5 +65,6 @@ import 'intl'; // Run `npm install --save intl`.
* 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`.
+18 -10
View File
@@ -3,6 +3,7 @@
"node_modules/codelyzer"
],
"rules": {
"arrow-return-shorthand": true,
"callable-types": true,
"class-name": true,
"comment-format": [
@@ -12,7 +13,11 @@
"curly": true,
"eofline": true,
"forin": true,
"import-blacklist": [true, "rxjs"],
"import-blacklist": [
true,
"rxjs",
"rxjs/Rx"
],
"import-spacing": true,
"indent": [
true,
@@ -22,13 +27,19 @@
"label-position": true,
"max-line-length": [
true,
140
180
],
"member-access": false,
"member-ordering": [
true,
"static-before-instance",
"variables-before-functions"
{
"order": [
"static-field",
"instance-field",
"static-method",
"instance-method"
]
}
],
"no-arg": true,
"no-bitwise": true,
@@ -43,7 +54,7 @@
],
"no-construct": true,
"no-debugger": true,
"no-duplicate-variable": true,
"no-duplicate-super": true,
"no-empty": false,
"no-empty-interface": true,
"no-eval": true,
@@ -71,6 +82,7 @@
],
"radix": true,
"semicolon": [
true,
"always"
],
"triple-equals": [
@@ -103,15 +115,11 @@
"component-selector": [true, "element", "app", "kebab-case"],
"use-input-property-decorator": true,
"use-output-property-decorator": true,
"use-host-property-decorator": true,
"no-input-rename": true,
"no-output-rename": true,
"use-life-cycle-interface": true,
"use-pipe-transform-interface": true,
"component-class-suffix": true,
"directive-class-suffix": true,
"no-access-missing-member": true,
"templates-use-public": true,
"invoke-injectable": true
"directive-class-suffix": true
}
}
+5 -8
View File
@@ -10,7 +10,7 @@ Defines how the input fields of [ADF Form](form.component.md) and
```
```ts
import { FORM_FIELD_VALIDATORS } from 'ng2-activiti-form';
import { FORM_FIELD_VALIDATORS } from '@alfresco/adf-core';
@Component({...})
export class AppComponent {
@@ -56,7 +56,7 @@ during the validation phase.
Several validator classes are predefined for you to use:
| Validator name | Checks that: |
| --- | --- |
| -------------- | ------------ |
| `RequiredFieldValidator` | Field is not left blank |
| `NumberFieldValidator` | Field contains numeric data |
| `MinLengthFieldValidator` | Field text has at least a minimum number of characters |
@@ -85,7 +85,7 @@ The validator in the example
below simply checks that "admin" is not entered into a text field:
```ts
import { FormFieldModel, FormFieldTypes, FormFieldValidator } from 'ng2-activiti-form';
import { FormFieldModel, FormFieldTypes, FormFieldValidator } from '@alfresco/adf-core';
export class DemoFieldValidator implements FormFieldValidator {
@@ -144,10 +144,7 @@ If you now run the application and try to enter "admin" in one of the text field
![](docassets/images/demo-validator.png)
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Form field model](form-field.model.md)
- [Form component](form.component.md)
<!-- seealso end -->
- [Form field model](form-field.model.md)
- [Form component](form.component.md)
+238 -192
View File
@@ -2,28 +2,31 @@
Below is an index of the documentation for ADF. The [User Guide](#user-guide)
section discusses particular techniques in depth. The other sections are references for the ADF
libraries. Items marked with an asterisk (*) do not currently have documentation - the link leads
to the appropriate source file.
libraries. Click the name of an item to see its documentation or click the source link to see
its main source file. Note that ADF is developed continuously, so the source files for some items
may be listed here before their documentation is available.
## Contents
- [User Guide](#user-guide)
- [ADF Core](#adf-core)
- [ADF Content Services](#adf-content-services)
- [ADF Process Services](#adf-process-services)
- [ADF Insights](#adf-insights)
- [User Guide](#user-guide)
- [ADF Core](#adf-core)
- [ADF Content Services](#adf-content-services)
- [ADF Process Services](#adf-process-services)
- [ADF Insights](#adf-insights)
## User guide
<!-- guide start -->
- [Form Extensibility and Customisation](extensibility.md)
- [Form Stencils with Angular 2](stencils.md)
- [Angular Material Design](angular-material-design.md)
- [Theming](theming.md)
- [Typography](typography.md)
- [Walkthrough: adding indicators to highlight information about a node](metadata-indicators.md)
<!--guide start-->
- [Form Extensibility and Customisation](extensibility.md)
- [Angular Material Design](angular-material-design.md)
- [Theming](theming.md)
- [Typography](typography.md)
- [Internationalization](internationalization.md)
- [Walkthrough - adding indicators to highlight information about a node](metadata-indicators.md)
<!--guide end-->
<!-- guide end -->
[(Back to Contents)](#contents)
## ADF Core
@@ -32,113 +35,128 @@ Contains a variety of components used throughout ADF.
See the library's
[README file](../lib/core/README.md)
for more information about installing and using the source code.
<!-- core start -->
### Components
<!--core start-->
- [Card view component](card-view.component.md)
- [Accordion group component](accordion-group.component.md)
- [Accordion component](accordion.component.md)
- [Data column component](data-column.component.md)
- [Datatable component](datatable.component.md)
- [Form field component](form-field.component.md)
- [Form list component](form-list.component.md)
- [Form component](form.component.md)
- [Start form component](start-form.component.md)
- [Text mask component](text-mask.component.md)
- [Widget component](widget.component.md)
- [Info drawer layout component](info-drawer-layout.component.md)
- [Info drawer component](info-drawer.component.md)
- [Language menu component](language-menu.component.md)
- [Login component](login.component.md)
- [Infinite pagination component](infinite-pagination.component.md)
- [Pagination component](pagination.component.md)
- [Host settings component](host-settings.component.md)
- [Toolbar divider component](toolbar-divider.component.md)
- [Toolbar title component](toolbar-title.component.md)
- [Toolbar component](toolbar.component.md)
- [User info component](user-info.component.md)
- [Viewer component](viewer.component.md)
## Components
### Directives
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Card view component](card-view.component.md) | Displays a configurable property list renderer. | [Source](../lib/core/card-view/components/card-view/card-view.component.ts) |
| [Accordion group component](accordion-group.component.md) | Adds a collapsible panel to an [accordion menu](accordion.component.md). | [Source](../lib/core/collapsable/accordion-group.component.ts) |
| [Accordion component](accordion.component.md) | Creates a collapsible accordion menu. | [Source](../lib/core/collapsable/accordion.component.ts) |
| [Data column component](data-column.component.md) | Defines column properties for DataTable, Tasklist, Document List and other components. | [Source](../lib/core/data-column/data-column.component.ts) |
| [Datatable component](datatable.component.md) | Displays data as a table with customizable columns and presentation. | [Source](../lib/core/datatable/components/datatable/datatable.component.ts) |
| [Form field component](form-field.component.md) | A form field in an APS form. | [Source](../lib/core/form/components/form-field/form-field.component.ts) |
| [Form list component](form-list.component.md) | Shows APS forms as a list. | [Source](../lib/core/form/components/form-list.component.ts) |
| [Form component](form.component.md) | Shows a Form from APS (see it live: [Form Quickstart](https://embed.plnkr.co/YSLXTqb3DtMhVJSqXKkE/)) | [Source](../lib/core/form/components/form.component.ts) |
| [Start form component](start-form.component.md) | Displays the Start Form for a process. | [Source](../lib/core/form/components/start-form.component.ts) |
| [Text mask component](text-mask.component.md) | Implements text field input masks. | [Source](../lib/core/form/components/widgets/text/text-mask.component.ts) |
| [Info drawer layout component](info-drawer-layout.component.md) | Displays a sidebar-style information panel. | [Source](../lib/core/info-drawer/info-drawer-layout.component.ts) |
| [Info drawer component](info-drawer.component.md) | Displays a sidebar-style information panel with tabs. | [Source](../lib/core/info-drawer/info-drawer.component.ts) |
| [Language menu component](language-menu.component.md) | Displays all the languages that are present in the "app.config.json" or the default one (EN). | [Source](../lib/core/language-menu/language-menu.component.ts) |
| [Login component](login.component.md) | Authenticates to Alfresco Content Services and Alfresco Process Services. | [Source](../lib/core/login/components/login.component.ts) |
| [Infinite pagination component](infinite-pagination.component.md) | Adds "infinite" pagination to the component it is used with. | [Source](../lib/core/pagination/infinite-pagination.component.ts) |
| [Pagination component](pagination.component.md) | Adds pagination to the component it is used with. | [Source](../lib/core/pagination/pagination.component.ts) |
| [Host settings component](host-settings.component.md) | Validates the URLs for ACS and APS and saves them in the user's local storage | [Source](../lib/core/settings/host-settings.component.ts) |
| [Sidebar action menu component](sidebar-action-menu.component.md) | Displays a sidebar-action menu information panel. | [Source](../lib/core/sidebar/sidebar-action-menu.component.ts) |
| [Toolbar divider component](toolbar-divider.component.md) | Divides groups of elements in a Toolbar with a visual separator. | [Source](../lib/core/toolbar/toolbar-divider.component.ts) |
| [Toolbar title component](toolbar-title.component.md) | Supplies custom HTML to be included in a Toolbar component title. | [Source](../lib/core/toolbar/toolbar-title.component.ts) |
| [Toolbar component](toolbar.component.md) | Simple container for headers, titles, actions and breadcrumbs. | [Source](../lib/core/toolbar/toolbar.component.ts) |
| [User info component](user-info.component.md) | Shows user information. | [Source](../lib/core/userinfo/components/user-info.component.ts) |
| [Viewer component](viewer.component.md) | Displays content from an ACS repository. | [Source](../lib/core/viewer/components/viewer.component.ts) |
- [Context menu directive](context-menu.directive.md)
- [Highlight directive](highlight.directive.md)
- [Logout directive](logout.directive.md)
- [Node delete directive](node-delete.directive.md)
- [Node favorite directive](node-favorite.directive.md)
- [Node permission directive](node-permission.directive.md)
- [Node restore directive](node-restore.directive.md)
- [Upload directive](upload.directive.md)
## Directives
### Models
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Context menu directive](context-menu.directive.md) | Adds a context menu to a component. | [Source](../lib/core/context-menu/context-menu.directive.ts) |
| [Highlight directive](highlight.directive.md) | Adds highlighting to selected sections of an HTML element's content. | [Source](../lib/core/directives/highlight.directive.ts) |
| [Logout directive](logout.directive.md) | Logs the user out when the decorated element is clicked. | [Source](../lib/core/directives/logout.directive.ts) |
| [Node delete directive](node-delete.directive.md) | Deletes multiple files and folders. | [Source](../lib/core/directives/node-delete.directive.ts) |
| [Node favorite directive](node-favorite.directive.md) | Selectively toggles nodes as favorite | [Source](../lib/core/directives/node-favorite.directive.ts) |
| [Node permission directive](node-permission.directive.md) | Selectively disables an HTML element or Angular component | [Source](../lib/core/directives/node-permission.directive.ts) |
| [Node restore directive](node-restore.directive.md) | Restores deleted nodes to their original location. | [Source](../lib/core/directives/node-restore.directive.ts) |
| [Upload directive](upload.directive.md) | Allows your components or common HTML elements reacting on File drag and drop in order to upload content. | [Source](../lib/core/directives/upload.directive.ts) |
- [Form field model](form-field.model.md)
- [Comment process model](comment-process.model.md)
- [Product version model](product-version.model.md)
- [Site model](site.model.md)
- [User process model](user-process.model.md)
- [Bpm user model](bpm-user.model.md)
- [Ecm user model](ecm-user.model.md)
## Models
### Pipes
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Form field model](form-field.model.md) | Contains the value and metadata for a field of an [ADF Form](form.component.md). | [Source](../lib/core/form/components/widgets/core/form-field.model.ts) |
| [Comment process model](comment-process.model.md) | Represents a comment added to a Process Services task or process instance. | [Source](../lib/core/models/comment-process.model.ts) |
| [Product version model](product-version.model.md) | Contains version and license information classes for Alfresco products. | [Source](../lib/core/models/product-version.model.ts) |
| [User process model](user-process.model.md) | Represents a Process Services user. | [Source](../lib/core/models/user-process.model.ts) |
| [Bpm user model](bpm-user.model.md) | Contains information about a Process Services user. | [Source](../lib/core/userinfo/models/bpm-user.model.ts) |
| [Ecm user model](ecm-user.model.md) | Contains information about a Content Services user. | [Source](../lib/core/userinfo/models/ecm-user.model.ts) |
- [File size pipe](file-size.pipe.md)
- [Mime type icon pipe](mime-type-icon.pipe.md)
- [Node name tooltip pipe](node-name-tooltip.pipe.md)
- [Text highlight pipe](text-highlight.pipe.md)
- [Time ago pipe](time-ago.pipe.md)
- [User initial pipe](user-initial.pipe.md)
## Pipes
### Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [File size pipe](file-size.pipe.md) | Converts a number of bytes to the equivalent in KB, MB, etc. | [Source](../lib/core/pipes/file-size.pipe.ts) |
| [Mime type icon pipe](mime-type-icon.pipe.md) | Retrieves an icon to represent a MIME type. | [Source](../lib/core/pipes/mime-type-icon.pipe.ts) |
| [Node name tooltip pipe](node-name-tooltip.pipe.md) | Formats the tooltip for a Node. | [Source](../lib/core/pipes/node-name-tooltip.pipe.ts) |
| [Text highlight pipe](text-highlight.pipe.md) | Adds highlighting to words or sections of text that match a search string. | [Source](../lib/core/pipes/text-highlight.pipe.ts) |
| [Time ago pipe](time-ago.pipe.md) | Converts a recent past date into a number of days ago. | [Source](../lib/core/pipes/time-ago.pipe.ts) |
| [User initial pipe](user-initial.pipe.md) | Takes the name fields of a UserProcessModel object and extracts and formats the initials. | [Source](../lib/core/pipes/user-initial.pipe.ts) |
- [App config service](app-config.service.md)
- [Activiti alfresco service](activiti-alfresco.service.md)
- [Form rendering service](form-rendering.service.md)
- [Form service](form.service.md)
- [Node service](node.service.md)
- [Process content service](process-content.service.md)
- [Alfresco api service](alfresco-api.service.md)
- [Apps process service](apps-process.service.md)
- [Auth guard bpm service](auth-guard-bpm.service.md)
- [Auth guard ecm service](auth-guard-ecm.service.md)
- [Auth guard service](auth-guard.service.md)
- [Authentication service](authentication.service.md)
- [Card view update service](card-view-update.service.md)
- [Comment process service](comment-process.service.md)
- [Content service](content.service.md)
- [Cookie service](cookie.service.md)
- [Deleted nodes api service](deleted-nodes-api.service.md)
- [Discovery api service](discovery-api.service.md)
- [Favorites api service](favorites-api.service.md)
- [Highlight transform service](highlight-transform.service.md)
- [Log service](log.service.md)
- [Nodes api service](nodes-api.service.md)
- [Notification service](notification.service.md)
- [Page title service](page-title.service.md)
- [People content service](people-content.service.md)
- [People process service](people-process.service.md)
- [Renditions service](renditions.service.md)
- [Search api service](search-api.service.md)
- [Shared links api service](shared-links-api.service.md)
- [Sites api service](sites-api.service.md)
- [Storage service](storage.service.md)
- [Thumbnail service](thumbnail.service.md)
- [Translation service](translation.service.md)
- [Upload service](upload.service.md)
- [User preferences service](user-preferences.service.md)
- [Bpm user service](bpm-user.service.md)
- [Ecm user service](ecm-user.service.md)
## Services
### Widgets
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Card view update service](card-view-update.service.md) | Reports edits and clicks within fields of a [Card View component](card-view.component.md). | [Source](../lib/core/card-view/services/card-view-update.service.ts) |
| [Activiti alfresco service](activiti-alfresco.service.md) | Gets Alfresco Repository folder content based on a Repository account configured in Alfresco Process Services (APS). | [Source](../lib/core/form/services/activiti-alfresco.service.ts) |
| [Form rendering service](form-rendering.service.md) | Maps an APS form field type string onto the corresponding form widget component type. | [Source](../lib/core/form/services/form-rendering.service.ts) |
| [Form service](form.service.md) | Implements Process Services form methods | [Source](../lib/core/form/services/form.service.ts) |
| [Node service](node.service.md) | Gets Alfresco Repository node metadata and creates nodes with metadata. | [Source](../lib/core/form/services/node.service.ts) |
| [Process content service](process-content.service.md) | Manipulates content related to a Process Instance or Task Instance in APS. | [Source](../lib/core/form/services/process-content.service.ts) |
| [Alfresco api service](alfresco-api.service.md) | Provides access to initialized **AlfrescoJSApi** instance. | [Source](../lib/core/services/alfresco-api.service.ts) |
| [Apps process service](apps-process.service.md) | Gets details of the Process Services apps that are deployed for the user. | [Source](../lib/core/services/apps-process.service.ts) |
| [Auth guard bpm service](auth-guard-bpm.service.md) | Adds authentication with Process Services to a route within the app. | [Source](../lib/core/services/auth-guard-bpm.service.ts) |
| [Auth guard ecm service](auth-guard-ecm.service.md) | Adds authentication with Content Services to a route within the app. | [Source](../lib/core/services/auth-guard-ecm.service.ts) |
| [Auth guard service](auth-guard.service.md) | Adds authentication to a route within the app. | [Source](../lib/core/services/auth-guard.service.ts) |
| [Authentication service](authentication.service.md) | Provides authentication for use with the Login component. | [Source](../lib/core/services/authentication.service.ts) |
| [Comment process service](comment-process.service.md) | Adds and retrieves comments for task and process instances in Process Services. | [Source](../lib/core/services/comment-process.service.ts) |
| [Content service](content.service.md) | Accesses app-generated data objects via URLs and file downloads. | [Source](../lib/core/services/content.service.ts) |
| [Cookie service](cookie.service.md) | Stores key-value data items as browser cookies. | [Source](../lib/core/services/cookie.service.ts) |
| [Deleted nodes api service](deleted-nodes-api.service.md) | Gets a list of Content Services nodes currently in the trash. | [Source](../lib/core/services/deleted-nodes-api.service.ts) |
| [Discovery api service](discovery-api.service.md) | Gets version and license information for Process Services and Content Services. | [Source](../lib/core/services/discovery-api.service.ts) |
| [Favorites api service](favorites-api.service.md) | Gets a list of items a user has marked as their favorites. | [Source](../lib/core/services/favorites-api.service.ts) |
| [Highlight transform service](highlight-transform.service.md) | Adds HTML to a string to highlight chosen sections. | [Source](../lib/core/services/highlight-transform.service.ts) |
| [Log service](log.service.md) | Provide a log functionality for your ADF application. | [Source](../lib/core/services/log.service.ts) |
| [Nodes api service](nodes-api.service.md) | Accesses and manipulates ACS document nodes using their node IDs. | [Source](../lib/core/services/nodes-api.service.ts) |
| [Notification service](notification.service.md) | Shows a notification message with optional feedback. | [Source](../lib/core/services/notification.service.ts) |
| [Page title service](page-title.service.md) | Sets the page title. | [Source](../lib/core/services/page-title.service.ts) |
| [People content service](people-content.service.md) | Gets information about a Content Services user. | [Source](../lib/core/services/people-content.service.ts) |
| [People process service](people-process.service.md) | Gets information about Process Services users. | [Source](../lib/core/services/people-process.service.ts) |
| [Renditions service](renditions.service.md) | Manages prearranged conversions of content to different formats. | [Source](../lib/core/services/renditions.service.ts) |
| [Search configuration service](search-configuration.service.md) | Provides fine control of parameters to a search. | [Source](../lib/core/services/search-configuration.service.ts) |
| [Shared links api service](shared-links-api.service.md) | Finds shared links to Content Services items. | [Source](../lib/core/services/shared-links-api.service.ts) |
| [Sites service](sites.service.md) | Accesses and manipulates sites from a Content Services repository. | [Source](../lib/core/services/sites.service.ts) |
| [Storage service](storage.service.md) | Stores items in the form of key-value pairs. | [Source](../lib/core/services/storage.service.ts) |
| [Thumbnail service](thumbnail.service.md) | Retrieves an SVG thumbnail image to represent a document type. | [Source](../lib/core/services/thumbnail.service.ts) |
| [Translation service](translation.service.md) | Supports localisation. | [Source](../lib/core/services/translation.service.ts) |
| [Upload service](upload.service.md) | Provides access to various APIs related to file upload features. | [Source](../lib/core/services/upload.service.ts) |
| [User preferences service](user-preferences.service.md) | Stores preferences for components. | [Source](../lib/core/services/user-preferences.service.ts) |
| [Bpm user service](bpm-user.service.md) | Gets information about the current Process Services user. | [Source](../lib/core/userinfo/services/bpm-user.service.ts) |
| [Ecm user service](ecm-user.service.md) | Gets information about a Content Services user. | [Source](../lib/core/userinfo/services/ecm-user.service.ts) |
- [Content widget](content.widget.md)
<!-- core end -->
## Widgets
### Other classes and interfaces
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Content widget](content.widget.md) | Shows the content preview. | [Source](../lib/core/form/components/widgets/content/content.widget.ts) |
- [DataTableAdapter interface](DataTableAdapter.md)
- [FormFieldValidator interface](FormFieldValidator.md)
<!--core end-->
## Other classes and interfaces
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Data Table Adapter interface](DataTableAdapter.md) | Defines how table data is supplied to [DataTable](datatable.component.md) and [Tasklist](task-list.component.md) components. | [Source](../lib/core/datatable/data/datatable-adapter.ts) |
| [Form Field Validator interface](FormFieldValidator.md) | Defines how the input fields of [ADF Form](form.component.md) and [ADF Task Details](task-details.component.md) components are validated. | [Source](../lib/core/form/components/widgets/core/form-field-validator.ts) |
| [Search Configuration interface](search-configuration.interface.md) | Provides fine control of parameters to a search. | [Source](../lib/core/services/search-configuration.service.ts) |
[(Back to Contents)](#contents)
@@ -148,52 +166,62 @@ Contains components related to Content Services.
See the library's
[README file](../lib/content-services/README.md)
for more information about installing and using the source code.
<!-- content-services start -->
### Components
<!--content-services start-->
- [Breadcrumb component](breadcrumb.component.md)
- [Dropdown breadcrumb component](dropdown-breadcrumb.component.md)
- [Content node selector component](content-node-selector.component.md)
- [Content action component](content-action.component.md)
- [Document list component](document-list.component.md)
- [Search control component](search-control.component.md)
- [Search component](search.component.md)
- [Sites dropdown component](sites-dropdown.component.md)
- [Like component](like.component.md)
- [Rating component](rating.component.md)
- [Tag actions component](tag-actions.component.md)
- [Tag list component](tag-list.component.md)
- [Tag node list component](tag-node-list.component.md)
- [File uploading dialog component](file-uploading-dialog.component.md)
- [Upload button component](upload-button.component.md)
- [Upload drag area component](upload-drag-area.component.md)
- [Version list component](version-list.component.md)
- [Version manager component](version-manager.component.md)
- [Webscript component](webscript.component.md)
- [*Content metadata card component](../lib/content-services/content-metadata/content-metadata-card.component.ts)
- [*Content metadata component](../lib/content-services/content-metadata/content-metadata.component.ts)
## Components
### Directives
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Breadcrumb component](breadcrumb.component.md) | Indicates the current position within a navigation hierarchy. | [Source](../lib/content-services/breadcrumb/breadcrumb.component.ts) |
| [Dropdown breadcrumb component](dropdown-breadcrumb.component.md) | Indicates the current position within a navigation hierarchy using a dropdown menu. | [Source](../lib/content-services/breadcrumb/dropdown-breadcrumb.component.ts) |
| [Content metadata component](content-metadata.component.md) | Allows a user to display and edit metadata related to a node. | [Source](../lib/content-services/content-metadata/components/content-metadata/content-metadata.component.ts) |
| [Content node selector panel component](content-node-selector-panel.component.md) | Opens a [Content Node Selector](content-node-selector.component.md) in its own dialog window. | [Source](../lib/content-services/content-node-selector/content-node-selector-panel.component.ts) |
| [Content node selector component](content-node-selector.component.md) | Allows a user to select items from a Content Services repository. | [Source](../lib/content-services/content-node-selector/content-node-selector.component.ts) |
| [Content action component](content-action.component.md) | Adds options to a Document List actions menu for a particular content type. | [Source](../lib/content-services/document-list/components/content-action/content-action.component.ts) |
| [Document list component](document-list.component.md) | Displays the documents from a repository. | [Source](../lib/content-services/document-list/components/document-list.component.ts) |
| [Search control component](search-control.component.md) | Displays a input text which shows find-as-you-type suggestions. | [Source](../lib/content-services/search/components/search-control.component.ts) |
| [Search component](search.component.md) | Searches items for supplied search terms. | [Source](../lib/content-services/search/components/search.component.ts) |
| [Sites dropdown component](sites-dropdown.component.md) | Displays a dropdown menu to show and interact with the sites of the current user. | [Source](../lib/content-services/site-dropdown/sites-dropdown.component.ts) |
| [Like component](like.component.md) | Allows a user to add "likes" to an item. | [Source](../lib/content-services/social/like.component.ts) |
| [Rating component](rating.component.md) | Allows a user to add ratings to an item. | [Source](../lib/content-services/social/rating.component.ts) |
| [Tag actions component](tag-actions.component.md) | Shows available actions for tags. | [Source](../lib/content-services/tag/tag-actions.component.ts) |
| [Tag list component](tag-list.component.md) | Shows tags for an item. | [Source](../lib/content-services/tag/tag-list.component.ts) |
| [Tag node list component](tag-node-list.component.md) | Shows tags for a node. | [Source](../lib/content-services/tag/tag-node-list.component.ts) |
| [File uploading dialog component](file-uploading-dialog.component.md) | Shows a dialog listing all the files uploaded with the Upload Button or Drag Area components. | [Source](../lib/content-services/upload/components/file-uploading-dialog.component.ts) |
| [Upload button component](upload-button.component.md) | Activates a file upload. | [Source](../lib/content-services/upload/components/upload-button.component.ts) |
| [Upload drag area component](upload-drag-area.component.md) | Adds a drag and drop area to upload files to Alfresco. | [Source](../lib/content-services/upload/components/upload-drag-area.component.ts) |
| [Version list component](version-list.component.md) | Displays the version history of a node in a [Version Manager component](version-manager.component.md) | [Source](../lib/content-services/version-manager/version-list.component.ts) |
| [Version manager component](version-manager.component.md) | Displays the version history of a node with the ability to upload a new version. | [Source](../lib/content-services/version-manager/version-manager.component.ts) |
| [Webscript component](webscript.component.md) | Provides access to Webscript features. | [Source](../lib/content-services/webscript/webscript.component.ts) |
- [Folder create directive](folder-create.directive.md)
- [Folder edit directive](folder-edit.directive.md)
- [File draggable directive](file-draggable.directive.md)
## Directives
### Models
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Folder create directive](folder-create.directive.md) | Allows folders to be created. | [Source](../lib/content-services/folder-directive/folder-create.directive.ts) |
| [Folder edit directive](folder-edit.directive.md) | Allows folders to be edited. | [Source](../lib/content-services/folder-directive/folder-edit.directive.ts) |
| [File draggable directive](file-draggable.directive.md) | Provide drag-and-drop features for an element such as a `div`. | [Source](../lib/content-services/upload/directives/file-draggable.directive.ts) |
- [Document library model](document-library.model.md)
- [Permissions style model](permissions-style.model.md)
## Models
### Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Document library model](document-library.model.md) | Defines classes for use with the Content Services node API. | [Source](../lib/content-services/document-list/models/document-library.model.ts) |
| [Permissions style model](permissions-style.model.md) | Sets custom CSS styles for rows of a [Document List](document-list.component.md) according to the item's permissions. | [Source](../lib/content-services/document-list/models/permissions-style.model.ts) |
- [Document actions service](document-actions.service.md)
- [Document list service](document-list.service.md)
- [Folder actions service](folder-actions.service.md)
- [Rating service](rating.service.md)
- [Tag service](tag.service.md)
- [*Content metadata service](../lib/content-services/content-metadata/content-metadata.service.ts)
<!-- content-services end -->
## Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Content node dialog service](content-node-dialog.service.md) | Displays and manages dialogs for selecting content to open, copy or upload. | [Source](../lib/content-services/content-node-selector/content-node-dialog.service.ts) |
| [Document actions service](document-actions.service.md) | Implements the document menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/document-actions.service.ts) |
| [Document list service](document-list.service.md) | Implements node operations used by the Document List component. | [Source](../lib/content-services/document-list/services/document-list.service.ts) |
| [Folder actions service](folder-actions.service.md) | Implements the folder menu actions for the Document List component. | [Source](../lib/content-services/document-list/services/folder-actions.service.ts) |
| [Rating service](rating.service.md) | Manages ratings for items in Content Services. | [Source](../lib/content-services/social/services/rating.service.ts) |
| [Tag service](tag.service.md) | Manages tags in Content Services. | [Source](../lib/content-services/tag/services/tag.service.ts) |
<!--content-services end-->
[(Back to Contents)](#contents)
@@ -203,51 +231,65 @@ Contains components related to Process Services.
See the library's
[README file](../lib/process-services/README.md)
for more information about installing and using the source code.
<!-- process-services start -->
### Components
<!--process-services start-->
- [Apps list component](apps-list.component.md)
- [Create process attachment component](create-process-attachment.component.md)
- [Create task attachment component](create-task-attachment.component.md)
- [Process attachment list component](process-attachment-list.component.md)
- [Task attachment list component](task-attachment-list.component.md)
- [Comment list component](comment-list.component.md)
- [Comments component](comments.component.md)
- [Process comments component](process-comments.component.md)
- [People list component](people-list.component.md)
- [People search component](people-search.component.md)
- [People component](people.component.md)
- [Process filters component](process-filters.component.md)
- [Process instance details component](process-instance-details.component.md)
- [Process instance header component](process-instance-header.component.md)
- [Process instance tasks component](process-instance-tasks.component.md)
- [Process list component](process-list.component.md)
- [Start process component](start-process.component.md)
- [Checklist component](checklist.component.md)
- [Start task component](start-task.component.md)
- [Task details component](task-details.component.md)
- [Task filters component](task-filters.component.md)
- [Task header component](task-header.component.md)
- [Task list component](task-list.component.md)
## Components
### Directives
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Apps list component](apps-list.component.md) | Shows all available apps. | [Source](../lib/process-services/app-list/apps-list.component.ts) |
| [Create process attachment component](create-process-attachment.component.md) | Displays Upload Component (Drag and Click) to upload the attachment to a specified process instance | [Source](../lib/process-services/attachment/create-process-attachment.component.ts) |
| [Create task attachment component](create-task-attachment.component.md) | Displays Upload Component (Drag and Click) to upload the attachment to a specified task | [Source](../lib/process-services/attachment/create-task-attachment.component.ts) |
| [Process attachment list component](process-attachment-list.component.md) | Displays attached documents on a specified process instance | [Source](../lib/process-services/attachment/process-attachment-list.component.ts) |
| [Task attachment list component](task-attachment-list.component.md) | Displays attached documents on a specified task. | [Source](../lib/process-services/attachment/task-attachment-list.component.ts) |
| [Comment list component](comment-list.component.md) | Shows a list of comments. | [Source](../lib/process-services/comments/comment-list.component.ts) |
| [Comments component](comments.component.md) | Displays comments from users involved in a specified task and allows an involved user to add a comment to the task. | [Source](../lib/process-services/comments/comments.component.ts) |
| [Process comments component](process-comments.component.md) | Displays comments associated with a particular process instance and allows the user to add new comments. | [Source](../lib/process-services/comments/process-comments.component.ts) |
| [People component](people.component.md) | Displays users involved with a specified task | [Source](../lib/process-services/people/components/people/people.component.ts) |
| [People list component](people-list.component.md) | Shows a list of users (people). | [Source](../lib/process-services/people/components/people-list/people-list.component.ts) |
| [People search component](people-search.component.md) | Searches users/people. | [Source](../lib/process-services/people/components/people-search/people-search.component.ts) |
| [Process filters component](process-filters.component.md) | Collection of criteria used to filter process instances, which may be customized by users. | [Source](../lib/process-services/process-list/components/process-filters.component.ts) |
| [Process instance details component](process-instance-details.component.md) | Displays detailed information on a specified process instance | [Source](../lib/process-services/process-list/components/process-instance-details.component.ts) |
| [Process instance header component](process-instance-header.component.md) | Sub-component of the process details component, which renders some general information about the selected process. | [Source](../lib/process-services/process-list/components/process-instance-header.component.ts) |
| [Process instance tasks component](process-instance-tasks.component.md) | Lists both the active and completed tasks associated with a particular process instance | [Source](../lib/process-services/process-list/components/process-instance-tasks.component.ts) |
| [Process list component](process-list.component.md) | Renders a list containing all the process instances matched by the parameters specified. | [Source](../lib/process-services/process-list/components/process-list.component.ts) |
| [Start process component](start-process.component.md) | Starts a process. | [Source](../lib/process-services/process-list/components/start-process.component.ts) |
| [Checklist component](checklist.component.md) | Shows the checklist task functionality. | [Source](../lib/process-services/task-list/components/checklist.component.ts) |
| [Start task component](start-task.component.md) | Creates/Starts new task for the specified app | [Source](../lib/process-services/task-list/components/start-task.component.ts) |
| [Task details component](task-details.component.md) | Shows the details of the task id passed in input | [Source](../lib/process-services/task-list/components/task-details.component.ts) |
| [Task filters component](task-filters.component.md) | Shows all available filters. | [Source](../lib/process-services/task-list/components/task-filters.component.ts) |
| [Task header component](task-header.component.md) | Shows all the information related to a task. | [Source](../lib/process-services/task-list/components/task-header.component.ts) |
| [Task list component](task-list.component.md) | Renders a list containing all the tasks matched by the parameters specified. | [Source](../lib/process-services/task-list/components/task-list.component.ts) |
| _People search field component_ | _Not currently documented_ | [Source](../lib/process-services/people/components/people-search-field/people-search-field.component.ts) |
| _People selector component_ | _Not currently documented_ | [Source](../lib/process-services/people/components/people-selector/people-selector.component.ts) |
- [Process audit directive](process-audit.directive.md)
- [Task audit directive](task-audit.directive.md)
## Directives
### Models
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Process audit directive](process-audit.directive.md) | Fetches the Process Audit information in the pdf or json format. | [Source](../lib/process-services/process-list/components/process-audit.directive.ts) |
| [Task audit directive](task-audit.directive.md) | Fetches the Task Audit information in the pdf or json format. | [Source](../lib/process-services/task-list/components/task-audit.directive.ts) |
| _People search action label directive_ | _Not currently documented_ | [Source](../lib/process-services/people/directives/people-search-action-label.directive.ts) |
| _People search title directive_ | _Not currently documented_ | [Source](../lib/process-services/people/directives/people-search-title.directive.ts) |
- [Filter model](filter.model.md)
- [Task details model](task-details.model.md)
## Models
### Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Filter model](filter.model.md) | Contains classes related to filters in Process Services. | [Source](../lib/process-services/task-list/models/filter.model.ts) |
| [Task details model](task-details.model.md) | Information about a task. | [Source](../lib/process-services/task-list/models/task-details.model.ts) |
- [Process filter service](process-filter.service.md)
- [Process service](process.service.md)
- [Task filter service](task-filter.service.md)
- [Tasklist service](tasklist.service.md)
<!-- process-services end -->
## Services
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Process filter service](process-filter.service.md) | Manage Process Filters, which are pre-configured Process Instance queries. | [Source](../lib/process-services/process-list/services/process-filter.service.ts) |
| [Process service](process.service.md) | Manage Process Instances, Process Variables, and Process Audit Log. | [Source](../lib/process-services/process-list/services/process.service.ts) |
| [Task filter service](task-filter.service.md) | Manage Task Filters, which are pre-configured Task Instance queries. | [Source](../lib/process-services/task-list/services/task-filter.service.ts) |
| [Tasklist service](tasklist.service.md) | Manage Task Instances. | [Source](../lib/process-services/task-list/services/tasklist.service.ts) |
<!--process-services end-->
[(Back to Contents)](#contents)
@@ -257,15 +299,19 @@ Contains components for Process Services analytics and diagrams.
See the library's
[README file](../lib/insights/README.md)
for more information about installing and using the source code.
<!-- insights start -->
### Components
<!--insights start-->
- [Analytics generator component](analytics-generator.component.md)
- [Analytics report list component](analytics-report-list.component.md)
- [Analytics component](analytics.component.md)
- [Widget component](widget.component.md)
- [Diagram component](diagram.component.md)
<!-- insights end -->
## Components
[(Back to Contents)](#contents)
| Name | Description | Source link |
| ---- | ----------- | ----------- |
| [Widget component](widget.component.md) | Base class for standard and custom widget classes. | [Source](../lib/insights/analytics-process/components/widgets/widget.component.ts) |
| [Analytics generator component](analytics-generator.component.md) | Generates and shows charts | [Source](../lib/insights/analytics-process/components/analytics-generator.component.ts) |
| [Analytics report list component](analytics-report-list.component.md) | Shows a list of all available reports | [Source](../lib/insights/analytics-process/components/analytics-report-list.component.ts) |
| [Analytics component](analytics.component.md) | Shows the charts related to the reportId passed as input | [Source](../lib/insights/analytics-process/components/analytics.component.ts) |
| [Diagram component](diagram.component.md) | This component shows the diagram of a process. | [Source](../lib/insights/diagram/components/diagram.component.ts) |
<!--insights end-->
[(Back to Contents)](#contents)
+15 -25
View File
@@ -4,19 +4,6 @@ Adds a collapsible panel to an [accordion menu](accordion.component.md).
![Accordion menu screenshot](docassets/images/accordion-menu.png)
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Basic Usage](#basic-usage)
* [Properties](#properties)
- [Details](#details)
- [See also](#see-also)
<!-- tocstop -->
<!-- markdown-toc end -->
## Basic Usage
```html
@@ -44,22 +31,25 @@ export class MyComponent implements OnInit {
### Properties
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| heading | `string` | | Title heading for the group. |
| headingIcon | `string` | | The material design icon. |
| headingIconTooltip | `string` | | Tooltip message to be shown for headingIcon |
| hasAccordionIcon | `boolean` | `true` | Should the (expanded) accordion icon be shown? |
| isOpen | `boolean` | | Is this group currently open? |
| isSelected | `boolean` | | Is this group currently selected? |
### Events
| Name | Type | Description |
| --- | --- | --- |
| heading | string | Title heading for the group. |
| isSelected | boolean | Is this group currently selected? |
| headingIcon | string | The material design icon. |
| hasAccordionIcon | boolean | Should the (expanded) accordion icon be shown? Defaults to true |
| headingIconTooltip | string | Tooltip message to be shown for headingIcon |
| ---- | ---- | ----------- |
| headingClick | `EventEmitter<any>` | Emitted when the heading is clicked. |
## Details
Place one or more accordion groups within an [Accordion component](accordion.component.md) to define
a menu.
Place one or more accordion groups within an [Accordion component](accordion.component.md) to define a menu.
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Accordion component](accordion.component.md)
<!-- seealso end -->
- [Accordion component](accordion.component.md)
+1 -27
View File
@@ -4,20 +4,6 @@ Creates a collapsible accordion menu.
![Accordion menu screenshot](docassets/images/accordion-menu.png)
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Basic Usage](#basic-usage)
* [Properties](#properties)
- [Details](#details)
* [Example](#example)
- [See also](#see-also)
<!-- tocstop -->
<!-- markdown-toc end -->
## Basic Usage
```html
@@ -43,15 +29,6 @@ export class MyComponent implements OnInit {
}
```
### Properties
| Name | Type | Description |
| --- | --- | --- |
| heading | string | The header title. |
| isSelected | boolean | Define if the accordion group is selected or not. |
| headingIcon | string | The material design icon. |
| hasAccordionIcon | boolean | Define if the accordion (expand) icon needs to be shown or not, the default value is true |
## Details
An accordion menu contains several panels of content, only one of which is visible at any time. The
@@ -83,9 +60,6 @@ the following example:
![how-create-accordion-menu](docassets/images/how-to-create-accordion-menu.png)
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Accordion group component](accordion-group.component.md)
<!-- seealso end -->
- [Accordion group component](accordion-group.component.md)
+3 -2
View File
@@ -1,6 +1,7 @@
# Activiti Alfresco Content Service
Get Alfresco Repository folder content based on a Repository account configured in Alfresco Process Services (APS).
Gets Alfresco Repository folder content based on a Repository account configured in Alfresco Process Services (APS).
It is possible to configure multiple Alfresco Repository accounts in APS (i.e. multiple Alfresco Servers).
This service can also be used to link Alfresco content as related content in APS.
Content such as documents and other files can be attached to Process Instances
@@ -20,7 +21,7 @@ And also import it in the way shown below.
## Importing
```ts
import { ActivitiAlfrescoContentService } from 'ng2-activiti-form/src/services/activiti-alfresco.service';
import { ActivitiAlfrescoContentService } from '@alfresco/adf-core';
export class SomePageComponent implements OnInit {
+1 -12
View File
@@ -2,17 +2,6 @@
Provides access to initialized **AlfrescoJSApi** instance.
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Basic Usage](#basic-usage)
- [Details](#details)
<!-- tocstop -->
<!-- markdown-toc end -->
## Basic Usage
```ts
@@ -42,4 +31,4 @@ Alfresco JS api by casting the instance to `any` type like the following:_
```ts
let api: any = this.apiService.getInstance();
api.nodes.addNode('-root-', body, {});
```
```
+9 -21
View File
@@ -1,18 +1,6 @@
# Analytics Generator Component
The component generates and shows the charts
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Basic Usage](#basic-usage)
* [Properties](#properties)
* [Events](#events)
<!-- tocstop -->
<!-- markdown-toc end -->
Generates and shows charts
## Basic Usage
@@ -25,14 +13,14 @@ The component generates and shows the charts
### Properties
| Name | Type | Description |
| --- | --- | -- |
| reportId | string | The report id |
| reportParamQuery | ReportQuery | The object contains all the parameters that the report needs |
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| reportId | `number` | | |
| reportParamQuery | `ReportQuery` | `undefined` | |
### Events
| Name | Description |
| --- | --- |
| success | Raised when the charts are loaded |
| error | Raised when an error occurs during the loading |
| Name | Type | Description |
| ---- | ---- | ----------- |
| success | `EventEmitter<{}>` | |
| error | `EventEmitter<{}>` | |
+11 -23
View File
@@ -1,18 +1,6 @@
# Activiti Analytics List Component
The component shows the list of all the available reports
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Basic Usage](#basic-usage)
* [Properties](#properties)
* [Events](#events)
<!-- tocstop -->
<!-- markdown-toc end -->
Shows a list of all available reports
## Basic Usage
@@ -24,16 +12,16 @@ The component shows the list of all the available reports
### Properties
| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| appId | string | optional | | The application id |
| layoutType | string | required | | Define the layout of the apps. There are two possible values: GRID or LIST. LIST is the default value|
| selectFirst | boolean | optional | false | Change the value to true if you want to select the first item in the list as default|
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| layoutType | `string` | `AnalyticsReportListComponent.LAYOUT_LIST` | |
| appId | `number` | | |
| selectFirst | `boolean` | `false` | |
### Events
| Name | Description |
| --- | --- |
| success | The event is emitted when the report list is loaded |
| error | The event is emitted when an error occurs during the loading |
| reportClick | The event is emitted when the report in the list is selected |
| Name | Type | Description |
| ---- | ---- | ----------- |
| reportClick | `EventEmitter<ReportParametersModel>` | |
| success | `EventEmitter<{}>` | |
| error | `EventEmitter<{}>` | |
+10 -35
View File
@@ -4,18 +4,6 @@ Shows the charts related to the reportId passed as input
![Analytics-without-parameters](docassets/images/analytics-without-parameters.png)
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Basic Usage](#basic-usage)
* [Properties](#properties)
* [Events](#events)
<!-- tocstop -->
<!-- markdown-toc end -->
## Basic Usage
```html
@@ -27,29 +15,16 @@ Shows the charts related to the reportId passed as input
### Properties
| Name | Type | Description |
| --- | --- | --- |
| appId | string | The application id |
| reportId | string | The report id |
| hideParameters | boolean | Toggle the analytics parameters |
You can also hide chart parameters UI by setting the `hideParameters` to `true`:
```html
<adf-analytics
[appId]="appId"
[reportId]="reportId"
[hideParameters]="true">
</adf-analytics>
```
![Analytics-without-parameters](docassets/images/analytics-without-parameters.png)
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| appId | `number` | | |
| reportId | `number` | | |
| hideParameters | `boolean` | `false` | |
### Events
| Name | Description |
| --- | --- |
| success | The event is emitted when the report parameters are loaded |
| error | The event is emitted when an error occurs during the loading |
| reportSaved | The event is emitted when a report is saved |
| reportDeleted | The event is emitted when a report is deleted |
| Name | Type | Description |
| ---- | ---- | ----------- |
| editReport | `EventEmitter<{}>` | |
| reportSaved | `EventEmitter<{}>` | |
| reportDeleted | `EventEmitter<{}>` | |
+2 -5
View File
@@ -2,7 +2,7 @@
Google's
[Material Design](https://material.io/guidelines/material-design/introduction.html)
is an example of a *design language*, a
is an example of a _design language_, a
general set of principles and ideas that are used to give designs a
consistent look and feel. A design language might be used in-house by
a company to maintain a "family resemblance" between its products or to
@@ -53,9 +53,6 @@ See the Material Design
[system icon docs](https://material.io/guidelines/style/icons.html#icons-system-icons)
for further information and to download the set of standard icon images.
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Theming](theming.md)
<!-- seealso end -->
- [Theming](theming.md)
+2 -13
View File
@@ -2,17 +2,6 @@
Supports app configuration settings, stored server side.
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Details](#details)
* [Variable substitution in configuration strings](#variable-substitution-in-configuration-strings)
<!-- tocstop -->
<!-- markdown-toc end -->
## Details
The `AppConfigService` service provides support for loading and accessing global application configuration settings that you store on the server side in the form of a JSON file.
@@ -65,7 +54,7 @@ Below is a simple example of using the AppConfigService in practice.
**app.component.ts**
```ts
import { AppConfigService } from 'ng2-alfresco-core';
import { AppConfigService } from '@alfresco/adf-core';
@Component({...})
export class AppComponent {
@@ -102,6 +91,6 @@ The `AppConfigService` also supports a limited set of variable substitutions to
The supported variables are:
| Variable name | Runtime value |
| --- | --- |
| ------------- | ------------- |
| hostname | `location.hostname` |
| port | `location.port` |
+10 -23
View File
@@ -1,23 +1,9 @@
# Activiti Apps Component
# Apps List Component
Shows all available apps.
![how-filter-apps](docassets/images/how-filter-apps.png)
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Basic Usage](#basic-usage)
* [Properties](#properties)
* [Events](#events)
- [Details](#details)
* [How filter the activiti apps](#how-filter-the-activiti-apps)
<!-- tocstop -->
<!-- markdown-toc end -->
## Basic Usage
```html
@@ -28,16 +14,17 @@ Shows all available apps.
### Properties
| Name | Type | Description |
| --- | --- | --- |
| layoutType | string | (**required**) Define the layout of the apps. There are two possible values: GRID or LIST. |
| filtersAppId | Object | Provide a way to filter the apps to show. |
| Name | Type | Default value | Description |
| ---- | ---- | ------------- | ----------- |
| layoutType | `string` | `AppsListComponent.LAYOUT_GRID` | (**required**) Defines the layout of the apps. There are two possible values, "GRID" and "LIST". |
| filtersAppId | `any[]` | | Provides a way to filter the apps to show. |
### Events
| Name | Description |
| --- | --- |
| appClick | Raised when an app entry is clicked |
| Name | Type | Description |
| ---- | ---- | ----------- |
| appClick | `EventEmitter<AppDefinitionRepresentationModel>` | Emitted when an app entry is clicked. |
| error | `EventEmitter<any>` | Emitted when an error occurs. |
## Details
@@ -69,4 +56,4 @@ You can use inside the filter one of the following property
"modelId": "number",
"tenantId": "number"
}
```
```
+2 -8
View File
@@ -31,13 +31,7 @@ either ACS or APS. See the
[ADF custom page tutorial](https://community.alfresco.com/docs/DOC-6628-adf-105-creating-custom-pages-and-components)
for worked examples of all three guards.
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Auth guard ecm service](auth-guard-ecm.service.md)
- [Auth guard service](auth-guard.service.md)
<!-- seealso end -->
- [Auth guard ecm service](auth-guard-ecm.service.md)
- [Auth guard service](auth-guard.service.md)
+2 -8
View File
@@ -31,13 +31,7 @@ either APS or ACS. See the
[ADF custom page tutorial](https://community.alfresco.com/docs/DOC-6628-adf-105-creating-custom-pages-and-components)
for worked examples of all three guards.
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Auth guard service](auth-guard.service.md)
- [Auth guard bpm service](auth-guard-bpm.service.md)
<!-- seealso end -->
- [Auth guard service](auth-guard.service.md)
- [Auth guard bpm service](auth-guard-bpm.service.md)
+2 -8
View File
@@ -32,13 +32,7 @@ against APS or ACS, respectively. See the
[ADF custom page tutorial](https://community.alfresco.com/docs/DOC-6628-adf-105-creating-custom-pages-and-components)
for worked examples of all three guards.
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Auth guard bpm service](auth-guard-bpm.service.md)
- [Auth guard ecm service](auth-guard-ecm.service.md)
<!-- seealso end -->
- [Auth guard bpm service](auth-guard-bpm.service.md)
- [Auth guard ecm service](auth-guard-ecm.service.md)
+3 -15
View File
@@ -2,24 +2,12 @@
Provides authentication for use with the Login component.
<!-- markdown-toc start - Don't edit this section. npm run toc to generate it-->
<!-- toc -->
- [Basic Usage](#basic-usage)
* [Events](#events)
- [Details](#details)
<!-- tocstop -->
<!-- markdown-toc end -->
## Basic Usage
**app.component.ts**
```ts
import { AuthenticationService } from 'ng2-alfresco-core';
import { AuthenticationService } from '@alfresco/adf-core';
@Component({...})
export class AppComponent {
@@ -39,10 +27,10 @@ export class AppComponent {
### Events
| Name | Description |
| --- | --- |
| ---- | ----------- |
| onLogin | Raised when user logs in |
| onLogout | Raised when user logs out |
## Details
The authentication service is used inside the [login component](../ng2-components/ng2-alfresco-login/README.md) and is possible to find there an example of how to use it.
The authentication service is used inside the [login component](login.component.md) and is possible to find there an example of how to use it.
+3 -6
View File
@@ -14,11 +14,8 @@ it is likely to change and so its properties are not listed here. For the
latest version of the class, see the
[source file](https://github.com/Alfresco/alfresco-ng2-components/blob/development/lib/core/userinfo/models/bpm-user.model.ts).
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Bpm user service](bpm-user.service.md)
- [Ecm user model](ecm-user.model.md)
- [People process service](people-process.service.md)
<!-- seealso end -->
- [Bpm user service](bpm-user.service.md)
- [Ecm user model](ecm-user.model.md)
- [People process service](people-process.service.md)
+2 -5
View File
@@ -21,10 +21,7 @@ and
[getProfilePictureUrl](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-activiti-rest-api/docs/ProfileApi.md#getProfilePictureUrl)
methods in the Alfresco JS API for more information about the REST calls used by this service.
<!-- Don't edit the See also section. Edit seeAlsoGraph.json and run config/generateSeeAlso.js -->
<!-- seealso start -->
## See also
- [Ecm user service](ecm-user.service.md)
- [Bpm user model](bpm-user.model.md)
<!-- seealso end -->
- [Ecm user service](ecm-user.service.md)
- [Bpm user model](bpm-user.model.md)

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