Compare commits

...
449 Commits
Author SHA1 Message Date
Eugenio Romano e5535b1bfc fix test 2018-06-25 14:26:34 +01:00
Eugenio Romano 192303ce75 update lock 2018-06-25 11:48:23 +01:00
Eugenio Romano f9658e2879 2.4.0 (#3522)
* [ADF-2914] support for number range patterns (#3282)

* support for number range patterns

* fix memory leak for tag actions

* [ADF-2824] Reviewed docs for core and content services (#3290)

* [ADF-2824] Reviewed card view docs

* [ADF-2824] Reviewed doc for core and content services

* [ADF-2824] Added class name exception to prop script

* [ADF-2843] added tooltip for create new folder and edit folder icons … (#3286)

* [ADF-2843] added tooltip for create new folder and edit folder icons from Content Service

* [ADF-2843] added translation for tooltip

* Update content-metadata.component.md

* [ADF_NOISSUE] Fix styling and sidenav layout fixes (#3291)

* Fix styling and sidenav layout fixes

* Revert packagr conflicting mods

* [ADF-2905] Added JSDocs for process services (#3292)

* [ADF-2905] Added JSDocs for process services

* [ADF-2905] Added missing return value in tasklist service

* [ADF-2916] number range form validator added (#3279)

* number range form validator added

* tests added

* [ADF-2626] added preserved state functionality for sidenav component (#3278)

* [ADF-2626] added preserved state functionality for sidenav component

* [ADF-2626] changed logic for preserving the sidenav component state

* [ADF-2626] added missing curly brace }

* [ADF-2626] small changes on logic based on pr comments

* [ADF-2843] added tooltip for create folder and edit folder icons from Content Services

* Revert "[ADF-2843] added tooltip for create folder and edit folder icons from Content Services"

This reverts commit d5a7abb65b.

* [ADF-2626] changed casting

* [ADF-2626] updated documentation with event

* [ADF-2626] removed app-config pipe because it was not being used

* [ADF-2328] filtering support for facets and categories (#3293)

* filtering support for facets and categories

* fix tests

* update variable names

* [ADF-2973] Angular pipe to get application configuration settings (#3301)

* app config pipe

* update docs

* [ADF-2849] Search Date Range - Set the format of the date from config (#3288)

* format date chosen from the datePicker's calendar

* format date on focusout event

* fix tests & some code refactoring

* more validation messages

* unit tests

* fix typecast error

* move "dateFormat" to be part of the "date range" widget settings block

* fix error on Moment

"...Type 'moment.Moment' is not assignable to type 'moment.Moment'. Two different types with this name exist, but they are unrelated.
          Property 'isLocal' is missing in type 'Moment'..."

* moment - use old version

* change script - use recent version of moment

* Added the working-with-nodes-api-service tutorial. (#3295)

* [ADF-2826] added a check for duplicate permission add (#3265)

* [ADF-2556] first step to create add people or group to permissions

* [ADF-2556] creating a dialog with user results

* [ADF-2556]
integrated service for add and remove permission from node

* [ADF-2556] fixed behaviour and style for add user group

* [ADF-2556] added some refactoring for dialog service

* [ADF-2556] refactoring the dependencies of the components

* [ADF-2556] added some fix and a new key for dialog

* [ADF-2556] start adding test for node permission service

* [ADF-2556] added test for add permission panel component

* [ADf-2556] adding tests for new add permission component

* [ADF-2556] fixed tests and added documentation

* [ADF-2556] fixed documentation for add-node components

* [ADF-2556] added peer review changes

* [ADF-2826] added a check for duplicate permission add

* [ADF-2826] removed fdescribe

* [ADF-2826] applied peer review changes

* [ADF-2930] general purpose "Empty Page" component (#3296)

* empty content component

* fix selector name

* style fixes

* cleanup code

* docs for empty content

* update docs

* update docs

* use typography for icon

* layout fixes for Login (ported from ACA)

* fix aot crash

* fix tslint error and add and block if tslint give error in the pipeline

* [ADF-2892] Sidenav now prevents closing itself when ESC key is pressed (#3302)

* [ADF-2892] Sidenav now closes when clicking outside of it

* [ADF-2892] Sidevan now prevents closing itself when ESC key is pressed

* Fix for a technical bug, which prevents the proper usage of the expanded output event. (#3304)

* [ADF-NO-PRIVATE] renoved private property which breaks AOT (#3305)

* [ADF-2975] New input for File Upload Button component (#3299)

* new nodeType input

* unit tests

* content type fix

* remove package-lock.json files

* [ADF-2699] added localisation for time ago pipe (#3298)

* [ADF-2699] added localisation to the time-ago pipe

* [ADF-2699] added lang to time ago pipe

* [ADF-2699] added localisation for time ago pipe

* [ADF-2699] removed fdescribe

* [ADF-2699] removed comments

* [ADF-2699] removed useless default values

* fix css scope for search filter

* fix aot error

* fix ID show rancher script update

* Addition to the preparation of the environment. (#3306)

* Added the working-with-nodes-api-service tutorial.

* Added the 'Alfresco Example Content Application' paragraph to the 'Preparing the development environment' tutorial.

* [ADF-2843] added tooltips for all the buttons in toolbar (#3297)

* [ADF-2843] added tooltip for create new folder and edit folder icons from Content Service

* [ADF-2843] added translation for tooltip

* [ADF-2843] added tooltips for all the buttons in toolbar

* [ADF-2843] discard package-lock

* [ADF-2832] discard changes to package-lock

* [ADF-2843] discarded changes from package-lock

* [ADF-2843] added tooltip for list view button

* [ADF-2912] added group everyone as constant result for add permissions (#3266)

* [ADF-2556] first step to create add people or group to permissions

* [ADF-2556] creating a dialog with user results

* [ADF-2556]
integrated service for add and remove permission from node

* [ADF-2556] fixed behaviour and style for add user group

* [ADF-2556] added some refactoring for dialog service

* [ADF-2556] refactoring the dependencies of the components

* [ADF-2556] added some fix and a new key for dialog

* [ADF-2556] start adding test for node permission service

* [ADF-2556] added test for add permission panel component

* [ADf-2556] adding tests for new add permission component

* [ADF-2556] fixed tests and added documentation

* [ADF-2556] fixed documentation for add-node components

* [ADF-2556] added peer review changes

* [ADF-2912] added group everyone as constant result for add permissions

* [ADF-2912] readded jsdoc

* fix search filter styles (#3313)

* [ADF-2978] added a check when locally set permission is undefined (#3307)

* [ADF-2969] Moved doc tools to new tools folder (#3314)

* [ADF-2969] Moved doc tools to new tools folder

* [ADF-2969] Added files missing from schematic

* [ADF-2969] Added missing files to schematic

* [ADF-2813] set default sorting (#3311)

* [ADF-2891] decoupled search service love (#3312)

* Added the tutorial 'Creating your JavaScript application using alfresco-js-api'. (#3310)

* Added the working-with-nodes-api-service tutorial.

* Added the 'Alfresco Example Content Application' paragraph to the 'Preparing the development environment' tutorial.

* Added the tutorial 'Creating your JavaScript application using alfresco-js-api'.

* Added the image of the tutorial.

* Typo in 'creating-javascript-app-using-alfresco-js-api.md'

Typo in 'Prerequisites'.

* Typos in 'creating-javascript-app-using-alfresco-js-api.md'

Two small typos.

* Wrong sentence in 'creating-javascript-app-using-alfresco-js-api.md'

...into Angular applications, but it is "framework agnostic".

* Typo on 'creating-javascript-app-using-alfresco-js-api.md'.

...and Angular...

* [ADF-2888] UX doesn't respect the Sidenav specifiactions (#3303)

* [ADF-2771] Sidebar action menu component - UX review

* Add a input property to set the width of sidebar-action-menu.

* [ADF-2888]  UX doesn't respect the Sidenav specifiactions

* Add a input property to set the width of sidebar-action-menu.

* remove search configuration enforcement (#3315)

* [ADF-2986] try to pick the start value from local storage before the standard default (#3318)

* [ADF-2912] group everyone is always visible even for no search result (#3316)

* [ADF-2826] fixed wrong parsing for error message (#3317)

* [ADF-2739] Improved breadcrumb logic (#3287)

* [ADF-2739] Long names in breadcrumb fixed

* [ADF-2739] Updated styles

* [ADF-2739] Fixing @mixin for breadcrumb

* [ADF-2739] Waiting for changes in demo-shell

* [ADF-2739] Fixed @mixin

* [ADF-2739] Fixed issue related to breadcrumb position

* [ADF-2739] Improved ngOnChanges call for breadcrumb

* [ADF-2739] Fixed issues with lint

* [ADF-2739] Removed comment in dropdown breadcrumb component file

* [ADF-2739] Changed recalculateNodes method from public to protected

* pipeline-update (#3309)

* deploy PR script

* [ADF-2967] fixed create new task navigation (#3322)

* [ADF-2967] fixed create new task navigation

* [ADF-2967] removed extra variables

* [ADF-2967] removed unused methods

* [ADF-2961] support for protocol substition in app config files (#3324)

* support for protocol substition in app config files

* Update app-config.service.spec.ts

* Update app-config.service.spec.ts

* [ADF-2925] Required and invalid validators added (#3277)

* test added

* tests clean

* test added

* tslint clean

* test name changed

* update tests

* Added the tutorial 'Working with the Nodes API Service'. (#3319)

* [ADF-2979] Updated props script to avoid copying missing JSDocs (#3327)

* [ADF-2979] Updated tools to ignore blank JSDocs for inputs/outputs

* [ADF-2979] Bug fixes for handling missing tables, etc

* [ADF-2989] updated documentation with multiple node example (#3328)

* [ADF-2503] conditional visibility for content actions (#3325)

* conditional visibility for content actions

* fix typo

* workaround for "target: all"

* [ADF-2821] move module sidebar action menu (#3321)

* move module sidebar action menu

* fix core import test

* remove sidebar module

* skip error

* skiperror old versions

* [ADF-2995] Permissions - Consumer should be able to upload a new version for his file on a private site (#3326)

* check node permission instead of parent

* tests

* Fix sidenav action icons (#3331)

* Only the username form control should be emitted (#3333)

* about component (#3337)

* [ADF-2563] Improve versioning functionality (#3335)

* change input with textarea

* update file version use now the update content API

* provide way to test read only mode version list

* fix test

* test fix

* [ADF-2997] The meaning of the range fields is not clear (#3338)

* [ADF-2997] restrict 'to' field not to allow dates in the future

* [ADF-2997] more clear labels for start and end date fields

the translation team will decide what will be the best values for the date fields

* [ADF-3000] Update the documentation by adding the steps of date format custom configuration. (#3339)

* [ADF-3028] i18n support for title service (#3342)

* i18n support for title service

* cleanup tests

* update tests

* fixed constraint for viewer name width (#3343)

* (demo shell) login css fixes (#3344)

* [ADF-1997] override custom form widgets by default (#3346)

* override custom form widgets by default

* update tests

* [ADF-2979] Updated doc tools to avoid erasing MD docs with blank JSDocs in services (#3347)

* [ADF-2979] Update to ignore blank JSDocs for method signature

* [ADF-2979] Finished adding blank JSDoc check for services

* [ADF-2131] Search sorting (#3334)

* sorting configuration

* detect primary sorting and use with document list

* search results sorting

* docs update

* unit tests and code updates

* update code

* update code

* generic sorting picker, test updates

* ability to switch off client side sorting

* update docs for document list

* [ADF-2884] Task List - Custom apps display all tasks (#3329)

* [ADF-2884] Handled filterParam input change
Changed component selector

* [ADF-2884] Modified/Added tests

* [ADF-2884] Deprecated old selectors

* [ADF-2884] Added deprecated version

* [ADF-2884] Improved filter finding condition

* update project permissions change

* [ADF-2984] Show date invalid message on search date range picker (#3323)

* [ADF-2984] Show date invalid message on search date range picker

* [ADF-2984] test that required format is displayed when date input is invalid

* [ADF-2984] More space above buttons

* dummy commit

* restore deleted breadcrumb code

* [ADF-2753] New error component (#3336)

* [ADF-1938] Overflowing text in reports section fidex

* [ADF-1938] Long names in report section now fit

* [ADF-1938] Reverted changes in container widget

* [ADF-2753] New error component created

* [ADF-2753] Unit test for Error Content Component

* Deleting unused files

* Deleting unused files

* Deleting unused files

* [ADF-2753] Documentation added

* [ADF-2753] Fixed minor bugs

* [ADF-2753] Authentication not needed to view error

* add error handler

* tslint fix

* router app component

* remove unused import

* fix import modules

* limit to 404

* destroy fixture after any test

* misspelling error

* breadcrumb bug fixes (#3348)

* [ADF-2726] fixed save content for external repository (#3341)

* [ADF-2726] start fixing the show of files loaded from CS

* [ADF-2726] start fixing the show of files loaded from CS

* [ADF-2726] fixed save content for external repository|

* [ADF-2726] fixed save content for external repository|

* [ADF-2726] reeanabled and fixed the tests

* [ADF-2726] reeanabled and fixed the tests

* [ADF-2726] added tests for attach file widget and activiti alfresco service

* [ADF-2726] added tests for attach file widget and activiti alfresco service

* [ADF-2726] fixed test

* fix like test

* fix typo in the resource key (#3352)

* fix failing tests replace ajax with spy

* remove fdescribe

* [ADF-3040] Replaced doc template engine to fix whitespace issues (#3356)

* replace jasmine ajax with spy in rating tests

* fix breadcrumb align in object picker (#3353)

* fix no content node display (#3351)

* Broken links and missing images for two tutorials. (#3357)

* Broken links and missing images for two tutorials.

* Replaced .html with .md extensions

Replaced .html with .md extensions.

* Typo in Prerequi(si)tes

Typo in Prerequi(si)tes.

* [ADF-2988] fix logo change (#3362)

* [ADF-3055] fix bug with page size for facet fields (#3359)

* fix bug with page size for facet fields

* move page size to a constant

* move const inside the scope

* test fixes

* [ADF-2923] button type added (#3358)

* button type added

* remove unnecessary code

* [ADF-2608] added a fix to handle selection on slow connection problem (#3350)

* [ADF-2608] added a fix to handle selection on slow connection problem

* [ADF-2608] fixed test for datatable

* Added an import command to the 'Adding a new view' tutorial. (#3366)

* remove redundant logic (#3361)

* [ADF-2679] Reviewed latest tutorial content (#3371)

* [ADF-2679] Initial review of new tutorial content

* [ADF-2679] Reviewed the latest tutorials

* [ADF-2679] Initial review of new tutorial content

* [ADF-2679] Reviewed the latest tutorials

* [ADF-2832] Demo-shell, Fix Task filter dropdown menu alignment (#3294)

* [ADF-2832] changed height to auto for task filter dropdown header

* [ADF-2832] change selector with classes

* [ADF-2832] changed selector

* [ADF-2832] removed unnecessary css

* [ADF-2832] added class and changed selector

* [ADF-2832] added adf-prefix

* [ADF-2927] search filter enhancements (#3365)

* search filter enhancements

* reset button for facet queries

* update code and tests

* remove unused type

* restore code missing after rebase

* [ADF-2764] Updated doc files with latest script features (#3368)

* [ADF-2764] Updated doc files with latest script features

* [ADF-2764] Rebuilt full index instead of just content services index

* [ADF-2985] Demo shell - Provide an easy way to test the security issue (#3354)

* Provide an easy way to test the security issue

* use logService

* first part random test fix (#3376)

fixing random test executions first part

* fix form radio test

* [ADF-3065] TaskList component - Deprecate the processDefinitionKey (#3369)

* Deprecate the processDefinitionKey property.
remove unused tasklist code. It was needed with the old pagination component

* Remove nosense test

* Use adf version

* [ADF-2999] readded form validation icon (#3367)

* [ADF-2999] readded form validation icon

* [ADF-2999] fixed broken test

* Added the tutorial 'Basic theming'. (#3378)

* [ADF-2854] Fix demoshell task/process filter and routing (#3360)

* Fix demoshell task/process filter and routing

* Use the correct js api model

* Fix unit test

* search filter now remembers original user query (#3384)

* [ADF-2319] added a check for delete checklist button (#3382)

* [ADF-2238] removed created by property (#3380)

* [ADF-2238] removed created by property

* [ADF-2238] added a condition to avoid checklist delete for completed task

* Revert "[ADF-2238] added a condition to avoid checklist delete for completed task"

This reverts commit fc2227ea04.

* bold font for checked boxes (#3381)

* [ADF-2774] fixed message bus, background and language dropdowns that were hidden by the toolbar (#3379)

* [ADF-2764] Applied new doc tool features to core library (#3383)

* [ADF-2824] Added and reviewed some content services docs (#3385)

* revert changes (#3387)

* Added the 'Content metadata component' tutorial. (#3386)

* update package settings and lock file (#3389)

* minor layout fix for search facet buttons

* [ADF-2857] fixed message for date and date time widget (#3370)

* [ADF-2764] Updated process services docs with latest features (#3390)

* [ADF-2977] made language change persistenr (#3373)

* [ADF-3041] TaskList Component - Empty State issue. (#3345)

* [DW-635] Empty State Component

* [DW-635] Empty State Component

* [DW-635] Empty state Issue

* [DW-635] Use empty state component and custom empty directive

* [ADF-3041] Documentation for TaskList Component - Empty State issue.

* [ADF-3088] move sorting picker to a separate module (#3396)

* move sorting picker to a separate module

* update translation mock

* [ADF-3087] Clarified section about adding/replacing keys in i18n guide (#3392)

* [ADF-3087] Clarified section about adding/replacing keys

* [ADF-3087] Corrected information in i18n and translation service docs

* [ADF-3068] ADF Sidenav/Toolbar - Ux background colour review (#3401)

* [ADF-2824] Reviewed docs for new components in 2.4 (#3400)

* [ADF-3042] Use the custom date adapter from adf-core on Search Date Range widget (#3394)

-fix localization
-fix tests
-show parse error

* [ADF-3053] breadcrumb fixes (#3406)

* translate breadcrumb root in demo shell

* optional "max items" feature and style fixes

* should not be restricted by default

* style updates

* toolbar and breadcrumb layout fixes

* breadcrumb demo and testing page

* full toolbar scenario

* fix translation issue with the dropdown and custom root

* a11y fixes

* fix issue with duplicate id, remove unused attribute

* [ADF-2627] Icons-only mode for Info Drawer (#3398)

* tab with icon

* docs

* test

* add option without login docker publish

* fix publish script

* move docker push outside login

* fix random test failing part 2 (#3395)

* fix random failing test core search/comment/auth/user

* fix node delete directive

* fix lint issues

* node restore fix

* fix comment test

* remove fdescribe

* fix tests and tslint

* fix upload test

* unsubscribe success event task test

* copy comment object during test

* use the data pipe performance improvement and standard usage

* uncomment random test

* fix comment date random failing test

* disposable unsubscribe

* fix start process

* remove fdescribe

* change start process test and remove commented code

* fix error event check double click

* clone object form test

* refactor date time test

* fix service mock

* fix test dropdown and context

* git hook lint

* fix language test

* unsubscribe documentlist event test

* fix disposable error

* fix console log service error document list

* unusbscribe search test

* clear input field

* remove wrong test

* [ADF-2754] People Widget - Refactoring style and logic (#3349)

* observable logic added

* tests added & bug fixed

* onkeyup removed

* isValidUser method removed

* tslint fix

* test added

* comments fixed

* check if input value is string

* remove console log err from document list test

* [ADF-3082] Task Filter - Custom Task filters don't work (#3402)

* [ADF-3082] Custom Task filters don't work.

* Added an sorting input to the datatable.
* Updated documentation for the recent changes.
* Added testcases for the recent changes.

* [ADF-3082] Custom Task filters don't work

* Added a sorting input to the datatable
* Added testcases to the recent changes.
* Updated doc for the recent changes.

* * Refactored task/process list dataSort.

* * Refactored process/task list datasort method

* remove console log error from version list and content node selector test stubbing necessary method

* [ADF-3041] - Task List Empty State Issue (#3408)

* fix demo shell gallery view switch (#3413)

* [ADF-2541] reset datatable selection when rows are changed from code (#3410)

* reset selection when rows are replaced from code

* code fixes

* unit test updates

* visualise selection count for testing purposes

* make row selection api public

* remove question mark from the event name

* remove pdfviewer thumbnail console log test error

* fix conflict link creation id (#3412)

*  [ADF-2753] Error Component throwing default error fixed (#3364)

* [ADF-1938] Overflowing text in reports section fidex

* [ADF-1938] Long names in report section now fit

* [ADF-1938] Reverted changes in container widget

* [ADF-2753] New error component created

* [ADF-2753] Unit test for Error Content Component

* Deleting unused files

* Deleting unused files

* Deleting unused files

* [ADF-2753] Documentation added

* [ADF-2753] Error Component throwing default error fixed

* [ADF-2753] White space removed

* [ADF-2753] Removed unnecessary files and updated trnaslation file

* [ADF-2753] Changed link for button in error component

* [ADF-2753] Updated doc file

* [ADF-2753] Removed fdescribe

* [ADF-2753] Improved code coverage

* fix error AppTitle service test log

* fix gallery view demo shell route

* [ADF-3095] ability to intercept, pause and resume upload process (#3416)

* prevent and resume upload process

* upload fixes and confirmation dialog demo

* ability to toggle the upload confirmation demo

* fix tests

* unit tests

* docs update

* remove deprecation

* fix test name

* [ADF-2698] Date and time Widget - UTC vs local time issue (#3393)

* [ADF-2698] Date and time Widget - UTC vs local time issue

* [ADF-2698] add unit test to check that the format for min and max values is correct

* [ADF-2698] test behavior

* [ADF-3102] added lazy loading for tab content to fix animations (#3418)

* [ADF-2764] Fixed union type display glitches in property tables (#3419)

* [ADF-2764] Test commit to fix handling of union types in Github docs

* [ADF-2764] Fixed union type error in component docs

* [ADF-2593] z-index fix for search bar (#3409)

* [ADF-2593]

* [ADF-2593] Removed unnecessary style attributes

* [ADF-3111] pagination is not showed when automation test are running (#3420)

* [ADF-3108] Search - facetQueries panel renders when not defined in configuration (#3417)

* show facetQueries based on configuration definition

* tests

* FacetQueries is defined

* [ADF-3039] Task List - Enanchement (#3404)

* * Created DataColumnSchemaAssembler component to get column schema from html and app.config.json
* Removed column related  method  from tasklist.

* * Removed data property from the tasklist component
* Using rows input property instead of data input property of the datatable

* *  Renamed  DataColumnSchemaAssembler to DataTableSchema
* Refactored DataTableSchema component

* * Changed schem property into an  input schemaColumns property  in dataTable component

* * Added selectFirstRow input property to select a first row of datatable
* Removed unnecessary method from tasklist component

* * Added test case for the recent changes
* Added mock object for the tasklist spec

* * Added testcases for recent changes in the datatable component

* * Updated datatable and tasklist document for the recent changes

* * Refactored process-service and task list component
* Updated datatable document.

* [ADF-3039] Task List - Enanchement
* Changed schemaColumn name to columns
* Updated datatable documentation.
*  data input Annotated  with @deprecated in the tasklist component

* * Added an sorting input to the datatable.
* Updated datatable and tasklist documentation
* Added method to get current sorting order.

* * After rebasing

* * Revert  sorting changes

* * After rebase

* * fixed conflicts

* * Fixed failing testcase after rebased.

* update toolbar docs (#3423)

* Add custom data holder for CardViewItems (#3422)

* [ADF-3115] a11y fixes (#3424)

* a11y fixes for search input

* a11y fixes for pagination

* a11y fixes for content actions

* [ADF-3118] translation support for notification service (snackbars) (#3427)

* translation support for snackbar

* unit tests

* [ADF-2438] fixed thumbnails height (#3407)

* [ADF-2438] calculate thumbnail height

* [ADF-2438] send height to parent element

* [ADF-2438] add width to css

* [ADF-2438] moved height and width logic to parent component

* [ADF-2438] added height and width logic to parent component

* [ADF-2438] fixed failing test

* demo translation for search radio

* [ADF-2710] removed default shared link creation at the opening (#3430)

* [ADF-2999] added a way to test the validation icon on demo shell (#3431)

* [ADF-2754] People component tests fixed and style improvement (#3414)

* tests fixed and style

* show people test fixed

* error message test fixed

* [ADF-3131] fix selection order for DT/DL (#3433)

* fix selection order for DT/DL

* remove fit

* [ADF-3066] ProcessList Component - Empty State issue. (#3434)

* [ADF-3093] Added style checking tool for en.json translation file (#3428)

* [ADF-3093] Started li18nt VS Code extension

* [ADF-3093] Started work on UI style lint tool for VSCode

* [ADF-3093] Added UI style rules up to sg0006

* [ADF-3093] Added remaining style rules

* [ADF-3093] Added docs and command line tool

* [ADF-3093] Removed Microsoft notices and updated licences to Apache-2.0

* [ADF-3133] Fixed inconsistency in doc example (#3436)

* [ADF-2753] Fixed routing and second button showing up (#3421)

* [ADF-1938] Overflowing text in reports section fidex

* [ADF-1938] Long names in report section now fit

* [ADF-1938] Reverted changes in container widget

* [ADF-2753] New error component created

* [ADF-2753] Unit test for Error Content Component

* Deleting unused files

* Deleting unused files

* Deleting unused files

* [ADF-2753] Documentation added

* [ADF-2753] Removed unnecessary files and updated trnaslation file

* []

* [ADF-2753] Fixed routing and second button showing up

* [ADF-2753] Fixed typo

* [ADF-2753] Fixed view loading before variables

* [ADF-2753] Missing whitespace

* [ADF-2753] Added test for route params

* [ADF-2753] Changed getData function name to getTranslations

* [ADF-fix date widget test] Fixing a randomly failing test (#3439)

* group uploaded files into single batch, IE fixes (#3438)

* [ADF-3067] App-list Empty State. (#3432)

* extend demo shell upload example to button

* [ADF-2764] Added new type linker features and applied them to core docs (#3442)

* [ADF-2764] Added basic support for composite and external types

* [ADF-2764] Added new type linker features and applied to core docs

* notification service demo and testing area (#3443)

* notification service demo and testing area

* fix typo

* fix viewer title style (#3445)

* [ADF-3132] TaskList empty state doesn't respect the specification (#3440)

* [ADF-3134] fix increasing search calls issue (#3444)

* [ADF-2764] Applied new type linker features to content services docs (#3446)

* [ADF-3062] dual api support for Favorites (#3447)

* dual api support for Favorites

* unit test

* ADF-2974] New Buttons Menu component version (#3429)

* [ADF-2974] Buttons injected from parent html component

* [ADF-2974] New version of buttons menu component

* [ADF-2974] Updated unit tests

* [ADF-2974] Updated documentation

* [ADF-2974] Removed unused variable

* [ADF-2974] Fixed failing test at analytics report parameters

* [ADF-2974] Removed fdescribe

* [ADF-2974] Moved mock inside testing file for buttons menu component

* extend breadcrumb testing page (demo shell)

* [ADF-3142] Added missing info about 'remember me' in login docs (#3448)

* [ADF-3120] fixed sorting for tasklist and process list (#3435)

* [ADF-3120] fixed sorting for tasklist and process list

* [ADF-3120] removed commented code

* [ADF-3120] fixing another randomly failing test

* [ADF-2764] Applied new type linker features to proc services docs (#3449)

* (demo shell) fix memory leak with search results

* [ADF-2795] SSO implicitflow (#3332)

* Enable OAUTH2

* Create SSO services

* SSO improvements

* Rollback sso login change

* Add SSO configuration from Setting component

* Refactoring

* Remove login ECM/BPM toggle and move use the userpreference instead of store

* fix host setting unit test

* Fix unit test missing instance

* use the Js api oauth

* add logout component and clean sso not used class

* fix dependencies cicle

* add translation settings

* fix style setting page

* clean

* JS APi should receive the oauth config from the userPreference and not from the config file

* change login if SSO is present

* missing spaces

* add sso test in login component

* add logout directive new properties test

* Improve host setting and remove library reference

* fix login test

* Remove unused code

* Fix authentication unit test

* fix authguard unit test

* fix csrf check login component

* fix unit test core and demo shell

* remove

* simple filtering for datatable (#3453)

* [ADF-3150] Moved all doc tool config settings to doctool.config.json (#3455)

* [ADF-3150] Moved undoc stoplist to doc config file

* [ADF-3150] Moved config to doctools.config.json and removed obsolete scripts

* fixes for memory leaks and multiple subscriptions (#3456)

* fix content action memory leaks

* memory leak fixes for demo shell

* [no-issue] error image resolver mimetype should not be part of datatable (#3415)

* move error image custom logic form datatable to documentlist

* change travis

* [fix-test-log] added optional function to data row interface

* [no-issue] fixed datatable tests

* [no-issue] fixing tests

* [ADF-2859] conditional evaluation of disabled state for content actions (#3450)

* react on [disabled] binding changes

* [disabled] binding updates for context menu items

* evaluating disabled state with a function

* unit test

* restore original description

* remove irrelevant test

* fix tests

* fix test

* remove not used events in demo shell host setting components

* [ADF-3156] App config default ALL (BPM and ECM) provider (#3460)

* Use as default provider ALL (BPM and ECM)

* Default host OAUTH

* removing wrong fdescribe (#3461)

* [ADF-3123] removed default choice for the first radio button (#3462)

* Fix host component (#3463)

* [ADF-2824] Doc review and minor changes to review checker tool (#3466)

* restore historical selection order (#3467)

* restore historical selection order

* fix test

* [ADF-2859] fixes for the conditional visibility and disabled states (#3465)

* fixes for the conditional visibility and disabled states

* update docs

* cleanup code

* remove unused code

* [LOC-61] i18n 2.4.0 (#3468)

* i18n 2.4.0

* missing part

* revert development config

* [ADF-3144] Error component displayed when closing file viewer in process tab (#3469)

* [ADF-3173] [Task List] - Empty list message is not translated (#3471)

* Added a missing translation keys.

* Fix dropdown panel in viewer toolbar  because of z-index (#3472)

* [ADF-3162] Setting component - Should be able to render the providers passed as input (#3464)

* Be able to change the available providers values

* Add deprecated tag

* add default providers

* Fix empty OAuth and selected providers
Improve the documentation

* Fix BPM guard to check SSO condition

* Add the oauthConfig again

* SSO or Basic otpion auth setting change

* fix host settings sso/basic
add login documentation

* remove test string

* fix auth guard test

* dispose upload emitter test events

* remove space

* exclude failing test

* Update ADF packages version 2.4.0-beta13 (#3475)

* [ADF-2824] Reviewed search docs for 2.4 (#3477)

* [ADF-2824] Moved search widget docs into separate pages

* [ADF-2824] Separated search widget page and added search filter service docs

* [ADF-2824] Updated new search docs with doc tools

* Remove unused field (#3480)

* Fix default SSO config not filled in (#3479)

* [ADF-3175] renabling upload on single target folder row (#3473)

* [ADF-3191] Not able to login only to BPM or ECM (#3478)

* disable random test

* host setting component reset JS-API

* reload api after user prefrence change

* remove replicate reset

* missing semicolon

* deprecate provider property

* remove trailing space

* check new value before to set

* [ADF-3198] Updated index files + minor doc updates (#3482)

* [ADF-3200] custom Extension filter - file with different extension is uploaded with drag and drop

* [ADF-3181] Auth Guard - redirect by string url (#3474)

* redirect by string url

* auth guard tests fix

* revise

* [ADF-3196] fixed task selection and double click (#3484)

* [ADF-3191] Fix userprefrence oauth2 (#3488)

* remove user preference setting save

* fix host setting test

* remove userPreferences test

* fix title service test

* remove unused imports

* restore input align

* fix service import in test tag rating

* [ADF-3210] Typo People Search (#3487)

* remove vscode changes

* [ADF-3196] [Task list / Process list] - The 'Task details' are not diplayed for the selected Task (#3483)

* [ADF-3196] [Task list / Process list] - The 'Task details' are not displayed for the selected Task

* * After rebase

* [ADF-3176] Fixed permissionsissue when editing metadata (#3476)

* [ADF-3217] reset previous search settings (#3490)

* reset previous search settings

* unit test

* remove fit

* [ADF-3196] fixed selection of first tasklist element (#3491)

* [ADF-3196] [Task list / Process list] - The 'Task details' are not displayed for the selected Task

* * After rebase

* [ADF-3196] fixed selection for fist element

* [ADF-3212] Upload version buttons wrapping fixed (#3492)

* Update ADF packages version 2.4.0-beta14 (#3493)

* demo shell host setting component login redirect after setting

* remove old auth test not  valid anymore

* fix translations (#3497)

* [ADF-3203] Fixed doc tools bugs from Linux run and added verbose option (#3496)

* [ADF-3912] Setting Component - Return as default BASIC authType (#3495)

* Return as default BASIC authType

* remove the commented line

* [ADF-3190] Fix rerendering issue with content-meta-data (#3494)

* Fix rerendering issue with content-meta-data

* Fix indentation

* [ADF-3198] Index and tutorial content review (#3500)

* [ADF-3198] Fixed glitches in doc index files and tools

* [ADF-3198] Reviewed new tutorial content and fixed index glitches

* [ADF-3198] Fixed host settings component brief description

* [ADF-3223] Restore message directive files fix (#3499)

* fix restore notification

* improve path specification property

* fix lint and document issues

* fix test

* remove unused import

* [ADF-3226] remove Double behaviour setting allow download and comment (#3502)

* fix restore notification

* improve path specification property

* fix lint and document issues

* fix test

* remove unused import

* remove double behavior allowComments and allowDonload can be set only thorough input property

* [ADF-3233] fixed demo shell filtering for files on drag&drop] (#3504)

* [ADF-3232] fixing retrieving for ecm user via site service (#3506)

* [ADF-3176] file content reload fixed (#3501)

* file content reload fixed

* refactoring & layout fix

* resolve indentation problems

* missing semicolon

* [ADF-3224] move ticket store logic in js-api (#3505)

* move ticket store logic in js-api

* remove space

* fix test

* fix tests

* [ADF-3212] Fixed permission issues when updating version (#3503)

* [ADF-3213] Fixed permission issues when updating version

* [ADF-3212] fixed test for PR

* allowableOperations include viewer get node

* update demo shell with metadata demo

* undo ADF-3176 changes

* fix login oauth cookie problem (#3508)

* fix login don't check the cookie in oauth2

* fix test

* check boolean storage

* fix provider check

* clean local storage before auth test

* fix missing pdf viewer update when scale is the same (#3510)

* [ADF-3239] Fixed deprecated property descriptions (#3509)

* [ADF-3239] Changed deprecated properties to include full description

* [ADF-3239] Updated deprecated properties of affected doc files

* [ADF-3239] Fixed badly formatted doc comment in tasklist

* [ADF-3229] people widget list reseted if empty input (#3507)

* list reseted when input is empty

* test added

* [ADF-3242] removed filter for string in example log component (#3511)

* [ADF-3242] removed filter for string in example log component

* [ADF-3242] added try catch for circular dependency objects

* [ADF-3242] added try catch and removed error message

* invalidate session in host setting internal component instead to logout

* remove unused import

* use i18n key for "Permission" label

* [ADF-3198] Final doc checks for release (#3513)

* [ADF-3198] Doc link check for release

* [ADF-3198] Updated main index doc page

* remove invalidation session because is concern of the js-api

* check 401 and redirect demo shell (#3516)

* [ADF-3248] fixed readonly status for people widget (#3512)

* [ADF-3248] fixed readonly status for people widget

* [ADF-3248] fixed test people widget

* [ADF-3248] added readonly test

* [ADF-3251] Authentication Service - Check if used loggedin based on the provider (#3515)

* check if loggedin based on the provider

* Fix unit tests

* remove 404 check in demo shell

* [ADF-3262] Remove avoidable css style from task/process list component (#3518)

* [ADF-3230] Changes to stop doc tools from updating files unnecessarily (#3519)

* [ADF-3230] Added basic change detector to doc tools

* [ADF-3230] Updates to type linker to fix before/after inconsistencies

* [ADF-3230] Fixed comparison error caused by adjacent text blocks

* [ADF-3230] Added basic change detector to doc tools

* [ADF-3230] Updates to type linker to fix before/after inconsistencies

* [ADF-3230] Fixed comparison error caused by adjacent text blocks

* [ADF-3230] Modified props tool to remove spaces from union types

* [ADF-3230] Made ToC tool before/after state consistent

* [ADF-3265] Updated index script to remove brief desc links (#3520)

* bump 2.4.0 version
2018-06-25 11:24:26 +01:00
Maurizio Vitale c3db1c2ff8 [ADF-2825] - Form visibility fix on Master (#3237)
* Fix form visibility related to the process variables (#3232)

* bump 2.3.1 version
2018-04-25 18:28:06 +01:00
Eugenio Romano afa298060a Merge pull request #3206 from Alfresco/development
2.3.0
2018-04-17 17:43:50 +01:00
Eugenio Romano 89af79029a Update 2.3.0 version (#3207) 2018-04-17 17:40:50 +01:00
Popovics András fba23c4377 [ADF-2755] Fix preview overlay (#3208)
* Fix overlay in the new sidenav

* Update wrong url

* Enrich BlobPreviewService

* Fix another previews

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

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

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

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

* [ADF-2723] fixed condition

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

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

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

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

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

* tslint error fix

* user preferences service fix

* refactor

* refactor

* refactor

* unit tests added

* unit tests fix

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

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

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

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

* fix files component reload multiple times

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

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

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

* add docs and tests

* update i18n strings

* rename "id" to "nodeId"

* automatically detect permissions

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

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

* update CLI and remove memory hack

* remove unused import

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

* Removed css to display placeholder after focus on input.

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

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

* fix content node selector breadcrumb tests

* fix skipped test

* notification service uncomment test

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

* Remove thumbnails prop from demo-shell

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

* [ADF-2596] Fixed inputs with accessors

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

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

* [ADF-2596] Fixed inputs with accessors

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

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

* restore js-api vesion

* restore compiler version

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

fix pagination problem and add tests

* refactor code

* custom resources services

* move custom resources in separate service part 2

* move custom resources in separate service part 3

* move isCustomResources in custom resources

* move getCorrispondinNodeIds in custom services

* reorganize code

* add pagination interface

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

* make infinte scrolling always use the target

* restore loading infinite page

* fix license header

* fix type problems

* breadcrumb test service

* fix test

* export CustomResourcesService

* fix test pagination

* fix content ndoe test

* remove timeout content node selector test

* fix after rebase

* ripristinate observalbe in search service

* fix wrong type return stub document list test

* fix search service

* fix test document list

* move handle error in common method

* restore observable in search control

* Update search-control.component.spec.ts

* fix after rebase

* add import switchmap

* core import in karma conf

* missing commas

* fix mocks

* fix mock searchquerybody

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

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

* [ADF-2553] added some fixes

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

* [ADF-2553] fixed error and added tests

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

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

* checkbox for version deletion demo

* i18n support for version manager

* deleting versions

* confirmation dialog for version deletion

* readme update

* update schema

* update code as per code review

* update i18n resources for demo shell

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

* * Added unit testcases for the recent changes .

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

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

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

* add lock-node service + button in context menu

* unit tests

* docs

* unit tests fix

* Remove unnecessary imports

* PR changes

* Remove fit from tests

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

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

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

* [ADF-2562] unit tests

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

* [ADF-2561] View comments on previous versions

add input property to enable/disable viewing version comments

* [ADF-2561] add more tests

* remove name property

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

add input property to enable/disable viewing version comments

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

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

* shaping out the API

* code lint fixes

* radiobox facet example

* fields selector facet

* search limits support

* scope locations facet example

* move custom search to 'search.query' config

* use facet fields and queries from the config file

* use facet filters

* use facet buckets in query

* preserve expanded/checked states

* code cleanup and binding fixes

* fix apis after rebase

* extract query builder into separate class

* code improvements

* full chip list (merge facet fields with queries)

* placeholder for range requests

* move search infrastructure to ADF core

* cleanup code

* auto-search on init

* move search components to the content services

* selected facets chip list

* split into separate components at ADF level

* move the rest of the implementation to ADF

* facet builder fixes and tests

* translation support for category names

* docs placeholders

* update language level

* unit tests and packaging updates

* fix after rebase

* remove fdescribe

* some docs on search settings

* rename components as per review

* simplify chip list as per review

* turn query builder into service

* improve search service, integrate old search results

* fix node selector integration

* move service to the top module

* update tests

* remove fdescribe

* update tests

* test fixes

* test fixes

* test updates

* fix tests

* code and test fixes

* remove fit

* fix tests

* fix tests

* remove obsolete test

* increase bundle threshold

* update docs to reflect PR changes

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

* remove trivial definition

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

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

* Add sidenav-layout to demo-shell

* Fix some sidenav-layout styles

* Fix tests

* Add documentation

* Fix typescript transpiler's stomache

* Modify component's directive's interface

* Enrich documentation

* Another documentation enrichment

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

* improve style mobile
fix test

* test karma setup update

* fix core providers test

* remove unused providers

* use mock api in service test

* skip test in the wrong place

* remove comma

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

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

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

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

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

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

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

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

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

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

* fix social component providers

* content metadata module fixes

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

* [ADF-1932] Improved styles

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

* enable source map in the dist

* Revert "enable source map in the dist"

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

* Update trashcan.component.ts

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

* [ADF-2505] Reset selection when data changes

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

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

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

* [ADF-2432] fixed layout for display permissions

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

* [ADF-2432] fixed wrong rebase changes

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

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

* [ADF-2432] removed old documentation

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

* [ADF-2018] Media query with variables fixed

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

* fix datatable reference

* fix issue with duplicate pipe and i18n error

* fixes for upload service cutomisation (process services)

* demo shell fixes

* fix search component

* remove unused declaration

* update tests

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

* [ADF-2451] Reviewed component docs

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

* fix test

* fix test after rebase

* fix permissions

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

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

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

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

* [ADF-2432] fixed layout for display permissions

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

* [ADF-2432] fixed wrong rebase changes

* [ADF-2432] added peer review changes

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

* PDF viewer onPassword test

* pdf password dialog

* PDF viewer onPassword test

* test

* test

* test

* test

* test

* test

* test

* fix password test

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

* fix delete notify test

* remove fdescribe

* fix core test

* errors

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

* share link phase 2

* share dialog

* share dialog test

* more documentation

* add more meaningfully specification

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

* [ADF-2444] removed white space

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

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

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

* Multi parameter

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

* fix npm import cli

* fix search module

* fix comment

* fix tsconfig output

* es 20016 tsconfig

* travis add demo shell dist

* exclude datapicker process services

* demo shell script fix

* bundle check new build

* add simulate publish

* invert publish

* test distribution

* improve sh help

* uncomment script

* finally got the guilty piece of code

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

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

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

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

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

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

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

* Fix typo

* Fix filename

* use https

* create pull request with github token

* gnu  version

* clone with token

* try example beta 13

* if beta tag only exectute

* update other projects

* unify script

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

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

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

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

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

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

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

* [ADF-2451] Fixed tslint error

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

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

* [ADF-2443] renaming getDifferentPageSize to getDefaultPageSize

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

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

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

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

* [ADF-2451] Reviewed tasklist docs

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

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

* fix type test

* fix test node selector

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

* [ADF-2463] Fixed broken image links

* [ADF-2463] Moved doc files to subfolders

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

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

* Add error handling, file type restriction

* Documentation

* Fix ts-lint error

* Test the service

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

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

* test single run demo shell conf

* fix script e2e

* fix test lint problems

* remove async from nested test

* fix pdf test

* modify url load pdf strategy test

* SimpleChange import

* pdf viewer test fix

* remove force closing

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

* increment timeout

* use proxy files

* remove require

* fix viewer component test

* remove last require

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

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

* [ADF-2421] refactor code

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

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

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

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

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

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

* [ADF-2373] fixed broken test check

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

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

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

* [ADF-2255] fix wrong placeholder

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

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

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

fix and tests added

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

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

fixed bug

* [ADF-2406] refactored code

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

* show buffer thumbnail on page change

* correct value property

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

* update ng-packagr 2.1.0

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

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

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

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

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

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

* remove unused import in modules

* pdf viewer async

* viewer test fixed

* remove testbed share datatable

* remove unused dependencies

* add missing parameter

* remove testbed from folder actions service

* TaskHeaderComponent async

* remove testbed from document actions and list

* remove unused import

* use done for nested test

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

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

* add appconfig in test log

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

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

* [ADF-2300] removed fdescribe

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

* Added a unique class for pageSize in pagination-component

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

* add selectable default value

* remove change delete directive

* remove fdescribe

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

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

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

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

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

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

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

* remove dead code

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

* [ADF-2334] Improved status icons

* [ADF-2334] Added version index page

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

* fix for binding to private member, remove recent demo

* add 'search results' label, code fixes

* selected icon style fixes

* style fixes

* style fixes

* fix column header align issue

* style fixes for empty content

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

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

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

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

* Updated process list documentation with recent changes.

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

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

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

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

* Enable the cardview mode

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

* missing comma

* add example in demo shell

* style loading and images

* border card container

* document list tests

* test check class and input

* test fix

* fix test process services

* more documentation

* rirpristinate base pacakge integgration

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

* add missing export

* add missing export

* Update test-e2e-bc.sh

* rxjs fixes

* increase timeout test

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

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

* fix tests

* [ADF-2310] add missing async

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

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

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

fixed bug

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

* update TestBed declarations

* add PdfViewerService to TestBed

* content projection

* update TestBed declaration

* update TestBed

* update TestBed

* docs

* pristine

* added doc component image

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

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

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

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

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

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

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

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

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

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

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

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

* [ADF-2304] update documentation with recent changes

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

* Updated unimplemented pagination method.

* * Refactored process-service component.

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

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

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

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

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

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

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

* integrate with demo shell

* docs on the directive

* node actions integration

* test fixes

* remove old and disable invalid tests

* remove fdescribe

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

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

* print errors

* add position error

* color error log and add comment to skip a file

* export check ver 2

* ignore source

* fix export modules

* fix possible nullable value

* remove duplicates

* improve logs

* add travis configuration

* fix travis and import

* export fix

* remove export check js file

* add export check js ignore

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

* Added customization to process instance header through config file

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

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

 * Improved the pagination using the interface.

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

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

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

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

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

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

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

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

* Small refactoring II.

* On the way of implementing the soultion

* Refactoring aspect to groups and supporting different type of configs

* Fixed linter errors

* Fix debug project runner

* Fix linting errors

* Fix and align tests

* Config factory tests

* Layout oriented config parser

* Adding layout oriented config to the config factory

* Update config schema

* Layout oriented config

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

* Remove dead codes

* Fixinfinite loading error and custom type properties

* Add documentation

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

* fix content services jsdoc

* fix process service jsdoc

* last update new build 2.0.0

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

* [ADF-2225] remove fdescribe

* [ADF-2225] fixed broken test

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

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

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

* Add the schema validation

* Improve the login doc with provider "OAUTH"

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

* undo declaration component deletion

* safe ngOnDestroy

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

* restrict file name to 35 characters

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

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

* [ADF-2225] fixed validator for date time

* [ADF-2225] start adding test

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

* [ADF-2225] removed fdescribe

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

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

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

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

* [ADF-2211] removed added configuration

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

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

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

* [ADF-2176] revert initial changes

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

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

* Added change event emitters

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

* [ADF-2163] start refactoring folder dulpication action

* [ADF-2163] start refactorin all approach

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

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

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

* [ADF-2163] updated documentation adding ENUM

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

* [ADF-2163] moved to upper case enum

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

This reverts commit 41da0a34dd.

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

fix search on custom sources

* [ADF-2242] added unit tests

* [ADF-2242] reverted change

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

* update readme

* add integration test in travis

* restore tsconfig.dev

* fix test script travis call

* improve script

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

* code cleanup

* test fixes

* better handling of media types

* docs update

* fix code style

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

* fix tslint problems and update devdependencies using the angularcli 1.6.4

* test fixing

* [ADF-2159] start fixing userinfo test

* [ADF-2159] fixed userinfo tests

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

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

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

* [ADF-2159] check viewer tests

* [ADF-2159] attempt on test fix

* [ADF-2159] test fix

* [ADF-2159] fix test

* [ADF-2159] fix test

* [ADF-2159] rebased

* [ADF-2159] check test

* [ADF-2159] fixing test

* [ADF-2159] Fix#1

* [ADF-2159] Fix#2

* [ADF-2159] Fix#3

* [ADF-2159] Fix #4

* [ADF-2159] Fix #5

* [ADF-2159] Fix #6

* [ADF-2159] fixed viewer test

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

* improve test shim

* update test shim

* test shim updates

* example of lazy-loaded datatable

* local and global i18n demo for lazy modules

* lazy loading support for CoreModule providers

* test shim updates

* update test shim

* support global i18n for lazy modules

* cleanup lazy loading example

* update card view after rebase

* backwards compatibility

* cleanup files

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

* code style and test fixes

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

* [ADF-1769] Corrected JSDoc formatting errors

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

* code improvements

* fix scrolling of the zommed in content

* remove flip for now as it needs much efforts

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

* Extract PeopleSearchFieldComponent to reuse most part of it

* Transform PeopleSearchFieldComponent to the form we want to reuse

* People selector component, first try

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

* Styling and i18n

* clear button for deleting the selected assignee

* Remove people preloading, remove combobox and update assigneeId

* Fix existing tests

* Add new tests

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

* Adding descriptions

* validate-config npm script

* Finishing schema

* Package.json modifications

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

* code cleanup

* full screen mode support

* keyboard shortcuts

* zooming scale label

* layout fixes

* test fixes

* image toolbar with basic tranformations

* test fixes

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

* Fix unit test

* Fix async

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

* [ADF-2200] fixed problem with redirection url

* [ADF-2200] fixed redirection config path

* [ADF-2200] fixed wrong fdescribe test

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

* [ADF-2201] Fixed incorrect link

* [ADF-2201] Updated docs based on feedback

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

* fix sourcemap

* fix test start process

* fix test

* changes after code review

* add show dropdown optional

* remove fit fdescribe

* processDefinitionId in processDefinition change

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

* Removed global mat-menu-panel class style overriding

* * Refactored styles

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

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

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

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

* use theme colors

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

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

* [ADF-2150] improved queryBody mechanism

* [ADF-2150] fixed content node test

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

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

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

* [ADF-2150] changed the documentation accordingly

* [ADF-2150] added PR changes

* [ADF-2150] fixed jdoc

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

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

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

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

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

* fix test

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

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

* fix style webpack script

* fix tslint error problem in viewer

* fix naming problems in attach file widget

* add start process form values data initialization option

* fix translation problems

* missing return type

* start process name configuration

* add CS cross PS configuration

* start process from file example

* fix minor issues

* add documentation and move the dialog in a separate component

* easy test select app

* alfrescoRepositoryName right property

* file conversion test

* fix issue after CR

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

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

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

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

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

* remove unused router instance

* docs update

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

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

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

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

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

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

* [ADF-2054] removed fdescribe

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

* [ADF-2054] added peer reviews changes

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

* [ADF-2054] fixed wrong import

* [ADF-2054] fixed rebase errors

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

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

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

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

* 2.0.9

* remove chrome in travis conf

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

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

* Aspect property filtering first round

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

* Add white list service

* Renaming services

* ContentMetadataService and CardViewItemDispatcherComponent update

* Observables... Observables everywhere...

* Propers CardViewAspect

* Defining more interfaces

* Dummy data and expansions panels

* Fix build attempt & proper panel expansion

* Folder restructuring

* Add different type mappings

* Restructuring Card view component

* Fix build

* More ECM types supported

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

* Validators phase II.

* Integer and float validators

* Hide empty text items and validation message foundation

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

* Update date item

* bool item component

* Datetimepicker npm module

* Datetime model

* Add mapping for datetime

* Small fixes

* Passing down preset

* Adding forgotten package.json entry

* Adding some tests for wrapper card component

* content-metadata.component tests

* Covering some edge cases, adding some tests

* Fix cardview component's test

* Add datetimepicker to demoshell

* card view component show empty values by default

* displayEmpty dependency injection

* remove table like design from cardview

* Using alfresco-js-api instead of spike

* Remove spike folder and contents

* Fix test

* Cardview updated docs

* Content metadata md

* Fix review issues

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

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

* remove unused declaration

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

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

* changed the default empty list to a simple template

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

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

* changed the default empty list to a simple template

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

* removed some unused variables

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

* changed the default empty list to a simple template

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

* fixed start button should have the primary colour.

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

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

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

* Made form mobile compatible

* Fixed issues arising due to the issue ADF-2094

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

* Made adf form mobile compatible

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

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

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

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

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

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

* Update start-process.component.html

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

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

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

* Fix the default value

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

* Removed icon visible beside title

* Made font-size for title as semibold 20px

* Set the outcome buttons on bottom right side

* set color of Complete button as primary

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

* Removed icon visible beside title

* Made font-size for title as semibold 20px

* Set the outcome buttons on bottom right side

* set color of Complete button as primary

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

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

* Removed icon visible beside title

* Made font-size for title as semibold 20px

* Set the outcome buttons on bottom right side

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

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

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

* * Fixed support custom html template and static columns

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

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

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

* [ADF-2065] fixed test for site component

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

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

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

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

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

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

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

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

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

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

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

* remove fdescribe

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

* [ADF-1826] - Fixed isEditble typo

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

* [ADF-1826] fixed unit test

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

* Further style fixes

* Add tests, styling fixes
2017-12-05 01:09:40 +00:00
Popovics András f341137b06 Update viewer documentation (#2763) 2017-12-04 22:03:13 +00:00
madhukar23 4462486df1 [ADF-2025] Task List - The pagination should be fetched from the UserPreference (#2733)
[ADF-2025] Task List - The pagination should be fetched from the UserPreference
2017-12-04 17:33:45 +00:00
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
1701 changed files with 137115 additions and 31349 deletions
@@ -6,8 +6,8 @@
"apps": [
{
"name": "dist",
"root": "src",
"outDir": "dist",
"root": "demo-shell/src",
"outDir": "demo-shell/dist",
"assets": [
"assets",
"favicon.ico",
@@ -20,32 +20,37 @@
},
{
"glob": "**/*",
"input": "../node_modules/@alfresco/adf-core/prebuilt-themes",
"input": "./app/components/lazy-loading/i18n",
"output": "./resources/lazy-loading/i18n"
},
{
"glob": "**/*",
"input": "../../node_modules/@alfresco/adf-core/prebuilt-themes",
"output": "./assets/prebuilt-themes"
},
{
"glob": "**/*",
"input": "../node_modules/@alfresco/adf-core/bundles/assets",
"input": "../../node_modules/@alfresco/adf-core/bundles/assets",
"output": "./assets/"
},
{
"glob": "**/*",
"input": "../node_modules/@alfresco/adf-insights/bundles/assets",
"input": "../../node_modules/@alfresco/adf-insights/bundles/assets",
"output": "./assets/"
},
{
"glob": "**/*",
"input": "../node_modules/@alfresco/adf-process-services/bundles/assets",
"input": "../../node_modules/@alfresco/adf-process-services/bundles/assets",
"output": "./assets/"
},
{
"glob": "**/*",
"input": "../node_modules/@alfresco/adf-content-services/bundles/assets",
"input": "../../node_modules/@alfresco/adf-content-services/bundles/assets",
"output": "./assets/"
},
{
"glob": "pdf.worker.js",
"input": "../node_modules/pdfjs-dist/build",
"input": "../../node_modules/pdfjs-dist/build",
"output": "./"
}
],
@@ -62,14 +67,14 @@
],
"stylePreprocessorOptions": {
"includePaths": [
"../node_modules/"
"./node_modules/"
]
},
"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/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"
],
"environmentSource": "environments/environment.ts",
"environments": {
@@ -79,12 +84,27 @@
},
{
"name": "dev",
"root": "src",
"outDir": "dist",
"root": "demo-shell/src",
"outDir": "demo-shell/dist",
"assets": [
"assets",
"app.config.json",
"versions.json",
{
"glob": "**/*",
"input": "./assets",
"output": "./assets"
},
{
"glob": "app.config.json",
"input": "./",
"output": "./"
},
{
"glob": "versions.json",
"input": "./",
"output": "./"
},
{
"glob": "**/*",
"input": "../resources",
@@ -92,23 +112,28 @@
},
{
"glob": "**/*",
"input": "../../lib/core/prebuilt-themes",
"input": "./app/components/lazy-loading/i18n",
"output": "./resources/lazy-loading/i18n"
},
{
"glob": "**/*",
"input": "../../lib/dist/core/prebuilt-themes",
"output": "./assets/prebuilt-themes"
},
{
"glob": "**/*",
"input": "../../lib/core/assets",
"output": "./assets/"
"output": "./assets"
},
{
"glob": "**/*",
"input": "../../lib/process-services/assets",
"output": "./assets/"
"output": "./assets"
},
{
"glob": "**/*",
"input": "../../lib/content-services/assets",
"output": "./assets/"
"output": "./assets"
},
{
"glob": "**/*",
@@ -117,13 +142,13 @@
},
{
"glob": "**/*",
"input": "../../lib/process-services/i18n",
"output": "./assets/adf-process-services/i18n"
"input": "../../lib/content-services/i18n",
"output": "./assets/adf-content-services/i18n"
},
{
"glob": "**/*",
"input": "../../lib/content-services/i18n",
"output": "./assets/adf-content-services/i18n"
"input": "../../lib/process-services/i18n",
"output": "./assets/adf-process-services/i18n"
},
{
"glob": "**/*",
@@ -132,7 +157,7 @@
},
{
"glob": "pdf.worker.js",
"input": "../node_modules/pdfjs-dist/build",
"input": "../../node_modules/pdfjs-dist/build",
"output": "./"
}
],
@@ -153,10 +178,10 @@
]
},
"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/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"
],
"environmentSource": "environments/environment.ts",
"environments": {
@@ -167,26 +192,18 @@
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
"config": "./demo-shell/protractor.conf.js"
}
},
"lint": [
{
"project": "src/tsconfig.app.json",
"exclude": "**/node_modules/**/*"
},
{
"project": "src/tsconfig.spec.json",
"exclude": "**/node_modules/**/*"
},
{
"project": "e2e/tsconfig.e2e.json",
"project": "./demo-shell/src/tsconfig.app.json",
"exclude": "**/node_modules/**/*"
}
],
"test": {
"karma": {
"config": "./karma.conf.js"
"config": "./demo-shell/karma.conf.js"
}
},
"defaults": {
+12
View File
@@ -0,0 +1,12 @@
.git
.github
.vscode
coverage
docs
e2e
node_modules
scripts
src
lib
integration
/demo-shell/config/
+7 -3
View File
@@ -1,5 +1,4 @@
# http://editorconfig.org
# Editor configuration, see http://editorconfig.org
root = true
[*]
@@ -15,5 +14,10 @@ indent_style = space
indent_size = 2
[*.md]
insert_final_newline = false
max_line_length = off
trim_trailing_whitespace = false
[resources/*.json]
indent_size = 2
max_line_length = off
trim_trailing_whitespace = false
+5 -1
View File
@@ -17,6 +17,10 @@ src/environments/
/demo-shell-ng2/ng2-components/
.happypack/
.history
package-lock.*
/ng2-components/ng2-alfresco-core/prebuilt-themes/
.ng_pkg_build/
/demo-shell/dist-dev-temp/
/lib/export-new.json
/lib/config/exportCheck.js
/lib/config/export-check/export-new.json
/lib/config/export-check/exportCheck.js
+45 -9
View File
@@ -1,12 +1,19 @@
language: node_js
dist: trusty
sudo: false
sudo: required
node_js:
- "8"
addons:
chrome: stable
before_script:
- "sudo chown root /opt/google/chrome/chrome-sandbox"
- "sudo chmod 4755 /opt/google/chrome/chrome-sandbox"
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,19 +22,20 @@ env:
- MODULE=process-services
- MODULE=content-services
- MODULE=demo-shell
- MODULE=packaging
install:
- if ([ "$MODULE" != "demo-shell" ]); then
if ([ "$TRAVIS_BRANCH" = "master" ]); then
(./scripts/npm-build-all.sh || exit 1;);
else
(./scripts/npm-build-all.sh -vjsapi alpha || exit 1;);
(./scripts/npm-build-all.sh -vjsapi alpha -sb || exit 1;);
fi
fi
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 +50,10 @@ script:
(./scripts/npm-build-all.sh -si -sb -t "content-services" || exit 1;);
fi
- if ([ "$MODULE" == "packaging" ]); then
(npm run build-lib || exit 1;);
fi
- if ([ "$MODULE" == "demo-shell" ]); then
if ([ "$TRAVIS_BRANCH" = "master" ]); then
(./scripts/start.sh -t -ss || exit 1;);
@@ -50,6 +62,33 @@ script:
fi
fi
jobs:
include:
- stage: Demo shell prod && Demo shell e2e && Check ADF exports
script: ./scripts/test-dist.sh -n $TRAVIS_BUILD_NUMBER && (./scripts/pr-publish.sh -n $TRAVIS_BUILD_NUMBER -r $REPO_DOCKER -u $USERNAME_DOCKER -p $PASSWORD_DOCKER || exit 1)
- # Test Update version 2.0.0
script: ./scripts/test-e2e-bc.sh
- # Test expors
script: npm run test-export
- stage: Update Apps dependencies
- # Test Update generator-ng2-alfresco-app
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n generator-ng2-alfresco-app
- # Test Update alfresco-content-app
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-content-app
- # Test Update adf-app-manager-ui
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n adf-app-manager-ui
- # Test Update aalfresco-ng2-components
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-ng2-components
- # Test Update alfresco-modeler-app
if: tag =~ .*beta.*
script: ./scripts/update-project.sh -gnu -t $GITHUB_TOKEN -n alfresco-modeler-app
- stage: Deploy PR
script: node ./scripts/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1
# jobs:
# include:
# - stage: Publish alpha to NPM
@@ -80,7 +119,4 @@ after_success:
cache:
directories:
- ./node_modules/material-design-lite
- ./node_modules/material-design-icons
- demo-shell/node_modules
- lib/node_modules
- node_modules
+20 -23
View File
@@ -1,26 +1,23 @@
// Place your settings in this file to overwrite default and user settings.
{
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/coverage": true,
"**/.happypack": true
},
"editor.renderIndentGuides": true,
"tslint.configFile": "ng2-components/tslint.json",
"markdownlint.config": {
"MD032": false,
"MD004": false,
"MD024": false,
"MD009": false,
"MD013": false,
"MD036": false,
"MD033" : false,
"MD031" : false
},
"cSpell.words": [
"webscript"
]
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/coverage": true,
"**/.happypack": true
},
"editor.renderIndentGuides": true,
"markdownlint.config": {
"MD032": false,
"MD004": false,
"MD024": false,
"MD009": false,
"MD013": false,
"MD036": false,
"MD033": false,
"MD031": false
},
"cSpell.words": ["mincount", "webscript"]
}
+1 -1
View File
@@ -1,4 +1,4 @@
### CORS solving strategies
# CORS solving strategies
The web client that we are building with the application development framework will be loaded from a different web server than the Alfresco Platform is running on.
So we need to tell the Alfresco server that any request that comes in from this custom web client should be allowed access
+23
View File
@@ -0,0 +1,23 @@
# Contributor Code of Conduct
We want to make everyone feel welcome to contribute to ADF.
We promise to respect everyone who posts issues, updates documentation,
submits pull requests, provides feedback in comments, or makes any other contribution to the project.
We expect all discussion about the project (on GitHub, social media and other channels) to be positive and constructive.
We do not accept personal attacks, trolling, public or private harassment, insults,
or other unprofessional conduct towards anyone.
We promise to show respect to all contributors regardless of their gender, gender identity,
sexual orientation, disability, age, race, ethnicity, religion, or level of experience.
We expect all contributors to understand and follow these standards
If any member of the community does not follow the code of conduct,
the maintainers will do whatever they consider appropriate to stop the unacceptable behavior.
This may include removing issues, comments, and PRs or blocking accounts.
Any bans may be temporary or permanent, at the maintainers discretion.
Contact us if you see any behavior that breaks the code of conduct, whether it is directed at you or at anyone else.
We take responsibility for making sure the code of conduct is clear and understandable,
so you should also contact us if you think there is anything that needs to be explained better.
Our contact email address is: [conduct@alfresco.com](mailto:conduct@alfresco.com)
+6
View File
@@ -0,0 +1,6 @@
FROM nginx:alpine
COPY demo-shell/nginx.conf /etc/nginx/nginx.conf
WORKDIR /usr/share/nginx/html
COPY demo-shell/dist/ .
+1
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>
+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
+1 -4
View File
@@ -57,7 +57,4 @@ app/**/*.d.ts
dist/
coverage/
# docker files
docker-compose.yml
Dockerfile
!/e2e/protractor.conf.js
-177
View File
@@ -1,177 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
+7 -34
View File
@@ -22,44 +22,24 @@ To simplify development and reduce the time to get the application started, we h
The settings above address most common scenarios for running ACS on port 8080 and APS on port 9999 and allow you to skip the CORS configuration.
If you would like to change default proxy settings, please edit the `config/webpack.common.js` file.
If you would like to change default proxy settings, please edit the `proxy.conf.js` file.
## Application settings (server-side)
All server-side application settings are stored in the `app.config-dev.json` and `app.config-prod.json` files.
All server-side application settings are stored in the [src/app.config.json](src/app.config.json).
By default the configuration files have the content similar to the following one:
```json
{
"ecmHost": "http://localhost:3000/ecm",
"bpmHost": "http://localhost:3000/bpm",
"$schema": "../../lib/core/app-config/schema.json",
"ecmHost": "http://{hostname}:{port}",
"bpmHost": "http://{hostname}:{port}",
"application": {
"name": "Alfresco"
"name": "Alfresco ADF Application"
}
}
```
You can add any additional settings to the application configuration file if needed.
Configuration files are picked based on environment settings (see `app.module.ts` for more details).
```ts
let appConfigFile = 'app.config-dev.json';
if (process.env.ENV === 'production') {
appConfigFile = 'app.config-prod.json';
}
@NgModule({
imports: [
...
CoreModule.forRoot({
appConfigFile: appConfigFile
}),
...
]
})
```
## Development build
```sh
@@ -85,17 +65,10 @@ This command builds project in `production` mode.
All output is placed to `dist` folder and can be served to your preferred web server.
You should need no additional files outside the `dist` folder.
### Important notes
By default demo application is configured to use [wsrv](https://www.npmjs.com/package/wsrv) tool (lightweight web server)
to serve production build output. It will be running at `0.0.0.0` address with port `3000` and allow you to access your application
via network. However, you can use any web server of your choice in production.
## Development branch build
If you want to run the demo shell with the latest changes from the development branch, use the following command from the /script folder:
```sh
./npm-clean.sh
./start-linked.sh -install
npm run start:dev
```
-42
View File
@@ -1,42 +0,0 @@
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const path = require('path');
const extractScss = new ExtractTextPlugin('../lib/core/prebuilt-themes/[name].css');
module.exports = {
entry: {
'adf-blue-orange': '../lib/core/styles/prebuilt/adf-blue-orange.scss',
'adf-blue-purple': '../lib/core/styles/prebuilt/adf-blue-purple.scss',
'adf-cyan-orange': '../lib/core/styles/prebuilt/adf-cyan-orange.scss',
'adf-cyan-purple': '../lib/core/styles/prebuilt/adf-cyan-purple.scss',
'adf-green-purple': '../lib/core/styles/prebuilt/adf-green-purple.scss',
'adf-green-orange': '../lib/core/styles/prebuilt/adf-green-orange.scss',
'adf-pink-bluegrey': '../lib/core/styles/prebuilt/adf-pink-bluegrey.scss',
'adf-indigo-pink': '../lib/core/styles/prebuilt/adf-indigo-pink.scss',
'adf-purple-green': '../lib/core/styles/prebuilt/adf-purple-green.scss'
},
resolve: {
extensions: ['.ts', '.js'],
modules: [path.resolve(__dirname, '../node_modules')]
},
output: {
filename: '../dist/[name].js'
},
module: {
rules: [{
test: /\.scss$/,
use: extractScss.extract([{
loader: "raw-loader"
}, {
loader: "sass-loader"
}])
}]
},
plugins: [
extractScss
]
};
+8 -8
View File
@@ -1,14 +1,14 @@
import { MyappPage } from './app.po';
describe('myapp App', () => {
let page: MyappPage;
let page: MyappPage;
beforeEach(() => {
page = new MyappPage();
});
beforeEach(() => {
page = new MyappPage();
});
it('should display message saying app works', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('app works!');
});
it('should display toolbar', () => {
page.navigateTo();
expect(page.getToolbar()).toBeDefined();
});
});
+6 -6
View File
@@ -1,11 +1,11 @@
import { browser, element, by } from 'protractor';
export class MyappPage {
navigateTo() {
return browser.get('/');
}
navigateTo() {
return browser.get('/');
}
getParagraphText() {
return element(by.css('app-root h1')).getText();
}
getToolbar() {
return element(by.tagName('adf-toolbar'));
}
}
+1 -1
View File
@@ -3,7 +3,7 @@
module.exports = function (config) {
config.set({
basePath: '',
basePath: './',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
+29
View File
@@ -0,0 +1,29 @@
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;
}
location ~ ^/[a-zA-Z0-9_-]+/ {
try_files $uri $uri/ /index.html;
}
}
}
+2 -101
View File
@@ -1,27 +1,8 @@
{
"name": "Alfresco-ADF-Angular-Demo",
"description": "Demo shell for Alfresco Angular components",
"version": "2.0.0",
"version": "2.4.0",
"author": "Alfresco Software, Ltd.",
"scripts": {
"ng": "ng",
"start": "npm run server-versions && rimraf dist && ng serve --host 0.0.0.0 --app dist --open --aot=false",
"start:dev": "npm run lint && npm run 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:dist": "npm run server-versions && rimraf dist && node --max_old_space_size=30000 node_modules/.bin/ng serve --prod --build-optimizer=false --aot=false --host 0.0.0.0 --disable-host-check --app dist",
"build": "npm run server-versions && rimraf dist && ng build --app dist",
"build:dev": "npm run lint && npm run style:dev & npm run server-versions && rimraf dist && ng build --app dev",
"build:dist": "npm run style:dev & npm run server-versions && rimraf dist && node --max_old_space_size=30000 node_modules/.bin/ng build --prod --build-optimizer=false --aot=false --app dist",
"style:dev": "npm run webpack -- --config config/webpack.style.js --progress --profile --bail --watch",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"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",
"clean-build": "rimraf 'app/{,**/}**.js' 'app/{,**/}**.js.map' 'app/{,**/}**.d.ts'",
"clean-lock": "rimraf package-lock.json",
"webpack": "node node_modules/webpack/bin/webpack.js"
},
"repository": {
"type": "git",
"url": "https://github.com/Alfresco/alfresco-ng2-components.git"
@@ -30,91 +11,11 @@
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
},
"license": "Apache-2.0",
"contributors": [
{
"name": "Denys Vuika",
"email": "denis.vuyka@gmail.com"
},
{
"name": "Mario Romano",
"email": "mario.romano83@gmail.com"
},
{
"name": "Will Abson",
"email": "will.abson@alfresco.com"
},
{
"name": "Eugenio Romano",
"email": "eugenio.romano@alfresco.com"
},
{
"name": "Maurizio Vitale",
"email": "maurizio.vitale@alfresco.com"
}
],
"keywords": [
"ng2",
"angular",
"angular2",
"alfresco"
],
"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",
"@ngx-translate/core": "8.0.0",
"alfresco-js-api": "2.0.0",
"@alfresco/adf-content-services": "2.0.0",
"@alfresco/adf-process-services": "2.0.0",
"@alfresco/adf-core": "2.0.0",
"@alfresco/adf-insights": "2.0.1",
"chart.js": "2.5.0",
"classlist.js": "1.1.20150312",
"core-js": "2.4.1",
"custom-event-polyfill": "0.3.0",
"hammerjs": "2.0.8",
"intl": "1.2.5",
"minimatch": "3.0.4",
"moment": "2.18.1",
"moment-es6": "^1.0.0",
"ng2-charts": "1.6.0",
"pdfjs-dist": "1.5.404",
"raphael": "2.2.7",
"reflect-metadata": "0.1.10",
"rxjs": "5.5.2",
"web-animations-js": "2.3.1",
"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",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "4.0.0",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"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"
}
"private": true
}
+1 -1
View File
@@ -21,7 +21,7 @@ exports.config = {
},
beforeLaunch: function() {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
project: './demo-shell/e2e/tsconfig.e2e.json'
});
},
onPrepare() {
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Kommentare",
"PROPERTIES": "Eigenschaften",
"VERSIONS": "Versionen"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Löschen zulassen",
"SHOW_COMMENTS": "Anmerkungen zu Versionen einblenden",
"ALLOW_DOWNLOAD": "Versions-Download zulassen",
"READ_ONLY": "Schreibgeschützt"
},
"PERSONAL-FILES": "Persönliche Dateien",
"WARN-MULTIPLE-UPLOADS": "Warnung bei Mehrfach-Uploads anzeigen.",
"SEARCH": {
"RADIO": {
"NONE": "Keine",
"ALL": "Alle",
"FOLDER": "Ordner",
"DOCUMENT": "Dokument"
}
}
},
"title": "Willkommen",
"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"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Schließen",
"TITLE": "Metadaten"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-Demoanwendung",
"HOME": "Startseite",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Anmelden",
"CUSTOM_SOURCES": "Benutzerdefinierte Quellen",
"DATATABLE": "DataTable",
"DATATABLE_LAZY": "DataTable (Lazy)",
"FORM": "Formular",
"FORM_LIST": "Formularliste",
"FORM_LOADING": "Formular laden",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Papierkorb",
"SOCIAL": "Soziale Funktionen",
"SETTINGS": "Einstellungen",
"ABOUT": "Info"
"OVERLAY_VIEWER": "Overlay-Viewer",
"ABOUT": "Info",
"SEARCH": "Erweiterte Suche",
"EXTENDED_SEARCH_QUERY_BODY": "Erweiterte Suche mit Abfragetext",
"WORD_TO_SEARCH": "Suchbegriff",
"SEARCH_CREATED_BY": "Erstellt von",
"SEARCH_SERVICE_APPROACH": "Aktivieren Sie diese Option, um die Eingabeeigenschaft zu deaktivieren und die Nutzung des Services zu konfigurieren"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Endgültig löschen",
"RESTORE": "Wiederherstellen"
},
"EMPTY_STATE": {
"TITLE": "Papierkorb ist leer",
"FIRST_TEXT": "Gelöschte Elemente werden in den Papierkorb verschoben.",
"SECOND_TEXT": "Leeren Sie den Papierkorb, um die Elemente endgültig zu löschen."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Mehrfachauswahl (mit Kontrollkästchen)",
@@ -30,25 +85,53 @@
"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",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Die Liste der zuletzt verwendeten Dateien ist leer"
},
"TITLE": "Zuletzt verwendete Dateien"
},
"COLUMNS": {
"DISPLAY_NAME": "Namen anzeigen",
"IS_LOCKED": "Sperren",
"TAG": "Tag",
"CREATED_BY": "Erstellt von",
"CREATED_ON": "Erstellt am",
"CREATED": "Erstellt"
"CREATED": "Erstellt",
"SIZE": "Größe",
"DELETED_ON": "Gelöscht",
"DELETED_BY": "Gelöscht von"
},
"TOOLBAR": {
"CARDVIEW": "Kartenansichtsmodus",
"NEW_FOLDER": "Neuer Ordner",
"EDIT_FOLDER": "Ordner bearbeiten",
"DOWNLOAD": "Herunterladen",
"DELETE": "Löschen",
"FAVORITES": "Zu Favoriten hinzufügen",
"SHARE": "Freigeben",
"THEME": "Farbschema auswählen",
"SHOW_VERSION": "Version anzeigen",
"HIDE_VERSION": "Version ausblenden",
"LISTVIEW": "Listenansichtsmodus"
},
"ACTIONS": {
"VERSIONS": "Versionen verwalten",
"METADATA": "Info",
"DOWNLOAD": "Herunterladen",
"PERMISSION": "Berechtigung",
"FOLDER": {
"COPY": "Kopieren",
"MOVE": "Verschieben",
"DELETE": "Löschen"
},
"DOCUMENT": {
"DOWNLOAD": "Herunterladen",
"COPY": "Kopieren",
"MOVE": "Verschieben",
"DELETE": "Löschen"
"DELETE": "Löschen",
"PROCESS_ACTION": "Prozess starten"
}
}
},
@@ -70,19 +153,28 @@
"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",
"RESTORE": "Wiederherstellen"
},
"FORM-LOADING": {
"FORM_DATA": "Formulardaten",
"FORM_DATA_MESSAGE": "Geben Sie Werte ein, um das Formular auszufüllen",
"TYPEAHEAD_PLACEHOLDER": "Automatische Vervollständigung",
"RADIO_PLACEHOLDER": "Optionsschaltfläche",
"SELECT_PLACEHOLDER": "Dropdown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Login-Fußzeile"
},
"SEARCH": {
"RESULTS": "Ergebnisse durchsuchen"
"RESULTS": "Ergebnisse durchsuchen",
"NO_RESULT": "Keine Ergebnisse gefunden"
},
"SOCIAL": {
"LIKE": "Like-Komponente",
@@ -92,5 +184,9 @@
"LIST": "Content Services-Tagliste",
"INSERT": "Node-ID einfügen",
"NODE_LIST": "Tagliste nach Node-ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Berechtigungen erben",
"INHERITED_PERMISSIONS_BUTTON": "Berechtigungen geerbt"
}
}
+196 -92
View File
@@ -1,100 +1,204 @@
{
"title": "Welcome",
"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"
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Comments",
"PROPERTIES": "Properties",
"VERSIONS": "Versions"
},
"APP_LAYOUT": {
"APP_NAME": "ADF Demo Application",
"HOME": "Home",
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Custom Sources",
"DATATABLE": "Datatable",
"FORM": "Form",
"FORM_LIST": "Form List",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"SOCIAL": "Social",
"SETTINGS": "Settings",
"OVERLAY_VIEWER": "Overlay Viewer",
"ABOUT": "About"
"HOME": {
"TITLE": "Angular components for Alfresco",
"DOCUMENTATION": "Documentation"
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES" :"Multiselect (with checkboxes)",
"MULTIPLE_FILE_UPLOAD" :"Multiple File Upload",
"FOLDER_UPLOAD" :"Folder upload",
"CUSTOM_FILTER" :"Custom extensions filter",
"MAX_SIZE" : "Max size filter",
"ENABLE_VERSIONING" :"Enable versioning",
"DESCRIPTION_UPLOAD" : "Enable upload",
"ENABLE_INFINITE_SCROLL":"Enable Infinite Scrolling",
"MULTISELECT_DESCRIPTION" : "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items",
"COLUMNS": {
"DISPLAY_NAME": "Display name",
"TAG": "Tag",
"CREATED_BY": "Created by",
"CREATED_ON": "Created on",
"CREATED": "Created"
},
"ACTIONS": {
"FOLDER": {
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete"
},
"DOCUMENT": {
"DOWNLOAD": "Download",
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete"
}
}
"LOGOUT": {
"TITLE": "Logout Page",
"SUB_TITLE": "You are now logged out",
"LOGIN": "Login",
"HOME": "Home"
},
"DATATABLE" :{
"RESET_DEFAULT":"Reset to default",
"ADD_ROW":"Add row",
"REPLACE_ROWS":"Replace rows",
"REPLACE_COLUMNS":"Replace columns",
"LOAD_NODE":"Load Node",
"MULTISELECT":"Multiselect",
"MULTISELECT_DESCRIPTION":"Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "No report selected. Choose a report from the list"
},
"PS-TAB": {
"TASKS-TAB": "Tasks",
"PROCESSES-TAB": "Process",
"REPORTS-TAB": "Reports",
"START-TASK": "Start task",
"START-PROCESS": "Start process",
"PROCESS-AUDIT-LOG": "Process Audit log",
"TASK-AUDIT-LOG": "Task Audit log"
},
"FORM-LIST": {
"STORE": "Store",
"RESTORE": "Restore"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Login footer"
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Allow delete",
"SHOW_COMMENTS": "Show comments on versions",
"ALLOW_DOWNLOAD": "Enable version download",
"READ_ONLY": "Read-only"
},
"PERSONAL-FILES": "Personal Files",
"WARN-MULTIPLE-UPLOADS": "Display warning for multiple uploads.",
"SEARCH": {
"RESULTS": "Search results",
"NO_RESULT": "No results found"
},
"SOCIAL": {
"LIKE":"Like component",
"RATING":"Rating component"
},
"TAG": {
"LIST":"List Tags Content Services",
"INSERT":"Insert Node ID",
"NODE_LIST":"Tag list By Node ID"
"RADIO": {
"NONE": "None",
"ALL": "All",
"FOLDER": "Folder",
"DOCUMENT": "Document"
}
}
},
"title": "Welcome",
"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",
"DIALOG": {
"CLOSE": "Close",
"TITLE": "Manage Versions"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Close",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF Demo Application",
"HOME": "Home",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Custom Sources",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Lazy)",
"FORM": "Form",
"FORM_LIST": "Form List",
"FORM_LOADING": "Form Loading",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Trashcan",
"SOCIAL": "Social",
"SETTINGS": "Settings",
"OVERLAY_VIEWER": "Overlay Viewer",
"ABOUT": "About",
"SEARCH": "Extended Search",
"NOTIFICATIONS": "Notifications",
"EXTENDED_SEARCH_QUERY_BODY": "Extended Search with Query Body",
"WORD_TO_SEARCH": "Search Word",
"SEARCH_CREATED_BY": "Created By",
"SEARCH_SERVICE_APPROACH": "Check this to disable the input property and configure using the service"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Delete permanently",
"RESTORE": "Restore"
},
"EMPTY_STATE": {
"TITLE": "Trash is empty",
"FIRST_TEXT": "Items you delete are moved to the Trash.",
"SECOND_TEXT": "Empty Trash to permanently delete items."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multiselect (with checkboxes)",
"THUMBNAILS" :"Enable Thumbnails",
"MULTIPLE_FILE_UPLOAD": "Multiple File Upload",
"FOLDER_UPLOAD": "Folder upload",
"CUSTOM_FILTER": "Custom extensions filter",
"MAX_SIZE": "Max size filter",
"ENABLE_VERSIONING": "Enable versioning",
"DESCRIPTION_UPLOAD": "Enable upload",
"ENABLE_INFINITE_SCROLL": "Enable Infinite Scrolling",
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Recent Files list is empty"
},
"TITLE": "Recent Files"
},
"COLUMNS": {
"DISPLAY_NAME": "Display name",
"IS_LOCKED": "Lock",
"TAG": "Tag",
"CREATED_BY": "Created by",
"CREATED_ON": "Created on",
"CREATED": "Created",
"SIZE": "Size",
"DELETED_ON": "Deleted",
"DELETED_BY": "Deleted by"
},
"TOOLBAR": {
"CARDVIEW": "Card view mode",
"NEW_FOLDER": "New folder",
"EDIT_FOLDER": "Edit folder",
"DOWNLOAD": "Download",
"DELETE": "Delete",
"FAVORITES": "Add to favorites",
"SHARE": "Share",
"THEME": "Select a theme",
"SHOW_VERSION": "Show version",
"HIDE_VERSION": "Hide version",
"LISTVIEW": "List view mode"
},
"ACTIONS": {
"VERSIONS": "Manage versions",
"METADATA": "Info",
"DOWNLOAD": "Download",
"PERMISSION": "Permission",
"FOLDER": {
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete"
},
"DOCUMENT": {
"COPY": "Copy",
"MOVE": "Move",
"DELETE": "Delete",
"PROCESS_ACTION": "Start Process"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Reset to default",
"ADD_ROW": "Add row",
"REPLACE_ROWS": "Replace rows",
"REPLACE_COLUMNS": "Replace columns",
"LOAD_NODE": "Load Node",
"MULTISELECT": "Multiselect",
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "No report selected. Choose a report from the list"
},
"PS-TAB": {
"TASKS-TAB": "Tasks",
"PROCESSES-TAB": "Process",
"REPORTS-TAB": "Reports",
"START-TASK": "Start task",
"START-PROCESS": "Start process",
"PROCESS-AUDIT-LOG": "Process Audit log",
"TASK-AUDIT-LOG": "Task Audit log"
},
"FORM-LIST": {
"STORE": "Store",
"RESTORE": "Restore"
},
"FORM-LOADING": {
"FORM_DATA": "Form Data",
"FORM_DATA_MESSAGE": "Enter values to populate the form",
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
"RADIO_PLACEHOLDER": "Radio Button",
"SELECT_PLACEHOLDER": "DropDown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Login footer"
},
"SEARCH": {
"RESULTS": "Search results",
"NO_RESULT": "No results found"
},
"SOCIAL": {
"LIKE": "Like component",
"RATING": "Rating component"
},
"TAG": {
"LIST": "List Tags Content Services",
"INSERT": "Insert Node ID",
"NODE_LIST": "Tag list By Node ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Inherit Permission",
"INHERITED_PERMISSIONS_BUTTON": "Permission Inherited"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detalles",
"COMMENTS": "Comentarios",
"PROPERTIES": "Propiedades",
"VERSIONS": "Versiones"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir eliminar",
"SHOW_COMMENTS": "Mostrar comentarios en las versiones",
"ALLOW_DOWNLOAD": "Permitir descarga de la versión",
"READ_ONLY": "Solo lectura"
},
"PERSONAL-FILES": "Ficheros personales",
"WARN-MULTIPLE-UPLOADS": "Mostrar advertencia de múltiples cargas.",
"SEARCH": {
"RADIO": {
"NONE": "Ninguno",
"ALL": "Todos",
"FOLDER": "Carpeta",
"DOCUMENT": "Documento"
}
}
},
"title": "Bienvenido",
"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"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Cerrar",
"TITLE": "Metadatos"
}
},
"APP_LAYOUT": {
"APP_NAME": "Aplicación ADF Demo",
"HOME": "Inicio",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Ruta de navegación",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Iniciar sesión",
"CUSTOM_SOURCES": "Fuentes personalizadas",
"DATATABLE": "Tabla de datos",
"DATATABLE_LAZY": "Tabla de datos (diferida)",
"FORM": "Formulario",
"FORM_LIST": "Lista de formularios",
"FORM_LOADING": "Carga de formulario",
"UPLOADER": "Cargador",
"WEBSCRIPT": "Webscript",
"TAG": "Etiqueta",
"TRASHCAN": "Papelera",
"SOCIAL": "Social",
"SETTINGS": "Configuración",
"ABOUT": "Acerca de"
"OVERLAY_VIEWER": "Visor de superposición",
"ABOUT": "Acerca de",
"SEARCH": "Búsqueda ampliada",
"EXTENDED_SEARCH_QUERY_BODY": "Búsqueda ampliada con cuerpo de consulta",
"WORD_TO_SEARCH": "Buscar palabra",
"SEARCH_CREATED_BY": "Creado por",
"SEARCH_SERVICE_APPROACH": "Marque esto para desactivar la propiedad de entrada y configurar el uso del servicio"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Eliminar permanentemente",
"RESTORE": "Restaurar"
},
"EMPTY_STATE": {
"TITLE": "La papelera está vacía",
"FIRST_TEXT": "Los elementos que elimine se trasladan a la papelera.",
"SECOND_TEXT": "Vacíe la papelera para eliminar los elementos permanentemente."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Selección múltiple (con casillas)",
@@ -30,25 +85,53 @@
"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",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "La lista de ficheros recientes está vacía"
},
"TITLE": "Ficheros recientes"
},
"COLUMNS": {
"DISPLAY_NAME": "Nombre a mostrar",
"IS_LOCKED": "Bloquear",
"TAG": "Etiqueta",
"CREATED_BY": "Creado por",
"CREATED_ON": "Creado",
"CREATED": "Creado"
"CREATED": "Creado",
"SIZE": "Tamaño",
"DELETED_ON": "Eliminado",
"DELETED_BY": "Eliminado por"
},
"TOOLBAR": {
"CARDVIEW": "Modo de vista de tarjeta",
"NEW_FOLDER": "Nueva carpeta",
"EDIT_FOLDER": "Editar carpeta",
"DOWNLOAD": "Descargar",
"DELETE": "Eliminar",
"FAVORITES": "Añadir a Favoritos",
"SHARE": "Compartir",
"THEME": "Seleccionar un tema",
"SHOW_VERSION": "Mostrar versión",
"HIDE_VERSION": "Ocultar versión",
"LISTVIEW": "Modo de vista de lista"
},
"ACTIONS": {
"VERSIONS": "Gestionar versiones",
"METADATA": "Información",
"DOWNLOAD": "Descargar",
"PERMISSION": "Permiso",
"FOLDER": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Eliminar"
},
"DOCUMENT": {
"DOWNLOAD": "Descargar",
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Eliminar"
"DELETE": "Eliminar",
"PROCESS_ACTION": "Iniciar proceso"
}
}
},
@@ -70,19 +153,28 @@
"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",
"RESTORE": "Restaurar"
},
"FORM-LOADING": {
"FORM_DATA": "Datos del formulario",
"FORM_DATA_MESSAGE": "Introduzca valores para rellenar el formulario",
"TYPEAHEAD_PLACEHOLDER": "Predictivo",
"RADIO_PLACEHOLDER": "Botón de opción",
"SELECT_PLACEHOLDER": "Desplegable"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"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",
@@ -92,5 +184,9 @@
"LIST": "Lista de etiquetas de Content Services",
"INSERT": "Insertar ID del nodo",
"NODE_LIST": "Lista de etiquetas por ID de nodo"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Heredar permiso",
"INHERITED_PERMISSIONS_BUTTON": "Permiso heredado"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Détails",
"COMMENTS": "Commentaires",
"PROPERTIES": "Propriétés",
"VERSIONS": "Versions"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Autoriser la suppression",
"SHOW_COMMENTS": "Afficher les commentaires sur les versions",
"ALLOW_DOWNLOAD": "Autoriser le téléchargement de la version",
"READ_ONLY": "Lecture seule"
},
"PERSONAL-FILES": "Fichiers personnels",
"WARN-MULTIPLE-UPLOADS": "Avertir en cas de téléchargements multiples.",
"SEARCH": {
"RADIO": {
"NONE": "Aucune",
"ALL": "Tout",
"FOLDER": "Dossier",
"DOCUMENT": "Document"
}
}
},
"title": "Bienvenue",
"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"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Fermer",
"TITLE": "Métadonnées"
}
},
"APP_LAYOUT": {
"APP_NAME": "Application Démo ADF",
"HOME": "Accueil",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Fil d'Ariane",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Connexion",
"CUSTOM_SOURCES": "Sources personnalisées",
"DATATABLE": "Table de données",
"DATATABLE_LAZY": "Table de données (différé)",
"FORM": "Formulaire",
"FORM_LIST": "Liste de formulaires",
"FORM_LOADING": "Chargement du formulaire",
"UPLOADER": "Chargeur",
"WEBSCRIPT": "Script Web",
"TAG": "Tag",
"TRASHCAN": "Corbeille",
"SOCIAL": "Réseaux sociaux",
"SETTINGS": "Paramètres",
"ABOUT": "À propos de"
"OVERLAY_VIEWER": "Visualisation de la superposition",
"ABOUT": "À propos de",
"SEARCH": "Recherche globale",
"EXTENDED_SEARCH_QUERY_BODY": "Recherche globale sur le corps de la requête",
"WORD_TO_SEARCH": "Mot recherché",
"SEARCH_CREATED_BY": "Créé par",
"SEARCH_SERVICE_APPROACH": "Cochez cette option pour désactiver la propriété d'entrée et configurer à partir du service"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Supprimer définitivement",
"RESTORE": "Restaurer"
},
"EMPTY_STATE": {
"TITLE": "La corbeille est vide",
"FIRST_TEXT": "Les éléments supprimés sont placés dans la corbeille.",
"SECOND_TEXT": "Videz la corbeille pour supprimer définitivement les éléments."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Sélection multiple (avec cases à cocher)",
@@ -30,25 +85,53 @@
"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",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "La liste des fichiers récents est vide"
},
"TITLE": "Fichiers récents"
},
"COLUMNS": {
"DISPLAY_NAME": "Nom affiché",
"IS_LOCKED": "Verrouiller",
"TAG": "Tag",
"CREATED_BY": "Créé par",
"CREATED_ON": "Créé le",
"CREATED": "Créé"
"CREATED": "Créé",
"SIZE": "Taille",
"DELETED_ON": "Supprimé",
"DELETED_BY": "Supprimé par"
},
"TOOLBAR": {
"CARDVIEW": "Mode d'affichage Carte",
"NEW_FOLDER": "Nouveau Dossier",
"EDIT_FOLDER": "Modifier le dossier",
"DOWNLOAD": "Télécharger",
"DELETE": "Supprimer",
"FAVORITES": "Ajouter aux favoris",
"SHARE": "Partager",
"THEME": "Sélectionner un thème",
"SHOW_VERSION": "Afficher la version",
"HIDE_VERSION": "Masquer la version",
"LISTVIEW": "Mode Liste"
},
"ACTIONS": {
"VERSIONS": "Gérer les versions",
"METADATA": "Informations",
"DOWNLOAD": "Télécharger",
"PERMISSION": "Droit d'accès",
"FOLDER": {
"COPY": "Copier",
"MOVE": "Déplacer",
"DELETE": "Supprimer"
},
"DOCUMENT": {
"DOWNLOAD": "Télécharger",
"COPY": "Copier",
"MOVE": "Déplacer",
"DELETE": "Supprimer"
"DELETE": "Supprimer",
"PROCESS_ACTION": "Démarrer le processus"
}
}
},
@@ -70,19 +153,28 @@
"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",
"RESTORE": "Restaurer"
},
"FORM-LOADING": {
"FORM_DATA": "Données du formulaire",
"FORM_DATA_MESSAGE": "Entrez les valeurs pour remplir le formulaire",
"TYPEAHEAD_PLACEHOLDER": "Saisie semi-automatique",
"RADIO_PLACEHOLDER": "Case d'option",
"SELECT_PLACEHOLDER": "Liste déroulante"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"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",
@@ -92,5 +184,9 @@
"LIST": "Liste de tags Content Services",
"INSERT": "Insérer l'ID du nœud",
"NODE_LIST": "Liste de tags par ID de nœud"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Hériter les droits d'accès",
"INHERITED_PERMISSIONS_BUTTON": "Droits d'accès hérités"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Dettagli",
"COMMENTS": "Commenti",
"PROPERTIES": "Proprietà",
"VERSIONS": "Versione"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Consenti eliminazione",
"SHOW_COMMENTS": "Mostra commenti sulle versioni",
"ALLOW_DOWNLOAD": "Abilita download versioni",
"READ_ONLY": "Sola lettura"
},
"PERSONAL-FILES": "File personali",
"WARN-MULTIPLE-UPLOADS": "Mostra avviso per caricamenti multipli.",
"SEARCH": {
"RADIO": {
"NONE": "Nessuno",
"ALL": "Tutti",
"FOLDER": "Cartella",
"DOCUMENT": "Documento"
}
}
},
"title": "Benvenuto",
"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"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Chiudi",
"TITLE": "Metadati"
}
},
"APP_LAYOUT": {
"APP_NAME": "Applicazione demo ADF",
"HOME": "Home",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Fonti personalizzate",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Caricamento dati (ottimizzato)",
"FORM": "Modulo",
"FORM_LIST": "Elenco moduli",
"FORM_LOADING": "Caricamento modulo",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Cestino",
"SOCIAL": "Social",
"SETTINGS": "Impostazioni",
"ABOUT": "Informazioni su"
"OVERLAY_VIEWER": "Visualizzatore overlay",
"ABOUT": "Informazioni su",
"SEARCH": "Ricerca estesa",
"EXTENDED_SEARCH_QUERY_BODY": "Ricerca estesa con corpo query",
"WORD_TO_SEARCH": "Termine di ricerca",
"SEARCH_CREATED_BY": "Creato da",
"SEARCH_SERVICE_APPROACH": "Selezionare per disattivare la proprietà di input ed eseguire la configurazione utilizzando il servizio"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Elimina definitivamente",
"RESTORE": "Ripristina"
},
"EMPTY_STATE": {
"TITLE": "Il cestino è vuoto",
"FIRST_TEXT": "Gli elementi eliminati vengono spostati nel cestino.",
"SECOND_TEXT": "Svuotare il cestino per eliminare definitivamente gli elementi."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Selezione multipla (con caselle di spunta)",
@@ -30,25 +85,53 @@
"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",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "L'elenco File recenti è vuoto"
},
"TITLE": "File recenti"
},
"COLUMNS": {
"DISPLAY_NAME": "Nome visualizzato",
"IS_LOCKED": "Blocca",
"TAG": "Tag",
"CREATED_BY": "Creato da",
"CREATED_ON": "Creato il",
"CREATED": "Creato"
"CREATED": "Creato",
"SIZE": "Dimensione",
"DELETED_ON": "Eliminato",
"DELETED_BY": "Eliminato da"
},
"TOOLBAR": {
"CARDVIEW": "Modalità di visualizzazione scheda",
"NEW_FOLDER": "Nuova cartella",
"EDIT_FOLDER": "Modifica cartella",
"DOWNLOAD": "Download",
"DELETE": "Elimina",
"FAVORITES": "Aggiungi ai preferiti",
"SHARE": "Condividi",
"THEME": "Seleziona un tema",
"SHOW_VERSION": "Mostra versione",
"HIDE_VERSION": "Nascondi versione",
"LISTVIEW": "Modalità vista elenco"
},
"ACTIONS": {
"VERSIONS": "Gestione versioni",
"METADATA": "Informazioni",
"DOWNLOAD": "Download",
"PERMISSION": "Permesso",
"FOLDER": {
"COPY": "Copia",
"MOVE": "Sposta",
"DELETE": "Elimina"
},
"DOCUMENT": {
"DOWNLOAD": "Download",
"COPY": "Copia",
"MOVE": "Sposta",
"DELETE": "Elimina"
"DELETE": "Elimina",
"PROCESS_ACTION": "Avvia processo"
}
}
},
@@ -70,19 +153,28 @@
"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",
"RESTORE": "Ripristina"
},
"FORM-LOADING": {
"FORM_DATA": "Dati modulo",
"FORM_DATA_MESSAGE": "Inserire i dati per compilare il modulo",
"TYPEAHEAD_PLACEHOLDER": "Typeahead",
"RADIO_PLACEHOLDER": "Pulsante di opzione",
"SELECT_PLACEHOLDER": "Elenco a discesa"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Piè di pagina login"
},
"SEARCH": {
"RESULTS": "Risultati della ricerca"
"RESULTS": "Risultati della ricerca",
"NO_RESULT": "Nessun risultato trovato"
},
"SOCIAL": {
"LIKE": "Componente Like",
@@ -92,5 +184,9 @@
"LIST": "Elenco tag Content Services",
"INSERT": "Inserisci ID nodo",
"NODE_LIST": "Elenco tag per ID nodo"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Eredita permessi",
"INHERITED_PERMISSIONS_BUTTON": "Permesso ereditato"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "詳細",
"COMMENTS": "コメント",
"PROPERTIES": "プロパティ",
"VERSIONS": "バージョン"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "削除を許可する",
"SHOW_COMMENTS": "バージョンに関するコメントを表示",
"ALLOW_DOWNLOAD": "バージョンのダウンロードを許可する",
"READ_ONLY": "読取り専用"
},
"PERSONAL-FILES": "個人的なファイル",
"WARN-MULTIPLE-UPLOADS": "複数のアップロードの警告を表示します。",
"SEARCH": {
"RADIO": {
"NONE": "なし",
"ALL": "すべて",
"FOLDER": "フォルダ",
"DOCUMENT": "文書"
}
}
},
"title": "ようこそ",
"VERSION": {
"NO_PERMISSION": "このコンテンツのバージョンを管理する権限がありません",
"NO_PERMISSION_EVENT": "${event.type} を ${event.action} するための ${event.permission} 権限がありません",
"CHOOSE_FILE": "バージョンを表示するファイルを選択してください"
"CHOOSE_FILE": "バージョンを表示するファイルを選択してください",
"DIALOG": {
"CLOSE": "閉じる",
"TITLE": "バージョンの管理"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "閉じる",
"TITLE": "メタデータ"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF デモアプリケーション",
"HOME": "ホーム",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "階層リンク",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "ログイン",
"CUSTOM_SOURCES": "カスタムソース",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (遅延読み込み)",
"FORM": "フォーム",
"FORM_LIST": "フォームリスト",
"FORM_LOADING": "フォームを読み込んでいます",
"UPLOADER": "アップローダー",
"WEBSCRIPT": "Webscript",
"TAG": "タグ",
"TRASHCAN": "ごみ箱",
"SOCIAL": "ソーシャル",
"SETTINGS": "設定",
"ABOUT": "バージョン情報"
"OVERLAY_VIEWER": "オーバーレイビューア",
"ABOUT": "バージョン情報",
"SEARCH": "詳細検索",
"EXTENDED_SEARCH_QUERY_BODY": "クエリ本体を使った詳細検索",
"WORD_TO_SEARCH": "語句の検索",
"SEARCH_CREATED_BY": "作成者",
"SEARCH_SERVICE_APPROACH": "入力プロパティを無効にし、サービスを使って設定する場合は、このチェックボックスをオンにします"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "完全に削除する",
"RESTORE": "復元"
},
"EMPTY_STATE": {
"TITLE": "ごみ箱は空です",
"FIRST_TEXT": "削除するアイテムはごみ箱に移動されます。",
"SECOND_TEXT": "ごみ箱を空にするとアイテムが完全に削除されます。"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "複数選択 (チェックボックスを使用)",
@@ -30,25 +85,53 @@
"MAX_SIZE": "最大サイズフィルタ",
"ENABLE_VERSIONING": "バージョン管理を有効にする",
"DESCRIPTION_UPLOAD": "アップロードを有効にします",
"ENABLE_INFINITE_SCROLL": "無限スクロールを有効にする",
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "[最近使ったファイル] 一覧は空です"
},
"TITLE": "最近使ったファイル"
},
"COLUMNS": {
"DISPLAY_NAME": "表示名",
"IS_LOCKED": "ロック",
"TAG": "タグ",
"CREATED_BY": "作成者",
"CREATED_ON": "作成日",
"CREATED": "作成日"
"CREATED": "作成日",
"SIZE": "サイズ",
"DELETED_ON": "削除済み",
"DELETED_BY": "削除者"
},
"TOOLBAR": {
"CARDVIEW": "カード表示モード",
"NEW_FOLDER": "新しいフォルダ",
"EDIT_FOLDER": "フォルダの編集",
"DOWNLOAD": "ダウンロード",
"DELETE": "削除",
"FAVORITES": "[お気に入り] に追加",
"SHARE": "共有",
"THEME": "テーマを選択してください",
"SHOW_VERSION": "バージョンを表示する",
"HIDE_VERSION": "バージョンを隠す",
"LISTVIEW": "一覧表示モード"
},
"ACTIONS": {
"VERSIONS": "バージョンの管理",
"METADATA": "情報",
"DOWNLOAD": "ダウンロード",
"PERMISSION": "権限",
"FOLDER": {
"COPY": "コピー",
"MOVE": "移動",
"DELETE": "削除"
},
"DOCUMENT": {
"DOWNLOAD": "ダウンロード",
"COPY": "コピー",
"MOVE": "移動",
"DELETE": "削除"
"DELETE": "削除",
"PROCESS_ACTION": "プロセスの開始"
}
}
},
@@ -70,19 +153,28 @@
"REPORTS-TAB": "レポート",
"START-TASK": "タスクの開始",
"START-PROCESS": "プロセスの開始",
"AUDIT-LOG": "プロセスの監査ログ"
"PROCESS-AUDIT-LOG": "プロセスの監査ログ",
"TASK-AUDIT-LOG": "タスクの監査ログ"
},
"FORM-LIST": {
"STORE": "保存",
"RESTORE": "復元"
},
"FORM-LOADING": {
"FORM_DATA": "フォーム データ",
"FORM_DATA_MESSAGE": "フォームに入力する値を入力してください",
"TYPEAHEAD_PLACEHOLDER": "先行入力",
"RADIO_PLACEHOLDER": "ラジオ ボタン",
"SELECT_PLACEHOLDER": "ドロップダウン"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "ログインページのフッター"
},
"SEARCH": {
"RESULTS": "検索結果"
"RESULTS": "検索結果",
"NO_RESULT": "一致するアイテムはありません"
},
"SOCIAL": {
"LIKE": "[いいね!] コンポーネント",
@@ -92,5 +184,9 @@
"LIST": "Content Services のタグリスト",
"INSERT": "ノード ID の挿入",
"NODE_LIST": "ノード ID 別タグリスト"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "権限の継承",
"INHERITED_PERMISSIONS_BUTTON": "継承された権限"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detaljer",
"COMMENTS": "Kommentarer",
"PROPERTIES": "Egenskaper",
"VERSIONS": "Versjoner"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Tillat sletting",
"SHOW_COMMENTS": "Vis kommentarer om versjoner",
"ALLOW_DOWNLOAD": "Tillat versjonsnedlasting",
"READ_ONLY": "Skrivebeskyttet"
},
"PERSONAL-FILES": "Personlige filer",
"WARN-MULTIPLE-UPLOADS": "Vis advarsel for flere opplastinger.",
"SEARCH": {
"RADIO": {
"NONE": "Ingen",
"ALL": "Alle",
"FOLDER": "Mappe",
"DOCUMENT": "Dokument"
}
}
},
"title": "Velkommen",
"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"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Lukk",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-demoprogam",
"HOME": "Hjem",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Søkebane",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Logg på",
"CUSTOM_SOURCES": "Tilpassede kilder",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatabell (avventende)",
"FORM": "Skjema",
"FORM_LIST": "Skjemaliste",
"FORM_LOADING": "Skjema lastes inn",
"UPLOADER": "Opplaster",
"WEBSCRIPT": "Webscript",
"TAG": "Tagg",
"TRASHCAN": "Søppelkurv",
"SOCIAL": "Sosial",
"SETTINGS": "Innstillinger",
"ABOUT": "Om"
"OVERLAY_VIEWER": "Overleggsfremviser",
"ABOUT": "Om",
"SEARCH": "Utvidet søk",
"EXTENDED_SEARCH_QUERY_BODY": "Utvidet søk med spørringsuttrykk",
"WORD_TO_SEARCH": "Søkeord",
"SEARCH_CREATED_BY": "Opprettet av",
"SEARCH_SERVICE_APPROACH": "Velg dette for å deaktivere inndataegenskapen og konfigurere ved hjelp av tjenesten"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Slett for godt",
"RESTORE": "Gjenopprett"
},
"EMPTY_STATE": {
"TITLE": "Søppelkurven er tom",
"FIRST_TEXT": "Elementer du sletter, flyttes til søppelkurven.",
"SECOND_TEXT": "Tøm søppelkurven for å slette elementer for godt."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multivalg (med avskrysningsbokser)",
@@ -30,25 +85,53 @@
"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",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Nylige filer-listen er tom"
},
"TITLE": "Nylige filer"
},
"COLUMNS": {
"DISPLAY_NAME": "Vis navn",
"IS_LOCKED": "Lås",
"TAG": "Tagg",
"CREATED_BY": "Opprettet av",
"CREATED_ON": "Opprettet",
"CREATED": "Opprettet"
"CREATED": "Opprettet",
"SIZE": "Størrelse",
"DELETED_ON": "Slettet",
"DELETED_BY": "Slettet av"
},
"TOOLBAR": {
"CARDVIEW": "Kortvisningsmodus",
"NEW_FOLDER": "Ny mappe",
"EDIT_FOLDER": "Rediger mappe",
"DOWNLOAD": "Last ned",
"DELETE": "Slett",
"FAVORITES": "Legg til favoritter",
"SHARE": "Del",
"THEME": "Velg et tema",
"SHOW_VERSION": "Vis versjon",
"HIDE_VERSION": "Skjul versjon",
"LISTVIEW": "Listevisningsmodus"
},
"ACTIONS": {
"VERSIONS": "Administrer versjoner",
"METADATA": "Info",
"DOWNLOAD": "Last ned",
"PERMISSION": "Tillatelse",
"FOLDER": {
"COPY": "Kopier",
"MOVE": "Flytt",
"DELETE": "Slett"
},
"DOCUMENT": {
"DOWNLOAD": "Last ned",
"COPY": "Kopier",
"MOVE": "Flytt",
"DELETE": "Slett"
"DELETE": "Slett",
"PROCESS_ACTION": "Start prosess"
}
}
},
@@ -70,19 +153,28 @@
"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",
"RESTORE": "Gjenopprett"
},
"FORM-LOADING": {
"FORM_DATA": "Skjemadata",
"FORM_DATA_MESSAGE": "Skriv inn verdier for å fylle ut skjemaet",
"TYPEAHEAD_PLACEHOLDER": "Type-ahead",
"RADIO_PLACEHOLDER": "Alternativknapp",
"SELECT_PLACEHOLDER": "Nedtrekk"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Bunntekt pålogging"
},
"SEARCH": {
"RESULTS": "Søkeresultater"
"RESULTS": "Søkeresultater",
"NO_RESULT": "Ingen resultater funnet"
},
"SOCIAL": {
"LIKE": "Like komponent",
@@ -92,5 +184,9 @@
"LIST": "Liste med tagger Innholdstjenester",
"INSERT": "Sett inn node-ID",
"NODE_LIST": "Tagg listen etter node-ID"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Arv tillatelse",
"INHERITED_PERMISSIONS_BUTTON": "Tillatelse arvet"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Opmerkingen",
"PROPERTIES": "Eigenschappen",
"VERSIONS": "Versies"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Verwijderen toestaan",
"SHOW_COMMENTS": "Opmerkingen over versies tonen",
"ALLOW_DOWNLOAD": "Downloaden van versies toestaan",
"READ_ONLY": "Alleen-lezen"
},
"PERSONAL-FILES": "Persoonlijke bestanden",
"WARN-MULTIPLE-UPLOADS": "Waarschuwing weergeven bij meerdere uploads.",
"SEARCH": {
"RADIO": {
"NONE": "Geen",
"ALL": "Alle",
"FOLDER": "Map",
"DOCUMENT": "Document"
}
}
},
"title": "Welkom",
"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"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Sluiten",
"TITLE": "Metagegevens"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-demotoepassing",
"HOME": "Home",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Navigatiepad",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Aanmelden",
"CUSTOM_SOURCES": "Aangepaste bronnen",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (vertraagd)",
"FORM": "Formulier",
"FORM_LIST": "Formulierlijst",
"FORM_LOADING": "Formulier laden",
"UPLOADER": "Uploader",
"WEBSCRIPT": "Webscript",
"TAG": "Tag",
"TRASHCAN": "Prullenbak",
"SOCIAL": "Sociaal",
"SETTINGS": "Instellingen",
"ABOUT": "Info"
"OVERLAY_VIEWER": "Overlay-viewer",
"ABOUT": "Info",
"SEARCH": "Uitgebreid zoeken",
"EXTENDED_SEARCH_QUERY_BODY": "Uitgebreid zoeken met queryhoofdcode",
"WORD_TO_SEARCH": "Zoekterm",
"SEARCH_CREATED_BY": "Gemaakt door",
"SEARCH_SERVICE_APPROACH": "Schakel dit in om de invoereigenschap uit te schakelen en om te configureren via de service"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Definitief verwijderen",
"RESTORE": "Herstellen"
},
"EMPTY_STATE": {
"TITLE": "Prullenbak is leeg",
"FIRST_TEXT": "Items die u verwijdert, worden verplaatst naar de prullenbak.",
"SECOND_TEXT": "Leeg de prullenmand om items definitief te verwijderen."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Multiselect (met selectievakjes)",
@@ -30,25 +85,53 @@
"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",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Lijst met recente bestanden is leeg"
},
"TITLE": "Recente bestanden"
},
"COLUMNS": {
"DISPLAY_NAME": "Getoonde naam",
"IS_LOCKED": "Vergrendeling",
"TAG": "Tag",
"CREATED_BY": "Gemaakt door",
"CREATED_ON": "Gemaakt op",
"CREATED": "Gemaakt"
"CREATED": "Gemaakt",
"SIZE": "Grootte",
"DELETED_ON": "Verwijderd",
"DELETED_BY": "Verwijderd door"
},
"TOOLBAR": {
"CARDVIEW": "Kaartweergavemodus",
"NEW_FOLDER": "Nieuwe map",
"EDIT_FOLDER": "Map bewerken",
"DOWNLOAD": "Downloaden",
"DELETE": "Verwijderen",
"FAVORITES": "Toevoegen aan favorieten",
"SHARE": "Delen",
"THEME": "Een thema selecteren",
"SHOW_VERSION": "Versie weergeven",
"HIDE_VERSION": "Versie verbergen",
"LISTVIEW": "Lijstweergavemodus"
},
"ACTIONS": {
"VERSIONS": "Versies beheren",
"METADATA": "Info",
"DOWNLOAD": "Downloaden",
"PERMISSION": "Machtiging",
"FOLDER": {
"COPY": "Kopiëren",
"MOVE": "Verplaatsen",
"DELETE": "Verwijderen"
},
"DOCUMENT": {
"DOWNLOAD": "Downloaden",
"COPY": "Kopiëren",
"MOVE": "Verplaatsen",
"DELETE": "Verwijderen"
"DELETE": "Verwijderen",
"PROCESS_ACTION": "Proces starten"
}
}
},
@@ -70,19 +153,28 @@
"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",
"RESTORE": "Herstellen"
},
"FORM-LOADING": {
"FORM_DATA": "Formuliergegevens",
"FORM_DATA_MESSAGE": "Voer waarden in om het formulier in te vullen",
"TYPEAHEAD_PLACEHOLDER": "Automatische voltooiing",
"RADIO_PLACEHOLDER": "Keuzerondje",
"SELECT_PLACEHOLDER": "Dropdown"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Voettekst aanmeldingspagina"
},
"SEARCH": {
"RESULTS": "Zoekresultaten"
"RESULTS": "Zoekresultaten",
"NO_RESULT": "Geen resultaten gevonden"
},
"SOCIAL": {
"LIKE": "'Vind ik leuk'-component",
@@ -92,5 +184,9 @@
"LIST": "Taglijst Content Services",
"INSERT": "Node-id invoegen",
"NODE_LIST": "Taglijst per node-id"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Machtiging overnemen",
"INHERITED_PERMISSIONS_BUTTON": "Machtiging overgenomen"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detalhes",
"COMMENTS": "Comentários",
"PROPERTIES": "Propriedades",
"VERSIONS": "Versões"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir apagar",
"SHOW_COMMENTS": "Mostrar comentários em versões",
"ALLOW_DOWNLOAD": "Permitir download da versão",
"READ_ONLY": "Somente leitura"
},
"PERSONAL-FILES": "Arquivos pessoais",
"WARN-MULTIPLE-UPLOADS": "Exibir alerta para vários uploads.",
"SEARCH": {
"RADIO": {
"NONE": "Nenhum",
"ALL": "Todos",
"FOLDER": "Pasta",
"DOCUMENT": "Documento"
}
}
},
"title": "Bem-vindo",
"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"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Fechar",
"TITLE": "Metadados"
}
},
"APP_LAYOUT": {
"APP_NAME": "Aplicativo Demo ADF",
"HOME": "Página Inicial",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Trilha de navegação",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Login",
"CUSTOM_SOURCES": "Origens Personalizadas",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (Sob demanda)",
"FORM": "Formulário",
"FORM_LIST": "Lista de Formulário",
"FORM_LOADING": "Carregamento de formulário",
"UPLOADER": "Carregador",
"WEBSCRIPT": "Webscript",
"TAG": "Marca",
"TRASHCAN": "Lixeira",
"SOCIAL": "Social",
"SETTINGS": "Configurações",
"ABOUT": "Sobre"
"OVERLAY_VIEWER": "Visualizador de sobreposição",
"ABOUT": "Sobre",
"SEARCH": "Pesquisa estendida",
"EXTENDED_SEARCH_QUERY_BODY": "Pesquisa estendida com corpo de consulta",
"WORD_TO_SEARCH": "Pesquisar palavras",
"SEARCH_CREATED_BY": "Criado por",
"SEARCH_SERVICE_APPROACH": "Marque essa opção para desativar a inserção e configurar a utilização do serviço"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Apagar permanentemente",
"RESTORE": "Restaurar"
},
"EMPTY_STATE": {
"TITLE": "A lixeira está vazia",
"FIRST_TEXT": "Itens apagados são movidos para a Lixeira.",
"SECOND_TEXT": "Esvazie a Lixeira para apagar os itens permanentemente."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Seleção Múltipla (com caixas de seleção)",
@@ -30,25 +85,53 @@
"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",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "A lista de Arquivos recentes está vazia"
},
"TITLE": "Arquivos recentes"
},
"COLUMNS": {
"DISPLAY_NAME": "Nome de exibição",
"IS_LOCKED": "Bloqueio",
"TAG": "Marca",
"CREATED_BY": "Criado por",
"CREATED_ON": "Criado em",
"CREATED": "Criado"
"CREATED": "Criado",
"SIZE": "Tamanho",
"DELETED_ON": "Excluído",
"DELETED_BY": "Excluído por"
},
"TOOLBAR": {
"CARDVIEW": "Modo de visualização de cartão",
"NEW_FOLDER": "Nova Pasta",
"EDIT_FOLDER": "Editar pasta",
"DOWNLOAD": "Download",
"DELETE": "Excluir",
"FAVORITES": "Adicionar aos favoritos",
"SHARE": "Compartilhar",
"THEME": "Selecionar um tema",
"SHOW_VERSION": "Mostrar versão",
"HIDE_VERSION": "Ocultar versão",
"LISTVIEW": "Modo de exibição em lista"
},
"ACTIONS": {
"VERSIONS": "Gerenciar versões",
"METADATA": "Informações",
"DOWNLOAD": "Download",
"PERMISSION": "Permissão",
"FOLDER": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Excluir"
},
"DOCUMENT": {
"DOWNLOAD": "Download",
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Excluir"
"DELETE": "Excluir",
"PROCESS_ACTION": "Iniciar processo"
}
}
},
@@ -70,19 +153,28 @@
"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",
"RESTORE": "Restaurar"
},
"FORM-LOADING": {
"FORM_DATA": "Dados do formulário",
"FORM_DATA_MESSAGE": "Insira os valores para preencher o formulário",
"TYPEAHEAD_PLACEHOLDER": "Campo de sugestão",
"RADIO_PLACEHOLDER": "Botão de opção",
"SELECT_PLACEHOLDER": "Lista suspensa"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Rodapé de login"
},
"SEARCH": {
"RESULTS": "Resultados da pesquisa"
"RESULTS": "Resultados da pesquisa",
"NO_RESULT": "Nenhum resultado encontrado"
},
"SOCIAL": {
"LIKE": "Componente Like",
@@ -92,5 +184,9 @@
"LIST": "Lista de Marcas do Content Services",
"INSERT": "Inserir ID de Nó",
"NODE_LIST": "Lista de marcas por ID de Nó"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Herdar permissão",
"INHERITED_PERMISSIONS_BUTTON": "Permissão herdada"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Сведения",
"COMMENTS": "Комментарии",
"PROPERTIES": "Свойства",
"VERSIONS": "Версии"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Разрешить удаление",
"SHOW_COMMENTS": "Показать комментарии к версиям",
"ALLOW_DOWNLOAD": "Разрешить загрузку версии",
"READ_ONLY": "Только чтение"
},
"PERSONAL-FILES": "Личные файлы",
"WARN-MULTIPLE-UPLOADS": "Показывать предупреждение для нескольких загрузок.",
"SEARCH": {
"RADIO": {
"NONE": "Нет",
"ALL": "Все",
"FOLDER": "Папка",
"DOCUMENT": "Документ"
}
}
},
"title": "Добро пожаловать",
"VERSION": {
"NO_PERMISSION": "У вас нет разрешения на управление версиями этого контента",
"NO_PERMISSION_EVENT": "У вас нет разрешения ${event.permission} на ${event.action} ${event.type}",
"CHOOSE_FILE": "Чтобы просмотреть версии файла, выберите файл"
"CHOOSE_FILE": "Чтобы просмотреть версии файла, выберите файл",
"DIALOG": {
"CLOSE": "Закрыть",
"TITLE": "Управление версиями"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Закрыть",
"TITLE": "Метаданные"
}
},
"APP_LAYOUT": {
"APP_NAME": "Демонстрационное приложение ADF",
"HOME": "Домашняя",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Иерархия",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Войти",
"CUSTOM_SOURCES": "Пользовательские источники",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Таблица данных (частичная загрузка)",
"FORM": "Форма",
"FORM_LIST": "Список форм",
"FORM_LOADING": "Загрузка формы",
"UPLOADER": "Загрузчик",
"WEBSCRIPT": "Webscript",
"TAG": "Метка",
"TRASHCAN": "Корзина",
"SOCIAL": "Социальный",
"SETTINGS": "Параметры",
"ABOUT": "О приложении"
"OVERLAY_VIEWER": "Просмотр наложения",
"ABOUT": "О приложении",
"SEARCH": "Расширенный поиск",
"EXTENDED_SEARCH_QUERY_BODY": "Расширенный поиск с использованием тела запроса",
"WORD_TO_SEARCH": "Искать слово",
"SEARCH_CREATED_BY": "Создано пользователем",
"SEARCH_SERVICE_APPROACH": "Установите флажок, чтобы отключить свойство ввода и настроить, используя службу."
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Удалить навсегда",
"RESTORE": "Восстановить"
},
"EMPTY_STATE": {
"TITLE": "Корзина пуста",
"FIRST_TEXT": "Элементы, которые вы удаляете, перемещаются в корзину.",
"SECOND_TEXT": "Очистите корзину, чтобы удалить элементы навсегда."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Выбор нескольких вариантов (с флажками)",
@@ -30,25 +85,53 @@
"MAX_SIZE": "Фильтр максимального размера",
"ENABLE_VERSIONING": "Включить поддержку версий",
"DESCRIPTION_UPLOAD": "Включить загрузку",
"ENABLE_INFINITE_SCROLL": "Включить бесконечную прокрутку",
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Список последних файлов пуст"
},
"TITLE": "Последние файлы"
},
"COLUMNS": {
"DISPLAY_NAME": "Отображаемое имя",
"IS_LOCKED": "Блокировка",
"TAG": "Метка",
"CREATED_BY": "Создано пользователем",
"CREATED_ON": "Дата создания",
"CREATED": "Создано"
"CREATED": "Создано",
"SIZE": "Размер",
"DELETED_ON": "Удаленные",
"DELETED_BY": "Удалено пользователем"
},
"TOOLBAR": {
"CARDVIEW": "Режим просмотра карты",
"NEW_FOLDER": "Новая папка",
"EDIT_FOLDER": "Редактировать папку",
"DOWNLOAD": "Скачать",
"DELETE": "Удалить",
"FAVORITES": "Добавить в избранное",
"SHARE": "Открыть доступ",
"THEME": "Выберите тему",
"SHOW_VERSION": "Показать версию",
"HIDE_VERSION": "Скрыть версию",
"LISTVIEW": "Режим просмотра списка"
},
"ACTIONS": {
"VERSIONS": "Управление версиями",
"METADATA": "Информация",
"DOWNLOAD": "Скачать",
"PERMISSION": "Право",
"FOLDER": {
"COPY": "Копировать",
"MOVE": "Переместить",
"DELETE": "Удалить"
},
"DOCUMENT": {
"DOWNLOAD": "Скачать",
"COPY": "Копировать",
"MOVE": "Переместить",
"DELETE": "Удалить"
"DELETE": "Удалить",
"PROCESS_ACTION": "Начать процесс"
}
}
},
@@ -70,19 +153,28 @@
"REPORTS-TAB": "Отчеты",
"START-TASK": "Начать задачу",
"START-PROCESS": "Начать процесс",
"AUDIT-LOG": "Журнал аудита процессов"
"PROCESS-AUDIT-LOG": "Журнал проверки процесса",
"TASK-AUDIT-LOG": "Журнал проверки задачи"
},
"FORM-LIST": {
"STORE": "Хранилище",
"RESTORE": "Восстановить"
},
"FORM-LOADING": {
"FORM_DATA": "Данные формы",
"FORM_DATA_MESSAGE": "Введите значения для заполнения формы",
"TYPEAHEAD_PLACEHOLDER": "Буфер клавиатуры",
"RADIO_PLACEHOLDER": "Селективная кнопка",
"SELECT_PLACEHOLDER": "Раскрывающееся меню"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Нижний колонтитул страницы входа в систему"
},
"SEARCH": {
"RESULTS": "Результаты поиска"
"RESULTS": "Результаты поиска",
"NO_RESULT": "Результаты не найдены"
},
"SOCIAL": {
"LIKE": "Компонент \"Нравится\"",
@@ -92,5 +184,9 @@
"LIST": "Список меток Content Services",
"INSERT": "Вставить идентификатор узла",
"NODE_LIST": "Список меток по идентификатору узла"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Наследовать разрешение",
"INHERITED_PERMISSIONS_BUTTON": "Разрешение унаследовано"
}
}
+103 -7
View File
@@ -1,26 +1,81 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "详细信息",
"COMMENTS": "注释",
"PROPERTIES": "属性",
"VERSIONS": "版本"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "允许删除",
"SHOW_COMMENTS": "显示有关版本的注释",
"ALLOW_DOWNLOAD": "允许版本下载",
"READ_ONLY": "只读"
},
"PERSONAL-FILES": "个人文件",
"WARN-MULTIPLE-UPLOADS": "针对多个上传显示警告。",
"SEARCH": {
"RADIO": {
"NONE": "无",
"ALL": "全部",
"FOLDER": "文件夹",
"DOCUMENT": "文档"
}
}
},
"title": "欢迎使用",
"VERSION": {
"NO_PERMISSION": "您没有管理此内容版本的权限",
"NO_PERMISSION_EVENT": "您没有${event.action}${event.type}的${event.permission}权限",
"CHOOSE_FILE": "选择一个文件,查看其版本"
"CHOOSE_FILE": "选择一个文件,查看其版本",
"DIALOG": {
"CLOSE": "关闭",
"TITLE": "管理版本"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "关闭",
"TITLE": "元数据"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF 演示应用程序",
"HOME": "主页",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "面包屑",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "登录",
"CUSTOM_SOURCES": "自定义来源",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable(迟缓)",
"FORM": "表单",
"FORM_LIST": "表单列表",
"FORM_LOADING": "表单加载",
"UPLOADER": "上传程序",
"WEBSCRIPT": "Webscript",
"TAG": "标签",
"TRASHCAN": "垃圾桶",
"SOCIAL": "社交",
"SETTINGS": "设置",
"ABOUT": "关于"
"OVERLAY_VIEWER": "重叠查看器",
"ABOUT": "关于",
"SEARCH": "扩展搜索",
"EXTENDED_SEARCH_QUERY_BODY": "包含查询主体的扩展搜索",
"WORD_TO_SEARCH": "搜索词",
"SEARCH_CREATED_BY": "创建者",
"SEARCH_SERVICE_APPROACH": "选中此项以禁用输入属性并使用服务进行配置"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "永久删除",
"RESTORE": "恢复"
},
"EMPTY_STATE": {
"TITLE": "“垃圾”为空",
"FIRST_TEXT": "删除的项目移动到“垃圾”。",
"SECOND_TEXT": "清空“垃圾”以永久删除项目。"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "多选(含复选框)",
@@ -30,25 +85,53 @@
"MAX_SIZE": "最大大小过滤器",
"ENABLE_VERSIONING": "启用版本控制",
"DESCRIPTION_UPLOAD": "启用上传",
"ENABLE_INFINITE_SCROLL": "启用无限滚动",
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "\"最近的文件\"列表为空"
},
"TITLE": "最近的文件"
},
"COLUMNS": {
"DISPLAY_NAME": "显示名称",
"IS_LOCKED": "锁定",
"TAG": "标签",
"CREATED_BY": "创建者",
"CREATED_ON": "创建日期",
"CREATED": "已创建"
"CREATED": "已创建",
"SIZE": "字号(&S)",
"DELETED_ON": "已删除",
"DELETED_BY": "删除人"
},
"TOOLBAR": {
"CARDVIEW": "卡查看模式",
"NEW_FOLDER": "新建文件夹",
"EDIT_FOLDER": "编辑文件夹",
"DOWNLOAD": "下载",
"DELETE": "删除",
"FAVORITES": "添加到收藏夹",
"SHARE": "共享",
"THEME": "选择主题",
"SHOW_VERSION": "显示版本",
"HIDE_VERSION": "隐藏版本",
"LISTVIEW": "列表视图模式"
},
"ACTIONS": {
"VERSIONS": "管理版本",
"METADATA": "信息",
"DOWNLOAD": "下载",
"PERMISSION": "权限",
"FOLDER": {
"COPY": "复制",
"MOVE": "移动",
"DELETE": "删除"
},
"DOCUMENT": {
"DOWNLOAD": "下载",
"COPY": "复制",
"MOVE": "移动",
"DELETE": "删除"
"DELETE": "删除",
"PROCESS_ACTION": "启动流程"
}
}
},
@@ -70,19 +153,28 @@
"REPORTS-TAB": "报告",
"START-TASK": "启动任务",
"START-PROCESS": "启动流程",
"AUDIT-LOG": "流程审计记录"
"PROCESS-AUDIT-LOG": "流程审计日志",
"TASK-AUDIT-LOG": "任务审计日志"
},
"FORM-LIST": {
"STORE": "存储",
"RESTORE": "恢复"
},
"FORM-LOADING": {
"FORM_DATA": "表单数据",
"FORM_DATA_MESSAGE": "输入值以填充表单",
"TYPEAHEAD_PLACEHOLDER": "预先输入",
"RADIO_PLACEHOLDER": "单选按钮",
"SELECT_PLACEHOLDER": "下拉列表"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "登录页脚"
},
"SEARCH": {
"RESULTS": "搜索结果"
"RESULTS": "搜索结果",
"NO_RESULT": "未找到结果"
},
"SOCIAL": {
"LIKE": "点赞组件",
@@ -92,5 +184,9 @@
"LIST": "列表标签 Content Services",
"INSERT": "插入节点 ID",
"NODE_LIST": "标签列表(按节点 ID 排序)"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "继承权限",
"INHERITED_PERMISSIONS_BUTTON": "已继承权限"
}
}
+161 -46
View File
@@ -1,8 +1,24 @@
{
"$schema": "../../lib/core/app-config/schema.json",
"ecmHost": "http://{hostname}:{port}",
"bpmHost": "http://{hostname}:{port}",
"loginRoute": "login",
"providers": "ALL",
"contextRootBpm": "activiti-app",
"authType" : "BASIC",
"oauth2": {
"host": "http://localhost:30081/auth/realms/myrealm",
"clientId": "activiti",
"scope": "openid",
"secret": "",
"implicitFlow": true,
"silentLogin": true,
"redirectUri": "/",
"redirectUriLogout": "/logout"
},
"application": {
"name": "Alfresco ADF Appplication"
"name": "Alfresco ADF Application",
"copyright": "© 2016 - 2018 Alfresco Software, Inc. All Rights Reserved."
},
"languages": [
{
@@ -50,8 +66,136 @@
"label": "Simplified Chinese"
}
],
"search": {
"include": ["path", "allowableOperations"],
"sorting": {
"options": [
{ "key": "name", "label": "Name", "type": "FIELD", "field": "cm:name", "ascending": true },
{ "key": "content.sizeInBytes", "label": "Size", "type": "FIELD", "field": "content.size", "ascending": true },
{ "key": "description", "label": "Description", "type": "FIELD", "field": "cm:description", "ascending": true }
],
"defaults": [
{ "key": "name", "type": "FIELD", "field": "cm:name", "ascending": true }
]
},
"filterQueries": [
{ "query": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
{ "query": "NOT cm:creator:System" }
],
"facetFields": [
{ "field": "content.mimetype", "mincount": 1, "label": "Type" },
{ "field": "content.size", "mincount": 1, "label": "Size" },
{ "field": "creator", "mincount": 1, "label": "Creator" },
{ "field": "modifier", "mincount": 1, "label": "Modifier" },
{ "field": "created", "mincount": 1, "label": "Created" }
],
"facetQueries": {
"label": "My facet queries",
"pageSize": 5,
"queries": [
{ "query": "created:2018", "label": "Created This Year" },
{ "query": "content.mimetype", "label": "Type" },
{ "query": "content.size:[0 TO 10240]", "label": "Size: xtra small"},
{ "query": "content.size:[10240 TO 102400]", "label": "Size: small"},
{ "query": "content.size:[102400 TO 1048576]", "label": "Size: medium" },
{ "query": "content.size:[1048576 TO 16777216]", "label": "Size: large" },
{ "query": "content.size:[16777216 TO 134217728]", "label": "Size: xtra large" },
{ "query": "content.size:[134217728 TO MAX]", "label": "Size: XX large" }
]
},
"categories": [
{
"id": "queryName",
"name": "Name",
"enabled": true,
"expanded": true,
"component": {
"selector": "text",
"settings": {
"pattern": "cm:name:'(.*?)'",
"field": "cm:name",
"placeholder": "Enter the name"
}
}
},
{
"id": "checkList",
"name": "Check List",
"enabled": true,
"component": {
"selector": "check-list",
"settings": {
"pageSize": 5,
"operator": "OR",
"options": [
{ "name": "Folder", "value": "TYPE:'cm:folder'" },
{ "name": "Document", "value": "TYPE:'cm:content'" }
]
}
}
},
{
"id": "contentSize",
"name": "Content Size",
"enabled": true,
"component": {
"selector": "slider",
"settings": {
"field": "cm:content.size",
"min": 0,
"max": 18,
"step": 1,
"thumbLabel": true
}
}
},
{
"id": "contentSizeRange",
"name": "Content Size (range)",
"enabled": true,
"component": {
"selector": "number-range",
"settings": {
"field": "cm:content.size",
"format": "[{FROM} TO {TO}]"
}
}
},
{
"id": "createdDateRange",
"name": "Created Date (range)",
"enabled": true,
"component": {
"selector": "date-range",
"settings": {
"field": "cm:created",
"dateFormat": "DD-MMM-YY"
}
}
},
{
"id": "queryType",
"name": "Type",
"enabled": true,
"component": {
"selector": "radio",
"settings": {
"field": null,
"pageSize": 5,
"options": [
{ "name": "APP.SEARCH.RADIO.NONE", "value": "", "default": true },
{ "name": "APP.SEARCH.RADIO.ALL", "value": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
{ "name": "APP.SEARCH.RADIO.FOLDER", "value": "TYPE:'cm:folder'" },
{ "name": "APP.SEARCH.RADIO.DOCUMENT", "value": "TYPE:'cm:content'" }
]
}
}
}
]
},
"pagination": {
"size": 25
"size": 25,
"supportedPageSizes": [ 5, 10, 15, 20 ]
},
"files": {
"excluded": [".DS_Store", "desktop.ini", ".git"]
@@ -83,7 +227,6 @@
}
},
"document-list": {
"supportedPageSizes": [ 5, 10, 15, 25 ],
"presets": {
"-trashcan-": [
{
@@ -330,7 +473,6 @@
}
},
"adf-task-list": {
"supportedPageSizes": [ 5, 10, 15, 25 ],
"presets": {
"default": [
{
@@ -338,52 +480,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 +506,16 @@
}
]
}
},
"content-metadata": {
"presets": {
"default": {
"exif:exif": "*"
}
}
},
"sideNav": {
"expandedSidenav": true,
"preserveState": true
}
}
+1
View File
@@ -1 +1,2 @@
<router-outlet></router-outlet>
<router-outlet name="overlay"></router-outlet>
+23
View File
@@ -0,0 +1,23 @@
router-outlet[name="overlay"] + * {
width: 100%;
height: 100%;
z-index: 999;
position: absolute;
top: 0;
right: 0;
}
@media (max-width: 425px) {
adf-content-node-selector {
.adf-content-node-selector-content-list {
.adf-data-table-cell {
display: none;
}
.adf-data-table-cell:first-child,
.adf-data-table-cell:nth-child(2) {
display: table-cell;
}
}
}
}
+18 -25
View File
@@ -1,32 +1,25 @@
import { TestBed, async } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { AdfModule } from './adf.module';
import { AppComponent } from './app.component';
describe('AppComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
AppComponent
],
}).compileComponents();
}));
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
RouterTestingModule,
AdfModule
],
declarations: [
AppComponent
]
}).compileComponents();
}));
it('should create the app', async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
}));
it(`should have as title 'app works!'`, async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app.title).toEqual('app works!');
}));
it('should render title in a h1 tag', async(() => {
const fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
expect(compiled.querySelector('h1').textContent).toContain('app works!');
}));
it('should create the app', async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
}));
});
+26 -23
View File
@@ -15,32 +15,35 @@
* limitations under the License.
*/
import { Component, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { SettingsService, PageTitleService, StorageService, TranslationService } from '@alfresco/adf-core';
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import { AuthenticationService, AlfrescoApiService, PageTitleService } from '@alfresco/adf-core';
import { Router } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
encapsulation: ViewEncapsulation.None
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class AppComponent {
searchTerm = '';
export class AppComponent implements OnInit {
constructor(private settingsService: SettingsService,
private storage: StorageService,
translationService: TranslationService,
pageTitleService: PageTitleService,
route: ActivatedRoute,
router: Router) {
this.setProvider();
pageTitleService.setTitle();
}
private setProvider() {
if (this.storage.hasItem(`providers`)) {
this.settingsService.setProviders(this.storage.getItem(`providers`));
constructor(private pageTitleService: PageTitleService,
private alfrescoApiService: AlfrescoApiService,
private authenticationService: AuthenticationService,
private router: Router) {
}
ngOnInit() {
this.pageTitleService.setTitle('title');
this.alfrescoApiService.getInstance().on('error', (error) => {
if (error.status === 401) {
if (!this.authenticationService.isLoggedIn()) {
this.router.navigate(['/login']);
}
}
});
}
}
}
+44 -18
View File
@@ -4,21 +4,25 @@ import { FormsModule } from '@angular/forms';
import { FlexLayoutModule } from '@angular/flex-layout';
import { ChartsModule } from 'ng2-charts';
import { HttpClientModule } from '@angular/common/http';
import { TranslateService } from '@ngx-translate/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppConfigService, TRANSLATION_PROVIDER } from '@alfresco/adf-core';
import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService } from '@alfresco/adf-core';
import { AppComponent } from './app.component';
import { AdfModule } from './adf.module';
import { MaterialModule } from './material.module';
import { LoginComponent } from './components/login/login.component';
import { LogoutComponent } from './components/logout/logout.component';
import { SettingsComponent } from './components/settings/settings.component';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { HomeComponent } from './components/home/home.component';
import { SearchBarComponent } from './components/search/search-bar.component';
import { SearchResultComponent } from './components/search/search-result.component';
import { SearchExtendedComponent } from './components/search/search-extended.component';
import { AboutComponent } from './components/about/about.component';
import { LogComponent } from './components/log/log.component';
import { FormComponent } from './components/form/form.component';
import { FormListComponent } from './components/form/form-list.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { CustomSourcesComponent } from './components/files/custom-sources.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
@@ -28,46 +32,54 @@ import { FormViewerComponent } from './components/process-service/form-viewer.co
import { FormNodeViewerComponent } from './components/process-service/form-node-viewer.component';
import { AppsViewComponent } from './components/process-service/apps-view.component';
import { DataTableComponent } from './components/datatable/datatable.component';
import { TrashcanComponent } from './components/trashcan/trashcan.component';
import { FilesComponent } from './components/files/files.component';
import { FileViewComponent } from './components/file-view/file-view.component';
import { WebscriptComponent } from './components/webscript/webscript.component';
import { TagComponent } from './components/tag/tag.component';
import { SocialComponent } from './components/social/social.component';
import { VersionManagerDialogAdapterComponent } from './components/files/version-manager-dialog-adapter.component';
import { MetadataDialogAdapterComponent } from './components/files/metadata-dialog-adapter.component';
import { BlobPreviewComponent } from './components/blob-preview/blob-preview.component';
import { ThemePickerModule } from './components/theme-picker/theme-picker';
import { DebugAppConfigService } from './services/debug-app-config.service';
import { routing } from './app.routes';
import { TranslateModule } from '@ngx-translate/core';
import { ReactiveFormsModule } from '@angular/forms';
import { TaskAttachmentsComponent } from './components/process-service/task-attachments.component';
import { ProcessAttachmentsComponent } from './components/process-service/process-attachments.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { PreviewService } from './services/preview.service';
import { BreadcrumbDemoComponent } from './components/breadcrumb-demo/breadcrumb-demo.component';
import { NotificationsComponent } from './components/notifications/notifications.component';
@NgModule({
imports: [
ReactiveFormsModule,
TranslateModule,
BrowserModule,
BrowserAnimationsModule,
ReactiveFormsModule,
routing,
FormsModule,
AdfModule,
MaterialModule,
ThemePickerModule,
FlexLayoutModule,
ChartsModule,
HttpClientModule
HttpClientModule,
AdfModule
],
declarations: [
AppComponent,
LoginComponent,
LogoutComponent,
SettingsComponent,
AppLayoutComponent,
HomeComponent,
SearchBarComponent,
SearchResultComponent,
SearchExtendedComponent,
AboutComponent,
LogComponent,
ProcessServiceComponent,
ShowDiagramComponent,
FormViewerComponent,
@@ -76,6 +88,7 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
DataTableComponent,
FilesComponent,
FileViewComponent,
TrashcanComponent,
FormComponent,
FormListComponent,
WebscriptComponent,
@@ -83,13 +96,20 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
SocialComponent,
CustomSourcesComponent,
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent,
TaskAttachmentsComponent,
ProcessAttachmentsComponent,
OverlayViewerComponent
OverlayViewerComponent,
SharedLinkViewComponent,
FormLoadingComponent,
DemoPermissionComponent,
FormLoadingComponent,
BlobPreviewComponent,
BreadcrumbDemoComponent,
NotificationsComponent
],
providers: [
TranslateService,
{ provide: AppConfigService, useClass: DebugAppConfigService },
{ provide: AppConfigService, useClass: DebugAppConfigService }, // not use this service in production
{
provide: TRANSLATION_PROVIDER,
multi: true,
@@ -97,12 +117,18 @@ import { ProcessAttachmentsComponent } from './components/process-service/proces
name: 'app',
source: 'resources'
}
}
],
entryComponents: [
VersionManagerDialogAdapterComponent
},
{
provide: TRANSLATION_PROVIDER,
multi: true,
useValue: {
name: 'lazy-loading',
source: 'resources/lazy-loading'
}
},
PreviewService
],
entryComponents: [VersionManagerDialogAdapterComponent, MetadataDialogAdapterComponent],
bootstrap: [AppComponent]
})
export class AppModule {
}
export class AppModule {}
+84 -11
View File
@@ -17,11 +17,12 @@
import { ModuleWithProviders } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AuthGuard, AuthGuardBpm, AuthGuardEcm } from '@alfresco/adf-core';
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm } from '@alfresco/adf-core';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { LoginComponent } from './components/login/login.component';
import { SettingsComponent } from './components/settings/settings.component';
import { HomeComponent } from './components/home/home.component';
import { LogoutComponent } from './components/logout/logout.component';
import { AboutComponent } from './components/about/about.component';
import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
@@ -29,6 +30,8 @@ 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 { TrashcanComponent } from './components/trashcan/trashcan.component';
import { DataTableComponent } from './components/datatable/datatable.component';
import { WebscriptComponent } from './components/webscript/webscript.component';
@@ -37,16 +40,39 @@ import { SocialComponent } from './components/social/social.component';
import { FilesComponent } from './components/files/files.component';
import { FormComponent } from './components/form/form.component';
import { UploadButtonComponent } from '@alfresco/adf-content-services';
import { FileViewComponent } from './components/file-view/file-view.component';
import { CustomSourcesComponent } from './components/files/custom-sources.component';
import { FormListComponent } from './components/form/form-list.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { BlobPreviewComponent } from './components/blob-preview/blob-preview.component';
import { BreadcrumbDemoComponent } from './components/breadcrumb-demo/breadcrumb-demo.component';
import { NotificationsComponent } from './components/notifications/notifications.component';
export const appRoutes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: 'logout', component: LogoutComponent },
{ path: 'settings', component: SettingsComponent },
{ path: 'files/:nodeId/view', component: FileViewComponent, canActivate: [ AuthGuardEcm ] },
{ path: 'files/:nodeId/view', component: FileViewComponent, canActivate: [ AuthGuardEcm ], outlet: 'overlay' },
{ path: 'preview/blob', component: BlobPreviewComponent, outlet: 'overlay', pathMatch: 'full' },
{ path: 'preview/s/:id', component: SharedLinkViewComponent },
{
path: 'breadcrumb',
component: BreadcrumbDemoComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'notifications',
component: AppLayoutComponent ,
children: [
{
path: '',
component: NotificationsComponent
}
]
},
{
path: '',
component: AppLayoutComponent,
@@ -59,8 +85,16 @@ export const appRoutes: Routes = [
{
path: 'home',
component: HomeComponent
}
,
},
{
path: 'settings-layout',
component: SettingsComponent
},
{
path: 'trashcan',
component: TrashcanComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'files',
component: FilesComponent,
@@ -71,6 +105,11 @@ export const appRoutes: Routes = [
component: FilesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'files/:id/display/:mode',
component: FilesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'dl-custom-sources',
component: CustomSourcesComponent,
@@ -81,13 +120,13 @@ export const appRoutes: Routes = [
component: DataTableComponent
},
{
path: 'uploader',
component: UploadButtonComponent,
path: 'search',
component: SearchResultComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'search',
component: SearchResultComponent,
path: 'extendedSearch',
component: SearchExtendedComponent,
canActivate: [AuthGuardEcm]
},
{
@@ -105,17 +144,32 @@ export const appRoutes: Routes = [
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/tasks/:filterId',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/processes',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/processes/:filterId',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'activiti/apps/:appId/diagram/:processDefinitionId',
component: ShowDiagramComponent,
canActivate: [AuthGuardBpm]
},
// TODO: check if neeeded
{
path: 'activiti/apps/:appId/report',
component: ProcessServiceComponent,
canActivate: [AuthGuardBpm]
},
// TODO: check if needed
{
path: 'activiti/appId/:appId',
component: ProcessServiceComponent,
@@ -148,16 +202,35 @@ export const appRoutes: Routes = [
component: SocialComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'permissions/:id',
component: DemoPermissionComponent,
canActivate: [AuthGuardEcm]
},
{ path: 'about', component: AboutComponent },
{ path: 'form', component: FormComponent },
{ path: 'form-list', component: FormListComponent },
{ path: 'form-loading', component: FormLoadingComponent },
{
path: 'overlay-viewer',
component: OverlayViewerComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'datatable-lazy',
loadChildren: 'app/components/lazy-loading/lazy-loading.module#LazyLoadingModule'
},
{
path: 'error/:id',
component: ErrorContentComponent
},
{
path: '**',
redirectTo: 'error/404'
}
]
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes, { initialNavigation: true });
@@ -1,49 +1 @@
<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>
<mat-list-item>
<h4 matLine> Alfresco Process Services URL: {{ bpmHost }}</h4>
</mat-list-item>
<mat-divider></mat-divider>
<mat-list-item>
<h4 matLine>Alfresco Content Services URL: {{ ecmHost }}</h4>
</mat-list-item>
</mat-list>
<h3>Product Versions</h3>
<div *ngIf="bpmVersion">
<h3>BPM</h3>
<label> Edition </label> {{ bpmVersion.edition }}
<p></p>
<label> Version </label> {{ bpmVersion.majorVersion }}.{{ bpmVersion.minorVersion }}.{{ bpmVersion.revisionVersion }}
</div>
<div *ngIf="ecmVersion">
<h3>ECM</h3>
<label> Edition </label> {{ ecmVersion.edition }}
<p></p>
<label> Version </label> {{ ecmVersion.version.display }}
<p></p>
<h4>License</h4>
<adf-datatable [data]="license"></adf-datatable>
<h4> Status</h4>
<adf-datatable [data]="status"></adf-datatable>
<h4>Modules</h4>
<adf-datatable [data]="modules"></adf-datatable>
</div>
<div *ngIf="githubUrlCommitAlpha">
<h3>Source code</h3>
<small>You are running the project based on the following commit:</small>
<div>
<a [href]="githubUrlCommitAlpha">{{githubUrlCommitAlpha}}</a>
</div>
</div>
<h3>Packages</h3>
<small>Current project is using the following ADF libraries:</small>
<adf-datatable [data]="data"></adf-datatable>
</div>
<adf-about></adf-about>
@@ -15,124 +15,12 @@
* limitations under the License.
*/
import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http';
import {
AuthenticationService,
AppConfigService,
BpmProductVersionModel,
DiscoveryApiService,
EcmProductVersionModel,
ObjectDataTableAdapter
} from '@alfresco/adf-core';
import { Component } from '@angular/core';
@Component({
selector: 'app-about-page',
templateUrl: './about.component.html',
styleUrls: ['./about.component.css']
templateUrl: './about.component.html'
})
export class AboutComponent implements OnInit {
export class AboutComponent {
data: ObjectDataTableAdapter;
status: ObjectDataTableAdapter;
license: ObjectDataTableAdapter;
modules: ObjectDataTableAdapter;
githubUrlCommitAlpha = 'https://github.com/Alfresco/alfresco-ng2-components/commits/';
configFile = 'app.config.json';
ecmHost = '';
bpmHost = '';
ecmVersion: EcmProductVersionModel = null;
bpmVersion: BpmProductVersionModel = null;
constructor(private http: Http,
private appConfig: AppConfigService,
private authService: AuthenticationService,
private discovery: DiscoveryApiService) {
}
ngOnInit() {
if (this.authService.isEcmLoggedIn()) {
this.discovery.getEcmProductInfo().subscribe((ecmVers) => {
this.ecmVersion = ecmVers;
this.modules = new ObjectDataTableAdapter(this.ecmVersion.modules, [
{type: 'text', key: 'id', title: 'ID', sortable: true},
{type: 'text', key: 'title', title: 'Title', sortable: true},
{type: 'text', key: 'version', title: 'Description', sortable: true},
{type: 'text', key: 'installDate', title: 'Install Date', sortable: true},
{type: 'text', key: 'installState', title: 'Install State', sortable: true},
{type: 'text', key: 'versionMin', title: 'Version Minor', sortable: true},
{type: 'text', key: 'versionMax', title: 'Version Max', sortable: true}
]);
this.status = new ObjectDataTableAdapter([this.ecmVersion.status], [
{type: 'text', key: 'isReadOnly', title: 'ReadOnly', sortable: true},
{type: 'text', key: 'isAuditEnabled', title: 'Is Audit Enable', sortable: true},
{type: 'text', key: 'isQuickShareEnabled', title: 'Is quick shared enable', sortable: true},
{type: 'text', key: 'isThumbnailGenerationEnabled', title: 'Thumbnail Generation', sortable: true}
]);
this.license = new ObjectDataTableAdapter([this.ecmVersion.license], [
{type: 'text', key: 'issuedAt', title: 'Issued At', sortable: true},
{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: 'isClusterEnabled', title: 'Is Cluster Enabled', sortable: true},
{type: 'text', key: 'isCryptodocEnabled', title: 'Is Cryptodoc Enable', sortable: true}
]);
});
}
if (this.authService.isBpmLoggedIn()) {
this.discovery.getBpmProductInfo().subscribe((bpmVers) => {
this.bpmVersion = bpmVers;
});
}
this.http.get('/versions.json').subscribe(response => {
const regexp = new RegExp('^(@alfresco)');
const alfrescoPackages = Object.keys(response.json().dependencies).filter((val) => {
return regexp.test(val);
});
const alfrescoPackagesTableRepresentation = [];
alfrescoPackages.forEach((val) => {
alfrescoPackagesTableRepresentation.push({
name: val,
version: response.json().dependencies[val].version
});
});
this.gitHubLinkCreation(alfrescoPackagesTableRepresentation);
this.data = new ObjectDataTableAdapter(alfrescoPackagesTableRepresentation, [
{type: 'text', key: 'name', title: 'Name', sortable: true},
{type: 'text', key: 'version', title: 'Version', sortable: true}
]);
});
this.ecmHost = this.appConfig.get<string>('ecmHost');
this.bpmHost = this.appConfig.get<string>('bpmHost');
}
private gitHubLinkCreation(alfrescoPackagesTableRepresentation): void {
const corePackage = alfrescoPackagesTableRepresentation.find((packageUp) => {
return packageUp.name === '@alfresco/adf-core';
});
if (corePackage) {
const commitIsh = corePackage.version.split('-');
if (commitIsh.length > 1) {
this.githubUrlCommitAlpha = this.githubUrlCommitAlpha + commitIsh[1];
} else {
this.githubUrlCommitAlpha = this.githubUrlCommitAlpha + corePackage.version;
}
}
}
}
@@ -1,47 +1,55 @@
<mat-sidenav-container class="adf-nav-container">
<mat-sidenav #sidenav class="adf-sidenav" position="end" mode="push">
<mat-nav-list>
<a mat-list-item *ngFor="let link of links" [routerLink]="link.href" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }" (click)="sidenav.close()" class="adf-sidenav-link">
<mat-icon matListIcon>{{link.icon}}</mat-icon>
<span>{{link.title | translate }}</span>
</a>
<a mat-list-item adf-logout (click)="sidenav.close()">
<mat-icon matListIcon>exit_to_app</mat-icon>
<span>Logout</span>
</a>
</mat-nav-list>
</mat-sidenav>
<adf-sidenav-layout [sidenavMin]="70" [sidenavMax]="220" [stepOver]="780" [hideSidenav]="false"[expandedSidenav]= "expandedSidenav" (expanded)="setState($event)">
<mat-toolbar color="primary" class="adf-app-layout-toolbar mat-elevation-z6">
<adf-userinfo
class="adf-app-layout-user-profile"
[menuPositionX]="'before'"
[menuPositionY]="'above'">
</adf-userinfo>
<adf-sidenav-layout-header>
<ng-template let-toggleMenu="toggleMenu">
<mat-toolbar color="primary" class="adf-app-layout-toolbar mat-elevation-z6">
<button mat-icon-button (click)="toggleMenu()">
<mat-icon>menu</mat-icon>
</button>
<span fxFlex="1 1 auto" fxShow fxHide.lt-sm="true">{{'APP_LAYOUT.APP_NAME' | translate }}</span>
<span fxFlex="1 1 auto" fxShow fxHide.lt-sm="true">{{'APP_LAYOUT.APP_NAME' | translate }}</span>
<div class="adf-app-layout-menu-spacer"></div>
<div class="adf-app-layout-menu-spacer"></div>
<app-search-bar fxFlex="0 1 auto"></app-search-bar>
<app-search-bar fxFlex="0 1 auto"></app-search-bar>
<a fxFlex="0 0 auto" class="adf-toolbar-link" fxShow fxHide.lt-md="true" mat-button data-automation-id="home" href="" routerLink="/home" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }">{{'APP_LAYOUT.HOME' | translate }}</a>
<a fxFlex="0 0 auto" class="adf-toolbar-link" fxShow fxHide.lt-md="true" mat-button data-automation-id="files" href="" routerLink="/files" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }">{{'APP_LAYOUT.CONTENT_SERVICES' | translate }}</a>
<a fxFlex="0 0 auto" class="adf-toolbar-link" fxShow fxHide.lt-md="true" mat-button data-automation-id="activiti" href="" routerLink="/activiti" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }">{{'APP_LAYOUT.PROCESS_SERVICES' | translate }}</a>
<a fxFlex="0 0 auto" class="adf-toolbar-link" fxShow fxHide.lt-md="true" mat-button data-automation-id="login" href="" routerLink="/login">Login</a>
<adf-userinfo
class="adf-app-layout-user-profile"
[menuPositionX]="'before'"
[menuPositionY]="'above'">
</adf-userinfo>
<app-theme-picker></app-theme-picker>
<button mat-icon-button [matMenuTriggerFor]="langMenu">
<mat-icon>language</mat-icon>
</button>
<mat-menu #langMenu="matMenu">
<adf-language-menu></adf-language-menu>
</mat-menu>
<app-theme-picker></app-theme-picker>
<button mat-icon-button [matMenuTriggerFor]="langMenu">
<mat-icon>language</mat-icon>
</button>
<mat-menu #langMenu="matMenu" class="adf-menu">
<adf-language-menu></adf-language-menu>
</mat-menu>
</mat-toolbar>
</ng-template>
</adf-sidenav-layout-header>
<button mat-icon-button (click)="sidenav.open()">
<mat-icon>menu</mat-icon>
</button>
</mat-toolbar>
<adf-sidenav-layout-navigation>
<ng-template let-isMenuMinimized="isMenuMinimized">
<mat-nav-list class="adf-sidenav-linklist">
<a mat-list-item *ngFor="let link of links" [attr.data-automation-id]="link.title | translate" [routerLink]="link.href" routerLinkActive="active" [routerLinkActiveOptions]="{ exact: true }" class="adf-sidenav-link">
<mat-icon matListIcon class="sidenav-menu-icon">{{link.icon}}</mat-icon>
<div class="sidenav-menu-label" *ngIf="!isMenuMinimized()">{{link.title | translate }}</div>
</a>
<a mat-list-item adf-logout [enabelRedirect]="enabelRedirect" redirectUri="/logout" class="adf-sidenav-link">
<mat-icon matListIcon class="sidenav-menu-icon">exit_to_app</mat-icon>
<div class="sidenav-menu-label" *ngIf="!isMenuMinimized()">Logout</div>
</a>
</mat-nav-list>
</ng-template>
</adf-sidenav-layout-navigation>
<router-outlet></router-outlet>
</mat-sidenav-container>
<adf-sidenav-layout-content>
<ng-template>
<router-outlet></router-outlet>
</ng-template>
</adf-sidenav-layout-content>
</adf-sidenav-layout>
<app-log></app-log>
@@ -1,80 +1,110 @@
@mixin adf-app-layout-theme($theme) {
$primary: map-get($theme, primary);
$minimumAppWidth: 320px;
$toolbarHeight: 64px;
$primary: map-get($theme, primary);
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
$minimumAppWidth: 320px;
$toolbarHeight: 64px;
@media screen and ($mat-xsmall) {
app-search-bar {
width: 150px;
}
}
@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;
height: 100%;
.adf-nav-container {
display: block;
min-width: $minimumAppWidth;
height: 100%;
}
.adf-sidenav-link {
&.active {
color: mat-color($primary);
}
}
&-user-profile {
margin-right: 10px;
}
&-menu-spacer {
flex: 1 1 auto;
}
&-toolbar {
height: $toolbarHeight;
line-height: $toolbarHeight;
overflow: hidden;
mat-toolbar-row {
height: $toolbarHeight;
align-items: stretch;
justify-content: space-between;
}
.adf-toolbar-link {
min-width: 0;
line-height: $toolbarHeight;
&.active {
background-color: rgba(0, 0, 0, .12);
app-search-bar {
width: 100px;
}
}
}
}
@media screen and ($mat-small) {
.adf-userinfo-name {
display: none;
.adf-app-layout-toolbar {
z-index: 998;
position: relative;
overflow: visible !important;
}
}
@media screen and ($mat-xsmall) {
}
.adf-menu {
padding-top: 55px;
}
.adf-app-layout {
display: flex;
flex: 1;
min-width: $minimumAppWidth;
height: 100%;
.adf-nav-container {
display: block;
min-width: $minimumAppWidth;
height: 100%;
}
.adf-sidenav-linklist {
height: 100%;
overflow: auto;
padding-bottom: 8px;
box-sizing: border-box;
}
.adf-sidenav-link {
&.active {
color: mat-color($primary);
}
.sidenav-menu-icon {
margin-right: 20px;
font-size: 14px;
}
.sidenav-menu-label {
font-size: 14px;
white-space: nowrap;
}
}
.mat-nav-list .mat-list-item.adf-sidenav-link {
height: 40px;
}
&-user-profile {
margin-right: 10px;
}
&-menu-spacer {
flex: 1 1 auto;
}
&-toolbar {
height: $toolbarHeight;
line-height: $toolbarHeight;
overflow: hidden;
mat-toolbar-row {
height: $toolbarHeight;
align-items: stretch;
justify-content: space-between;
}
.adf-toolbar-link {
min-width: 0;
line-height: $toolbarHeight;
&.active {
background-color: rgba(0, 0, 0, 0.12);
}
}
}
}
@media screen and ($mat-small) {
.adf-userinfo-name {
display: none;
}
.adf-menu {
padding-top: 0px;
}
}
@media screen and ($mat-xsmall) {}
}
@@ -15,7 +15,8 @@
* limitations under the License.
*/
import { Component, ViewEncapsulation } from '@angular/core';
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import { UserPreferencesService, AppConfigService, AlfrescoApiService } from '@alfresco/adf-core';
@Component({
templateUrl: 'app-layout.component.html',
@@ -25,26 +26,56 @@ import { Component, ViewEncapsulation } from '@angular/core';
},
encapsulation: ViewEncapsulation.None
})
export class AppLayoutComponent {
export class AppLayoutComponent implements OnInit {
links: Array<any> = [
{ href: '/home', icon: 'home', title: 'APP_LAYOUT.HOME' },
{ href: '/files', icon: 'folder_open', title: 'APP_LAYOUT.CONTENT_SERVICES' },
{ href: '/breadcrumb', icon: 'label', title: 'APP_LAYOUT.BREADCRUMB' },
{ href: '/notifications', icon: 'alarm', title: 'APP_LAYOUT.NOTIFICATIONS'},
{ href: '/activiti', icon: 'device_hub', title: 'APP_LAYOUT.PROCESS_SERVICES' },
{ href: '/login', icon: 'vpn_key', title: 'APP_LAYOUT.LOGIN' },
{ href: '/trashcan', icon: 'delete', title: 'APP_LAYOUT.TRASHCAN' },
{ href: '/dl-custom-sources', icon: 'extension', title: 'APP_LAYOUT.CUSTOM_SOURCES' },
{ href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE' },
{ href: '/datatable-lazy', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE_LAZY' },
{ href: '/form', icon: 'poll', title: 'APP_LAYOUT.FORM' },
{ href: '/form-list', icon: 'library_books', title: 'APP_LAYOUT.FORM_LIST' },
{ href: '/uploader', icon: 'file_upload', title: 'APP_LAYOUT.UPLOADER' },
{ href: '/form-loading', icon: 'cached', title: 'APP_LAYOUT.FORM_LOADING' },
{ href: '/webscript', icon: 'extension', title: 'APP_LAYOUT.WEBSCRIPT' },
{ href: '/tag', icon: 'local_offer', title: 'APP_LAYOUT.TAG' },
{ href: '/social', icon: 'thumb_up', title: 'APP_LAYOUT.SOCIAL' },
{ href: '/settings', icon: 'settings', title: 'APP_LAYOUT.SETTINGS' },
{ href: '/settings-layout', icon: 'settings', title: 'APP_LAYOUT.SETTINGS' },
{ href: '/extendedSearch', icon: 'search', title: 'APP_LAYOUT.SEARCH' },
{ href: '/overlay-viewer', icon: 'pageview', title: 'APP_LAYOUT.OVERLAY_VIEWER' },
{ href: '/about', icon: 'info_outline', title: 'APP_LAYOUT.ABOUT' }
];
constructor() {
expandedSidenav = false;
enabelRedirect = true;
ngOnInit() {
const expand = this.config.get<boolean>('sideNav.expandedSidenav');
const preserveState = this.config.get('sideNav.preserveState');
if (preserveState && expand) {
this.expandedSidenav = (this.userpreference.get('expandedSidenav', expand.toString()) === 'true');
} else if (expand) {
this.expandedSidenav = expand;
}
}
constructor(private userpreference: UserPreferencesService, private config: AppConfigService, private alfrescoApiService: AlfrescoApiService) {
if (this.alfrescoApiService.getInstance().isOauthConfiguration()) {
this.enabelRedirect = false;
}
}
setState(state) {
if (this.config.get('sideNav.preserveState')) {
this.userpreference.set('expandedSidenav', state);
}
}
}
@@ -0,0 +1,21 @@
import { Component } from '@angular/core';
import { PreviewService } from '../../services/preview.service';
import { Router } from '@angular/router';
@Component({
templateUrl: 'bob-preview.component.html'
})
export class BlobPreviewComponent {
content: Blob;
name: string;
constructor(preview: PreviewService, router: Router) {
if (preview.content === null || preview.name === null) {
router.navigate([{ outlets: { overlay: null } }]);
return;
}
this.content = preview.content;
this.name = preview.name;
}
}
@@ -0,0 +1,5 @@
<adf-viewer
[showViewer]="true"
[blobFile]="content"
[displayName]="name">
</adf-viewer>
@@ -0,0 +1,83 @@
<main>
<h1>Breadcrumb</h1>
<ul>
<li>Try creating and navigating long paths</li>
<li>Try resizing the browser width to ensure items are trimmed as expected</li>
</ul>
<h2>1. Standalone (fixed size)</h2>
<small>Component is used in the fixed-width layout</small>
<div class="breadcrumb-container-restricted">
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb>
</div>
<h2>2. Standalone (full width)</h2>
<small>Component fits the parent container width</small>
<div>
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb>
</div>
<h2>2.1 Standalone with Dropdown (full width)</h2>
<small>
Component fits the parent container width but is limited to 3 items to display at once.
It should automatically switch to the Dropdown mode if the path exceeds 3 nodes.
</small>
<div>
<adf-breadcrumb [maxItems]="3" root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb>
</div>
<h2>3. Toolbar (standalone)</h2>
<small>Component used as a child of the Toolbar component</small>
<adf-toolbar>
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb>
</adf-toolbar>
<h2>4. Toolbar (title)</h2>
<small>Component is wrapped into the Toolbar Title component</small>
<adf-toolbar>
<adf-toolbar-title>
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb>
</adf-toolbar-title>
</adf-toolbar>
<h2>5. Toolbar with separators and buttons</h2>
<small>
Component is wrapped into the Toolbar Title component.
The toolbar also has separators and buttons that might provide impact on breadcrumb layout.
Buttons do nothing and are present for layout purposes.
</small>
<adf-toolbar class="full-content-toolbar">
<adf-toolbar-title fxFlex="0 1 auto">
<adf-breadcrumb root="APP.PERSONAL-FILES" [target]="documentList" [folderNode]="documentList.folderNode">
</adf-breadcrumb>
</adf-toolbar-title>
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider>
<div fxFlex="0 0 auto">
<button mat-icon-button aria-label="Create a new folder button">
<mat-icon>create_new_folder</mat-icon>
</button>
<button mat-icon-button aria-label="Edit node button">
<mat-icon>create</mat-icon>
</button>
<button mat-icon-button aria-label="Delete node icon button">
<mat-icon>delete</mat-icon>
</button>
</div>
</adf-toolbar>
<div class="content">
<adf-document-list #documentList currentFolderId="-my-">
</adf-document-list>
</div>
</main>
@@ -0,0 +1,20 @@
.breadcrumb-container-restricted {
width: 800px;
max-width: 800px;
border: 1px solid lightgray;
}
.content {
margin: 10px 0;
}
.full-content-toolbar {
.adf-toolbar-title {
display: flex;
width: 100%;
.adf-breadcrumb {
width: 0;
}
}
}
@@ -0,0 +1,26 @@
/*!
* @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 } from '@angular/core';
@Component({
templateUrl: './breadcrumb-demo.component.html',
styleUrls: [`./breadcrumb-demo.component.scss`],
})
export class BreadcrumbDemoComponent {
}
@@ -1,30 +1,38 @@
<div class="p-10">
<adf-datatable
[data]="data"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
[actions]="true"
rowStyleClass="custom-row-style"
(showRowActionsMenu)="onShowRowActionsMenu($event)"
(executeRowAction)="onExecuteRowAction($event)"
(row-click)="onRowClick($event)"
(row-dblclick)="onRowDblClick($event)">
<!-- HTML column definition demo -->
<!--
<data-columns>
<data-column type="image" key="icon" [sortable]="false"></data-column>
<data-column key="id" title="Id"></data-column>
<data-column key="createdOn" title="Created"></data-column>
<data-column key="name" title="Name" class="full-width name-column"></data-column>
<data-column key="createdBy.name" title="Created By"></data-column>
</data-columns>
-->
</adf-datatable>
<mat-form-field>
<input matInput placeholder="Name filter" [(ngModel)]="data.filterValue">
</mat-form-field>
<adf-datatable
#dataTable
[data]="data"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
[actions]="true"
rowStyleClass="custom-row-style"
(showRowActionsMenu)="onShowRowActionsMenu($event)"
(executeRowAction)="onExecuteRowAction($event)"
(row-click)="onRowClick($event)"
(row-dblclick)="onRowDblClick($event)">
<!-- HTML column definition demo -->
<!--
<data-columns>
<data-column type="image" key="icon" [sortable]="false"></data-column>
<data-column key="id" title="Id"></data-column>
<data-column key="createdOn" title="Created"></data-column>
<data-column key="name" title="Name" class="full-width name-column"></data-column>
<data-column key="createdBy.name" title="Created By"></data-column>
</data-columns>
-->
</adf-datatable>
<div>
Selected items: {{ dataTable.selection?.length }}
</div>
<div class="p-10" data-automation-id="multiselect">
<div data-automation-id="multiselect">
<mat-checkbox [(ngModel)]="multiselect">{{ 'DATATABLE.MULTISELECT'| translate }}</mat-checkbox>
</div>
<div class="p-10">
<div>
<p>{{ 'DATATABLE.MULTISELECT_DESCRIPTION'| translate }}</p>
<mat-form-field>
<mat-select placeholder="Selection Mode" [(ngModel)]="selectionMode" name="food">
@@ -34,10 +42,9 @@
</mat-select>
</mat-form-field>
</div>
<div class="p-10">
<div>
<button mat-raised-button (click)="reset()">{{ 'DATATABLE.RESET_DEFAULT'| translate }}</button>
<button mat-raised-button (click)="addRow()">{{ 'DATATABLE.ADD_ROW'| translate }}</button>
<button mat-raised-button (click)="replaceRows()">{{ 'DATATABLE.REPLACE_ROWS'| translate }}</button>
<button mat-raised-button (click)="replaceColumns()">{{ 'DATATABLE.REPLACE_COLUMNS'| translate }}</button>
<button mat-raised-button (click)="getRowForNode()">{{ 'DATATABLE.LOAD_NODE'| translate }}</button>
</div>
@@ -1,16 +0,0 @@
adf-datatable ::ng-deep .custom-row-style.alfresco-datatable__row:focus {
outline-offset: -1px;
outline-width: 1px;
outline-color: green;
outline-style: solid;
}
adf-datatable ::ng-deep .custom-row-style.alfresco-datatable__row--selected {
color: green;
}
adf-datatable ::ng-deep table {
max-width: 100%;
overflow: hidden;
white-space: normal !important;
}
@@ -16,19 +16,44 @@
*/
import { Component, Input } from '@angular/core';
import { AlfrescoApiService, LogService } from '@alfresco/adf-core';
import { LogService, DataColumn, DataRow } from '@alfresco/adf-core';
import { DataCellEvent, DataRowActionEvent, DataSorting, ObjectDataColumn, ObjectDataRow, ObjectDataTableAdapter } from '@alfresco/adf-core';
import { Observable } from 'rxjs/Observable';
export class FilteredDataAdapter extends ObjectDataTableAdapter {
filterValue = '';
filterKey = 'name';
getRows(): Array<DataRow> {
let rows = super.getRows();
const filter = (this.filterValue || '').trim().toLowerCase();
if (this.filterKey && filter) {
rows = rows.filter(row => {
const value = row.getValue(this.filterKey);
if (value !== undefined && value !== null) {
const stringValue: string = value.toString().trim().toLowerCase();
return stringValue.startsWith(filter);
}
return false;
});
}
return rows;
}
constructor(data?: any[], schema?: DataColumn[]) {
super(data, schema);
}
}
@Component({
selector: 'app-datatable',
templateUrl: './datatable.component.html',
styleUrls: ['./datatable.component.scss']
templateUrl: './datatable.component.html'
})
export class DataTableComponent {
multiselect = false;
data: ObjectDataTableAdapter;
data: FilteredDataAdapter;
@Input()
selectionMode = 'single';
@@ -41,16 +66,16 @@ export class DataTableComponent {
private _imageUrl = 'http://placehold.it/140x100';
private _createdBy: any = {
name: 'Denys Vuika',
email: 'denys.vuika@alfresco.com'
name: 'Administrator',
email: 'admin@alfresco.com'
};
constructor(private apiService: AlfrescoApiService, private logService: LogService) {
constructor(private logService: LogService) {
this.reset();
}
reset() {
this.data = new ObjectDataTableAdapter(
this.data = new FilteredDataAdapter(
[
{
id: 1,
@@ -174,33 +199,4 @@ export class DataTableComponent {
onRowDblClick(event) {
this.logService.log(event);
}
getRowForNode() {
const opts: any = {
includeSource: true,
include: ['path', 'properties', 'allowableOperations']
};
Observable.fromPromise(this.apiService.getInstance().nodes
.getNodeInfo('-my-', opts)).subscribe((data) => {
this.logService.log('FUnNy');
this.logService.log(data);
// let objects = new ObjectDataTableAdapter([
// {
// id: data.id,
// name: data.name,
// createdBy: data.createdByUser.displayName,
// createdOn: new Date(data.createdAt),
// icon: 'material-icons://face'
// }],
// [
// { type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail' },
// { type: 'text', key: 'id', title: 'Id', sortable: true },
// { type: 'text', key: 'createdOn', title: 'Created On', sortable: true },
// { type: 'text', key: 'name', title: 'Name', cssClass: 'full-width name-column', sortable: true },
// { type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true }
// ]);
// this.data = objects;
});
}
}
@@ -1,22 +1,41 @@
<ng-container *ngIf="nodeId">
<ng-template let-node="node" #sidebarTemplate>
<adf-info-drawer title="Details">
<adf-info-drawer-tab label="Properties">
<adf-info-drawer [title]="'APP.INFO_DRAWER.TITLE' | translate">
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.COMMENTS' | translate">
<adf-comments [nodeId]="nodeId"></adf-comments>
</adf-info-drawer-tab>
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.PROPERTIES' | translate">
<adf-content-metadata-card [node]="node"></adf-content-metadata-card>
</adf-info-drawer-tab>
<adf-info-drawer-tab label="Versions">
<adf-info-drawer-tab [label]="'APP.INFO_DRAWER.VERSIONS' | translate">
<mat-card>
<mat-card-content>
Versions go here...
<adf-version-manager [node]="node"
(uploadError)="uploadError($event)">
</adf-version-manager>
</mat-card-content>
</mat-card>
</adf-info-drawer-tab>
</adf-info-drawer>
</ng-template>
<adf-viewer [fileNodeId]="nodeId" [allowSidebar]="true" [sidebarTemplate]="sidebarTemplate">
<adf-viewer [nodeId]="nodeId" [allowSidebar]="true" [sidebarTemplate]="sidebarTemplate">
<adf-viewer-toolbar-actions>
<button mat-icon-button>
<mat-icon>alarm</mat-icon>
</button>
<button mat-icon-button>
<mat-icon>backup</mat-icon>
</button>
<button mat-icon-button>
<mat-icon>bug_report</mat-icon>
</button>
</adf-viewer-toolbar-actions>
<!--
<adf-viewer-extension [supportedExtensions]="['json']">
<ng-template let-urlFileContent="urlFileContent" let-extension="extension">
@@ -49,4 +68,4 @@
</extension-viewer>
-->
</adf-viewer>
</ng-container>
</ng-container>
@@ -0,0 +1,3 @@
.adf-viewer__sidebar {
width: 380px !important;
}
@@ -15,22 +15,26 @@
* limitations under the License.
*/
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { MatSnackBar } from '@angular/material';
@Component({
selector: 'app-file-view',
templateUrl: 'file-view.component.html'
templateUrl: 'file-view.component.html',
styleUrls: ['file-view.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class FileViewComponent implements OnInit {
nodeId: string = null;
constructor(
private router: Router,
private route: ActivatedRoute,
private apiService: AlfrescoApiService) {}
constructor(private router: Router,
private route: ActivatedRoute,
private snackBar: MatSnackBar,
private apiService: AlfrescoApiService) {
}
ngOnInit() {
@@ -51,4 +55,7 @@ export class FileViewComponent implements OnInit {
});
}
onUploadError(errorMessage: string) {
this.snackBar.open(errorMessage, '', { duration: 4000 });
}
}
@@ -8,19 +8,16 @@
</mat-select>
</mat-form-field>
</adf-toolbar-title>
<div fxFlex="0 1 auto" class="adf-document-action-buttons" fxShow fxHide.lt-sm="true">
<button mat-icon-button
(restore)="documentList.reload()"
[disabled]="!documentList.selection.length"
*ngIf="selectedSource === '-trashcan-'"
location="/files"
[adf-restore]="documentList.selection">
<mat-icon>restore</mat-icon>
</button>
</div>
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider>
<button mat-icon-button
[disabled]="!hasSelection(customSourcesDocumentList.selection)"
title="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}"
[adfNodeDownload]="customSourcesDocumentList.selection">
<mat-icon>get_app</mat-icon>
</button>
</adf-toolbar>
<adf-document-list
#customSourcesDocumentList
[currentFolderId]="selectedSource"
locationFormat="/files"
selectionMode="multiple">
@@ -27,7 +27,7 @@ export class CustomSourcesComponent {
@Input()
selectedSource = '-recent-';
@ViewChild(DocumentListComponent)
@ViewChild('customSourcesDocumentList')
documentList: DocumentListComponent;
sources = [
@@ -41,4 +41,8 @@ export class CustomSourcesComponent {
{ title: 'My', value: '-my-' },
{ title: 'Shared', value: '-shared-' }
];
hasSelection(selection: any[]): boolean {
return selection && selection.length > 0;
}
}
@@ -1,15 +1,47 @@
<div class="container">
<div class="adf-site-container-style" id="site-container">
<adf-sites-dropdown (change)="getSiteContent($event)" [hideMyFiles]="false">
<mat-accordion *ngIf="showRecentFiles" class="adf-container-recent">
<mat-expansion-panel hideToggle="true">
<mat-expansion-panel-header >
<mat-panel-title>
{{ 'DOCUMENT_LIST.RECENT.TITLE' | translate }}<mat-icon>history</mat-icon>
</mat-panel-title>
</mat-expansion-panel-header>
<adf-document-list
[currentFolderId]="'-recent-'"
locationFormat="/files"
[display]="'gallery'"
[showHeader]="false"
[maxItems]="5"
(preview)="showFile($event)"
selectionMode="null">
<empty-folder-content>
<ng-template>
<div class="empty-list__block">
<mat-icon>history</mat-icon>
<p class="empty-list__title">{{ 'DOCUMENT_LIST.RECENT.EMPTY_STATE.TITLE' | translate}}</p>
</div>
</ng-template>
</empty-folder-content>
</adf-document-list>
</mat-expansion-panel>
</mat-accordion>
<div *ngIf="showSitePicker" class="adf-site-container-style" id="site-container">
<adf-sites-dropdown (change)="onSiteChange($event)" [hideMyFiles]="false" [relations]="'members'">
</adf-sites-dropdown>
</div>
<div class="document-list-container" fxLayout="row" fxLayoutAlign="start stretch" fxLayoutGap="16px">
<adf-upload-drag-area fxFlex="1 1 auto"
[disabled]="disableDragArea"
[parentId]="getDocumentListCurrentFolderId()"
[versioning]="versioning"
[adf-node-permission]="'create'"
[adf-nodes]="disableDragArea ? getCurrentDocumentListNode() : []">
[disabled]="disableDragArea"
[acceptedFilesType]="getFileFiltering()"
[rootFolderId]="getDocumentListCurrentFolderId()"
[versioning]="versioning"
[adf-node-permission]="'create'"
[adf-nodes]="disableDragArea ? getCurrentDocumentListNode() : []"
(beginUpload)="onBeginUpload($event)">
<div *ngIf="errorMessage" class="error-message">
<button (click)="resetError()" mat-icon-button>
<mat-icon>highlight_off</mat-icon>
@@ -20,7 +52,7 @@
<adf-toolbar-title fxFlex="0 1 auto">
<adf-breadcrumb fxShow fxHide.lt-sm="true"
class="files-breadcrumb"
root="Personal Files"
root="APP.PERSONAL-FILES"
[target]="documentList"
[folderNode]="documentList.folderNode">
</adf-breadcrumb>
@@ -34,41 +66,67 @@
<adf-toolbar-divider fxFlex="0 0 auto"></adf-toolbar-divider>
<div fxFlex="0 0 auto" class="adf-document-action-buttons" fxShow fxHide.lt-sm="true">
<button
mat-icon-button
title="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}"
(click)="toogleGalleryView()">
<mat-icon *ngIf="displayMode === 'list'" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}">view_comfy</mat-icon>
<mat-icon *ngIf="displayMode === 'gallery'" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.LISTVIEW' | translate }}">list</mat-icon>
</button>
<button
mat-icon-button
[disabled]="!canCreateContent(documentList.folderNode)"
[adf-create-folder]="getDocumentListCurrentFolderId()">
title="{{ 'DOCUMENT_LIST.TOOLBAR.NEW_FOLDER' | translate }}"
(error)="openSnackMessage($event)"
[adf-create-folder]="getDocumentListCurrentFolderId()"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.NEW_FOLDER' | translate }}">
<mat-icon>create_new_folder</mat-icon>
</button>
<button mat-icon-button
[disabled]="!canEditFolder(documentList.selection)"
[adf-edit-folder]="documentList.selection[0]?.entry">
title="{{ 'DOCUMENT_LIST.TOOLBAR.EDIT_FOLDER' | translate }}"
(error)="openSnackMessage($event)"
[adf-edit-folder]="documentList.selection[0]?.entry"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.EDIT_FOLDER' | translate }}">
<mat-icon>create</mat-icon>
</button>
<button mat-icon-button
[disabled]="!hasSelection(documentList.selection)"
title="Download"
(click)="downloadNodes(documentList.selection)">
title="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}"
[adfNodeDownload]="documentList.selection"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}">
<mat-icon>get_app</mat-icon>
</button>
<button mat-icon-button
adf-node-permission="delete"
[adf-nodes]="documentList.selection"
(delete)="documentList.reload()"
[adf-delete]="documentList.selection">
title="{{ 'DOCUMENT_LIST.TOOLBAR.DELETE' | translate }}"
(delete)="onDeleteActionSuccess($event)"
[adf-delete]="documentList.selection"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.DELETE' | translate }}">
<mat-icon>delete</mat-icon>
</button>
<button mat-icon-button
[disabled]="!documentList.selection.length"
#favorite="adfFavorite"
[adf-node-favorite]="documentList.selection">
[adf-node-favorite]="documentList.selection"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.FAVORITES' | translate }}">
<mat-icon>
{{ favorite.hasFavorites() ? 'star' :'star_border' }}
</mat-icon>
</button>
<button mat-icon-button
[disabled]="!documentList.selection.length"
[baseShareUrl]="baseShareUrl"
[adf-share]="documentList.selection[0]"
matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.SHARE' | translate }}">
<mat-icon>
share
</mat-icon>
</button>
</div>
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker">
<button fxFlex="1 0 auto" mat-icon-button [matMenuTriggerFor]="themePicker" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.THEME' | translate }}">
<mat-icon>format_color_fill</mat-icon>
</button>
@@ -79,9 +137,9 @@
<button mat-menu-item (click)="toolbarColor = 'warn'">Warn</button>
</mat-menu>
<button mat-icon-button (click)="showVersions = !showVersions">
<mat-icon *ngIf="!showVersions">chevron_left</mat-icon>
<mat-icon *ngIf="showVersions">chevron_right</mat-icon>
<button mat-icon-button (click)="showVersions = !showVersions" class="adf-show-versions-button">
<mat-icon *ngIf="!showVersions" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.SHOW_VERSION' | translate }}">chevron_left</mat-icon>
<mat-icon *ngIf="showVersions" matTooltip="{{ 'DOCUMENT_LIST.TOOLBAR.HIDE_VERSION' | translate }}">chevron_right</mat-icon>
</button>
<adf-toolbar-divider fxFlex="0 0 auto" fxHide fxShow.lt-sm="true"></adf-toolbar-divider>
@@ -91,35 +149,44 @@
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item
(click)="toogleGalleryView()">
<mat-icon *ngIf="displayMode === 'list'" >view_comfy</mat-icon>
<mat-icon *ngIf="displayMode === 'gallery'">list</mat-icon>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.CARDVIEW' | translate }}</span>
</button>
<button mat-menu-item
(error)="openSnackMessage($event)"
[adf-create-folder]="getDocumentListCurrentFolderId()">
<mat-icon>create_new_folder</mat-icon>
<span>New folder</span>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.NEW_FOLDER' | translate }}</span>
</button>
<button mat-menu-item
[disabled]="!canEditFolder(documentList.selection)"
(error)="openSnackMessage($event)"
[adf-edit-folder]="documentList.selection[0]?.entry">
<mat-icon>create</mat-icon>
<span>Edit folder</span>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.EDIT_FOLDER' | translate }}</span>
</button>
<button mat-menu-item
[disabled]="!hasSelection(documentList.selection)"
title="Download"
(click)="downloadNodes(documentList.selection)">
<mat-icon>get_app</mat-icon>
<span>Download</span>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.DOWNLOAD' | translate }}</span>
</button>
<button mat-menu-item
adf-node-permission="delete"
[adf-nodes]="documentList.selection">
[adf-nodes]="documentList.selection"
(delete)="onDeleteActionSuccess($event)"
[adf-delete]="documentList.selection">
<mat-icon>delete</mat-icon>
<span>Delete</span>
<span>{{ 'DOCUMENT_LIST.TOOLBAR.DELETE' | translate }}</span>
</button>
</mat-menu>
</adf-toolbar>
<adf-document-list
#documentList
[enableInfiniteScrolling]="infiniteScrolling"
[permissionsStyle]="permissionsStyle"
[currentFolderId]="currentFolderId"
[contextMenuActions]="true"
@@ -127,7 +194,13 @@
[allowDropFiles]="true"
[selectionMode]="selectionMode"
[multiselect]="multiselect"
[display]="displayMode"
[node]="nodeResult"
[includeFields]="includeFields"
[sorting]="sorting"
[sortingMode]="sortingMode"
[showHeader]="showHeader"
[thumbnails]="thumbnails"
(error)="onNavigationError($event)"
(success)="resetError()"
(ready)="emitReadyEvent($event)"
@@ -149,6 +222,7 @@
class="image-table-cell">
</data-column>
<data-column
*ngIf="showNameColumn"
key="name"
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
[formatTooltip]="getNodeNameTooltip"
@@ -165,7 +239,7 @@
-->
<data-column
key="content.sizeInBytes"
title="Size"
title="{{'DOCUMENT_LIST.COLUMNS.SIZE' | translate}}"
type="fileSize">
</data-column>
<!-- Notes: has performance overhead due to multiple files/folders causing separate HTTP calls to get tags -->
@@ -179,6 +253,17 @@
</ng-template>
</data-column>
-->
<data-column
class="desktop-only"
title="{{'DOCUMENT_LIST.COLUMNS.IS_LOCKED' | translate}}"
key="id">
<ng-template let-entry="$implicit">
<button mat-icon-button [adf-node-lock]="entry.row.node.entry">
<mat-icon *ngIf="entry.row.getValue('isLocked')">lock</mat-icon>
<mat-icon *ngIf="!entry.row.getValue('isLocked')">lock_open</mat-icon>
</button>
</ng-template>
</data-column>
<data-column
title="{{'DOCUMENT_LIST.COLUMNS.CREATED_BY' | translate}}"
key="createdByUser.displayName"
@@ -191,82 +276,94 @@
format="timeAgo"
class="desktop-only">
</data-column>
</data-columns>
<content-actions>
<!-- folder actions -->
<!-- Conditional actions demo -->
<content-action
icon="content_copy"
target="folder"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.COPY' | translate}}"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="copy">
target="all"
title="Action for 'custom' node"
[disabled]="isCustomActionDisabled"
(execute)="runCustomAction($event)">
</content-action>
<content-action
icon="redo"
target="folder"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.MOVE' | translate}}"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="move">
icon="get_app"
title="Download this file now!"
handler="download"
[visible]="canDownloadNode">
</content-action>
<content-action
icon="delete"
target="folder"
permission="delete"
[disableWithNoPermission]="true"
title="{{'DOCUMENT_LIST.ACTIONS.FOLDER.DELETE' | translate}}"
(permissionEvent)="handlePermissionError($event)"
handler="delete">
icon="get_app"
title="Never see this action again"
handler="download"
[visible]="false">
</content-action>
<!-- document actions -->
<!-- common actions -->
<content-action
icon="content_copy"
target="document"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.COPY' | translate}}"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="copy">
</content-action>
<content-action
icon="redo"
target="document"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.MOVE' | translate}}"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="move">
</content-action>
<content-action
icon="storage"
target="document"
title="Manage versions..."
(execute)="onManageVersions($event)">
</content-action>
<content-action
icon="file_download"
target="document"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.DOWNLOAD' | translate}}"
icon="get_app"
title="DOCUMENT_LIST.ACTIONS.DOWNLOAD"
handler="download">
</content-action>
<content-action
icon="content_copy"
title="DOCUMENT_LIST.ACTIONS.FOLDER.COPY"
permission="copy"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="copy">
</content-action>
<content-action
icon="redo"
title="DOCUMENT_LIST.ACTIONS.FOLDER.MOVE"
permission="update"
[disableWithNoPermission]="true"
(error)="onContentActionError($event)"
(success)="onContentActionSuccess($event)"
handler="move">
</content-action>
<content-action
icon="delete"
target="document"
permission="delete"
[disableWithNoPermission]="true"
title="DOCUMENT_LIST.ACTIONS.FOLDER.DELETE"
(permissionEvent)="handlePermissionError($event)"
title="{{'DOCUMENT_LIST.ACTIONS.DOCUMENT.DELETE' | translate}}"
(success)="onDeleteActionSuccess($event)"
handler="delete">
</content-action>
<content-action
icon="info"
title="DOCUMENT_LIST.ACTIONS.METADATA"
(execute)="onManageMetadata($event)">
</content-action>
<!-- document actions -->
<content-action
icon="storage"
target="document"
title="DOCUMENT_LIST.ACTIONS.VERSIONS"
(execute)="onManageVersions($event)">
</content-action>
<content-action
*ngIf="authenticationService.isBpmLoggedIn()"
icon="play_arrow"
target="document"
title="DOCUMENT_LIST.ACTIONS.DOCUMENT.PROCESS_ACTION"
(execute)="startProcesAction($event)">
</content-action>
<content-action
icon="settings_input_component"
title="DOCUMENT_LIST.ACTIONS.PERMISSION"
permission="copy"
(error)="onContentActionError($event)"
(execute)="onPermissionRequested($event)">
</content-action>
<content-action
icon="lock"
permission="lock"
handler="lock"
title="Lock">
</content-action>
</content-actions>
</adf-document-list>
<adf-pagination
@@ -274,49 +371,68 @@
*ngIf="!infiniteScrolling"
class="adf-documentlist-pagination"
[target]="documentList"
[supportedPageSizes]="supportedPages"
(changePageSize)="onChangePageSize($event)"
(changePageNumber)="onChangePageNumber($event)"
(nextPage)="onNextPage($event)"
(prevPage)="onPrevPage($event)">
</adf-pagination>
<adf-infinite-pagination
*ngIf="infiniteScrolling"
[pagination]="pagination"
[loading]="documentList.infiniteLoading"
[pageSize]="currentMaxItems"
(loadMore)="loadNextBatch($event)">
[hidden]="!infiniteScrolling"
[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">
<ng-container *ngIf="userHasPermissionToManageVersions(); else no_permission_to_versions">
<adf-version-manager
<adf-info-drawer [title]="'Details'">
<adf-info-drawer-tab [label]="'Properties'">
<adf-content-metadata-card
[node]="documentList.selection[0].entry">
</adf-version-manager>
</ng-container>
</ng-container>
<ng-template #choose_document_template>
<div class="adf-manage-versions-empty">
<mat-icon class="adf-manage-versions-empty-icon">face</mat-icon>
{{'VERSION.CHOOSE_FILE' | translate}}
</div>
</ng-template>
<ng-template #no_permission_to_versions>
<div class="adf-manage-versions-no-permission">
<mat-icon class="adf-manage-versions-no-permission-icon">warning</mat-icon>
{{'VERSION.NO_PERMISSION' | translate}}
</div>
</ng-template>
</adf-content-metadata-card>
</adf-info-drawer-tab>
<adf-info-drawer-tab [label]="'Versions'">
<ng-container *ngIf="hasOneFileSelected();else choose_document_template">
<ng-container *ngIf="userHasPermissionToManageVersions(); else no_permission_to_versions">
<adf-version-manager
[node]="documentList.selection[0].entry"
[showComments]="showVersionComments"
[allowDownload]="allowVersionDownload">
</adf-version-manager>
</ng-container>
</ng-container>
<ng-template #choose_document_template>
<div class="adf-manage-versions-empty">
<mat-icon class="adf-manage-versions-empty-icon">face</mat-icon>
{{'VERSION.CHOOSE_FILE' | translate}}
</div>
</ng-template>
<ng-template #no_permission_to_versions>
<div class="adf-manage-versions-no-permission">
<mat-icon class="adf-manage-versions-no-permission-icon">warning</mat-icon>
{{'VERSION.NO_PERMISSION' | translate}}
</div>
</ng-template>
</adf-info-drawer-tab>
</adf-info-drawer>
</div>
</adf-info-drawer-layout>
</div>
</div>
<context-menu-holder></context-menu-holder>
<adf-context-menu-holder></adf-context-menu-holder>
<div class="adf-content-service-settings">
<div *ngIf="processId">
<adf-start-process
[values]="formValues"
[appId]="processId">
</adf-start-process>
</div>
<div *ngIf="showSettingsPanel" class="adf-content-service-settings">
<p>Current folder ID: {{ documentList.currentFolderId }}</p>
@@ -330,6 +446,12 @@
</div>
<div class="container">
<section>
<mat-slide-toggle color="primary" [(ngModel)]="showNameColumn">
Show Name Column
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="multiselect">{{'DOCUMENT_LIST.MULTISELECT_CHECKBOXES' |
translate}}
@@ -355,35 +477,59 @@
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="maxSizeShow">{{'DOCUMENT_LIST.MAX_SIZE' |
translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="versioning">{{'DOCUMENT_LIST.ENABLE_VERSIONING' |
<mat-slide-toggle [color]="'primary'" [(ngModel)]="maxSizeShow">{{'DOCUMENT_LIST.MAX_SIZE' |
translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="infiniteScrolling">
<mat-slide-toggle [color]="'primary'" (click)="toggleThumbnails()" >{{'DOCUMENT_LIST.THUMBNAILS' |
translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="versioning">
{{'DOCUMENT_LIST.ENABLE_VERSIONING' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle color="primary" (click)="onInfiniteScrolling()">
{{'DOCUMENT_LIST.ENABLE_INFINITE_SCROLL' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="showVersionComments">
{{'APP.ADF_VERSION_MANAGER.SHOW_COMMENTS' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="allowVersionDownload">
{{'APP.ADF_VERSION_MANAGER.ALLOW_DOWNLOAD' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="warnOnMultipleUploads">
{{'APP.WARN-MULTIPLE-UPLOADS' | translate}}
</mat-slide-toggle>
</section>
<h5>Upload</h5>
<section *ngIf="acceptedFilesTypeShow">
<mat-form-field floatPlaceholder="float">
<input matInput
placeholder="Extension accepted"
[(ngModel)]="acceptedFilesType"
data-automation-id="accepted-files-type">
<input matInput
placeholder="Extension accepted"
[(ngModel)]="acceptedFilesType"
data-automation-id="accepted-files-type">
</mat-form-field>
</section>
<section *ngIf="maxSizeShow">
<mat-form-field>
<input matInput type="number" placeholder="Max file size" [(ngModel)]="maxFilesSize"
<input matInput type="number" placeholder="Max file size" [(ngModel)]="maxFilesSize"
data-automation-id="max-files-size">
</mat-form-field>
</section>
@@ -397,11 +543,12 @@
[multipleFiles]="multipleFileUpload"
[uploadFolders]="folderUpload"
[maxFilesSize]="maxSizeShow ? maxFilesSize : null"
(error)="handleUploadError($event)"
(error)="openSnackMessage($event)"
[versioning]="versioning"
[adf-node-permission]="'create'"
[adf-nodes]="enableUpload ? getCurrentDocumentListNode() : []"
(permissionEvent)="handlePermissionError($event)">
(permissionEvent)="handlePermissionError($event)"
(beginUpload)="onBeginUpload($event)">
</adf-upload-button>
</div>
<div *ngIf="acceptedFilesTypeShow">
@@ -415,7 +562,7 @@
[multipleFiles]="multipleFileUpload"
[uploadFolders]="folderUpload"
[versioning]="versioning"
(error)="handleUploadError($event)"
(error)="openSnackMessage($event)"
[adf-node-permission]="'create'"
[adf-nodes]="enableUpload ? getCurrentDocumentListNode() : []"
(permissionEvent)="handlePermissionError($event)">
@@ -442,4 +589,4 @@
</div>
</div>
<file-uploading-dialog #fileDialog></file-uploading-dialog>
<adf-file-uploading-dialog #fileDialog (error)="openSnackMessage($event)" ></adf-file-uploading-dialog>
@@ -1,134 +1,169 @@
$minimumDocumentListWidth: 425px;
@mixin adf-file-component-theme($theme) {
$minimumDocumentListWidth: 900px;
$foreground: map-get($theme, foreground);
.container {
margin: 10px;
}
@media only screen and (max-width: 640px) {
.container {
margin: 0;
}
}
.error-message {
text-align: left;
}
.error-message--text {
color: #d50000;
}
.adf-not-overlay-viewer {
height:900px;
}
adf-document-list ::ng-deep adf-datatable tr.document-list__create {
background: green !important;
}
adf-document-list ::ng-deep adf-datatable tr.document-list__disable {
background: red !important;
}
adf-document-list ::ng-deep adf-datatable > table > tbody > tr.is-selected > td.adf-data-table-cell.adf-data-table-cell--image.image-table-cell > div > div > mat-icon > svg {
fill: #00bcd4;
}
.adf-site-container-style {
margin-top: 10px;
margin-bottom: 10px;
width: 100%;
min-width: 200px;
}
.adf-content-service-settings {
padding: 16px;
}
.adf-files-toolbar {
.adf-toolbar-title {
display: flex;
width: 100%;
.adf-breadcrumb {
width: 0;
}
}
}
.adf-manage-versions-sidebar {
width: 300px;
color: rgba(0, 0, 0, 0.87);
.adf-manage-versions-empty,
.adf-manage-versions-no-permission {
margin: 24px;
color: grey;
text-align: justify;
&-icon {
display: block;
font-size: 48px;
margin: 0 auto 32px auto;
}
margin: 10px !important;
}
& ::ng-deep .adf-info-drawer-layout-header {
display: none;
}
& ::ng-deep .adf-info-drawer-layout-content {
padding: 0;
.adf-version-upload,
.adf-new-version-file-upload {
width: 100%;
& .mat-raised-button {
width: 100%;
}
@media screen and ($mat-xsmall) {
.container {
margin: 0;
}
.adf-new-version-uploader-container {
padding: 8px 24px 16px 24px;
}
}
}
.adf-no-result__empty_doc_lib {
width: 565px;
height: 161px;
object-fit: contain;
margin-top: 17px;
}
.adf-empty_template {
text-align: center;
margin-top: 20px;
margin-bottom: 20px;
}
.adf-no-result-message{
height: 32px;
opacity: 0.26;
font-size: 24px;
line-height: 1.33;
letter-spacing: -1px;
}
@media (max-width: $minimumDocumentListWidth) {
adf-document-list ::ng-deep adf-datatable {
& ::ng-deep .adf-data-table-cell--fileSize {
.adf-show-versions-button.mat-icon-button {
display: none;
}
}
.adf-site-container-style {
width: 100%;
display: block;
.error-message {
text-align: left;
}
& ::ng-deep .adf-site-dropdown-list-element {
.error-message--text {
color: #d50000;
}
.adf-not-overlay-viewer {
height: 900px;
}
adf-document-list ::ng-deep adf-datatable tr.document-list__create {
background: green !important;
}
adf-document-list ::ng-deep adf-datatable tr.document-list__disable {
background: red !important;
}
adf-document-list ::ng-deep .adf-datatable-selected > svg {
fill: #00bcd4 !important;
}
.adf-site-container-style {
margin-top: 10px;
margin-bottom: 10px;
width: 100%;
min-width: 200px;
}
.adf-content-service-settings {
padding: 16px;
}
.adf-files-toolbar {
.adf-toolbar-title {
display: flex;
width: 100%;
.adf-breadcrumb {
width: 0;
}
}
}
.adf-manage-versions-sidebar {
width: 360px !important;
color: rgba(0, 0, 0, 0.87);
.adf-manage-versions-empty,
.adf-manage-versions-no-permission {
margin: 44px;
color: mat-color($foreground, text, 0.54);
text-align: center;
&-icon {
display: block;
font-size: 48px;
margin: 0 auto 32px auto;
}
}
& .adf-info-drawer-layout-header {
display: none !important;
}
& .adf-info-drawer-layout-content {
padding: 10px !important;
}
}
.adf-no-result__empty_doc_lib {
width: 565px;
height: 161px;
object-fit: contain;
margin-top: 17px;
}
.adf-empty_template {
text-align: center;
margin-top: 20px;
margin-bottom: 20px;
}
.adf-no-result-message {
height: 32px;
opacity: 0.26;
font-size: 24px;
line-height: 1.33;
letter-spacing: -1px;
}
.adf-container-recent {
mat-icon {
margin-left: 20px;
}
.empty-list__block {
height: 100%;
padding: 0;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
}
}
@media (max-device-width: $minimumDocumentListWidth) {
adf-document-list .adf-data-table {
.adf-data-table-cell,
.adf-datatable-table-cell-header {
display: none;
}
.adf-data-table-cell:first-child,
.adf-datatable-table-cell-header:first-child,
.adf-data-table-cell:nth-child(2),
.adf-datatable-table-cell-header:nth-child(2) {
display: table-cell;
}
}
.adf-site-container-style {
width: 100%;
display: block;
& ::ng-deep .adf-site-dropdown-list-element {
width: 100%;
}
}
adf-file-uploading-dialog ::ng-deep .upload-dialog {
width: 80%;
& ::ng-deep adf-file-uploading-list ::ng-deep adf-file-uploading-list-row .adf-file-uploading-row__group {
min-width: 0;
}
}
}
@media (max-device-width: 1024px) {
adf-document-list .adf-data-table {
.adf-data-table-cell:nth-child(4),
.adf-datatable-table-cell-header:nth-child(4) {
display: none;
}
}
}
}
@@ -16,23 +16,29 @@
*/
import {
Component, Input, OnInit, OnChanges, OnDestroy, ChangeDetectorRef,
EventEmitter, Optional, ViewChild, SimpleChanges, Output
Component, Input, OnInit, OnChanges, OnDestroy, Optional,
EventEmitter, ViewChild, SimpleChanges, Output
} from '@angular/core';
import { Location } from '@angular/common';
import { MatDialog } from '@angular/material';
import { ActivatedRoute, Params, Router } from '@angular/router';
import { MinimalNodeEntity, NodePaging, Pagination, MinimalNodeEntryEntity } from 'alfresco-js-api';
import { MinimalNodeEntity, NodePaging, Pagination, MinimalNodeEntryEntity, SiteEntry } from 'alfresco-js-api';
import {
AlfrescoApiService, ContentService, TranslationService,
AuthenticationService, AppConfigService, AppConfigValues, ContentService, TranslationService,
FileUploadEvent, FolderCreatedEvent, LogService, NotificationService,
SiteModel, UploadService, DataColumn, DataRow, UserPreferencesService,
PaginationComponent
UploadService, DataColumn, DataRow, UserPreferencesService,
PaginationComponent, FormValues, DisplayMode, UserPreferenceValues, InfinitePaginationComponent
} from '@alfresco/adf-core';
import { DocumentListComponent, PermissionStyleModel, DownloadZipDialogComponent } from '@alfresco/adf-content-services';
import { DocumentListComponent, PermissionStyleModel, UploadFilesEvent, ConfirmDialogComponent } from '@alfresco/adf-content-services';
import { SelectAppsDialogComponent } from '@alfresco/adf-process-services';
import { VersionManagerDialogAdapterComponent } from './version-manager-dialog-adapter.component';
import { Subscription } from 'rxjs/Rx';
import { MetadataDialogAdapterComponent } from './metadata-dialog-adapter.component';
import { Subscription } from 'rxjs/Subscription';
import { PreviewService } from '../../services/preview.service';
const DEFAULT_FOLDER_TO_SHOW = '-my-';
@@ -47,6 +53,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
fileNodeId: any;
showViewer = false;
showVersions = false;
displayMode = DisplayMode.List;
includeFields = ['isFavorite', 'isLocked', 'aspectNames'];
baseShareUrl = this.appConfig.get<string>(AppConfigValues.ECMHOST) + '/preview/s/';
toolbarColor = 'default';
@@ -56,10 +66,32 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
{ value: 'multiple', viewValue: 'Multiple' }
];
// The identifier of a node. You can also use one of these well-known aliases: -my- | -shared- | -root-
@Input()
// The identifier of a node. You can also use one of these well-known aliases: -my- | -shared- | -root-
currentFolderId: string = DEFAULT_FOLDER_TO_SHOW;
formValues: FormValues = {};
processId;
@Input()
sorting = ['name', 'asc'];
@Input()
sortingMode = 'client';
@Input()
showRecentFiles = true;
@Input()
showSitePicker = true;
@Input()
showSettingsPanel = true;
@Input()
showHeader = true;
@Input()
selectionMode = 'multiple';
@@ -78,9 +110,15 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Input()
maxSizeShow = false;
@Input()
showVersionComments = true;
@Input()
versioning = false;
@Input()
allowVersionDownload = true;
@Input()
acceptedFilesType = '.jpg,.pdf,.js';
@@ -99,6 +137,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Input()
disableDragArea = false;
@Input()
showNameColumn = true;
@Output()
documentListReady: EventEmitter<any> = new EventEmitter();
@@ -117,49 +158,65 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
@Output()
loadNext: EventEmitter<Pagination> = new EventEmitter();
@ViewChild(DocumentListComponent)
@Output()
deleteElementSuccess: EventEmitter<any> = new EventEmitter();
@ViewChild('documentList')
documentList: DocumentListComponent;
@ViewChild(PaginationComponent)
@ViewChild('standardPagination')
standardPagination: PaginationComponent;
@ViewChild(InfinitePaginationComponent)
infinitePaginationComponent: InfinitePaginationComponent;
permissionsStyle: PermissionStyleModel[] = [];
infiniteScrolling: boolean;
supportedPages: number[];
currentSiteid = '';
warnOnMultipleUploads = false;
thumbnails = false;
private onCreateFolder: Subscription;
private onEditFolder: Subscription;
constructor(private changeDetector: ChangeDetectorRef,
private apiService: AlfrescoApiService,
private notificationService: NotificationService,
constructor(private notificationService: NotificationService,
private uploadService: UploadService,
private contentService: ContentService,
private dialog: MatDialog,
private location: Location,
private translateService: TranslationService,
private router: Router,
private logService: LogService,
private appConfig: AppConfigService,
private preference: UserPreferencesService,
@Optional() private route: ActivatedRoute) {
private preview: PreviewService,
@Optional() private route: ActivatedRoute,
public authenticationService: AuthenticationService) {
this.preference.select(UserPreferenceValues.SupportedPageSizes)
.subscribe((pages) => {
this.supportedPages = pages;
});
}
showFile(event) {
const entry = event.value.entry;
if (entry && entry.isFile) {
this.router.navigate(['/files', entry.id, 'view']);
this.preview.showResource(entry.id);
}
}
onFolderChange($event) {
this.currentFolderId = $event.value.id;
this.router.navigate(['/files', $event.value.id]);
}
toggleFolder() {
this.multipleFileUpload = false;
this.folderUpload = !this.folderUpload;
return this.folderUpload;
}
toggleThumbnails() {
this.thumbnails = !this.thumbnails;
this.documentList.reload();
}
ngOnInit() {
if (!this.pagination) {
this.pagination = <Pagination>{
@@ -167,11 +224,15 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
skipCount: 0
};
}
if (this.route) {
this.route.params.forEach((params: Params) => {
if (params['id']) {
if (params['id'] && this.currentFolderId !== params['id']) {
this.currentFolderId = params['id'];
this.changeDetector.detectChanges();
}
if (params['mode'] && params['mode'] === DisplayMode.Gallery) {
this.displayMode = DisplayMode.Gallery;
}
});
}
@@ -182,6 +243,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.supportedPages ? this.supportedPages : this.preference.getDefaultPageSizes();
// this.permissionsStyle.push(new PermissionStyleModel('document-list__create', PermissionsEnum.CREATE));
// this.permissionsStyle.push(new PermissionStyleModel('document-list__disable', PermissionsEnum.NOT_CREATE, false, true));
@@ -203,7 +265,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
giveDefaultPaginationWhenNotDefined() {
this.pagination = <Pagination> {
this.pagination = <Pagination> {
maxItems: this.preference.paginationSize,
skipCount: 0,
totalItems: 0,
@@ -219,9 +281,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
}
onNavigationError(err: any) {
if (err) {
this.errorMessage = err.message || 'Navigation error';
onNavigationError(error: any) {
if (error) {
this.router.navigate(['/error', error.status]);
}
}
@@ -250,33 +312,29 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
}
}
onFolderChange($event) {
this.router.navigate(['/files', $event.value.id, 'display', this.displayMode]);
}
handlePermissionError(event: any) {
this.translateService.get('OPERATION.ERROR.NO_PERMISSION_EVENT', {
this.translateService.get('PERMISSON.LACKOF', {
permission: event.permission,
action: event.action,
type: event.type
}).subscribe((message) => {
this.notificationService.openSnackMessage(
message,
4000
);
})
this.openSnackMessage(message);
});
}
handleUploadError(event: any) {
openSnackMessage(event: any) {
this.notificationService.openSnackMessage(
event,
4000
);
}
emitReadyEvent(event: any) {
if (this.pageIsEmpty(event)) {
this.standardPagination.goPrevious();
} else {
this.documentListReady.emit(event);
this.pagination = event.list.pagination;
}
emitReadyEvent(event: NodePaging) {
this.documentListReady.emit(event);
}
pageIsEmpty(node: NodePaging) {
@@ -298,35 +356,64 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
translatedErrorMessage = this.translateService.get('OPERATION.ERROR.UNKNOWN');
}
this.notificationService.openSnackMessage(translatedErrorMessage.value, 4000);
this.openSnackMessage(translatedErrorMessage.value);
}
onContentActionSuccess(message) {
const translatedMessage: any = this.translateService.get(message);
this.notificationService.openSnackMessage(translatedMessage.value, 4000);
this.openSnackMessage(translatedMessage.value);
this.reloadForInfiniteScrolling();
}
onDeleteActionSuccess(message) {
this.uploadService.fileDeleted.next(message);
this.deleteElementSuccess.emit();
this.reloadForInfiniteScrolling();
this.openSnackMessage(message);
}
onPermissionRequested(node) {
this.router.navigate(['/permissions', node.value.entry.id]);
}
private reloadForInfiniteScrolling() {
this.documentList.reload();
}
onManageVersions(event) {
const contentEntry = event.value.entry;
const showComments = this.showVersionComments;
const allowDownload = this.allowVersionDownload;
if (this.contentService.hasPermission(contentEntry, 'update')) {
this.dialog.open(VersionManagerDialogAdapterComponent, {
data: { contentEntry },
data: { contentEntry: contentEntry, showComments: showComments, allowDownload: allowDownload },
panelClass: 'adf-version-manager-dialog',
width: '630px'
});
} else {
const translatedErrorMessage: any = this.translateService.get('OPERATION.ERROR.PERMISSION');
this.notificationService.openSnackMessage(translatedErrorMessage.value, 4000);
this.openSnackMessage(translatedErrorMessage.value);
}
}
getSiteContent(site: SiteModel) {
this.currentFolderId = site && site.guid ? site.guid : DEFAULT_FOLDER_TO_SHOW;
onManageMetadata(event) {
const contentEntry = event.value.entry;
if (this.contentService.hasPermission(contentEntry, 'update')) {
this.dialog.open(MetadataDialogAdapterComponent, {
data: { contentEntry },
panelClass: 'adf-metadata-manager-dialog',
width: '630px'
});
} else {
const translatedErrorMessage: any = this.translateService.get('OPERATION.ERROR.PERMISSION');
this.openSnackMessage(translatedErrorMessage.value);
}
}
onSiteChange(site: SiteEntry) {
this.currentFolderId = site.entry.guid;
}
getDocumentListCurrentFolderId() {
@@ -348,73 +435,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
return this.contentService.hasPermission(selection[0].entry, 'update');
}
downloadNodes(selection: Array<MinimalNodeEntity>) {
if (!selection || selection.length === 0) {
return;
}
if (selection.length === 1) {
this.downloadNode(selection[0]);
} else {
this.downloadZip(selection);
}
}
downloadNode(node: MinimalNodeEntity) {
if (node && node.entry) {
const entry = node.entry;
if (entry.isFile) {
this.downloadFile(node);
}
if (entry.isFolder) {
this.downloadZip([node]);
}
}
}
downloadFile(node: MinimalNodeEntity) {
if (node && node.entry) {
const contentApi = this.apiService.getInstance().content;
const url = contentApi.getContentUrl(node.entry.id, true);
const fileName = node.entry.name;
this.download(url, fileName);
}
}
downloadZip(selection: Array<MinimalNodeEntity>) {
if (selection && selection.length > 0) {
const nodeIds = selection.map(node => node.entry.id);
const dialogRef = this.dialog.open(DownloadZipDialogComponent, {
width: '600px',
data: {
nodeIds: nodeIds
}
});
dialogRef.afterClosed().subscribe(result => {
this.logService.log(result);
});
}
}
download(url: string, fileName: string) {
if (url && fileName) {
const link = document.createElement('a');
link.style.display = 'none';
link.download = fileName;
link.href = url;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
getNodeNameTooltip(row: DataRow, col: DataColumn): string {
if (row) {
return row.getValue('name');
@@ -440,6 +460,20 @@ 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.changedPageSize.emit(event);
@@ -453,11 +487,72 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
this.turnedNextPage.emit(event);
}
loadNextBatch(event: Pagination) {
loadNextBatch(event: Pagination): void {
this.loadNext.emit(event);
}
onPrevPage(event: Pagination): void {
this.turnedPreviousPage.emit(event);
}
toogleGalleryView(): void {
this.displayMode = this.displayMode === DisplayMode.List ? DisplayMode.Gallery : DisplayMode.List;
const url = this
.router
.createUrlTree(['/files', this.currentFolderId, 'display', this.displayMode])
.toString();
this.location.go(url);
}
onInfiniteScrolling(): void {
this.infiniteScrolling = !this.infiniteScrolling;
this.infinitePaginationComponent.reset();
this.reloadForInfiniteScrolling();
}
canDownloadNode = (node: MinimalNodeEntity): boolean => {
if (node && node.entry && node.entry.name === 'custom') {
return true;
}
return false;
}
onBeginUpload(event: UploadFilesEvent) {
if (this.warnOnMultipleUploads && event) {
const files = event.files || [];
if (files.length > 1) {
event.pauseUpload();
const dialogRef = this.dialog.open(ConfirmDialogComponent, {
data: {
title: 'Upload',
message: `Are you sure you want to upload ${files.length} file(s)?`
},
minWidth: '250px'
});
dialogRef.afterClosed().subscribe(result => {
if (result === true) {
event.resumeUpload();
}
});
}
}
}
isCustomActionDisabled = (node: MinimalNodeEntity): boolean => {
if (node && node.entry && node.entry.name === 'custom') {
return false;
}
return true;
}
runCustomAction(event) {
console.log(event);
}
getFileFiltering() {
return this.acceptedFilesTypeShow ? this.acceptedFilesType : '*';
}
}
@@ -0,0 +1,7 @@
<header mat-dialog-title>{{'METADATA.DIALOG.TITLE' | translate}}</header>
<section mat-dialog-content>
<adf-content-metadata-card [node]="contentEntry"></adf-content-metadata-card>
</section>
<footer mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
<button mat-button (click)="close()">{{'METADATA.DIALOG.CLOSE' | translate}}</button>
</footer>
@@ -0,0 +1,38 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, Inject, ViewEncapsulation } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
@Component({
templateUrl: './metadata-dialog-adapter.component.html',
encapsulation: ViewEncapsulation.None
})
export class MetadataDialogAdapterComponent {
public contentEntry: MinimalNodeEntryEntity;
constructor(@Inject(MAT_DIALOG_DATA) data: any,
private containingDialog?: MatDialogRef<MetadataDialogAdapterComponent>) {
this.contentEntry = data.contentEntry;
}
close() {
this.containingDialog.close();
}
}
@@ -1,7 +1,18 @@
<header mat-dialog-title>Manage versions</header>
<section mat-dialog-content>
<adf-version-manager [node]="contentEntry"></adf-version-manager>
<header mat-dialog-title>{{'VERSION.DIALOG.TITLE' | translate}}</header>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="readOnly">
{{'APP.ADF_VERSION_MANAGER.READ_ONLY' | translate}}
</mat-slide-toggle>
</section>
<section mat-dialog-content *ngIf="!readOnly">
<adf-version-manager [node]="contentEntry" [allowDownload]="allowDownload" [showComments]="showComments" (uploadError)="uploadError($event)"></adf-version-manager>
</section>
<section mat-dialog-content *ngIf="readOnly">
<adf-version-list [node]="contentEntry" [showActions]="false" ></adf-version-list>
</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>
@@ -18,6 +18,7 @@
import { Component, Inject, ViewEncapsulation } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { MatSnackBar } from '@angular/material';
@Component({
templateUrl: './version-manager-dialog-adapter.component.html',
@@ -27,9 +28,20 @@ export class VersionManagerDialogAdapterComponent {
public contentEntry: MinimalNodeEntryEntity;
showComments = true;
allowDownload = true;
readOnly = false;
constructor(@Inject(MAT_DIALOG_DATA) data: any,
private snackBar: MatSnackBar,
private containingDialog?: MatDialogRef<VersionManagerDialogAdapterComponent>) {
this.contentEntry = data.contentEntry;
this.showComments = data.hasOwnProperty('showComments') ? data.showComments : this.showComments;
this.allowDownload = data.hasOwnProperty('allowDownload') ? data.allowDownload : this.allowDownload;
}
uploadError(errorMessage: string) {
this.snackBar.open(errorMessage, '', { duration: 4000 });
}
close() {
+269 -7
View File
@@ -2,14 +2,14 @@
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* Licensed under the Apache License, Version 2.0 (the 'License');
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* distributed under the License is distributed on an 'AS IS' BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
@@ -21,11 +21,6 @@ export class DemoForm {
return {
'id': 1001,
'name': 'ISSUE_FORM',
'processDefinitionId': 'ISSUE_APP:1:2504',
'processDefinitionName': 'ISSUE_APP',
'processDefinitionKey': 'ISSUE_APP',
'taskId': '2510',
'taskDefinitionKey': 'sid-F67A2996-1684-4774-855A-4591490081FD',
'tabs': [],
'fields': [
{
@@ -1455,4 +1450,271 @@ export class DemoForm {
};
}
static getSimpleFormDefinition(): any {
return {
'id': 1001,
'name': 'SIMPLE_FORM_EXAMPLE',
'description': '',
'version': 1,
'lastUpdatedBy': 2,
'lastUpdatedByFullName': 'Test01 01Test',
'lastUpdated': '2018-02-26T17:44:04.543+0000',
'stencilSetId': 0,
'referenceId': null,
'taskId': '9999',
'formDefinition': {
'tabs': [],
'fields': [
{
'fieldType': 'ContainerRepresentation',
'id': '1519666726245',
'name': 'Label',
'type': 'container',
'value': null,
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': null,
'hasEmptyValue': null,
'options': null,
'restUrl': null,
'restResponsePath': null,
'restIdProperty': null,
'restLabelProperty': null,
'tab': null,
'className': null,
'dateDisplayFormat': null,
'layout': null,
'sizeX': 2,
'sizeY': 1,
'row': -1,
'col': -1,
'visibilityCondition': null,
'numberOfColumns': 2,
'fields': {
'1': [
{
'fieldType': 'RestFieldRepresentation',
'id': 'typeahedField',
'name': 'TypeahedField',
'type': 'typeahead',
'value': null,
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': null,
'hasEmptyValue': null,
'options': null,
'restUrl': 'https://jsonplaceholder.typicode.com/users',
'restResponsePath': null,
'restIdProperty': 'id',
'restLabelProperty': 'name',
'tab': null,
'className': null,
'params': {
'existingColspan': 1,
'maxColspan': 2
},
'dateDisplayFormat': null,
'layout': {
'row': -1,
'column': -1,
'colspan': 1
},
'sizeX': 1,
'sizeY': 1,
'row': -1,
'col': -1,
'visibilityCondition': null,
'endpoint': null,
'requestHeaders': null
}
],
'2': [
{
'fieldType': 'RestFieldRepresentation',
'id': 'radioButton',
'name': 'RadioButtons',
'type': 'radio-buttons',
'value': null,
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': null,
'hasEmptyValue': null,
'options': [
{
'id': 'option_1',
'name': 'Option 1'
},
{
'id': 'option_2',
'name': 'Option 2'
},
{
'id': 'option_3',
'name': 'Option 3'
}
],
'restUrl': null,
'restResponsePath': null,
'restIdProperty': null,
'restLabelProperty': null,
'tab': null,
'className': null,
'params': {
'existingColspan': 1,
'maxColspan': 1
},
'dateDisplayFormat': null,
'layout': {
'row': -1,
'column': -1,
'colspan': 1
},
'sizeX': 1,
'sizeY': 2,
'row': -1,
'col': -1,
'visibilityCondition': null,
'endpoint': null,
'requestHeaders': null
}
]
}
},
{
'fieldType': 'ContainerRepresentation',
'id': '1519666735185',
'name': 'Label',
'type': 'container',
'value': null,
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': null,
'hasEmptyValue': null,
'options': null,
'restUrl': null,
'restResponsePath': null,
'restIdProperty': null,
'restLabelProperty': null,
'tab': null,
'className': null,
'dateDisplayFormat': null,
'layout': null,
'sizeX': 2,
'sizeY': 1,
'row': -1,
'col': -1,
'visibilityCondition': null,
'numberOfColumns': 2,
'fields': {
'1': [
{
'fieldType': 'RestFieldRepresentation',
'id': 'selectBox',
'name': 'SelectBox',
'type': 'dropdown',
'value': 'Choose one...',
'required': false,
'readOnly': false,
'overrideId': false,
'colspan': 1,
'placeholder': null,
'minLength': 0,
'maxLength': 0,
'minValue': null,
'maxValue': null,
'regexPattern': null,
'optionType': 'manual',
'hasEmptyValue': true,
'options': [
{
'id': 'empty',
'name': 'Choose one...'
},
{
'id': 'option_1',
'name': '1'
},
{
'id': 'option_2',
'name': '2'
},
{
'id': 'option_3',
'name': '3'
}
],
'restUrl': null,
'restResponsePath': null,
'restIdProperty': null,
'restLabelProperty': null,
'tab': null,
'className': null,
'params': {
'existingColspan': 1,
'maxColspan': 2
},
'dateDisplayFormat': null,
'layout': {
'row': -1,
'column': -1,
'colspan': 1
},
'sizeX': 1,
'sizeY': 1,
'row': -1,
'col': -1,
'visibilityCondition': null,
'endpoint': null,
'requestHeaders': null
}
],
'2': []
}
}
],
'outcomes': [],
'javascriptEvents': [],
'className': '',
'style': '',
'customFieldTemplates': {},
'metadata': {},
'variables': [],
'customFieldsValueInfo': {},
'gridsterForm': false
}
};
}
}
@@ -0,0 +1,54 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Observable } from 'rxjs/Observable';
import { Injectable } from '@angular/core';
import {
AppConfigService, AlfrescoApiService, EcmModelService, LogService, FormService, FormOutcomeEvent
} from '@alfresco/adf-core';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class FakeFormService extends FormService {
executeOutcome = new Subject<FormOutcomeEvent>();
constructor(appConfig: AppConfigService,
ecmModelService: EcmModelService,
apiService: AlfrescoApiService,
protected logService: LogService) {
super(ecmModelService, apiService, logService);
}
public getRestFieldValues(taskId: string, fieldId: string): Observable<any> {
if (fieldId === 'typeahedField') {
return Observable.of([
{ 'id': '1', 'name': 'Leanne Graham' },
{ 'id': '2', 'name': 'Ervin Howell' },
{ 'id': '3', 'name': 'Clementine Bauch' },
{ 'id': '4', 'name': 'Patricia Lebsack' },
{ 'id': '5', 'name': 'Chelsey Dietrich' },
{ 'id': '6', 'name': 'Mrs. Dennis Schulist' },
{ 'id': '7', 'name': 'Kurtis Weissnat' },
{ 'id': '8', 'name': 'Nicholas Runolfsdottir V' },
{ 'id': '9', 'name': 'Glenna Reichert' },
{ 'id': '10', 'name': 'Clementina DuBuque' }]);
} else {
return super.getRestFieldValues(taskId, fieldId);
}
}
}
@@ -1,8 +1,13 @@
<adf-form-list [forms]="formList" (row-dblclick)="onRowDblClick($event)">
</adf-form-list>
<div class="form-container" *ngIf="!isEmptyForm()">
<adf-form [form]="form" [data]="restoredData">
<adf-form #adfForm [form]="form" [data]="restoredData" [showValidationIcon]="showValidationIcon">
</adf-form>
</div>
<button mat-button (click)="store()" color="primary">{{'FORM-LIST.STORE' | translate }}</button>
<button mat-button (click)="restore()" color="primary">{{'FORM-LIST.RESTORE' | translate }}</button>
<section class="form-list-margin">
<mat-slide-toggle color="primary" [(ngModel)]="showValidationIcon">
Show Validation Icon
</mat-slide-toggle>
</section>
@@ -6,3 +6,7 @@
width: 80%;
height: 80%;
}
.form-list-margin {
margin-left: 26px;
}
@@ -25,7 +25,7 @@ import { FormComponent, FormModel, FormService, LogService } from '@alfresco/adf
})
export class FormListComponent {
@ViewChild(FormComponent)
@ViewChild('adfForm')
activitiForm: FormComponent;
formList: any [] = [];
@@ -36,6 +36,8 @@ export class FormListComponent {
storedData: any = {};
restoredData: any = {};
showValidationIcon = false;
constructor(private formService: FormService, private logService: LogService) {
// Prevent default outcome actions
formService.executeOutcome.subscribe(e => {
@@ -0,0 +1,41 @@
<div class="form-container">
<mat-accordion>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
{{'FORM-LOADING.FORM_DATA' | translate}}
</mat-panel-title>
<mat-panel-description>
{{'FORM-LOADING.FORM_DATA_MESSAGE' | translate}}
</mat-panel-description>
</mat-expansion-panel-header>
<mat-list>
<mat-list-item>
<mat-form-field>
<input matInput
placeholder="{{'FORM-LOADING.TYPEAHEAD_PLACEHOLDER' | translate}}"
[(ngModel)]="typeaheadFieldValue">
</mat-form-field>
</mat-list-item>
<mat-list-item>
<mat-form-field>
<input matInput
placeholder="{{'FORM-LOADING.SELECT_PLACEHOLDER' | translate}}"
[(ngModel)]="selectFieldValue">
</mat-form-field>
</mat-list-item>
<mat-list-item>
<mat-form-field>
<input matInput
placeholder="{{'FORM-LOADING.RADIO_PLACEHOLDER' | translate}}"
[(ngModel)]="radioButtonFieldValue">
</mat-form-field>
</mat-list-item>
</mat-list>
<button mat-button color="primary" (click)="onLoadButtonClicked()">Load</button>
</mat-expansion-panel>
</mat-accordion>
<mat-divider></mat-divider>
<adf-form [showRefreshButton]="false" [form]="form" [data]="formattedData">
</adf-form>
</div>
@@ -0,0 +1,3 @@
.form-container {
padding: 10px;
}
@@ -0,0 +1,60 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, Inject, OnInit } from '@angular/core';
import { FormModel, FormService, FormOutcomeEvent } from '@alfresco/adf-core';
import { InMemoryFormService } from '../../services/in-memory-form.service';
import { DemoForm } from './demo-form';
import { FakeFormService } from './fake-form.service';
@Component({
selector: 'app-form-loading',
templateUrl: 'form-loading.component.html',
styleUrls: ['form-loading.component.scss'],
providers: [
{ provide: FormService, useClass: FakeFormService },
]
})
export class FormLoadingComponent implements OnInit {
form: FormModel;
typeaheadFieldValue = '';
selectFieldValue = '';
radioButtonFieldValue = '';
formattedData = {};
constructor(@Inject(FormService) private formService: InMemoryFormService) {
formService.executeOutcome.subscribe((formOutcomeEvent: FormOutcomeEvent) => {
formOutcomeEvent.preventDefault();
});
}
ngOnInit() {
this.formattedData = {};
const formDefinitionJSON: any = DemoForm.getSimpleFormDefinition();
this.form = this.formService.parseForm(formDefinitionJSON);
}
onLoadButtonClicked() {
this.formattedData = {
'typeahedField': this.typeaheadFieldValue,
'selectBox': this.selectFieldValue,
'radioButton': this.radioButtonFieldValue
};
}
}
@@ -1,11 +1,11 @@
<header class="adf-home-background adf-primary-background-color">
<header class="adf-home-background">
<div class="adf-home-section ad">
<div class="adf-home-headline">
<h1 class="mat-h1">ADF</h1>
<h2> Angular components for Alfresco</h2>
<h2>{{ 'APP.HOME.TITLE' | translate}}</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>
<a mat-raised-button class="adf-home-docs-button adf-primary-color" href="https://github.com/Alfresco/alfresco-ng2-components/tree/master/docs">{{ 'APP.HOME.DOCUMENTATION' | translate}}</a>
</div>
</div>
</header>
@@ -1,3 +1,9 @@
:host {
display: flex;
justify-content: center;
align-items: center;
}
.adf-home-header-background {
overflow: hidden;
}
@@ -8,6 +14,7 @@
}
.adf-home-headline {
h1 {
font-size: 56px;
font-weight: 300;
@@ -0,0 +1,5 @@
{
"LAZY": {
"TEXT": "Text from lazy component resources"
}
}
@@ -0,0 +1,54 @@
import { Component } from '@angular/core';
import { ObjectDataTableAdapter, AuthenticationService } from '@alfresco/adf-core';
@Component({
selector: 'app-lazy-component',
template: `
<adf-datatable [data]="data"></adf-datatable>
<ul>
<li>Global i18n: {{ 'APP_LAYOUT.DATATABLE_LAZY' | translate }}</li>
<li>Local i18n (work in progress): {{ 'LAZY.TEXT' | translate }}</li>
<li>isLoggedIn: {{ isLoggedIn }}</li>
<li>ECM username: {{ username }}
</ul>
`
})
export class LazyLoadingComponent {
data: ObjectDataTableAdapter;
get isLoggedIn(): boolean {
return this.auth.isLoggedIn();
}
get username(): string {
return this.auth.getEcmUsername();
}
constructor(private auth: AuthenticationService) {
this.data = new ObjectDataTableAdapter(
// data
[
{id: 1, name: 'Name 1'},
{id: 2, name: 'Name 2'}
],
// schema
[
{
type: 'text',
key: 'id',
title: 'Id',
sortable: true
},
{
type: 'text',
key: 'name',
title: 'Name',
cssClass: 'full-width',
sortable: true
}
]
);
}
}
@@ -0,0 +1,19 @@
import { NgModule } from '@angular/core';
import { CoreModule, TranslationService } from '@alfresco/adf-core';
import { LazyLoadingRoutes } from './lazy-loading.routes';
import { LazyLoadingComponent } from './lazy-loading.component';
@NgModule({
imports: [
CoreModule.forChild(),
LazyLoadingRoutes
],
declarations: [
LazyLoadingComponent
]
})
export class LazyLoadingModule {
constructor(translation: TranslationService) {
}
}
@@ -0,0 +1,21 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { LazyLoadingComponent } from './lazy-loading.component';
export const routes: Routes = [
{
path: '',
component: LazyLoadingComponent
}
];
@NgModule({
imports: [
RouterModule.forChild(routes)
],
exports: [
RouterModule
]
})
export class LazyLoadingRoutes {
}
@@ -0,0 +1,27 @@
.log-list-type {
float: left;
}
.log-list-text {
float: left;
}
.log-card {
min-width: 200px;
z-index: 1;
height: 20%;
width: 40%;
position: fixed;
top: 4em;
right: 1em;
opacity: 0.9;
overflow: scroll;
}
.log-ERROR {
color: red;
}
.log-WARN {
color: yellow;
}
@@ -0,0 +1,12 @@
<mat-card class="log-card" *ngIf="show">
<mat-card-header>
<mat-card-title><h2>Log Service</h2></mat-card-title>
</mat-card-header>
<mat-card-content class="log-container">
<div *ngIf="logsData">
<adf-datatable [data]="logsData"></adf-datatable>
</div>
</mat-card-content>
</mat-card>
@@ -0,0 +1,59 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, HostListener } from '@angular/core';
import { LogService, ObjectDataTableAdapter } from '@alfresco/adf-core';
@Component({
selector: 'app-log',
templateUrl: './log.component.html',
styleUrls: ['./log.component.css']
})
export class LogComponent {
logs: any[] = [];
show = false;
ctrlLKey = 12;
logsData: ObjectDataTableAdapter;
constructor(public logService: LogService) {
logService.onMessage.subscribe((message) => {
let contentMessage = '';
try {
contentMessage = JSON.stringify(message.text);
} catch (error) {
return;
}
this.logs.push({ type: message.type, text: contentMessage});
this.logsData = new ObjectDataTableAdapter(this.logs, [
{ type: 'text', key: 'type', title: 'Log level', sortable: true },
{ type: 'text', key: 'text', title: 'Message', sortable: false }
]);
});
}
@HostListener('document:keypress', ['$event'])
handleKeyboardEvent(event: KeyboardEvent) {
const key = event.keyCode;
if (key === this.ctrlLKey) {
this.show = !this.show;
}
}
}
@@ -1,40 +0,0 @@
.setting-button {
position: absolute;
right: 10px;
top: 10px;
z-index: 1;
background-color: rgb(68,138,255);
color: rgb(255,255,255);
}
.settings {
border-radius: 8px;
position: absolute;
background-color: papayawhip;
color: cadetblue;
left: 10px;
top: 10px;
z-index: 1;
}
.toggle {
width: 190px;
margin: 5px;
padding: 5px;
}
@media (min-width: 721px) {
.mobile-settings {
display: none;
}
}
@media (max-width: 720px) {
.settings {
display: none;
}
}
.settings ::ng-deep .mat-slide-toggle-thumb-container {
cursor: pointer;
}
@@ -1,24 +1,6 @@
<!--BPM, ECN AND CSRF TOGGLE-->
<div class="settings">
<p class="toggle">
<mat-slide-toggle
id="switch1"
[color]="'primary'"
(change)="toggleECM()"
[checked]="isECM">
{{ 'LOGIN.CONTENT_SERVICES'| translate }}
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="switch2"
[color]="'primary'"
(change)="toggleBPM()"
[checked]="isBPM">
{{ 'LOGIN.PROCESS_SERVICES'| translate }}
</mat-slide-toggle>
</p>
<p class="toggle">
<mat-slide-toggle
id="switch3"
@@ -41,39 +23,21 @@
<!--SETTING BUTTON-->
<a mat-fab class="setting-button" data-automation-id="settings" href="" routerLink="/settings">
<a mat-fab class="setting-button" data-automation-id="settings" href="" routerLink="/settings" color="accent">
<mat-icon>settings</mat-icon>
</a>
<adf-login
#alfrescologin
[providers]="providers"
[fieldsValidation]="customValidation"
[disableCsrf]="disableCsrf"
[showLoginActions]="showFooter"
[showRememberMe]="showFooter"
copyrightText="© 2016 Alfresco Software, Inc. All Rights Reserved. (customised text)"
(executeSubmit)="checkForm($event)"
copyrightText="{{ 'application.copyright' | adfAppConfig }}"
(success)="onLogin($event)"
(error)="onError($event)">
<div class="mobile-settings">
<p>
<mat-slide-toggle
id="switch1-mobile"
[color]="'primary'"
(change)="toggleECM()"
[checked]="isECM">
{{ 'LOGIN.CONTENT_SERVICES'| translate }}
</mat-slide-toggle>
</p>
<p>
<mat-slide-toggle
id="switch2-mobile"
[color]="'primary'"
(change)="toggleBPM()"
[checked]="isBPM">
{{ 'LOGIN.PROCESS_SERVICES'| translate }}
</mat-slide-toggle>
</p>
<p>
<mat-slide-toggle
id="switch3-mobile"
@@ -92,5 +56,7 @@
{{ 'LOGIN.LOGIN_FOOTER'| translate }}
</mat-slide-toggle>
</p>
<button type="button" mat-raised-button color="accent" class="mobile-setting-button" routerLink="/settings" data-automation-id="settings">{{ 'APP_LAYOUT.SETTINGS'| translate }}</button>
</div>
</adf-login>
@@ -0,0 +1,52 @@
@mixin adf-login-component-theme($theme) {
.setting-button.mat-fab.mat-accent {
position: absolute;
right: 10px;
top: 10px;
z-index: 1;
}
.settings {
border-radius: 8px;
position: absolute;
background-color: papayawhip;
color: cadetblue;
left: 10px;
top: 10px;
z-index: 1;
}
.toggle {
width: auto;
margin: 5px;
padding: 5px;
}
.mobile-settings, .mobile-setting-button {
display: none;
}
@media screen and ($mat-small) {
.settings, .setting-button.mat-fab.mat-accent {
display: none;
}
.mobile-settings, .mobile-setting-button {
display: block;
}
.mobile-setting-button {
width: 100%;
}
.mobile-settings {
padding-bottom: 20px;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
}
.settings ::ng-deep .mat-slide-toggle-thumb-container {
cursor: pointer;
}
}
@@ -18,29 +18,25 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { Validators } from '@angular/forms';
import { Router } from '@angular/router';
import { LogService, StorageService } from '@alfresco/adf-core';
import { LogService } from '@alfresco/adf-core';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
@ViewChild('alfrescologin')
alfrescologin: any;
providers = 'ECM';
customValidation: any;
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.customMinLength)])],
@@ -52,25 +48,6 @@ export class LoginComponent implements OnInit {
this.alfrescologin.addCustomValidationError('username', 'required', 'LOGIN.MESSAGES.USERNAME-REQUIRED');
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')) {
this.providers = this.storage.getItem('providers');
}
this.initProviders();
}
initProviders() {
if (this.providers === 'BPM') {
this.isECM = false;
this.isBPM = true;
} else if (this.providers === 'ECM') {
this.isECM = true;
this.isBPM = false;
} else if (this.providers === 'ALL') {
this.isECM = true;
this.isBPM = true;
}
}
onLogin($event) {
@@ -81,16 +58,6 @@ export class LoginComponent implements OnInit {
this.logService.error($event);
}
toggleECM() {
this.isECM = !this.isECM;
this.storage.setItem('providers', this.updateProvider());
}
toggleBPM() {
this.isBPM = !this.isBPM;
this.storage.setItem('providers', this.updateProvider());
}
toggleCSRF() {
this.disableCsrf = !this.disableCsrf;
}
@@ -99,23 +66,8 @@ export class LoginComponent implements OnInit {
this.showFooter = !this.showFooter;
}
updateProvider() {
if (this.isBPM && this.isECM) {
this.providers = 'ALL';
return this.providers;
}
if (this.isECM) {
this.providers = 'ECM';
return this.providers;
}
if (this.isBPM) {
this.providers = 'BPM';
return this.providers;
}
this.providers = '';
return this.providers;
checkForm(event: any) {
const values = event.values;
this.logService.log(values);
}
}
@@ -0,0 +1,17 @@
<header class="adf-logout-background">
<div class="adf-logout-section">
<div class="adf-logout-headline">
<h1>{{ 'APP.LOGOUT.TITLE' | translate}}</h1>
<h2>{{ 'APP.LOGOUT.SUB_TITLE' | translate}}</h2>
</div>
<div class="adf-logout-login">
<a mat-raised-button class="adf-logout-docs-button adf-primary-color"
href="/login">{{ 'APP.LOGOUT.LOGIN' | translate}}</a>
</div>
<div class="adf-logout-home">
<a mat-raised-button class="adf-logout-docs-button adf-primary-color"
href="/">{{ 'APP.LOGOUT.HOME' | translate}}</a>
</div>
</div>
</header>
@@ -0,0 +1,39 @@
:host {
display: flex;
justify-content: center;
align-items: center;
}
.adf-logout-header-background {
overflow: hidden;
}
.adf-logout-section {
text-align: center;
padding-top: 60px;
}
.adf-logout-headline {
h1 {
font-size: 56px;
font-weight: 300;
line-height: 56px;
margin: 15px 5px;
}
h2 {
font-size: 18px;
font-weight: 300;
line-height: 28px;
margin: 15px 0 25px 0;
}
}
.adf-logout-docs-button {
margin: 30px;
}
.adf-logout-login {
float: left;
}
@@ -0,0 +1,25 @@
/*!
* @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 } from '@angular/core';
@Component({
selector: 'app-logout',
templateUrl: './logout.component.html',
styleUrls: ['./logout.component.scss']
})
export class LogoutComponent {}
@@ -0,0 +1,35 @@
<div class="main-content">
<h1>Notification Service</h1>
<ul>
<li>Try setting custom message with unicode characters, for example: <strong>I ♥️ ADF</strong></li>
<li>Try setting custom i18n resource key, for example: <strong>APP_LAYOUT.NOTIFICATIONS</strong></li>
<li>Try toggling the action button. Clicking the action within SnackBar should update the label under the toggle button.</li>
<li>All elements support <em>data-automation-id</em> attributes and can be automated.</li>
</ul>
<mat-form-field>
<input
matInput
placeholder="Message"
[(ngModel)]="message"
data-automation-id="notification-message">
</mat-form-field>
<button mat-icon-button (click)="send()">
<mat-icon>send</mat-icon>
</button>
<div>
<mat-slide-toggle
[(ngModel)]="withAction"
data-automation-id="notification-action-toggle">
With action
</mat-slide-toggle>
</div>
<div data-automation-id="notification-action-output">
{{ actionOutput }}
</div>
</div>
@@ -0,0 +1,3 @@
.main-content {
padding: 10px;
}
@@ -0,0 +1,47 @@
/*!
* @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 } from '@angular/core';
import { NotificationService } from '@alfresco/adf-core';
@Component({
templateUrl: './notifications.component.html',
styleUrls: ['./notifications.component.scss']
})
export class NotificationsComponent {
message = 'I ♥️ ADF';
withAction = false;
actionOutput = '';
constructor(private notificationService: NotificationService) {}
send() {
this.actionOutput = '';
if (this.message) {
if (this.withAction) {
this.notificationService
.openSnackMessageAction(this.message, 'Some action')
.onAction()
.subscribe(() => this.actionOutput = 'Action clicked');
} else {
this.notificationService.openSnackMessage(this.message);
}
}
}
}
@@ -0,0 +1,18 @@
<div class="inherit_permission_button">
<button mat-raised-button
[color]="toggleStatus?'accent':'primary'"
adf-inherit-permission [nodeId]="nodeId"
(error)="showErrorMessage($event)"
(updated)="onUpdatedPermissions($event)">
{{ (toggleStatus?'DEMO_PERMISSION.INHERITED_PERMISSIONS_BUTTON':'DEMO_PERMISSION.INHERIT_PERMISSION_BUTTON') | translate}}</button>
<button mat-button color="primary" (click)="openAddPermissionDialog($event)">Add User or Group</button>
</div>
<div>
<adf-permission-list #permissionList
[nodeId]="nodeId"
(update)="reloadList()"
(error)="showErrorMessage($event)">
</adf-permission-list>
</div>
@@ -0,0 +1,6 @@
.inherit_permission_button {
padding-top: 20px;
display: flex;
justify-content: center;
padding-bottom: 20px;
}
@@ -0,0 +1,81 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, Optional, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Params} from '@angular/router';
import { PermissionListComponent, NodePermissionDialogService } from '@alfresco/adf-content-services';
import { MinimalNodeEntryEntity } from 'alfresco-js-api';
import { NodesApiService, NotificationService } from '@alfresco/adf-core';
@Component({
selector: 'app-permissions',
templateUrl: './demo-permissions.component.html',
styleUrls: ['./demo-permissions.component.scss']
})
export class DemoPermissionComponent implements OnInit {
@ViewChild('permissionList')
displayPermissionComponent: PermissionListComponent;
nodeId: string;
toggleStatus = false;
constructor(@Optional() private route: ActivatedRoute,
private nodeService: NodesApiService,
private nodePermissionDialogService: NodePermissionDialogService,
private notificationService: NotificationService) {
}
ngOnInit() {
if (this.route) {
this.route.params.forEach((params: Params) => {
if (params['id']) {
this.nodeId = params['id'];
}
});
}
this.nodeService.getNode(this.nodeId, {include: ['permissions'] }).subscribe( (currentNode: MinimalNodeEntryEntity) => {
this.toggleStatus = currentNode.permissions.isInheritanceEnabled;
});
}
onUpdatedPermissions(node: MinimalNodeEntryEntity) {
this.toggleStatus = node.permissions.isInheritanceEnabled;
this.displayPermissionComponent.reload();
}
reloadList() {
this.displayPermissionComponent.reload();
}
openAddPermissionDialog(event: Event) {
this.nodePermissionDialogService.updateNodePermissionByDialog(this.nodeId).subscribe(() => {
this.displayPermissionComponent.reload();
},
(error) => {
this.showErrorMessage(error);
});
}
showErrorMessage(error) {
this.notificationService.openSnackMessage(
error,
4000
);
}
}
@@ -17,7 +17,7 @@
import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs/Rx';
import { Subscription } from 'rxjs/Subscription';
@Component({
selector: 'app-form-node-viewer',
@@ -17,7 +17,7 @@
import { Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs/Rx';
import { Subscription } from 'rxjs/Subscription';
@Component({
selector: 'app-form-viewer',
@@ -6,10 +6,24 @@
[disabled]="isCompletedProcess()">
<adf-process-attachment-list #processAttachList
*ngIf="processInstanceId"
[disabled]="isCompletedProcess()"
[processInstanceId]="processInstanceId"
(attachmentClick)="onAttachmentClick($event)">
*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>
@@ -21,13 +35,4 @@
</adf-create-process-attachment>
</div>
</div>
<div *ngIf="fileShowed">
<adf-viewer
[(showViewer)]="fileShowed"
[blobFile]="content"
[displayName]="contentName"
[overlayMode]="true">
</adf-viewer>
</div>
</div>
@@ -15,39 +15,56 @@
* limitations under the License.
*/
import { Component, Input, OnChanges, OnInit, ViewChild } from '@angular/core';
import { Component, Input, OnChanges, OnInit, ViewChild, OnDestroy } from '@angular/core';
import { ProcessInstance, ProcessService ,
ProcessAttachmentListComponent, ProcessUploadService } from '@alfresco/adf-process-services';
import { UploadService } from '@alfresco/adf-core';
import { AlfrescoApiService } from '@alfresco/adf-core';
import { AppConfigService } from '@alfresco/adf-core';
import { PreviewService } from '../../services/preview.service';
import { Subscription } from 'rxjs/Subscription';
export function processUploadServiceFactory(api: AlfrescoApiService, config: AppConfigService) {
return new ProcessUploadService(api, config);
}
@Component({
selector: 'app-process-attachments',
templateUrl: './process-attachments.component.html',
styleUrls: ['./process-attachments.component.css'],
providers: [
{ provide: UploadService, useClass: ProcessUploadService }
{
provide: UploadService,
useFactory: (processUploadServiceFactory),
deps: [AlfrescoApiService, AppConfigService]
}
]
})
export class ProcessAttachmentsComponent implements OnInit, OnChanges {
export class ProcessAttachmentsComponent implements OnInit, OnChanges, OnDestroy {
@ViewChild(ProcessAttachmentListComponent)
@ViewChild('processAttachList')
processAttachList: ProcessAttachmentListComponent;
@Input()
processInstanceId: string;
fileShowed = false;
content: Blob;
contentName: string;
processInstance: ProcessInstance;
constructor(private uploadService: UploadService, private processService: ProcessService) {
}
private subscriptions: Subscription[] = [];
constructor(
private uploadService: UploadService,
private processService: ProcessService,
private preview: PreviewService
) {}
ngOnInit() {
this.uploadService.fileUploadComplete.subscribe(value => this.onFileUploadComplete(value.data));
this.subscriptions.push(
this.uploadService.fileUploadComplete.subscribe(
value => this.onFileUploadComplete(value.data)
)
);
}
ngOnChanges() {
@@ -59,14 +76,17 @@ export class ProcessAttachmentsComponent implements OnInit, OnChanges {
}
}
ngOnDestroy() {
this.subscriptions.forEach(subscription => subscription.unsubscribe());
this.subscriptions = [];
}
onFileUploadComplete(content: any) {
this.processAttachList.add(content);
}
onAttachmentClick(content: any): void {
this.fileShowed = true;
this.content = content.contentBlob;
this.contentName = content.name;
this.preview.showBlob(content.name, content.contentBlob);
}
isCompletedProcess(): boolean {
@@ -1,47 +1,51 @@
<mat-tab-group [(selectedIndex)]="activeTab">
<mat-tab-group [(selectedIndex)]="activeTab" (selectedTabChange)="onTabChange($event)" data-automation-id="navigation-bar">
<mat-tab id="tasks-header" href="#tasks" label="{{'PS-TAB.TASKS-TAB' | translate}}">
<div class="page-content">
<div class="page-content" *ngIf="showTaskTab">
<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" [width]="205" 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()">
<mat-icon>assessment</mat-icon>
<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"
[headingIcon]="'assignment'">
<adf-filters
[filterParam]="{name:'MY tasks'}"
<adf-task-filters
[filterParam]="filterSelected"
[appId]="appId"
[hasIcon]="false"
(filterClick)="onTaskFilterClick($event)"
(success)="onSuccessTaskFilterList($event)"
#activitifilter>
</adf-filters>
</adf-task-filters>
</adf-accordion-group>
</adf-accordion>
</div>
<div class="adf-grid-item adf-tasks-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}"
<div class="adf-grid-item adf-tasks-list" fxFlex.gt-md="380px" [ngClass.gt-md]="{'small-pagination': true}"
*ngIf="taskFilter && !isStartTaskMode()">
<adf-tasklist
[appId]="taskFilter?.appId"
[presetColumn]="presetColoum"
[page]="taskPage"
[size]="taskPagination.maxItems"
[size]="paginationPageSize"
[processDefinitionKey]="taskFilter?.filter?.processDefinitionKey"
[name]="taskFilter?.filter?.name"
[assignment]="taskFilter?.filter?.assignment"
[state]="taskFilter?.filter?.state"
[sort]="taskFilter?.filter?.sort"
[data]="dataTasks"
[landingTaskId]="currentTaskId"
(rowClick)="onTaskRowClick($event)"
(success)="onSuccessTaskList($event)"
(row-click)="onRowClick($event)"
(row-dblclick)="onTaskRowDblClick($event)"
#activititasklist>
#taskList>
<!-- Custom column definition demo -->
<!-- <data-columns>
@@ -52,12 +56,11 @@
</adf-tasklist>
<adf-pagination
(changePageNumber)="onChangePageNumber($event)"
*ngIf="taskList"
[target]="taskList"
(changePageSize)="onChangePageSize($event)"
(nextPage)="onNextPage($event)"
(prevPage)="onPrevPage($event)"
[pagination]="taskPagination"
[supportedPageSizes]="[2, 4, 6, 8, 10, 12]">
[supportedPageSizes]="supportedPages"
#taskListPagination>
</adf-pagination>
</div>
<div class="adf-grid-item adf-tasks-details" *ngIf="!isStartTaskMode()" fxFlex.gt-md="1 1 auto">
@@ -71,7 +74,7 @@
(assignTask)="onAssignTask()"
(taskDeleted)="onTaskDeleted($event)">
</adf-task-details>
<hr>
<mat-divider></mat-divider>
<div *ngIf="currentTaskId">
{{'PS-TAB.TASK-AUDIT-LOG' | translate}}
<button
@@ -81,7 +84,7 @@
mat-icon-button (clicked)="onAuditClick($event)" (error)="onAuditError($event)">
<mat-icon>assignment_ind</mat-icon>
</button>
<hr>
<mat-divider></mat-divider>
</div>
<mat-card>
<mat-card-content>
@@ -101,24 +104,25 @@
</mat-tab>
<mat-tab id="processes-header" href="#processes"
label="{{'PS-TAB.PROCESSES-TAB' | translate}}">
<div class="page-content">
<div class="page-content" *ngIf="showProcessTab">
<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" [width]="205" 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()">
<mat-icon>assessment</mat-icon>
<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"
[headingIcon]="'assessment'">
<adf-process-instance-filters
#activitiprocessfilter
[filterParam]="{index: 0}"
[appId]="appId"
(filterClick)="onProcessFilterClick($event)"
@@ -127,16 +131,18 @@
</adf-accordion-group>
</adf-accordion>
</div>
<div class="adf-grid-item adf-processes-list adf-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}"
<div class="adf-grid-item adf-processes-list adf-list" fxFlex.gt-md="380px" [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"
[data]="dataProcesses"
[state]="processFilter?.filter?.state"
[page]="processPage"
[size]="paginationPageSize"
[sort]="processFilter?.filter?.sort"
(rowClick)="onProcessRowClick($event)"
(row-dblclick)="onProcessRowDblClick($event)"
(success)="onSuccessProcessList($event)">
@@ -148,15 +154,23 @@
</data-columns> -->
</adf-process-instance-list>
<adf-pagination
*ngIf="processList"
[target]="processList"
(changePageSize)="onChangePageSize($event)"
[supportedPageSizes]="supportedPages"
#processListPagination>
</adf-pagination>
</div>
<div class="adf-grid-item adf-processes-details" *ngIf="!isStartProcessMode()" fxFlex.gt-md="1 1 auto">
<adf-process-instance-details
#activitiprocessdetails
[processInstanceId]="currentProcessInstanceId"
(processCancelled)="processCancelled()"
(showProcessDiagram)="onShowProcessDiagram($event)"
(taskClick)="onProcessDetailsTaskClick($event)">
</adf-process-instance-details>
<hr>
<mat-divider></mat-divider>
<div *ngIf="currentProcessInstanceId">
{{'PS-TAB.PROCESS-AUDIT-LOG' | translate}}
<button adf-process-audit
@@ -167,7 +181,7 @@
(error)="onAuditError($event)">
<mat-icon>assignment_ind</mat-icon>
</button>
<hr>
<mat-divider></mat-divider>
</div>
<mat-card>
<mat-card-content>
@@ -178,7 +192,11 @@
<div class="adf-grid-item adf-processes-start" fxFlex.gt-md="1 1 auto"
*ngIf="isStartProcessMode()">
<adf-start-process
#activitiStartProcess
[appId]="appId"
[name]="defaultProcessName"
[processDefinitionName]="defaultProcessDefinitionName"
(formContentClicked)="onContentClick($event)"
(start)="onStartProcessInstance($event)"
(cancel)="onCancelProcessInstance()">
</adf-start-process>
@@ -191,7 +209,7 @@
<div class="adf-grid" fxLayout="row" fxLayout.lt-lg="column" fxLayoutAlign="stretch">
<div class="adf-grid-item adf-reports-menu" fxFlex.gt-md="300px">
<span><h5>Report List</h5></span>
<hr>
<mat-divider></mat-divider>
<analytics-report-list
[appId]="appId"
[selectFirst]="selectFirstReport"
@@ -216,12 +234,3 @@
</div>
</mat-tab>
</mat-tab-group>
<div *ngIf="fileShowed">
<adf-viewer
[(showViewer)]="fileShowed"
[blobFile]="content"
[displayName]="contentName"
[overlayMode]="true">
</adf-viewer>
</div>

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