Compare commits

..
3 Commits
Author SHA1 Message Date
Eugenio Romano 97af1267ab restore dependency 2.5.0 2018-08-14 17:12:59 +01:00
Eugenio Romano 686f534cb3 remove dependency for release time 2018-08-14 17:02:29 +01:00
Eugenio Romano 54fbe61c08 2.5.0 (#3700)
* 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

* update lock

* [ADF-3199] Datatable layout fix (#3481)

* [ADF-3193] CardView Variables Item (#3485)

* variables item

* unit tests

* translations fix

* docs added

* change requests

* change requests

* [ADF-2962] Login Hide/Show icon is not reachable (#3489)

* hide/show focused & triggered

* keyup.enter method used

* [ADF-2769] Added example page for content node selector (#3498)

* content node selector test page

* [ADF-2769] start adding more examples to node selector page

* [ADF-2769] added more example for node selector page

* [ADF-2769] added examples on node selector page

* [ADF-3267] changed true/false values showed with a readonly checkbox (#3524)

* [ADF-3238] content size min error added (#3532)

* content size min error added

* clean code

* [ADF-3266] fixed style for amount widget (#3531)

* [ADF-3268] added datetime widget for dynamic table (#3529)

* Expose uriLogout in the host setting form page (#3517)

* [ADF-2876] retrieving user from APS api and not from js-api (#3426)

* [ADF-2876] retrieving user from APS api and not from js-api

* [ADF-2876] added support by checking externalId instead of email

* [ADF-2876] fixed auth service after rebase

* [ADF-2598] Sidenav button only visible when sidenav is enebled (#3526)

* [ADF-3275] Select CardView item (#3530)

* Select card view item

* package json fix

* package json fix

* console.log removed

* Usage of generic

* [ADF-2671] added permission check on permissions (#3521)

* [ADF-2671] start adding permission check for changing permissions

* [ADF-2671] added permission check for inherit button and permission dialog

* [ADF-2671] added permission check for inherit button and permission dialog

* [ADF-2671] start fixing and adding test for new permission check

* ]
[ADF-2671] improved check for node-permission directive

* [ADF-2671] fixed and added more test for permission on permissions

* [ADF-2671] reverting change on node-permission directive

* [ADF-2671] fixing test for permission check

* [ADF-2494] Task Standalone - Provide a way to attach a form (#3459)

* button added for task standalone

* attach form component added

* slide-toggle position fixed

* tests added

* rebase fixed

* review fix

* test added & fixes

* tests fixes

* refresh task details

* tests fixed

* attachFormToATask test added

* formPreview test fixed

* adf-form test fixed

* header separator fix (#3535)

* [ADF-2348] added actions on start and cancel start process buttons (#3543)

* [ADF-3279] Initial refactoring of doc tools (#3541)

* [ADF-3279] Added timing option

* [ADF-3279] Updated to keep md files in memory during processing

* [ADF-3279] Changed read phase to use stored Markdown trees

* [ADF-3279] Renamed tool functions and removed obsolete ones

* [ADF-3279] Added progress bar and better error message handling

* [ADF-3149] New Report Issue page created (#3452)

* [ADF-3149] New Report Issue page created

* [ADF-3149] Added missing comma

* [ADF-3281] - fixed error when user try to involve people (#3538)

* [ADF-3281] moved current user retrieving in the constructor

* [ADF-3281] moved current user retrieving in the constructor #2

* Update ADF packages version 2.5.0-beta1 (#3547)

* [ADF-3294] fixed drag and drop folder to onto a folder (#3550)

* [ADF-3283] added minimatch options into the configuration to allow cu… (#3542)

* [ADF-3283] added minimatch options into the configuration to allow customisation

* [ADF-3283] added documentation

* [ADF-2671] fixed retrieving of error message (#3553)

* [ADF-3301] - added a check when handler is null (#3554)

* [ADF-3177] added general header component (#3537)

* [ADF-3177] added general header component

* [ADF-3177] added documentation and removed user info mobile behaviour

* [ADF-3177] eddited doc file

* [ADF-3177] renamed folder and style changes

* [ADF-3177] style changes

* [ADF-3177] fix tests

* [ADF-3177] fix lint errors and tests

* [APM-3177] css changes

* [ADF-3177] fix pr

* [ADF-3177] updated documentation

* [ADF-3177] expose module with old name

* [ADF-3177] expose module with old name

* [ADF-3305] change logo image directory (#3556)

* [ADF-3298] Select CardView item label removed (#3555)

* placeholder removed

* test added

* [ADF-2599] Share button disabled after clicking it fixed (#3525)

* [ADF-2599] Share button disabled after clicking it fixed

* [ADF-2599] Share button disabling attribute changed

* [ADF-2599] Trailing whitespace removed

* [ADF-3263] added extra options to upload file for upload service (#3546)

* [ADF-2765] Fix for the gallery view in datatable component (#3470)

* [ADF-2765] Fix for the gallery view in datatable component

* [ADF-2765] Fixed lint errors

* [ADF-2765] Changed maximum columns per row number

* [ADF-2765] Removed trailing whitespace

* CardViewItem in demo-shell (#3562)

* [ADF-3255] fixed remember me behaviour (#3564)

* [ADF_NOISSUE] Header image fix (#3563)

* Header image fix

* fix css

* fix title translation (#3565)

* [ADF-3292] fix reset to defaults (#3566)

* fix reset to defaults

* code fixes

* restore providers

* fix category filtering

* [ADF-3103] Task List Demo Component (#3486)

* [ADF-3103] Added Process Definition Id to task list component

* [ADF-3103] Added @input variable

* [ADF-3103] Added search inputs

* [ADF-2753] Fixed select inputs

* [ADF-3103] Improved logic and funcionality overall

* [ADF-3103] FormControl implementation

* [ADF-3103] Added AppId input

* [ADF-3103] Fixed Link errors

* [ADF-3103] Task list table hides when invalid app is selected

* [ADF-3103] Lint error

* [ADF-3103] Improved user experience

* [ADF-3103] changed formControlNames to [FormControl]

* [ADF-3103] Improved logic and added localization

* [ADF-3103] Removed whitespace

* [ADF-3103] Improved logic of task list form

* [ADF-3103] fixed trailing whitespaces

* [ADF-3103] trailing whitespace fix

* [ADF-3103] Added documentation and tests

* [ADF-3103] Added tests and documentation

* [ADF-3103] Tests fixed

* [ADF-3286] Snackbar now supports custom configuration (#3549)

* [ADF-3286] Snackbar now supports custom configuration

* [ADF-3286] Trailing whitespace removed

* [ADF-3286] Tests added

* [ADF-3286] Improved tests

* [ADF-3286] Documentation added

* [ADF-3286]  Logic improved

* [ADF-3286] Styling error fixed

* [ADF-3286] Broken tests fixed

* [ADF-3286] Broken tests fixed

* [ADF-3284] filterParam checking in onChanges (#3561)

* filterParam checking in onChanges

* test improvement

* Add e2e test in ADF main repo (#3534)

* move e2e to ADF main repo

* lint e2e test

* enable first set of tests

* enable test

* firs test js-api integrated

* try change name protractor demo shell file

* remove fdescribe

* Update .travis.yml

* exclude failing test and rewrite analytics component with JS-API

* remove fdescribe

* move first part of tests to js-api

* refactor test alfresco-js-api

* replace js-api step 3

* remove adf prefix

* remove unused code

* remove unused part 2

* add option in e2e test for single test and browser

* exclude temp failing test

* refactoring test step 1

* refactoring test step 2

* refactoring test step 3

* refactoring test step 4

* refactoring test step 5

* run against localhost and proxy options

* fix command

* improve configuration

* improve configuration

* use dev configuratio

* fix defering

* comment out not working remotely test

* fix promise login page e2e

* remove console log

* change test

* revert

* improve utils

* improve task list test
util add also numbers in generation of the email

* remove part of the multi selector

* reinsert trashcan test

* uncomment document list test

* try increase delay in search sorting

* improve document list selector

* execute different util methods

* Upload error screenshot

* make oncomplete async

* add z-finish screenshot workaround

* option save

* remove fit

* remove fit

* restore tslint file

* save screenshot files only if they are present

* Reinsert e2e tag test (#3574)

* solve rendition preview

* reinsert tag e2e

* fix tslint

* fix pack problem

* remove reload

* remove refresh

* Update ADF packages version 2.5.0-beta2 (#3569)

* [ADF-3288] Removed restrictions from upload version button docs (#3578)

* [ADF-3022] Create automated test for attachment list - processes (#3575)

* [ADF-3309] solve rendition preview (#3573)

* solve rendition preview

* fix tslint

* missing semicolon

* solve packaging issues

* reinsert maxretry logic

* [ADF-3193, ADF-3275]  CardView e2e tests (#3577)

* CardView item key-value pair and combobox tests

* Change describe title

* [ADF-3324] Preview - unshared file breaks preview (#3580)

* [ADF-3330]  Create automated tests for Uploader component (#3581)

* Upload button e2e

* improve test organization

* add dev option in test run

* Create desktop.ini

* upload component automation final step

* remove fdescribe

* ignore downloads folder

* exclude pagination

* e2e delete tag test (#3583)

* use local protractor

* [ADF-3329] datatable component e2e (#3589)

* datatable component e2e
minor fix tslint

* fix review

* [ADF-2506] Automation test for Empty process list (#3585)

* [ADF-2506] Automation test for Empty process list

* [ADF-3025] Create automated test for attachment list for tasks (#3590)

* [ADF-3025] Create automated test for attachment list for tasks

* Remove the f from describe

* [ADF-3018] Create automated test for replacing an app (#3572)

* [ADF-3018] Create automated test for replacing an app

* Use await in the test

* Fixing document list pagination test.

* Implemented delete version and delete entire app test cases.

* Added a log.

* Added the api call into protractor control flow.

* Renamed the test cases

* Commented 'Click Audit Log button' test.

* Added some in control flow.

* Changing the test rail ID.

* [ADF-3365] search filter fixes (#3594)

* preserve ordering of facet fields and queries

* update tests

* rework facet queries

* rework facet management, update unit tests

* remove unused interfaces

* fix test

* remove deprecated interfaces

* expose selection for the chip list

* [ADF-3339] added test component for header (#3576)

* [ADF-3339] added test component for header

* [APM-3339] remove lint errors

* [ADF-3339] solved lint error

* [ADF-3339] removed numbers from tests

* [ADF-1858] Automation tests for Viewer Component - Content Services (#3587)

* Automation tests for Viewer Component - Content Services

* Automation tests for Viewer component - Content Services

* Deleting alfresco-ng2-components.iml

* fix core test after e2e modify

* [ADF-3237] Change and remove form from a task (#3597)

* button added for task standalone

* rebase fixed

* review fix

* test added & fixes

* refresh task details

* change and remove form added

* localize & documentation work

* tests added

* tests fixes

* tests fixes

* [ADF-3323] Updated doc tools to use DocFX intermediate files (#3601)

* [ADF-3323] Moved source file parsing to main doc tool

* [ADF-3323] Moved source info classes

* [ADF-3323] Added doc YAML generator tool

* [ADF-3323] Added doc YAML/JSON source paths to gitignore

* [ADF-3323] Completed templates and template context code

* [ADF-3323] Added source paths and updated type linker

* [ADF-3323] Final fixes to templates and type linking

* [ADF-3323] Fixed filter for private and protected methods

* [ADF-3323] Content services docs after check and rebuild

* [ADF-3323] Updated docbuild script in package.json

* [ADF-3331] Create automated tests for Viewer component - Content Services (#3600)

* Automation tests for Viewer Component - Content Services

* Create remaining automation tests for Viewer Component - Content Services

* Deleting alfresco-ng2-components.iml

* Correcting Viewer Page for failing tests

* Updating Viewer Page for failing tests

* Improving the PR quality

* [ADF-3371] fix: Search Filter raises errors when "facetQueries" is not in config

* [ADF-3369] Add toggle for showHeaderContent property (#3603)

* Add toggle for showHeaderContent property

* Add tests for showHeaderContent property

* [ADF-3308] Process list filter by fields (#3588)

* process list component created

* process list renamed

* routing fix

* [ADF-3274] people widget instead of the people list (#3582)

* people list added

* tests added

* style fix

* Update start-task.component.ts

Use correct import

* Update people.widget.spec.ts

add the async

* peopleSelected test fixed

* [ADF-3354] accordion-group closed behaviour (#3595)

* accordion-group closed fix

* tests fixes

* tests added

* tests fixes

* Fix failing unit test and revert deleted method

* [ADF-3259] [ADF-3363] e2e login and card metadata (#3612)

* remember me

* add login component e2e test

* add success route test

* add change logo check

* redirect url after logout e2e

* move redirection test in a separate file

* login component tslint

* cardview e2e

* fix login test

* add test case number

* move version test in a separate file

* clean unused elements

* metadata part 1

* tslint fix

* fix metadata test

* remove fit

* fix formatting file viewerPage

* multi propety test

* metadata and login improvements

* fix data automation fix

* metadata permission e2e

* fix tslint problems

* improve selector

* stabilize search component test

* stabilize test step 1

* fix tag test
add config timeout

* tentative

* delay after download

* change meatdata test

* stabilize metadata

* use smaller file for not extension related test

* stabilize test step 2

* exclude failing test

* timeout fix

* split in multiple task e2e

* trick travis

* trigger build

* fix command issue

* fix save screenshot

* fix run subfolder

* test timeout increase

* protractor conf fix

* revert tests & conditions (#3619)

* Fix update-content tag documentation (#3616)

* Typo convention (#3617)

* [ADF-3367] facets multiselect fixes (#3611)

* group facet buckets by field

* unit tests and code fixes

* [ADF-3336] - added documentlist tests (#3586)

* [ADF-3336] start adding test for documentlist

* [ADF-3336] fixed test for permission message

* [ADF-3336] start adding test custom column type

* [ADF-3336] - added documentlist tests - PART I

* [ADF-3336] removed fdescribe

* [ADF-3336] fixed error on files component

* [ADF-3336] - unified all the diverging tests into one file

* [ADF-3336] fixed label for test

* [ADF-3336] removed fdescribe

* [ADF-3336] added sorting tests and some fix

* [ADF-3336] added other automations

* [ADF-3336] fixed processButton get

* [ADF-3336] stabilising some flaky tests

* [ADF-3336] added line height check

* [ADF-3336] Test that needs to be fixed

* [ADF-3336] commented failing search tests

* [ADF-3336] removed locator from test and added to page object

* ]
[ADF-3336] rebased after last changes on development

* [ADF - 3336] added more test and actions for the test

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabling disabled tests

* [ADF-3336] stabilized core tests

* [ADF-3336] fixing process service integration tests

* [ADF-3336] removed comments and skipped two tests

* [ADF-3321] Create an automated test for the Share knowledge functionality (#3623)

* Fixed metadata flaky test (#3625)

* [ADF-3385] Implementing start task - test cases (#3613)

* Implementing start task - test cases

* Removed syntax error.

* Add data-automation-id for people widget.

* [ADF-3377] Create automated tests for comments-Tasks (#3624)

* [ADF-3376] Create automated tests for comments - Process services - Process

* [ADF-3377] Create automated tests for comments - Process Services

* Updating test for comments - Processes

* Logging in with the user in the afterAll

* [ADF-3370] Create automated tests for process filters - sorting (#3605)

* [ADF-3337] Creation of automated test for new filters

* [ADF-3370] Create automated tests for process filters - sorting

* Removing the fdescibe

* Removing spaces

* Removing too many characters from a single line

* Removing fdescribe

* changes on the loginPage.js file

* Moving tests to the right folder

* Adding back the chnages on appNavigationBarPage

* Stabilize tests (#3626)

* Stabilize tests

* Added more test fixing to metadata test

* [ADF-3374] Comments -  add/view multiline comments (#3607)

* multiline comment

* add comment e2e

* fix locator syntax

* lint

* clear textarea on ESCAPE event

* multiline comment

* add comment e2e

* fix locator syntax

* lint

* clear textarea on ESCAPE event

* Create automated tests for checklist and people components (#3632)

* [ADF-3399] Create automated tests to cover Header component (#3633)

* [ADF-3388] E2e tests for notification component added (#3630)

* [ADF-3388] E2e tests for notification component added

* [ADF-3388] Added missing function

* [ADF-3406] fix chip list integration regression (#3634)

* fix chip list integration

* add unit test

* Display icon and label in adf-info-drawer-tab (#3628)

- label is not displayed in case there is an icon set on the adf-info-drawer-tab
because it is using a mat-tab-label layout

* [ADF-3407] Create automated tests for comments - Content Services (#3638)

* [ADF-3308] ProcessList Component - Provide a way to filter the list by fields (#3629)

* [ADF-3308] Removed name input added two inputs

* * [ADF-3308] Modified demo component

* [ADF-3367] Modified docs

* [ADF-3308] Added tests

* [ADF-3308] Deprecated processDefinitionKey property

* [ADF-3141] ProcessList Enanchement (#3454)

* * Process list enhancements

* * Updated doc for the recent changes

* * After rebase

* * Require changes done
* after rebase

* Fix failing unit test related to the double merge of ADF-3141 and ADF-3308 (#3642)

* [ADF-3284] ProcessFilter - preselect filter param (#3637)

* preselect filter

* tests fix

* process filter refactor

* unit tests fix

* focus tests fix

*  [ADF-3336] added more tests for Document list component (#3635)

* [ADF-3336] start adding test for documentlist

* [ADF-3336] fixed test for permission message

* [ADF-3336] start adding test custom column type

* [ADF-3336] - added documentlist tests - PART I

* [ADF-3336] removed fdescribe

* [ADF-3336] fixed error on files component

* [ADF-3336] - unified all the diverging tests into one file

* [ADF-3336] fixed label for test

* [ADF-3336] removed fdescribe

* [ADF-3336] added sorting tests and some fix

* [ADF-3336] added other automations

* [ADF-3336] stabilising some flaky tests

* [ADF-3336] added line height check

* [ADF-3336] Test that needs to be fixed

* [ADF-3336] commented failing search tests

* [ADF-3336] removed locator from test and added to page object

* ]
[ADF-3336] rebased after last changes on development

* [ADF - 3336] added more test and actions for the test

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabling disabled tests

* [ADF-3336] fixing process service integration tests

* [ADF-3336] removed comments and skipped two tests

* [ADF-3336] added thumbnails tests

* [ADF-3336] added tooltip documentlist tests

* [ADF-3336] added tooltip tests

* [ADF-3336] added gallery view tests

* [ADF-3336] removed comment

* [ADF-3336] fixed selectors and check for document list test

* remove injectable decorator from non-services (#3641)

* add missing export (#3646)

* [ADF-3417]Fixing test rail ID's (#3651)

* [ADF-3358][ADF-3359][ADF-3360] Logo link and tooltip and hex colors (#3648)

* [ADF-3358] link on logo

* [ADF-3358] test link on logo

* [ADF-3360] tooltip on logo

* [ADF-3360] update logo docs

* [ADF-3359] allow hex color codes for the background color

* [ADF-3358] better name for property

* [ADF-3103] Added new inputs, columns and overall improvement to Task List Demo (#3653)

* Added columns, inputs and error message alert

* [ADF-3103] Fixed variable name typo

* Add basic documentation

* [ADF-3421] Changed Test Rail IDs (#3654)

* [ADF-3384]  Create automated tests for Version Component (#3631)

* fix version component restore and delete event

* version manager actions

* fix test

* fix unit test

* remove fdescribe

* fix tslint

* fix screenshot rewrite problem

* remove fdescribe

* multi instance try

* remove fdescribe

* try uncomment some test

* error page

* fix user preferences pagiantion

* search page test include

* fix type tslint e2e

* restore code

* default lang momentadapter

* fix test

* [ADF-3384] removed console log from test

* [ADF-3384] adding some fixes for tests and code

* [ADF-3384] fixed some test and code

* [ADF-3358] Header - update demo shell component (#3655)

* [ADF-3358] update demo-shell header component

* [ADF-3358] style demo-shell header component

* [ADF-3299] and [ADF-3300] upgrade to Angular and Material 6 (#3579)

* upgrade to HttpClient

* upgrade to Renderer2

* upgrade Document reference

* remove useless test with deprecated ReflectiveInjector

* upgrade to latest typescript

* upgrade libs

* upgrade package scripts

* remove rxjs blacklists and duplicate rules

* add rxjs compat to help with migration

* fix breaking changes

* fix breaking changes in material

* fix breaking changes (material 6)

* upgrade rxjs, ngx-translate and flex layout

* update unit tests

* restore providers

* upgrade deprecated Observable.error

* rebase
fix first configuration problems

* fix style issues commented

* fix core build

* fix lib template errors

* move lib test execution in angular.json

* ignore

* karma conf files

* fix import statement test

* single run option

* update packages reporter

* restore report

* increase timeout

* improve karma conf test configuration

* fix test issues about lint

* fix test analytics

* fix process service test

* content service fix test

* fix logout directive test

* fix core test

* fix build

* update node-sass to latest

* update angular cli dependencies

* improve build script

create directorites and move files only if previous command succeded

* upgrade individual libs to 6.0

* remove old webpack files

* revert sass change

* fix type issues
fix style issues

* fix tslint demo shell issue

* fix peerdependencies

* fix test e2e BC

* package upate

* fix style import issue

* extract-text-webpack-plugin beta

* fix test dist build command

* remove alpha js-api

* fix tslint issue
add banner tslint rule

* upload service fix

* change BC script

* fix test dist script

* increase demo shell timeout test

* verbose copy

* path absolute

* fix script bc

* fix copy part

* fix path warning
fix monaco editor

* remove duplicate header

* remove unused import

* fix align and check ago tests

* add missing import

* fix notification button selector

* [ANGULAR6] fixed core tests

* fix CS test

* fix cs test step 2

* increase travis_wait for dist

* fix attachment PS

* fix checklist test

* use pdf min

* E2E for multiselect facet search (#3657)

* stop script after test execution

* try to verbose output

* fix wrong import

* [ADF-3323] Fixed broken links in doc files (#3662)

* [ADF-3323] Fixed URL path to Typescript source files

* [ADF-3323] Fixed and checked broken links caused by previous bug

* [ADF-3418] added new languages strings for translation (#3663)

* [ADF-3418] added new languages strings for translation

* [ADF-3418] fixed some missing translation key

* [ADF-3400] fix buckets update on search filter (#3644)

* [ADF-3400] fix buckets update on search filter

* [ADF-3400] test facetFields bucket updates

* [ADF-3400] clean tests

* [ADF-3425] Minor edits to doc files (#3667)

* [ADF-3414] Create automated test for Attach form component (#3665)

* fix problems with rxjs imports

* fix timeout demo shell test

* fix broken test after correction i18n

* [ADF-3372] Added toggle and global configuration to display metadata (#3636)

* [ADF-3372] Added toggle and global configuration to display metadata

* [ADF-3372] Fixed typo in shcema.json

* [ADF-3372] Removed unnecessary variables and variable name changed

* [ADF-3372] Fixed unit test

* [ADF-3372] Improved logic

* [ADF-3372] Improved Metadata component html logic

* [ADF-3372] Demoshell variable from app.config.json removed

* [ADF-3372] fixed bugs and tests

* [ADF-3372] fixed some error in tests

* [ADF-3372] fixed some wrong compilation in test

* [ADF-3372] fixed wrong locator

* [ADF-3372] fixed randomly failing tests

* [ADF-2669] fixed style for confim buttons (#3668)

* [ADF-3380] lazy loading fixes (#3609)

* lazy loading file viewer

* fix issue with CoreModule referencing

* fix issue with app config and lazy loading

* test fixes

* fix import

* lazy loading workaround for content module

* fix providers for lazy loading

* fix tests

* lazy loading for Process Services lib

* lazy loading for Insights, module cleanup

* fix issue with Translate module, optimise imports

* lazy-load blob viewer (demo shell)

* remove duplicate pdf init

* update to more stable pdfjs

* fix license header

* fix lint issues

* fix test import

* fix pdf version

* fix search filter automation id

* demo shell headless chrome

* remove app.component.spec

* reinsert fdescribe ban

* make tag test fater

* move creation PR Docker at the end before after e2e

* [ADF-3284] ProcessFilter - the method ngOnChange doesn't check the property filterParam (e2e) (#3660)

* E2E for process filters urls

* Putting the test in an existing spec

* E2E test default properties (#3671)

* [ADF-3335] Task filter e2e tests (#3614)

* [ADF-3335] Automation Tests for Tasks Filter component

* [ADF-3335] Changed " for \'

* [ADF-3335] Solved style issues

* Update task_filters_component.e2e.ts

* [ADF-3335] Added missing parentheses

* [ADF-3335] Added missing bracket

* [ADF-3335] Improved data automation selectors

* e2e test error page and fix  (#3672)

* fix wrong input parameter functionality

* not reload the page to go to the content service page

* navigate instead to reload to go to the process service page

* [ADF-3439] Update automated tests for Header component (#3673)

* [ADF-3439] Update automated tests for Header component

* small change

* removing unused import

* [no-issue-e2e] directive crete folder new e2e (#3677)

* new folder directive e2e

* fix search test

* fix pr-deploy script

* node 10 travis

* fix pdf worker

* fix mat datetime picker regression

* build fix

* lock file

* fix title viewer issues of priority between name display and real name

* single place to init pdf viewer

* fix placeholder align problem in form

* reload document list after successfully edit node

* fix placeholder people

* [e2e] Added document list actions [E2E] (#3676)

* [e2e] Added document list actions e2e 1

* [e2e - actions] added another test

* [ADF-3103] Added new inputs & columns Task List Demo - Rebase (#3659)

* Added columns, inputs and error message alert

* Add basic documentation

* [ADF-3101] Trailing whitespaces removed

* [ADF-3409] [ADF-3413] Standalone task - Attach/Remove forms bugs (#3670)

* Fix 3409 disable button logic
Fix 3413 change the formName based on selected form

* [ADF-3409] fixed missing import

* [ADF-3409] fixed Observable.of in of

* [ADF-3450] remove css override background color, is already manged by the material component (#3685)

* [ADF-3435][ADF-3436] fix search chips (#3681)

* fix chip list remove

* fix tests

* better find criteria

* swap to fix e2e test

* set 'expanded' for facetFields from config

* fix e2e test

* remove comments

* [ADF-3424] Start task - Object display instead of value for assignee (#3679)

* object input fix

* tests focus fix

* validate config in test also

* remove typo

* viewer fixes for demo shell (#3686)

* remove viewer wrong behavior test if you want not have the toolbar there are other properties

* update docs to remove deprecated feature

* update redame scripts folder (#3689)

* [ADF-3435][ADF-3436]  fix schema json (#3688)

* fix schema json

* fix description

* update search config from documentation

* use default page size for wrong parameter value (#3687)

* move creation day form external class const to not be saved from the "optimization"

* fix core unit test

* stabilize PS e2e

* [3463] add missing informations to report diagram (#3690)

* fix demo shell permission error message

* move back travis node 8

* add option to run remote selenium server

* fix node version

* fix version node sass

* fix documentation header layout

* [ADF-2629] Fix infinite pagination and e2e parallel task (#3691)

* change infinite pagination logic
make merge in share adapter a real merge

* missing semi column

* type problem

* fix pagination infinite test

* tentative file detector

* add other remote files for webdriver

* parallel execution test

* fix refresh browser e2e

* missing driver remote in util

* observable fix (#3692)

* [ADF-3362][ADF-3361] Search on document picker with custom site list - fix (#3592)

* [ADF-3362] Search on document picker with custom site list - fix

* refactor & fix ADF-3361 & ADF-3362

* [ADF-3361][ADF-3362] set spy on the right method

* [ADF-3361][ADF-3362] fix tests

* [ADF-3361][ADF-3362] set constant

* [ADF-3361][ADF-3362] remove unused method

* [ADF-3361][ADF-3362] more relevant tests related to the fix

* [ADF-3362] refactor method

* [ADF-3362] fix tslint errors

* remove pagination override

* [ADF-3467] force the input to be updated when user type for removing … (#3693)

* [ADF-3467] force the input to be updated when user type for removing placeholder

* [ADF-3467] fixed error when search page is opened without any parameters to search

* [ADF-3456] DocumentList - context menu (#3694)

* refactor context menu

* prune log

* remove fdescribe

* remove undescore from private

* fix e2e action buttons

* fix trailing space

* remove fdescribe

* ADF-3474 demo shell process list fix column

* [ADF-3432 ]Added size and page control to task list demo (#3674)

* [ADF-3432] Added size and page control to task listdemo

* [ADF-3432] Removed console log

* [ADF-3432] Errors catched on TaskList component when a bad query is made

* [ADF-3432] It reloads task list content when form is reset

* [ADF-3432] Fixed missing whitespace lint error

* remove unused dependency

* default add comment button translation (#3696)

* [ADF-3473] Show complete button when you can't attach a form (#3695)

* ADF-3473 show complete button

* fix isCompletedTask case

* fix single run test option

* [Dem0 shell] increase default time to message in order to help the e2e

* rename version test describe e2e

* [ADF-3473] added check for no form to not be showed when a form is attached and showed (#3699)

* [ADF-3459] fix datepicker validation regression (#3697)

* fix datepicker validation regression

* improved validation message

* update libs

* exclude validators in readonly mode forms

* 2.5.0 update version
2018-08-14 16:50:12 +01:00
7787 changed files with 268603 additions and 603450 deletions
-17
View File
@@ -1,17 +0,0 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major version
last 2 iOS major versions
Firefox ESR
not IE 9-11 # For IE 9-11 support, remove 'not'.
+1 -14
View File
@@ -1,25 +1,12 @@
.git
.github
.vscode
assets
coverage
docs
e2e
e2e-output
node_modules
scripts
src
lib
integration
tools
demo-shell/src/
demo-shell/resources/
/angular.json
/desktop.ini
/cspell.json
/CODE_OF_CONDUCT.md
/.stylelintignore
/ALFRESCOCORS.md
/CONTRIBUTING.md
/appveyor.yml
/BROWSER-SUPPORT.md
/demo-shell/config/
-8
View File
@@ -13,14 +13,6 @@ trim_trailing_whitespace = true
indent_style = space
indent_size = 2
[*.yaml]
indent_style = space
indent_size = 2
[*.yml]
indent_style = space
indent_size = 2
[*.md]
max_line_length = off
trim_trailing_whitespace = false
-11
View File
@@ -1,11 +0,0 @@
.angular
nxcache
node_modules
dist
coverage
.github
.vscode
scripts
/angular.json
docs/**/*.md
lib/js-api/docs/**/*.md
-200
View File
@@ -1,200 +0,0 @@
module.exports = {
root: true,
ignorePatterns: [
'projects/**/*',
'**/node_modules/**/*',
'lib/cli/node_modules/**/*',
'**/node_modules',
'**/docker',
'**/assets',
'**/scripts',
'**/docs'
],
plugins: ['@nrwl/nx'],
overrides: [
{
files: ['*.ts'],
parserOptions: {
project: ['tsconfig.json', 'e2e/tsconfig.e2e.json'],
createDefaultProgram: true
},
extends: [
'plugin:@nrwl/nx/typescript',
'plugin:@nrwl/nx/angular',
'plugin:@cspell/recommended',
'plugin:@angular-eslint/ng-cli-compat',
'plugin:@angular-eslint/ng-cli-compat--formatting-add-on',
'plugin:@angular-eslint/template/process-inline-templates',
'plugin:jsdoc/recommended-typescript-error'
],
plugins: [
'eslint-plugin-unicorn',
'eslint-plugin-rxjs',
'prettier',
'ban',
'license-header',
'@cspell',
'eslint-plugin-import',
'@angular-eslint/eslint-plugin',
'@typescript-eslint',
'jsdoc'
],
rules: {
// Uncomment this to enable prettier checks as part of the ESLint
// 'prettier/prettier': 'error',
'ban/ban': [
'error',
{ name: 'eval', message: 'Calls to eval is not allowed.' },
{ name: 'fdescribe', message: 'Calls to fdescribe is not allowed' },
{ name: 'fit', message: 'Calls to fit is not allowed' },
{ name: 'xit', message: 'Calls to xit is not allowed' },
{ name: 'xdescribe', message: 'Calls to xdescribe is not allowed' },
{ name: ['test', 'only'], message: 'Calls to test.only is not allowed' },
{ name: ['describe', 'only'], message: 'Calls to describe.only is not allowed' }
],
'@angular-eslint/component-selector': [
'error',
{
type: 'element',
prefix: ['adf', 'app'],
style: 'kebab-case'
}
],
'@angular-eslint/directive-selector': [
'error',
{
type: ['element', 'attribute'],
prefix: ['adf', 'app'],
style: 'kebab-case'
}
],
'@angular-eslint/no-host-metadata-property': 'off',
'@angular-eslint/no-input-prefix': 'error',
'@typescript-eslint/consistent-type-definitions': 'error',
'@typescript-eslint/dot-notation': 'off',
'@typescript-eslint/explicit-member-accessibility': [
'off',
{
accessibility: 'explicit'
}
],
'@typescript-eslint/await-thenable': 'error',
'@typescript-eslint/prefer-optional-chain': 'warn',
'@typescript-eslint/no-inferrable-types': 'off',
'@typescript-eslint/no-require-imports': 'off',
'@typescript-eslint/no-var-requires': 'error',
'@typescript-eslint/naming-convention': [
'error',
{
selector: [
'classProperty',
'objectLiteralProperty',
'typeProperty',
'classMethod',
'objectLiteralMethod',
'typeMethod',
'accessor',
'enumMember'
],
format: null,
modifiers: ['requiresQuotes']
}
],
'@typescript-eslint/member-ordering': 'off',
'prefer-arrow/prefer-arrow-functions': 'off',
'prefer-promise-reject-errors': 'error',
'brace-style': 'off',
'@typescript-eslint/brace-style': 'error',
'comma-dangle': 'error',
'default-case': 'error',
'import/order': 'off',
'max-len': [
'error',
{
code: 240
}
],
'no-bitwise': 'off',
'no-console': [
'error',
{
allow: [
'warn',
'dir',
'timeLog',
'assert',
'clear',
'count',
'countReset',
'group',
'groupEnd',
'table',
'dirxml',
'error',
'groupCollapsed',
'Console',
'profile',
'profileEnd',
'timeStamp',
'context'
]
}
],
'no-duplicate-imports': 'error',
'no-multiple-empty-lines': 'error',
'no-redeclare': 'error',
'no-return-await': 'error',
'rxjs/no-create': 'error',
'rxjs/no-subject-unsubscribe': 'error',
'rxjs/no-subject-value': 'error',
'rxjs/no-unsafe-takeuntil': 'error',
'unicorn/filename-case': 'error',
'@typescript-eslint/no-unused-expressions': [
'error',
{
allowShortCircuit: true,
allowTernary: true
}
],
'license-header/header': [
'error',
[
'/*!',
' * @license',
' * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.',
' *',
' * 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.',
' */'
]
]
}
},
{
files: ['*.html'],
extends: ['plugin:@angular-eslint/template/recommended', 'plugin:@angular-eslint/template/accessibility'],
rules: {}
},
{
files: ['*.spec.ts'],
plugins: ['@alfresco/eslint-angular'],
rules: {
'@alfresco/eslint-angular/no-angular-material-selectors': 'error'
}
},
{
files: ['*.ts'],
extends: ['plugin:@angular-eslint/template/process-inline-templates'],
excludedFiles: ['*.spec.ts']
}
]
};
-18
View File
@@ -1,18 +0,0 @@
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# these users will be requested for
# review when someone opens a pull request.
* @eromano @popovicsandras @DenysVuika
# Order is important; the last matching pattern takes the most
# precedence. When someone opens a pull request that only
# modifies JS files, only @js-owner and not the global
# owner(s) will be requested for a review.
/e2e/ @eromano @cristinaj
# The `docs/*` pattern will match files like
# `docs/getting-started.md` but not further nested files like
# `docs/build-app/troubleshooting.md`.
/docs/ @m-hulbert @eromano
@@ -1,92 +0,0 @@
name: Append content to Artifact
description: 'Allow the user to append content to an existing artifact'
inputs:
artifact-name:
description: 'The name of the artifact'
required: true
type: string
file-name:
description: 'The name of the file with extension created in the artifact'
required: true
type: string
content:
description: 'The content to append'
type: string
default: ""
runs:
using: "composite"
steps:
- run: echo "Artifact Append"
shell: bash
- name: Download artifact
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
with:
name: ${{ inputs.artifact-name }}
pattern: ${{ inputs.artifact-name }}-*
merge-multiple: true
- run: ls
shell: bash
- name: Append content
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
env:
contentFile: ${{ inputs.content }}
fileName: ${{ inputs.file-name }}
with:
script: |
const fs = require('fs');
const affectedLib = process.env.contentFile;
const fileName = process.env.fileName;
core.info(`Input Filename: ${fileName}`);
core.info(`Input content: ${affectedLib}`);
const content = read(fileName)
core.info(`File content: ${content}`);
appendContent(content, affectedLib);
function read(filename) {
try {
const contentFile = fs.readFileSync(filename, 'utf8').replace('\n','');
return contentFile;
} catch (err) {
core.error(err);
}
}
function write(filename, content) {
try {
fs.writeFileSync(filename, content);
} catch (err) {
core.error(err);
}
}
function appendContent(content, append) {
let changedContent;
const libs = content.split(' ');
if (libs?.length>0) {
if (libs.length === 1 && libs[0] === '') {
libs[0] = append;
changedContent = libs[0];
}
else if (!libs.includes(append)) {
libs.push(append);
changedContent = libs.join(' ');
} else {
core.info(`Lib ${append} already affected`);
}
}
if (changedContent != undefined){
core.info(`File content append: ${changedContent}`)
write(fileName, changedContent);
}
}
- name: Upload artifact
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
with:
name: ${{ inputs.artifact-name }}
path: ${{ inputs.file-name }}
@@ -1,42 +0,0 @@
name: Extract Artifact
description: 'Allow the user to extract content from an artifact'
inputs:
artifact-name:
description: 'The name of the artifact'
required: true
type: string
file-name:
description: 'The name of the file with extension created in the artifact'
required: true
type: string
content:
description: 'The init content the file should have'
type: string
default: ""
outputs:
result:
description: "the value extrated from the file inside the artifact"
value: ${{ steps.extract.outputs.result }}
runs:
using: "composite"
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- run: echo "Artifact Extract"
shell: bash
- name: Download artifact
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
with:
name: ${{ inputs.artifact-name }}
pattern: ${{ inputs.artifact-name }}-*
merge-multiple: true
- id: extract
shell: bash
run: |
value=`cat ${{ inputs.file-name }}`
echo "print $value"
echo "result=$value" >> $GITHUB_OUTPUT
@@ -1,32 +0,0 @@
name: Initialize Artifact
description: 'Allow the user to initialize an empty artifact used globally'
inputs:
artifact-name:
description: 'The name of the artifact'
required: true
type: string
file-name:
description: 'The name of the file with extension created in the artifact'
required: true
type: string
content:
description: 'The init content the file should have'
type: string
default: ""
runs:
using: "composite"
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Create empty artifact
shell: bash
run:
echo "${{inputs.content}}" > ${{ inputs.file-name }}
- name: Upload artifact
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
with:
name: ${{ inputs.artifact-name }}
path: ${{ inputs.file-name }}
-76
View File
@@ -1,76 +0,0 @@
name: "before-install"
description: "launch before_install.sh and then parse env vars"
inputs:
act:
description: 'enable act debug'
required: false
type: boolean
default: 'false'
runs:
using: "composite"
steps:
- name: Before install
if: ${{ ! env.ACT }}
shell: bash
run: |
pip install --user --quiet awscli
- name: base vars
shell: bash
run: |
{
echo "GIT_HASH=$(git rev-parse HEAD)";
echo "BASE_HASH=$(git merge-base origin/${GITHUB_BASE_REF} HEAD)";
echo "HEAD_HASH=HEAD";
echo "HEAD_COMMIT_HASH=${GH_COMMIT}";
echo "NX_CALCULATION_FLAGS=--all";
echo "BUILD_OPTS=--configuration production";
echo CI_FORCE_RUN=false;
echo NODE_VERSION=$(node -v);
} >> $GITHUB_ENV
- name: affected:* flag parser
shell: bash
if: ${{ contains(github.event.head_commit.message , '[affected:*]') }}
run: |
echo "Setting up CI to run with commit flag [affected:*] flag."
echo "BREAK_ACTION=true" >> $GITHUB_ENV
- name: PULL_REQUEST event
if: ${{ env.BREAK_ACTION == false && github.event_name == 'pull_request' && !github.event.pull_request.merged }}
shell: bash
run: |
echo "Setting up CI flags for Pull Request event"
NX_CALCULATION_FLAGS="--base=origin/${GITHUB_BASE_REF} --head=$HEAD_HASH"
{
echo "NX_CALCULATION_FLAGS=$NX_CALCULATION_FLAGS";
echo "BASE_HASH=origin/${GITHUB_BASE_REF}";
echo "BREAK_ACTION=true";
} >> $GITHUB_ENV
- name: RELEASE on master/develop patch branch
if: ${{ env.BREAK_ACTION == false && github.event.pull_request.merged }}
shell: bash
run: |
if [[ "${{ github.ref_name }}" =~ ^master(-patch.*)?$ ]]; then
# into master(-patch*)
echo "Setting up CI flags for Push on master patch"
elif [[ "${{ github.ref_name }}" =~ ^develop-patch.*$ ]]; then
# into develop-patch*
echo "Setting up CI flags for Push develop patch"
else
echo "Setting up CI flags for Push on develop branch"
# base=$(git describe --tags $(git rev-list --tags --max-count=1))
# we publish always all the libs until we don't handle partial release
echo "NX_CALCULATION_FLAGS=--all" >> $GITHUB_ENV
fi
echo "BREAK_ACTION=true" >> $GITHUB_ENV
- name: SCHEDULE event
if: ${{ github.event_name == 'schedule' }}
shell: bash
env:
EV_NAME: ${{ github.event_name }}
run: |
echo "Setting up CI to run on SCHEDULE"
echo "NX_CALCULATION_FLAGS=--all" >> $GITHUB_ENV
@@ -1,27 +0,0 @@
name: "Download build artifacts"
description: "Download build artifacts"
runs:
using: "composite"
steps:
- name: download and extract artifacts from s3
shell: bash
env:
REMOTE_PATH: "alfresco-ng2-components/build-cache/${{ github.run_id }}"
run: |
packages=( dist nxcache node_modules )
for i in "${packages[@]}"; do
time aws s3 cp --no-progress s3://${S3_BUILD_BUCKET_SHORT_NAME}/${REMOTE_PATH}/$i.tar.gz $i.tar.gz
du -h $i.tar.gz
time tar xzf $i.tar.gz
done
- name: show files
shell: bash
run: |
pwd
ls -lha
echo "====DIST===="
find dist -maxdepth 1 -type d
echo "====NXCACHE===="
find nxcache -maxdepth 1 -type d
echo "====ADF===="
find node_modules/@alfresco/ -maxdepth 1 -type d
-204
View File
@@ -1,204 +0,0 @@
name: "e2e"
description: "e2e"
inputs:
e2e-test-id:
description: "Test id"
required: true
e2e-artifact-id:
description: "Artifact id"
required: true
e2e-test-folder:
description: "Test folder"
required: true
e2e-test-provider:
description: "Test provider"
required: true
e2e-test-auth:
description: "Test auth"
required: true
output:
description: "Output path"
required: true
check-cs-env:
required: true
description: check cs env
default: "false"
check-ps-env:
required: true
description: check ps env
default: "false"
check-external-cs-env:
required: true
description: check external cs env
default: "false"
check-ps-cloud-env:
required: true
description: check ps cloud env
default: "false"
e2e-tar-name: #
description: tarball name
required: false
default: e2e.tar.gz
apa-proxy: #
description: "proxy host"
required: true
deps:
description: "Library dependencies"
required: false
default: ""
runs:
using: "composite"
steps:
- name: Determine if affected
shell: bash
id: determine-affected
run: |
isAffected=false
affectedLibs=$(npx nx print-affected --type=lib --select=projects ${NX_CALCULATION_FLAGS} --plain)
if [[ $affectedLibs =~ "${{ inputs.e2e-test-id }}" ]]; then
isAffected=true
fi;
echo "Determine if ${{ inputs.e2e-test-id }} is affected: $isAffected";
echo "isAffected=$isAffected" >> $GITHUB_OUTPUT
- name: print value
shell: bash
run: |
echo "value: ${{ steps.determine-affected.outputs.isAffected }}"
- name: use APA as PROXY host if apa-proxy is set
shell: bash
run: |
if [[ -n "${{ inputs.apa-proxy }}" ]]; then
echo "APA proxy set."
echo "PROXY_HOST_BPM=${E2E_HOST_APA}" >> $GITHUB_ENV
echo "PROXY_HOST_ECM=${E2E_IDENTITY_HOST_APA}" >> $GITHUB_ENV
echo "HOST_SSO=${E2E_IDENTITY_HOST_APA}" >> $GITHUB_ENV
fi
- name: install aws cli
shell: bash
run: pip install awscli
- name: download smartrunner test results from s3 bucket if they exist
shell: bash
env:
REMOTE_PATH: smart-runner/${{ github.run_id}}/${{ inputs.e2e-test-folder }}-${{ inputs.e2e-artifact-id}}/e2e.tar.gz
run: |
set -u;
mkdir -p "${SMART_RUNNER_PATH}"
if [[ $(aws s3 ls "s3://${S3_BUILD_BUCKET_SHORT_NAME}/adf/${REMOTE_PATH}" > /dev/null; echo $?) -eq 0 ]]; then
echo "downloading test files"
aws s3 cp "s3://${S3_BUILD_BUCKET_SHORT_NAME}/adf/${REMOTE_PATH}" .;
tar xzf ${{ inputs.e2e-tar-name }};
else
echo "nothing to download";
fi
- name: check EXTERNAL-CS is UP
shell: bash
if: ${{ inputs.check-external-cs-env == 'true' && steps.determine-affected.outputs.isAffected == 'true' }}
run: |
echo "running: check EXTERNAL-CS is UP"
set -u;
./node_modules/@alfresco/adf-cli/bin/adf-cli \
check-cs-env \
--host "$EXTERNAL_ACS_HOST" \
-u "$E2E_USERNAME" \
-p "$E2E_PASSWORD" || exit 1
- name: Check CS is UP
shell: bash
if: ${{ inputs.check-cs-env == 'true' && steps.determine-affected.outputs.isAffected == 'true' }}
run: |
echo "Running: Check CS is UP"
set -u;
./node_modules/@alfresco/adf-cli/bin/adf-cli \
check-cs-env \
--host "$E2E_HOST" \
-u "$E2E_USERNAME" \
-p "$E2E_PASSWORD" || exit 1
- name: check PS is UP
shell: bash
if: ${{ inputs.check-ps-env == 'true' && steps.determine-affected.outputs.isAffected == 'true' }}
run: |
echo "Running: check PS is UP"
set -u;
./node_modules/@alfresco/adf-cli/bin/adf-cli init-aps-env \
--host "$E2E_HOST" \
-u "$E2E_USERNAME" \
-p "$E2E_PASSWORD" \
--license "$AWS_S3_BUCKET_ACTIVITI_LICENSE" || exit 1
- name: check PS-CLOUD is UP
shell: bash
if: ${{ inputs.check-ps-cloud-env == 'true' && steps.determine-affected.outputs.isAffected == 'true' }}
run: |
echo "running: check PS-CLOUD is UP"
set -u;
./node_modules/@alfresco/adf-cli/bin/adf-cli init-aae-env \
--oauth "$E2E_IDENTITY_HOST_APA" \
--host "$E2E_HOST_APA" \
--modelerUsername "$E2E_MODELER_USERNAME" \
--modelerPassword "$E2E_MODELER_PASSWORD" \
--devopsUsername "$E2E_DEVOPS_USERNAME" \
--devopsPassword "$E2E_DEVOPS_PASSWORD" \
--clientId 'alfresco' || exit 1
- name: variables sanitization
env:
FOLDER: "${{ inputs.e2e-test-folder }}"
PROVIDER: "${{ inputs.e2e-test-provider }}"
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
DEPS: "${{ inputs.deps }}"
shell: bash
run: |
set -u;
echo $PROXY_HOST_BPM
echo "GIT_HASH=$GIT_HASH" >> $GITHUB_ENV
- name: run test
id: e2e_run
if: ${{ steps.determine-affected.outputs.isAffected == 'true' }}
env:
FOLDER: "${{ inputs.e2e-test-folder }}"
PROVIDER: "${{ inputs.e2e-test-provider }}"
AUTH_TYPE: "${{ inputs.e2e-test-auth }}"
E2E_TEST_ID: "${{ inputs.e2e-test-id }}"
DEPS: "${{ inputs.deps }}"
shell: bash
run: |
set -u;
if [[ ${{ inputs.e2e-test-folder }} == 'content-services/upload' ]]; then
export DISPLAY=:99
chromedriver --url-base=/wd/hub &
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "$DEPS" "browser" || exit 1
else
bash ./scripts/github/e2e/e2e.sh "$E2E_TEST_ID" "$DEPS" || exit 1
fi
- name: Trace failing e2e
if: ${{ steps.determine-affected.outputs.isAffected == 'true' && github.event_name == 'schedule' && failure() }}
uses: ./.github/actions/artifact-append
with:
artifact-name: "global-e2e-result-${{ inputs.e2e-test-id }}"
file-name: e2e-failures.txt
content: "${{ inputs.e2e-test-id }}"
- name: upload artifacts on gh
id: upload_gh
if: ${{ steps.determine-affected.outputs.isAffected == 'true' }}
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
with:
name: e2e-artifact-output-${{inputs.e2e-artifact-id}}
path: /home/runner/work/alfresco-ng2-components/alfresco-ng2-components/e2e-output-*
- name: upload smart-runner tests results on s3 to cache tests
shell: bash
if: always()
env:
REMOTE_PATH: "smart-runner/${{ github.run_id}}/${{ inputs.e2e-test-folder }}-${{inputs.e2e-artifact-id}}/e2e.tar.gz"
# description: always upload newer results
run: |
tar czf "${{ inputs.e2e-tar-name }}" "${SMART_RUNNER_PATH}"
aws s3 cp "${{ inputs.e2e-tar-name }}" "s3://${S3_BUILD_BUCKET_SHORT_NAME}/adf/${REMOTE_PATH}"
-30
View File
@@ -1,30 +0,0 @@
name: 'enable dryrun'
description: 'check if must run pipeline in dryrun mode'
inputs:
dry-run-flag:
description: 'enable dryrun'
required: false
type: boolean
default: true
outputs:
dryrun:
description: "long sha of the tag"
value: ${{ steps.dryrun.outputs.dryrun }}
runs:
using: "composite"
steps:
- name: set dryrun flag to TRUE
shell: bash
id: dryrun
run: |
if [[ '${{ inputs.dry-run-flag }}' == 'true' ]]; then
echo "dryrun=--dryrun" >> $GITHUB_OUTPUT;
echo "enabling dryrun"
else
echo "dryrun=" >> $GITHUB_OUTPUT;
echo "dryrun NOT enabled"
fi
@@ -1,19 +0,0 @@
name: 'Get tag sha'
description: 'get the sha of the latest or a specific tag'
outputs:
tag_sha:
description: "long sha of the tag"
value: ${{ steps.sha_out.outputs.tag_sha }}
runs:
using: "composite"
steps:
- name: get tag short sha
shell: bash
id: sha_out
run: |
tag_sha=$(git rev-list -n 1 $(git tag --sort=-creatordate | head -n 1))
echo "tag_sha=$tag_sha" >> $GITHUB_OUTPUT
echo $tag_sha
@@ -1,26 +0,0 @@
name: 'Check NPM bundle'
description: 'check npm bundle'
inputs:
branch_name:
description: "override GITHUB_REF_NAME"
required: false
default: $GITHUB_REF_NAME
runs:
using: "composite"
steps:
- name: load "NPM TAG"
uses: ./.github/actions/set-npm-tag
with:
branch_name: ${{ inputs.branch_name }}
- name: check npm bundle
shell: bash
id: sha_out
run: |
if [[ -z $TAG_NPM ]]; then
echo "TAG_NPM not set, aborting"
exit 1
fi
./scripts/github/build/npm-check-bundles.sh
@@ -1,21 +0,0 @@
name: "print affected libs"
description: "Retrive the affected libs based on the based and head input"
inputs:
base:
description: 'the base sha'
required: true
type: string
default: main
head:
description: 'the head sha'
required: true
type: string
default: HEAD
output:
affected:
description: 'the affected libs of the repo'
affected_is_empty:
description: 'true or false accondingly'
runs:
using: "node16"
main: 'dist/index.js'
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-476
View File
@@ -1,476 +0,0 @@
{
"name": "print-affected-libs",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "print-affected-libs",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/exec": "^1.1.1",
"@actions/github": "^5.1.1"
},
"devDependencies": {
"@vercel/ncc": "^0.36.1"
}
},
"node_modules/@actions/core": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
"dependencies": {
"@actions/http-client": "^2.0.1",
"uuid": "^8.3.2"
}
},
"node_modules/@actions/exec": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
"integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
"dependencies": {
"@actions/io": "^1.0.1"
}
},
"node_modules/@actions/github": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz",
"integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==",
"dependencies": {
"@actions/http-client": "^2.0.1",
"@octokit/core": "^3.6.0",
"@octokit/plugin-paginate-rest": "^2.17.0",
"@octokit/plugin-rest-endpoint-methods": "^5.13.0"
}
},
"node_modules/@actions/http-client": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz",
"integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==",
"dependencies": {
"tunnel": "^0.0.6"
}
},
"node_modules/@actions/io": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
},
"node_modules/@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"dependencies": {
"@octokit/types": "^6.0.3"
}
},
"node_modules/@octokit/core": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
"integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
"dependencies": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.3",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"dependencies": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"dependencies": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/openapi-types": {
"version": "12.11.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
"integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ=="
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "2.21.3",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz",
"integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==",
"dependencies": {
"@octokit/types": "^6.40.0"
},
"peerDependencies": {
"@octokit/core": ">=2"
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "5.16.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz",
"integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==",
"dependencies": {
"@octokit/types": "^6.39.0",
"deprecation": "^2.3.1"
},
"peerDependencies": {
"@octokit/core": ">=3"
}
},
"node_modules/@octokit/request": {
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
"integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
"dependencies": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.7",
"universal-user-agent": "^6.0.0"
}
},
"node_modules/@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"dependencies": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"node_modules/@octokit/types": {
"version": "6.41.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
"integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
"dependencies": {
"@octokit/openapi-types": "^12.11.0"
}
},
"node_modules/@vercel/ncc": {
"version": "0.36.1",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.36.1.tgz",
"integrity": "sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==",
"dev": true,
"bin": {
"ncc": "dist/ncc/cli.js"
}
},
"node_modules/before-after-hook": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
},
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"node_modules/is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/node-fetch": {
"version": "2.6.11",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
"integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
},
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
"encoding": {
"optional": true
}
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"node_modules/tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
"engines": {
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
}
},
"node_modules/universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"node_modules/uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
}
},
"dependencies": {
"@actions/core": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
"requires": {
"@actions/http-client": "^2.0.1",
"uuid": "^8.3.2"
}
},
"@actions/exec": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
"integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
"requires": {
"@actions/io": "^1.0.1"
}
},
"@actions/github": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz",
"integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==",
"requires": {
"@actions/http-client": "^2.0.1",
"@octokit/core": "^3.6.0",
"@octokit/plugin-paginate-rest": "^2.17.0",
"@octokit/plugin-rest-endpoint-methods": "^5.13.0"
}
},
"@actions/http-client": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz",
"integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==",
"requires": {
"tunnel": "^0.0.6"
}
},
"@actions/io": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
},
"@octokit/auth-token": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
"requires": {
"@octokit/types": "^6.0.3"
}
},
"@octokit/core": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
"integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
"requires": {
"@octokit/auth-token": "^2.4.4",
"@octokit/graphql": "^4.5.8",
"@octokit/request": "^5.6.3",
"@octokit/request-error": "^2.0.5",
"@octokit/types": "^6.0.3",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/endpoint": {
"version": "6.0.12",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
"requires": {
"@octokit/types": "^6.0.3",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/graphql": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
"requires": {
"@octokit/request": "^5.6.0",
"@octokit/types": "^6.0.3",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/openapi-types": {
"version": "12.11.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
"integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ=="
},
"@octokit/plugin-paginate-rest": {
"version": "2.21.3",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz",
"integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==",
"requires": {
"@octokit/types": "^6.40.0"
}
},
"@octokit/plugin-rest-endpoint-methods": {
"version": "5.16.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz",
"integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==",
"requires": {
"@octokit/types": "^6.39.0",
"deprecation": "^2.3.1"
}
},
"@octokit/request": {
"version": "5.6.3",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
"integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
"requires": {
"@octokit/endpoint": "^6.0.1",
"@octokit/request-error": "^2.1.0",
"@octokit/types": "^6.16.1",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.7",
"universal-user-agent": "^6.0.0"
}
},
"@octokit/request-error": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
"requires": {
"@octokit/types": "^6.0.3",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}
},
"@octokit/types": {
"version": "6.41.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
"integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
"requires": {
"@octokit/openapi-types": "^12.11.0"
}
},
"@vercel/ncc": {
"version": "0.36.1",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.36.1.tgz",
"integrity": "sha512-S4cL7Taa9yb5qbv+6wLgiKVZ03Qfkc4jGRuiUQMQ8HGBD5pcNRnHeYM33zBvJE4/zJGjJJ8GScB+WmTsn9mORw==",
"dev": true
},
"before-after-hook": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
},
"deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
},
"node-fetch": {
"version": "2.6.11",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
"integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"requires": {
"wrappy": "1"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"tunnel": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
},
"universal-user-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
},
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
}
}
}
@@ -1,20 +0,0 @@
{
"name": "print-affected-libs",
"version": "1.0.0",
"description": "",
"main": "dist/index.js",
"scripts": {
"build": "ncc build src/index.js -o dist --source-map"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/exec": "^1.1.1",
"@actions/github": "^5.1.1"
},
"devDependencies": {
"@vercel/ncc": "^0.36.1"
}
}
@@ -1,32 +0,0 @@
const core = require('@actions/core');
const exec = require('@actions/exec');
async function run() {
const base = core.getInput('base', {required: false }) || '5288597580';
core.setOutput('affected_is_empty', 'true');
let affected = '';
let myError = '';
const options = {};
options.listeners = {
stdout: (data) => {
affected += data.toString()
},
stderr: (data) => {
myError += data.toString();
}
};
await exec.exec(`npx nx print-affected --target=build --select=tasks.target.project --base=${base} --head=${head}`, [], options)
const affectedTrimmed = affected.trim();
if (affectedTrimmed !== '') {
core.setOutput('affected_is_empty', 'false');
}
core.notice(`Retriving affected libs: ${affectedTrimmed}`);
core.setOutput('affected', affectedTrimmed);
}
run();
-37
View File
@@ -1,37 +0,0 @@
name: "set npm tag"
description: "se NPM tag"
inputs:
event_name:
description: "override github.event_name"
required: false
default: ${{ github.event_name }}
branch_name:
description: "override GITHUB_REF_NAME"
required: false
default: $GITHUB_REF_NAME
runs:
using: "composite"
steps:
- name: set TAG_NPM
shell: bash
run: |
TAG_NPM="alpha"
VERSION_IN_PACKAGE_JSON=$(node -p "require('./package.json')".version)
echo "version in package.json=${VERSION_IN_PACKAGE_JSON}"
if [[ ${{ inputs.branch_name }} =~ ^master(-patch.*)?$ ]]; then
# Pre-release versions
if [[ $VERSION_IN_PACKAGE_JSON =~ ^[0-9]*\.[0-9]*\.[0-9]*-A\.[0-9]*$ ]];
then
TAG_NPM=next
# Stable major versions
else
TAG_NPM=latest
fi
fi
if [[ ${{ inputs.branch_name }} =~ ^develop(-patch.*)?$ ]]; then
TAG_NPM=alpha
fi
echo "TAG_NPM=${TAG_NPM}" >> $GITHUB_ENV
-13
View File
@@ -1,13 +0,0 @@
name: 'Install Google Chrome'
description: 'Install Google Chrome'
runs:
using: "composite"
steps:
- name: Install google chrome
shell: bash
run: |
wget -q https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_114.0.5735.133-1_amd64.deb
sudo apt install -y --allow-downgrades ./google-chrome-stable_114.0.5735.133-1_amd64.deb
sudo ln -s /usr/bin/google-chrome /usr/bin/chrome
chrome --version
-58
View File
@@ -1,58 +0,0 @@
name: 'Setup'
description: 'Initialize cache, env var load'
inputs:
enable-cache:
description: 'enable caching'
required: false
type: boolean
default: 'true'
enable-node-modules-cache:
description: 'enable caching for node modules'
required: false
type: boolean
default: 'true'
act:
description: 'enable act debug'
required: false
type: boolean
default: 'false'
runs:
using: "composite"
steps:
- name: install NPM
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version-file: '.nvmrc'
cache-dependency-path: package-lock.json
- name: get latest tag sha
id: tag-sha
uses: Alfresco/alfresco-build-tools/.github/actions/git-latest-tag@a288b9efdaa50413573b2e130896d906478b8e50 # v5.31.0
# CACHE
- name: Node Modules cache
id: node-modules-cache
if: ${{ inputs.enable-node-modules-cache == 'true' }}
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
env:
cache-name: node-modules-cache
with:
path: |
node_modules
key: .npm-${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
node_modules-${{ runner.os }}-build-${{ env.cache-name }}-
node_modules-${{ runner.os }}-build-
node_modules-${{ runner.os }}-
- name: pip cache
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
if: ${{ inputs.enable-cache == 'true' }}
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-
restore-keys: |
${{ runner.os }}
- name: load "NPM TAG"
uses: ./.github/actions/set-npm-tag
- name: before install script
uses: ./.github/actions/before-install
with:
act: ${{ inputs.act }}
@@ -1,49 +0,0 @@
name: Identify the slack group
description: 'Identify the slack group area based on the affected'
inputs:
affected:
description: 'The name of the affected lib'
required: true
type: string
outputs:
groups:
description: "the slack groups"
value: ${{ steps.group.outputs.result }}
runs:
using: "composite"
steps:
- name: Append group
id: group
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
env:
affectedLib: ${{ inputs.affected }}
with:
script: |
const affectedLib = process.env.affectedLib;
core.info(`Input ${affectedLib}`);
const slackGroups = new Set();
const AlfrescoQAGroup = '@alfresco-testing-qa';
const HxpQAGroup = '@hxp-studio-qa-group';
const libs = affectedLib.split(' ')
if (libs.includes('content-services') || libs.includes('process-services')) {
slackGroups.add(AlfrescoQAGroup);
}
if (libs.includes('process-services-cloud')) {
slackGroups.add(HxpQAGroup);
}
if (libs.includes('core')) {
slackGroups.add(AlfrescoQAGroup);
slackGroups.add(HxpQAGroup);
}
const result = Array.from(slackGroups.values()).join(' ');
core.info(`Result ${result}`);
return result;
@@ -1,19 +0,0 @@
name: "Upload build artifacts"
description: "Upload build artifacts"
runs:
using: "composite"
steps:
- name: tar and upload artifacts
shell: bash
env:
REMOTE_PATH: "alfresco-ng2-components/build-cache/${{ github.run_id }}"
run: |
packages=( dist nxcache node_modules )
for i in "${packages[@]}"; do
time tar czf $i.tar.gz $i
du -h $i.tar.gz
time aws s3 cp --no-progress $i.tar.gz "s3://${S3_BUILD_BUCKET_SHORT_NAME}/${REMOTE_PATH}/$i.tar.gz"
done
-6
View File
@@ -1,6 +0,0 @@
name: "CodeQL config"
paths-ignore:
- 'e2e/resources/**'
- 'docs/**'
-92
View File
@@ -1,92 +0,0 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
time: "07:00"
open-pull-requests-limit: 5
target-branch: develop
groups:
angular:
patterns:
- "@angular/*"
angular-devkit:
patterns:
- "@angular-devkit/*"
ngrx:
patterns:
- "@ngrx/*"
nrwl:
patterns:
- "@nrwl/*"
ignore:
- dependency-name: "pdfjs-dist"
- dependency-name: "@types/*"
- dependency-name: "typescript"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/artifact-append"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/artifact-extract"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/artifact-initialize"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/before-install"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/download-node-modules-and-artifacts"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/e2e"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/enable-dryrun"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/get-latest-tag-sha"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/npm-check-bundle"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/print-affected-libs"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/set-npm-tag"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/setup"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/setup-chrome"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/slack-group-area"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/.github/actions/upload-node-modules-and-artifacts"
schedule:
interval: "weekly"
-56
View File
@@ -1,56 +0,0 @@
name: "CodeQL"
on:
push:
branches: [develop, master]
paths-ignore:
- 'e2e/resources/**'
- 'docs/**'
pull_request:
# The branches below must be a subset of the branches above
branches: [develop]
paths-ignore:
- 'e2e/resources/**'
- 'docs/**'
schedule:
- cron: '0 5 * * 0'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11
# Override language selection by uncommenting this and choosing your languages
with:
languages: javascript
config-file: ./.github/codeql/codeql-config.yml
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11
-87
View File
@@ -1,87 +0,0 @@
name: "cron e2e daily"
on:
workflow_dispatch:
schedule:
- cron: '0 12 * * 1-5' #At 12:00 on every day-of-week from Monday through Friday.
env:
BASE_REF: ${{ github.base_ref }}
HEAD_REF: ${{ github.head_ref }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
GITHUB_BRANCH: ${{ github.ref_name }}
GH_BUILD_DIR: ${{ github.workspace }}
GH_COMMIT: ${{ github.sha }}
BUILD_ID: ${{ github.run_id }}
GH_RUN_NUMBER: ${{ github.run_attempt }}
GH_BUILD_NUMBER: ${{ github.run_id }}
JOB_ID: ${{ github.run_id }}
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
E2E_HOST: ${{ secrets.E2E_HOST }}
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
URL_HOST_ADF: "http://localhost:4200"
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
HOST_SSO: ${{ secrets.HOST_SSO }}
LOG_LEVEL: "ERROR"
E2E_LOG_LEVEL: "ERROR"
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
HR_USER: ${{ secrets.HR_USER }}
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
SMART_RUNNER_PATH: ".protractor-smartrunner"
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
NODE_OPTIONS: "--max-old-space-size=5120"
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
REPO_OWNER: "Alfresco"
REPO_NAME: "alfresco-ng2-components"
DEMO_SHELL_DIR: "./dist/demo-shell"
STORYBOOK_DIR: "./dist/storybook/stories"
BUILT_LIBS_DIR: "./dist/libs"
NODE_MODULES_DIR: "./node_modules"
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
SAVE_SCREENSHOT: true
REDIRECT_URI: /
BROWSER_RUN: false
MAXINSTANCES: 2
PLAYWRIGHT_WORKERS: 2
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
jobs:
init-artifact:
runs-on: ubuntu-latest
name: Initialize artifacts
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: ./.github/actions/artifact-initialize
with:
artifact-name: global-e2e-result
file-name: e2e-failures.txt
run-e2e:
name: run e2e
uses: ./.github/workflows/pull-request.yml
with:
cron-run: true
secrets: inherit
-112
View File
@@ -1,112 +0,0 @@
name: "git-tag"
on:
workflow_call:
inputs:
dry-run-flag:
description: 'enable dry-run on artifact push'
required: false
type: boolean
default: true
push:
branches:
- master
- master-patch-*
env:
BASE_REF: ${{ github.base_ref }}
HEAD_REF: ${{ github.head_ref }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
GITHUB_BRANCH: ${{ github.ref_name }}
GH_BUILD_DIR: ${{ github.workspace }}
GH_COMMIT: ${{ github.sha }}
BUILD_ID: ${{ github.run_id }}
GH_RUN_NUMBER: ${{ github.run_attempt }}
GH_BUILD_NUMBER: ${{ github.run_id }}
JOB_ID: ${{ github.run_id }}
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
E2E_HOST: ${{ secrets.E2E_HOST }}
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
URL_HOST_ADF: "http://localhost:4200"
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
HOST_SSO: ${{ secrets.HOST_SSO }}
LOG_LEVEL: "ERROR"
E2E_LOG_LEVEL: "ERROR"
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
HR_USER: ${{ secrets.HR_USER }}
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
SMART_RUNNER_PATH: ".protractor-smartrunner"
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
NODE_OPTIONS: "--max-old-space-size=5120"
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
NPM_REGISTRY_ADDRESS: ${{ secrets.NPM_REGISTRY_ADDRESS }}
NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
BOT_GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
REPO_OWNER: "Alfresco"
REPO_NAME: "alfresco-ng2-components"
DEMO_SHELL_DIR: "./dist/demo-shell"
STORYBOOK_DIR: "./dist/storybook/stories"
BUILT_LIBS_DIR: "./dist/libs"
NODE_MODULES_DIR: "./node_modules"
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
SAVE_SCREENSHOT: true
REDIRECT_URI: /
BROWSER_RUN: false
MAXINSTANCES: 2
PLAYWRIGHT_WORKERS: 2
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
jobs:
release:
uses: ./.github/workflows/release.yml
secrets: inherit
with:
dry-run-flag: false
setup:
needs: release
timeout-minutes: 20
name: "Release tag"
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: $BOT_GITHUB_TOKEN
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- id: set-dryrun
uses: ./.github/actions/enable-dryrun
with:
dry-run-flag: ${{ inputs.dry-run-flag }}
- name: install NPM
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version-file: '.nvmrc'
- name: "Release tag"
run: |
git fetch --all --quiet
BRANCH=${GITHUB_REF##*/} ./scripts/github/release/git-tag.sh ${{ steps.set-dryrun.outputs.dryrun }}
-29
View File
@@ -1,29 +0,0 @@
name: Package published
on:
registry_package:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
if: github.event.registry_package.package_type == 'npm' && github.event.registry_package.name == 'adf-core'
steps:
- name: Dispatch event to monorepo
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ secrets.PAT_WRITE_PKG }}
retries: 3
script: |
const payload = {
package_name: "${{ github.event.registry_package.name }}",
package_version: "${{ github.event.registry_package.package_version.name }}"
};
await github.rest.repos.createDispatchEvent({
owner: context.repo.owner,
repo: "alfresco-apps",
event_type: "package-published",
client_payload: payload
});
console.log(`Trigger a dispatch event for the monorepo`);
-524
View File
@@ -1,524 +0,0 @@
name: "pull-request"
on:
workflow_call:
inputs:
dry-run-flag:
description: 'enable dry-run on artifact push'
required: false
type: boolean
default: true
devel:
description: 'devel'
required: false
type: boolean
default: false
cron-run:
description: 'disables jobs which should not run when cron runs e2es'
required: false
type: boolean
default: false
pull_request:
types: [opened, synchronize, reopened]
branches:
- develop
- master
- develop-patch*
- master-patch*
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
BASE_REF: ${{ github.base_ref }}
HEAD_REF: ${{ github.head_ref }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
GITHUB_BRANCH: ${{ github.ref_name }}
GH_BUILD_DIR: ${{ github.workspace }}
GH_COMMIT: ${{ github.sha }}
BUILD_ID: ${{ github.run_id }}
GH_RUN_NUMBER: ${{ github.run_attempt }}
GH_BUILD_NUMBER: ${{ github.run_id }}
JOB_ID: ${{ github.run_id }}
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
E2E_HOST: ${{ secrets.E2E_HOST }}
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
URL_HOST_ADF: "http://localhost:4200"
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
HOST_SSO: ${{ secrets.HOST_SSO }}
LOG_LEVEL: "ERROR"
E2E_LOG_LEVEL: "ERROR"
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
HR_USER: ${{ secrets.HR_USER }}
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
SMART_RUNNER_PATH: ".protractor-smartrunner"
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
NODE_OPTIONS: "--max-old-space-size=5120"
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
REPO_OWNER: "Alfresco"
REPO_NAME: "alfresco-ng2-components"
DEMO_SHELL_DIR: "./dist/demo-shell"
STORYBOOK_DIR: "./dist/storybook/stories"
BUILT_LIBS_DIR: "./dist/libs"
NODE_MODULES_DIR: "./node_modules"
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
SAVE_SCREENSHOT: true
REDIRECT_URI: /
BROWSER_RUN: false
MAXINSTANCES: 2
PLAYWRIGHT_WORKERS: 2
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
PROXY_HOST_ECM: ${{ secrets.E2E_HOST }}
jobs:
pre-checks:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Ensure SHA pinned actions
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@b88cd0aad2c36a63e42c71f81cb1958fed95ac87 # v3.0.10
- name: Check package-lock.json version
run: |
if [[ $(jq '.lockfileVersion == 3' package-lock.json) == "true" ]] ; then
echo "package-lock.json has a correct version"
else
echo "package-lock must be version 3"
exit 1
fi
check-if-pr-is-approved:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- name: Get branch name
uses: Alfresco/alfresco-build-tools/.github/actions/get-branch-name@a288b9efdaa50413573b2e130896d906478b8e50 # v5.31.0
- name: Save commit message
uses: Alfresco/alfresco-build-tools/.github/actions/get-commit-message@a288b9efdaa50413573b2e130896d906478b8e50 # v5.31.0
- name: ci:force flag parser
shell: bash
run: |
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.actor }}" == "dependabot[bot]" ]; then
echo -e "\033[32mci:force check can be skipped\033[0m"
skip_check="true"
elif [[ "$COMMIT_MESSAGE" == *"[ci:force]"* ]]; then
echo -e "\033[32m[ci:force] flag detected. No need for approval.\033[0m"
skip_check="true"
fi
- name: Get PR number
if: ${{ github.event_name != 'schedule' && github.event_name != 'workflow_dispatch' }}
uses: kamatama41/get-pr-number-action@0bcaab5752c0b699149e74667c8ce2f764cbb7fa # v0.9.1
id: action
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: show pr number
shell: bash
run: |
echo "PR: ${{ steps.action.outputs.number }}"
- name: check if pr is approved
env:
DEVEL_FLAG: ${{ inputs.devel }}
GH_TOKEN: ${{ github.token }}
skip_check: "false"
run: |
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.actor }}" == "dependabot[bot]" ]; then
echo -e "\033[32mci:force check can be skipped\033[0m"
skip_check="true"
elif [[ "$COMMIT_MESSAGE" == *"[ci:force]"* ]]; then
echo -e "\033[32m[ci:force] flag detected. No need for approval.\033[0m"
skip_check="true"
fi
if [ "${{ github.actor }}" == "dependabot[bot]" ] || [ "${{ github.actor }}" == "alfresco-build" ]; then
echo -e "\033[32mCommit by ${{ github.actor }}. No need for approval.\033[0m"
skip_check="true"
fi
if [ "${{ github.event_name }}" == "schedule" ] || [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
echo -e "\033[32mSchedule event\033[0m"
skip_check="true"
fi
if [[ "$DEVEL_FLAG" == "true" ]]; then
echo -e "\033[32mDevel flag\033[0m"
skip_check="true"
fi
if [ "$skip_check" == "false" ]; then
echo "Checking PR approval"
prNumber=${{ steps.action.outputs.number }}
echo "PR: $prNumber"
checkApproval=$(gh api /repos/$GITHUB_REPOSITORY/pulls/$prNumber/reviews | jq '.[] | select(.state == "APPROVED") | .user.login')
if [[ $checkApproval ]]; then
echo -e "\033[32mPR approved\033[0m"
else
echo -e "\033[31mPR NOT approved\033[0m"
exit 1
fi
fi
setup:
# long timeout required when cache has to be recreated
timeout-minutes: 30
name: "Setup"
runs-on: ubuntu-latest
needs: [check-if-pr-is-approved, pre-checks]
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0 # Fetch all history for all tags and branches
- uses: ./.github/actions/setup
- name: install
run: |
npm ci
npx nx run js-api:bundle
npx nx run cli:bundle
npx nx run testing:bundle
- run: npx nx print-affected $NX_CALCULATION_FLAGS
- uses: ./.github/actions/upload-node-modules-and-artifacts
unit-tests:
timeout-minutes: 30
name: "Unit tests: ${{ matrix.unit-tests.name }}"
runs-on: ubuntu-latest
needs: [setup]
strategy:
fail-fast: false
# max-parallel: 4
matrix:
unit-tests:
- name: js-api
exclude: "core,insights,content-services,process-services,process-services-cloud,eslint-plugin-eslint-angular"
- name: content-services
exclude: "insights,core,extensions,process-services,process-services-cloud,eslint-plugin-eslint-angular,js-api"
- name: core
exclude: "insights,content-services,process-services,process-services-cloud,eslint-plugin-eslint-angular,js-api"
- name: insights
exclude: "core,extensions,content-services,process-services-cloud,process-services,eslint-plugin-eslint-angular,js-api"
- name: process-services
exclude: "core,extensions,content-services,process-services-cloud,insights,eslint-plugin-eslint-angular,js-api"
- name: process-cloud
exclude: "insights,core,extensions,content-services,process-services,eslint-plugin-eslint-angular,js-api"
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0 # Fetch all history for all tags and branches
- uses: ./.github/actions/setup
- uses: ./.github/actions/download-node-modules-and-artifacts
- name: Run unit tests
run: |
/usr/bin/xvfb-run --auto-servernum npx nx affected:test $NX_CALCULATION_FLAGS --exclude=${{ matrix.unit-tests.exclude }}
lint:
# long timeout required when cache has to be recreated
timeout-minutes: 30
name: "Lint"
runs-on: ubuntu-latest
needs: [setup]
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0 # Fetch all history for all tags and branches
- uses: ./.github/actions/setup
- uses: ./.github/actions/download-node-modules-and-artifacts
- run: npx nx affected --target=lint $NX_CALCULATION_FLAGS
build-libs:
# long timeout required when cache has to be recreated
timeout-minutes: 30
name: "Build libs"
runs-on: ubuntu-latest
needs: [setup]
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0 # Fetch all history for all tags and branches
- uses: ./.github/actions/setup
- uses: ./.github/actions/download-node-modules-and-artifacts
- run: npx nx affected:build $NX_CALCULATION_FLAGS --prod
- run: npx nx build demoshell --configuration production
- run: npx nx affected --target=build-storybook $NX_CALCULATION_FLAGS --configuration=ci --parallel=1
- uses: ./.github/actions/upload-node-modules-and-artifacts
e2e-storybook:
timeout-minutes: 20
name: "e2e: storybook"
needs: [build-libs, lint, unit-tests]
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0 # Fetch all history for all
- uses: ./.github/actions/setup
- uses: ./.github/actions/download-node-modules-and-artifacts
- name: Process Cloud Storybook Playwright
run: |
npx playwright install chromium
sudo sysctl -w fs.inotify.max_user_watches=524288
npx nx affected --target=e2e-playwright $NX_CALCULATION_FLAGS || exit 1
- uses: ./.github/actions/upload-node-modules-and-artifacts
e2e:
timeout-minutes: 90
name: "e2e: ${{ matrix.e2e-test.description }}"
needs: [build-libs, lint, unit-tests]
runs-on: ubuntu-latest
strategy:
fail-fast: false
# max-parallel: 4
matrix:
e2e-test:
- description: "Core"
test-id: "core"
artifact-id: "core"
folder: "core"
provider: "ALL"
auth: "OAUTH"
check-cs-env: "true"
check-ps-env: "true"
deps: "testing"
- description: "Content: Components"
test-id: "content-services"
artifact-id: "content-services-components"
folder: "content-services/components"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
deps: "testing"
- description: "Content: Directives"
test-id: "content-services"
artifact-id: "content-services-directives"
folder: "content-services/directives"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
deps: "testing"
- description: "Content: Document List"
test-id: "content-services"
artifact-id: "content-services-document-list"
folder: "content-services/document-list"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
deps: "testing"
- description: "Content: Metadata"
test-id: "content-services"
artifact-id: "content-services-metadata"
folder: "content-services/metadata"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
deps: "testing"
- description: "Content: Upload and Versioning"
test-id: "content-services"
artifact-id: "content-services-upload"
folder: "content-services/upload"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
deps: "testing"
- description: "Search"
test-id: "content-services"
artifact-id: "content-services-search"
folder: "search"
provider: "ECM"
auth: "BASIC"
check-cs-env: "true"
deps: "testing"
- description: "Process: Form"
test-id: "process-services"
artifact-id: "process-services-form"
folder: "process-services/form"
provider: "BPM"
auth: "OAUTH"
check-ps-env: "true"
check-external-cs-env: "true"
deps: "testing"
- description: "Process: Process"
test-id: "process-services"
artifact-id: "process-services-process"
folder: "process-services/process"
provider: "BPM"
auth: "OAUTH"
check-ps-env: "true"
check-external-cs-env: "true"
deps: "testing"
- description: "Process: Tasks"
test-id: "process-services"
artifact-id: "process-services-tasks"
folder: "process-services/tasks"
provider: "BPM"
auth: "OAUTH"
check-ps-env: "true"
check-external-cs-env: "true"
deps: "testing"
- description: "Process: Widget"
test-id: "process-services"
artifact-id: "process-services-widgets"
folder: "process-services/widgets"
provider: "BPM"
auth: "OAUTH"
check-ps-env: "true"
check-external-cs-env: "true"
deps: "testing"
- description: "Process Cloud: Form"
test-id: "process-services-cloud"
artifact-id: "process-services-cloud-form-field"
folder: "process-services-cloud/form-field"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
deps: "testing"
- description: "Process Cloud: Process"
test-id: "process-services-cloud"
artifact-id: "process-services-cloud-process"
folder: "process-services-cloud/process"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
deps: "testing"
- description: "Process Cloud: Start Task"
test-id: "process-services-cloud"
artifact-id: "process-services-cloud-start-task"
folder: "process-services-cloud/start-task"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
deps: "testing"
- description: "Process Cloud: Tasks List"
test-id: "process-services-cloud"
artifact-id: "process-services-cloud-task-list"
folder: "process-services-cloud/task-list"
provider: "ALL"
auth: "OAUTH"
apa-proxy: true
check-cs-env: "true"
check-ps-cloud-env: "true"
deps: "testing"
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0 # Fetch all history for all
- uses: ./.github/actions/setup
with:
enable-cache: "true"
enable-node-modules-cache: "true"
- uses: ./.github/actions/download-node-modules-and-artifacts
- name: e2e
uses: ./.github/actions/e2e
with:
e2e-test-id: ${{ matrix.e2e-test.test-id }}
e2e-test-folder: ${{ matrix.e2e-test.folder }}
e2e-artifact-id: ${{matrix.e2e-test.artifact-id}}
e2e-test-provider: ${{ matrix.e2e-test.provider }}
e2e-test-auth: ${{ matrix.e2e-test.auth }}
check-cs-env: ${{ matrix.e2e-test.check-cs-env }}
check-ps-env: ${{ matrix.e2e-test.check-ps-env }}
check-ps-cloud-env: ${{ matrix.e2e-test.check-ps-cloud-env }}
check-external-cs-env: ${{ matrix.e2e-test.check-external-cs-env }}
apa-proxy: ${{ matrix.e2e-test.apa-proxy }}
deps: ${{ matrix.e2e-test.deps }}
PR-forbidden-labels:
if: ${{ inputs.cron-run == '' || inputs.cron-run == 'false' }}
runs-on: ubuntu-latest
steps:
- id: checkoutRepo
name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
- name: PR contains forbidden labels
id: pr-forbidden
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const issueHasLabels = require('./scripts/github/update/check-issue-has-label.js');
const checkLabels = ['next version ➡️', 'do not merge🙅🏻‍♂️'];
const hasLabel = await issueHasLabels({github, context, checkLabels})
if(hasLabel) {
core.setFailed('The PR contains a forbidden label! You are not allowed to merge until the label is there.');
}
- name: Check value after
run: |
echo "result ${{ toJson(steps.pr-forbidden.*.result) }}" && echo "result ${{ steps.pr-forbidden.*.result }}"
echo "result ${{ contains(toJson(steps.pr-forbidden.*.result), 'failure') }}"
finalize:
if: ${{ always() }}
runs-on: ubuntu-latest
name: Final Results
needs: [check-if-pr-is-approved, pre-checks, setup, unit-tests, lint, build-libs, e2e, e2e-storybook]
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: identify-slack-group
id: groups
if: ${{ github.event_name == 'schedule' }}
uses: ./.github/actions/slack-group-area
with:
affected: ${{ steps.e2e-result.outputs.result }}
- uses: slackapi/slack-github-action@70cd7be8e40a46e8b0eced40b0de447bdb42f68e # v1.26.0
name: Nofify QA failure
if: ${{ github.event_name == 'schedule' && contains(needs.*.result, 'failure') }}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
with:
channel-id: 'C016SMNNL8L' #guild-channel
slack-message: "🔴 Warning: The daily ADF cronjob failed\nWorkflow run : <https://github.com/Alfresco/alfresco-ng2-components/actions/runs/${{ github.run_id }}| here>\nDetails: ${{ steps.e2e-result.outputs.result }}\nArea: ${{ steps.groups.outputs.groups}}"
- name: workflow failure
run: exit 1
if: ${{ contains(needs.*.result, 'failure') }}
- name: workflow canceled
run: exit 1
if: ${{ contains(needs.*.result, 'cancelled') }}
- name: workflow success
run: exit 0
if: ${{ contains(needs.*.result, 'success') }}
-18
View File
@@ -1,18 +0,0 @@
on:
issue_comment:
types: [created]
name: Automatic Rebase
jobs:
rebase:
name: Rebase
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-158
View File
@@ -1,158 +0,0 @@
name: Release lib on branch
run-name: Release lib on branch ${{ github.ref_name }}
on:
workflow_dispatch:
inputs:
dry-run-flag:
description: 'enable dry-run on artifact push'
required: false
type: boolean
default: true
env:
BASE_REF: ${{ github.base_ref }}
HEAD_REF: ${{ github.head_ref }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
GITHUB_BRANCH: ${{ github.ref_name }}
GH_BUILD_DIR: ${{ github.workspace }}
GH_COMMIT: ${{ github.sha }}
BUILD_ID: ${{ github.run_id }}
GH_RUN_NUMBER: ${{ github.run_attempt }}
GH_BUILD_NUMBER: ${{ github.run_id }}
JOB_ID: ${{ github.run_id }}
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
E2E_HOST: ${{ secrets.E2E_HOST }}
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
#USERNAME_ADF: ${{ secrets.E2E_USERNAME }}
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
URL_HOST_ADF: "http://localhost:4200"
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
HOST_SSO: ${{ secrets.HOST_SSO }}
LOG_LEVEL: "ERROR"
E2E_LOG_LEVEL: "ERROR"
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
HR_USER: ${{ secrets.HR_USER }}
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
SMART_RUNNER_PATH: ".protractor-smartrunner"
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
NODE_OPTIONS: "--max-old-space-size=5120"
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
REPO_OWNER: "Alfresco"
REPO_NAME: "alfresco-ng2-components"
DEMO_SHELL_DIR: "./dist/demo-shell"
STORYBOOK_DIR: "./dist/storybook/stories"
BUILT_LIBS_DIR: "./dist/libs"
NODE_MODULES_DIR: "./node_modules"
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
SAVE_SCREENSHOT: true
REDIRECT_URI: /
BROWSER_RUN: false
MAXINSTANCES: 2
PLAYWRIGHT_WORKERS: 2
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
jobs:
setup:
timeout-minutes: 20
name: "Setup"
runs-on: ubuntu-latest
steps:
- name: set TAG_NPM BRANCH
shell: bash
run: |
TAG_NPM="branch"
echo "Set TAG with name: ${TAG_NPM}"
echo "TAG_NPM=${TAG_NPM}" >> $GITHUB_ENV
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- uses: ./.github/actions/setup
with:
enable-cache: false
enable-node-modules-cache: false
- name: install
run: |
npm ci
npx nx run js-api:bundle
npx nx run cli:bundle
npx nx run testing:bundle
- uses: ./.github/actions/upload-node-modules-and-artifacts
release-npm:
needs: [setup]
timeout-minutes: 30
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- uses: ./.github/actions/setup
with:
enable-cache: false
enable-node-modules-cache: false
- id: set-dryrun
uses: ./.github/actions/enable-dryrun
with:
dry-run-flag: ${{ inputs.dry-run-flag }}
- uses: ./.github/actions/download-node-modules-and-artifacts
- name: build libraries
run: |
set -u;
./scripts/update-version.sh -gnu || exit 1;
npx nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
npx nx affected $NX_CALCULATION_FLAGS --target=pretheme
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
name: release libraries GH registry
with:
node-version-file: '.nvmrc'
registry-url: 'https://npm.pkg.github.com'
scope: '@alfresco'
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=branch|| exit 1
env:
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
name: release libraries Npm registry
with:
node-version-file: '.nvmrc'
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
scope: '@alfresco'
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=branch || exit 1
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
npm-check-bundle:
needs: [release-npm]
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: ./.github/actions/npm-check-bundle
-254
View File
@@ -1,254 +0,0 @@
name: "release"
on:
workflow_call:
inputs:
dry-run-flag:
description: 'enable dry-run on artifact push'
required: false
type: boolean
default: true
pull_request:
types: [closed]
branches:
- develop
- master
- develop-patch*
- master-patch*
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
env:
BASE_REF: ${{ github.base_ref }}
HEAD_REF: ${{ github.head_ref }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
GITHUB_BRANCH: ${{ github.ref_name }}
GH_BUILD_DIR: ${{ github.workspace }}
GH_COMMIT: ${{ github.sha }}
BUILD_ID: ${{ github.run_id }}
GH_RUN_NUMBER: ${{ github.run_attempt }}
GH_BUILD_NUMBER: ${{ github.run_id }}
JOB_ID: ${{ github.run_id }}
PROXY_HOST_BPM: ${{ secrets.E2E_HOST }}
E2E_IDENTITY_HOST_APA: ${{ secrets.E2E_IDENTITY_HOST_APA }}
E2E_HOST_APA: ${{ secrets.E2E_HOST_APA }}
E2E_HOST: ${{ secrets.E2E_HOST }}
E2E_USERNAME: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_PASSWORD: ${{ secrets.E2E_PASSWORD }}
E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
#USERNAME_ADF: ${{ secrets.E2E_USERNAME }}
USERNAME_ADF: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
PASSWORD_ADF: ${{ secrets.E2E_PASSWORD }}
URL_HOST_ADF: "http://localhost:4200"
IDENTITY_ADMIN_EMAIL: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }}
IDENTITY_ADMIN_PASSWORD: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }}
AWS_S3_BUCKET_ACTIVITI_LICENSE: ${{ secrets.AWS_S3_BUCKET_ACTIVITI_LICENSE }}
HOST_SSO: ${{ secrets.HOST_SSO }}
LOG_LEVEL: "ERROR"
E2E_LOG_LEVEL: "ERROR"
E2E_MODELER_USERNAME: ${{ secrets.E2E_MODELER_USERNAME }}
E2E_MODELER_PASSWORD: ${{ secrets.E2E_MODELER_PASSWORD }}
EXTERNAL_ACS_HOST: ${{ secrets.EXTERNAL_ACS_HOST }}
E2E_DEVOPS_USERNAME: ${{ secrets.E2E_DEVOPS_USERNAME }}
E2E_DEVOPS_PASSWORD: ${{ secrets.E2E_DEVOPS_PASSWORD }}
USERNAME_SUPER_ADMIN_ADF: ${{ secrets.USERNAME_SUPER_ADMIN_ADF }}
PASSWORD_SUPER_ADMIN_ADF: ${{ secrets.PASSWORD_SUPER_ADMIN_ADF }}
HR_USER: ${{ secrets.HR_USER }}
HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }}
SMART_RUNNER_PATH: ".protractor-smartrunner"
S3_DBP_PATH: ${{ secrets.S3_DBP_PATH }}
S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }}
NODE_OPTIONS: "--max-old-space-size=5120"
DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }}
DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_REPOSITORY_USER }}
DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_REPOSITORY_PASSWORD }}
DOCKER_REPOSITORY_STORYBOOK: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/storybook"
DOCKER_REPOSITORY: "${{ secrets.DOCKER_REPOSITORY_DOMAIN }}/alfresco/demo-shell"
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
REPO_OWNER: "Alfresco"
REPO_NAME: "alfresco-ng2-components"
DEMO_SHELL_DIR: "./dist/demo-shell"
STORYBOOK_DIR: "./dist/storybook/stories"
BUILT_LIBS_DIR: "./dist/libs"
NODE_MODULES_DIR: "./node_modules"
SMART_RUNNER_DIRECTORY: ".protractor-smartrunner"
SAVE_SCREENSHOT: true
REDIRECT_URI: /
BROWSER_RUN: false
MAXINSTANCES: 2
PLAYWRIGHT_WORKERS: 2
PLAYWRIGHT_STORYBOOK_E2E_HOST: http://localhost
PLAYWRIGHT_STORYBOOK_E2E_PORT: 4400
jobs:
setup:
timeout-minutes: 20
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
name: "Setup"
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- uses: ./.github/actions/setup
with:
enable-cache: false
enable-node-modules-cache: false
- name: install
run: |
npm ci
npx nx run js-api:bundle
npx nx run cli:bundle
npx nx run testing:bundle
- uses: ./.github/actions/upload-node-modules-and-artifacts
release-demoshell:
needs: [setup]
timeout-minutes: 15
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
- run: git fetch --all
- id: set-dryrun
uses: ./.github/actions/enable-dryrun
with:
dry-run-flag: ${{ inputs.dry-run-flag }}
- uses: ./.github/actions/setup
with:
enable-cache: false
enable-node-modules-cache: false
- uses: ./.github/actions/download-node-modules-and-artifacts
- name: release Demoshell docker
run: |
npx nx build demoshell --configuration production
. ./scripts/github/release/docker-tag.sh
./scripts/github/release/release-demoshell-docker.sh ${{ steps.set-dryrun.outputs.dryrun }}
release-storybook:
needs: [setup]
timeout-minutes: 15
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 1
- run: git fetch --all
- id: set-dryrun
uses: ./.github/actions/enable-dryrun
with:
dry-run-flag: ${{ inputs.dry-run-flag }}
- uses: ./.github/actions/setup
with:
enable-cache: false
enable-node-modules-cache: false
act: ${{ inputs.dry-run-flag }}
- uses: ./.github/actions/download-node-modules-and-artifacts
- name: release Storybook docker
run: |
npx nx run stories:build-storybook --configuration ci
. ./scripts/github/release/docker-tag.sh
./scripts/github/release/release-storybook-docker.sh ${{ steps.set-dryrun.outputs.dryrun }}
release-npm:
needs: [setup]
timeout-minutes: 30
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
fetch-depth: 0
- uses: ./.github/actions/setup
with:
enable-cache: false
enable-node-modules-cache: false
- id: set-dryrun
uses: ./.github/actions/enable-dryrun
with:
dry-run-flag: ${{ inputs.dry-run-flag }}
- uses: ./.github/actions/download-node-modules-and-artifacts
- name: build libraries
run: |
set -u;
./scripts/github/build/bumpversion.sh
npx nx affected:build $NX_CALCULATION_FLAGS --prod --exclude="demoshell" --skip-nx-cache
npx nx affected $NX_CALCULATION_FLAGS --target=pretheme
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
name: release libraries GH registry
with:
node-version-file: '.nvmrc'
registry-url: 'https://npm.pkg.github.com'
scope: '@alfresco'
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
env:
NODE_AUTH_TOKEN: ${{ secrets.PAT_WRITE_PKG }}
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
name: release libraries Npm registry
with:
node-version-file: '.nvmrc'
registry-url: 'https://${{ vars.NPM_REGISTRY_ADDRESS }}'
scope: '@alfresco'
- run: npx nx affected --target=npm-publish $NX_CALCULATION_FLAGS --tag=$TAG_NPM || exit 1
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }}
propagate:
needs: [release-npm]
if: ${{ contains(toJson(github.event.pull_request.labels.*.name), 'hxp-upstream') }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: HxP upstream invoke
uses: the-actions-org/workflow-dispatch@3133c5d135c7dbe4be4f9793872b6ef331b53bc7 # v4.0.0
with:
repo: Alfresco/hxp-frontend-apps
ref: develop
workflow: upstream-adf.yml
token: ${{ secrets.ALFRESCO_BUILD_GH_TOKEN }}
wait-for-completion: false
inputs: >
{
"tag_version": "alpha"
}
npm-check-bundle:
needs: [release-npm]
timeout-minutes: 15
if: github.event.pull_request.merged == true || github.ref_name == 'master' || github.ref_name == 'master-patch-*'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: ./.github/actions/npm-check-bundle
finalize:
if: always()
runs-on: ubuntu-latest
name: Final Results
needs: [release-demoshell, release-storybook, release-npm, npm-check-bundle]
steps:
- uses: slackapi/slack-github-action@70cd7be8e40a46e8b0eced40b0de447bdb42f68e # v1.26.0
name: Nofify FE eng-guild-front-end workflow failed
if: ${{ contains(toJson(needs.*.result), 'failure') }}
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
with:
channel-id: 'C016SMNNL8L' #eng-guild-front-end
slack-message: "🔴 Warning: The release workflow of alfresco-ng2-components pipe failed\n Author: name:${{ github.event.pusher.name }} username:${{ github.event.pusher.username }}\n Workflow run : <https://github.com/Alfresco/alfresco-ng2-components/actions/runs/${{ github.run_id }}| here>\n>"
+17 -24
View File
@@ -1,37 +1,30 @@
/.angular/cache
*.log
node_modules
bundles
workspace.xml
.idea/
*.iml
.env.*
.env
dist
!./.github/actions/**/dist
e2e/.env.cloud
tmp
temp
/nxcache
e2e-output*/
/e2e/downloads/
dist/
e2e-output/
e2e/downloads/
ng2-components/coverage/
!systemjs.config.js
demo-shell-ng2/app/components/router/
ng2-components/ng2-alfresco-userinfo-old/demo/src/app/
ng2-components/ng2-alfresco-userinfo-old/src/services/bpm-user.service.spec.ts
ng2-components/ng2-alfresco-userinfo-old/src/services/ecm-user.service.spec.ts
src/environments/
/ng2-components/ng2-example-webpack/
/ng2-components/config/coverage/
*.npmrc
/demo-shell-ng2/ng2-components/
.happypack/
.history
/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
/docs/sourceinfo
/docs/docs.json
/protractorFailuresReport
coverage/
/desktop.ini
out-tsc
!/.protractor-smartrunner/
/reports/
e2e-result-*
licenses.txt
.DS_Store
.angular
NX
/docs/docs.json
-5
View File
@@ -1,5 +0,0 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
export NODE_OPTIONS=--max_old_space_size=8192
npx lint-staged
-4
View File
@@ -1,4 +0,0 @@
{
"*.{ts,js}": ["prettier --write", "eslint"],
"*.{css,scss}": ["prettier --write", "stylelint"]
}
-1
View File
@@ -1 +0,0 @@
18.18.2
-1
View File
@@ -1 +0,0 @@
/lib/cli/scripts/resources.ts
-5
View File
@@ -1,5 +0,0 @@
{
"singleQuote": true,
"trailingComma": "none",
"printWidth": 150
}
-9
View File
@@ -1,9 +0,0 @@
import { create } from '@storybook/theming';
import alfrescoLogo from '../lib/core/src/lib/assets/images/alfresco-logo.svg';
export default create({
base: 'light',
brandTitle: 'Hyland | Alfresco Storybook App',
brandUrl: 'https://www.alfresco.com/',
brandImage: alfrescoLogo,
});
-7
View File
@@ -1,7 +0,0 @@
module.exports = {
stories: [],
addons: ['@storybook/addon-essentials'],
framework: '@storybook/angular',
staticDirs: [ { from: '../../../demo-shell/src/app.config.json', to: 'app.config.json' } ],
core: { builder: 'webpack5' }
};
-4
View File
@@ -1,4 +0,0 @@
export const parameters = {
docs: { inlineStories: true },
controls: { expanded: true }
};
-10
View File
@@ -1,10 +0,0 @@
{
"extends": "../tsconfig.json",
"exclude": [
"../**/*.spec.js",
"../**/*.spec.ts",
"../**/*.spec.tsx",
"../**/*.spec.jsx"
],
"include": ["../**/*"]
}
-2
View File
@@ -1,2 +0,0 @@
_theming.scss
lib/core/src/lib/viewer/components/pdf-viewer-host.component.scss
-65
View File
@@ -1,65 +0,0 @@
{
"extends": ["stylelint-config-standard-scss"],
"rules": {
"color-function-notation": "legacy",
"alpha-value-notation": "number",
"color-no-invalid-hex": true,
"function-calc-no-unspaced-operator": true,
"function-name-case": "lower",
"function-url-quotes": "always",
"function-url-scheme-disallowed-list": [
"data"
],
"length-zero-no-unit": true,
"string-no-newline": true,
"unit-no-unknown": true,
"unit-allowed-list": [
"px",
"%",
"deg",
"ms",
"em",
"vh",
"vw",
"vmin",
"s",
"rem"
],
"shorthand-property-no-redundant-values": true,
"declaration-no-important": true,
"no-duplicate-at-import-rules": true,
"declaration-block-no-duplicate-properties": [
true,
{
"ignore": [
"consecutive-duplicates-with-different-values"
]
}
],
"declaration-block-single-line-max-declarations": 1,
"declaration-property-value-disallowed-list": [
{
"/.*/": [
"initial"
]
},
{
"message": "The `initial` value is not supported in IE."
}
],
"selector-pseudo-element-colon-notation": "double",
"selector-pseudo-element-no-unknown": [true, {
"ignorePseudoElements": ["ng-deep"]
}],
"selector-type-case": "lower",
"selector-max-id": 0,
"selector-class-pattern": [
"^_?(adf|adf-|app|app-|example-|demo-|textLayer|canvasWrapper|page)",
{
"resolveNestedSelectors": true
}
],
"scss/dollar-variable-empty-line-before": null,
"scss/at-rule-conditional-no-parentheses": null
}
}
+131
View File
@@ -0,0 +1,131 @@
language: node_js
dist: trusty
sudo: required
node_js:
# Use the explicit NodeJS LTS version 8.9.4 to avoid any automatic upgrade of the version.
- '8.9.4'
addons:
chrome: stable
before_script:
- "sudo chown root /opt/google/chrome/chrome-sandbox"
- "sudo chmod 4755 /opt/google/chrome/chrome-sandbox"
before_install:
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- sleep 3 # give xvfb some time to start
env:
matrix:
- MODULE=core
- MODULE=insights
- 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 -sb || exit 1;);
fi
fi
script:
- if ([ "$MODULE" == "core" ]); then
(./scripts/npm-build-all.sh -si -sb -t "core" || exit 1;);
fi
- if ([ "$MODULE" == "process-services" ]); then
(./scripts/npm-build-all.sh -si -sb -t "process-services" || exit 1;);
fi
- if ([ "$MODULE" == "insights" ]); then
(./scripts/npm-build-all.sh -si -sb -t "insights" || exit 1;);
fi
- if ([ "$MODULE" == "content-services" ]); then
(./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;);
else
(./scripts/start.sh -dev -t -ss -vjsapi alpha || exit 1;);
fi
fi
jobs:
include:
- stage: Test Update version 2.0.0
script: ./scripts/test-e2e-bc.sh
- # Test expors
script: npm run test-export
- # 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: e2e Test
script: ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save -dev -timeout 40000 --folder core
- # Test process-services
script: ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save -dev -timeout 40000 --folder process-services
- # Test content-services
script: ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save -dev -timeout 40000 --folder content-services
- # Test insights
script: ./scripts/test-e2e-lib.sh -host localhost:4200 -proxy $E2E_HOST -u $E2E_USERNAME -p $E2E_PASSWORD -e $E2E_EMAIL -b -save -dev -timeout 40000 --folder insights
- stage: Create Docker PR
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)
- stage: Deploy Docker PR
script: node ./scripts/pr-deploy.js -n $TRAVIS_BUILD_NUMBER -u $RANCHER_TOKEN -p $RANCHER_SECRET -s $REPO_RANCHER --image "docker:$REPO_DOCKER/adf/demo-shell:$TRAVIS_BUILD_NUMBER" --env $ENVIRONMENT_NAME -r $ENVIRONMENT_URL || exit 1
# jobs:
# include:
# - stage: Publish alpha to NPM
# before_install: skip
# install: skip
# script: skip
# deploy:
# provider: script
# script: (./scripts/update-version.sh -v $(./scripts/next_version.sh)-$(git rev-parse HEAD) -vj $(npm view alfresco-js-api@alpha version) -gnu) && (./scripts/npm-publish.sh -r $NPM_REGISTRY_ADDRESS -token $NPM_REGISTRY_TOKEN -t alpha --sleep 20 || exit 1;);
# on:
# branch: development
# skip_cleanup: true
# - stage: Publish beta to NPM
# before_install: skip
# install: skip
# script: skip
# deploy:
# provider: script
# script: (./scripts/update-version.sh -v $TRAVIS_TAG -gnu) && (./scripts/npm-publish.sh -r $NPM_REGISTRY_ADDRESS -token $NPM_REGISTRY_TOKEN -t beta --sleep 20 || exit 1;);
# on:
# tags: true
# skip_cleanup: true
# Send coverage data to codecov
after_success:
bash <(curl -s https://codecov.io/bash) -X gcov
cache:
directories:
- node_modules
-17
View File
@@ -1,17 +0,0 @@
specFile=$1;
configFile=$2;
findconfig() {
if [ -f "$1" ]; then
printf '%s\n' "${PWD%/}/$1"
elif [ "$PWD" = / ]; then
false
else
(cd .. && findconfig $1)
fi
}
DIR=$(dirname "$specFile")
cd $DIR
configFile=`findconfig "$configFile"`;
echo "$configFile";
-5
View File
@@ -1,5 +0,0 @@
{
"recommendations": [
"lucono.karma-test-explorer"
]
}
-27
View File
@@ -1,27 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "e2e",
"program": "${workspaceFolder}/node_modules/protractor/bin/protractor",
"args": [
"./e2e/protractor.conf.js",
"--specs=${file}"
],
"envFile": "${workspaceFolder}/.env",
"console": "integratedTerminal",
"sourceMaps": true,
"smartStep": true,
"skipFiles": [
"${workspaceFolder}/node_modules/**/*.js",
"<node_internals>/**/*.js"
],
"internalConsoleOptions": "neverOpen"
}
]
}
+2 -14
View File
@@ -8,6 +8,7 @@
"**/coverage": true,
"**/.happypack": true
},
"editor.renderIndentGuides": true,
"markdownlint.config": {
"MD032": false,
"MD004": false,
@@ -18,18 +19,5 @@
"MD033": false,
"MD031": false
},
"stylelint.enable": true,
"css.validate": false,
"scss.validate": false,
"stylelint.config": {
"extends": "./.stylelintrc.json"
},
"stylelint.configFile": ".stylelintrc.json",
"stylelint.validate": [
"css",
"less",
"postcss",
"scss"
],
"editor.guides.indentation": true
"cSpell.words": ["mincount", "webscript"]
}
+35 -45
View File
@@ -1,30 +1,25 @@
# CORS solving strategies
A web client built with ADF typically won't be loaded from the same web server that the Alfresco Platform is running on.
This means you need to tell the Alfresco server explicitly that any request coming in from this custom web client should be allowed access
to the Content Repository. This is done by enabling
[Cross Origin Resource Sharing](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing)
(CORS).
The web client that we are building with the application development framework will be loaded from a different web server than the Alfresco Platform is running on.
So we need to tell the Alfresco server that any request that comes in from this custom web client should be allowed access
to the Content Repository. This is done by enabling CORS.
If you are experiencing this kind of problem, use **one of the following approaches**,
depending on your setup:
If you are experiencing this kind of problem, see **one of the following**:
1. [Configure Webpack Proxy](#configure-webpack-proxy)
2. [Configure angular-cli Proxy](#configure-angular-cli-proxy)
3. [Configure nginx proxy](#configure-nginx-proxy)
4. [Enable CORS in CS and PS](#configure-webpack-proxy)
## Configure Webpack Proxy
If you are using a project created with the [Yeoman Generator](https://github.com/Alfresco/generator-ng2-alfresco-app) or the demo shell (>=1.6.0), you already have
a suitable configuration out of the box in your `config/webpack.common.js` file.
# Configure Webpack Proxy
If you are using a project created with the [Yeoman Generator](https://github.com/Alfresco/generator-ng2-alfresco-app) or the demo shell >=1.6.0, you have already out of the box in your `config/webpack.common.js` the following configuration.
Say we have an app running on http://localhost:3000/ and we want to redirect all calls with the following strategy:
* Content Service http://localhost:8080/ redirect to -> http://localhost:3000/ecm/
* Process Service http://localhost:9999/ redirect to -> http://localhost:3000/bpm/
Open the `config/webpack.common.js` file, find the `devServer` section and add the content:
Open the `config/webpack.common.js` file, find the `devServer` section and add the content:
```javascript
devServer: {
@@ -60,21 +55,18 @@ devServer: {
```
Notes:
- With a different configuration of webpack, the `devServer` properties could be in other webpack files. Search your configuration files to find the correct location.
- With different configuration of webpack the `devServer` properties could be in other webpack files. Search in your configuration files
- If you are running the App, Content Service or Process Service on different ports change the ports accordingly in your local configuration.
For further details about how to configure a webpack proxy please refer to the [official documentation](https://webpack.js.org/configuration/dev-server/#devserver-proxy).
## Configure angular-cli Proxy
# Configure angular-cli Proxy
Say we have an app running on http://localhost:3000/ and we want to redirect all the calls with the following strategy:
* Content Service http://localhost:8080/ redirect to -> http://localhost:3000/ecm/
* Process Service http://localhost:9999/ redirect to -> http://localhost:3000/bpm/
Create a file next to the project's `package.json`, call it `proxy.conf.json` and add the following content:
Create a file next to project's `package.json`, call it `proxy.conf.json` and add the following content:
```javascript
{
@@ -101,37 +93,36 @@ Create a file next to the project's `package.json`, call it `proxy.conf.json` an
}
```
Note that if you are running the App, Content Service or Process Service on different ports, you should change the ports accordingly in your local configuration.
Note if you are running the App, Content Service or Process Service on different ports change the ports accordingly in your local configuration.
For further details about how to configure a webpack proxy please refer to the [official documentation](https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md).
## Configure nginx proxy
# Configure nginx proxy
### Installing nginx
## Installing nginx
Most Linux distributions will come with nginx available to install via your
package manager and on Mac OS you can use [Homebrew](http://brew.sh/).
If you want to install manually, you can follow the instructions on the
If you want to install manually however, you can follow the instructions on the
[download page](http://nginx.org/en/download.html). See also the specific information for
[Windows users](http://nginx.org/en/docs/windows.html).
[windows users](http://nginx.org/en/docs/windows.html).
#### Start nginx
### Start nginx
Start nginx using the supplied configuration in [nginx.conf](nginx.conf)
nginx -c nginx.conf
#### Review nginx configuration
### Review nginx configuration
To correctly configure nginx, use the [nginx.conf](nginx.conf) file in the project root folder.
To correctly configure nginx use the following file [nginx.conf](/nginx.conf).
This will host Activiti, Alfresco and the app dev framework under the same origin.
* ECM : http://localhost:8888/alfresco/
* BPM : http://localhost:8888/activiti/
To make everything work, you should change the address of ECM and BPM. In the demo app you can do that by clicking on the top right settings menu and changing the bottom left options: *ECM host* and *BPM host*.
To make everything work, you should change the address of the ECM and BPM. In the demo app you can do that by clicking on the top right settings menu and change the bottom left options: *ECM host* and *BPM host*.
This configuration assumes a few things:
@@ -141,31 +132,30 @@ This configuration assumes a few things:
* Alfresco: localhost:8080
* Activiti: localhost:9999
You can modify all these values at their respective `location` directive in the
[nginx.conf](/nginx.conf) file.
All those values can be modified at their respective `location` directive on the [nginx.conf](/nginx.conf) file.
See the [Alfresco community page](https://community.alfresco.com/community/application-development-framework/blog/2016/09/28/adf-development-set-up-with-nginx-proxy) about using nginx with ADF for further information.
If you want to know more on how to install and configure nginx to work with the Application Development Framework, information can be found [here](https://community.alfresco.com/community/application-development-framework/blog/2016/09/28/adf-development-set-up-with-nginx-proxy)
## Enable CORS in CS and PS
If you want to completely enable CORS calls in your Content Services and Process Services,
please refer to the following Alfresco documents:
# Enable CORS in CS and PS
If you want to completely enable CORS calls on your Content Service and Process Service, please refer to the following Alfresco documents:
* [Enable Cross Origin Resource Sharing (CORS) in Alfresco Process Services](http://docs.alfresco.com/process-services1.6/topics/enabling-cors.html)
* Enable Cross Origin Resource Sharing (CORS) in Alfresco Content Services
The easiest approach is to add the [enablecors](https://artifacts.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/enablecors/1.0/enablecors-1.0.jar)
platform module JAR to the `$ALF_INSTALL_DIR/modules/platform` directory and restart the server.
This is the easiest way, add the [enablecors](https://artifacts.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/enablecors/1.0/enablecors-1.0.jar)
platform module JAR to the *$ALF_INSTALL_DIR/modules/platform* directory and restart the server.
Note that, by default, the CORS filter that is enabled will allow any origin.
Note. by default, the CORS filter that is enabled will allow any origin.
Or - Manually update the web.xml file
Alternatively, you can update the `web.xml` file manually.
Modify *$ALF_INSTALL_DIR/tomcat/webapps/alfresco/WEB-INF/web.xml* and uncomment the following section and update
`cors.allowOrigin` to `http://localhost:3000` :
Modify `$ALF_INSTALL_DIR/tomcat/webapps/alfresco/WEB-INF/web.xml` and uncomment the following section and update
`cors.allowOrigin` to `http://localhost:3000`:
```xml
```
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
@@ -199,11 +189,11 @@ Modify `$ALF_INSTALL_DIR/tomcat/webapps/alfresco/WEB-INF/web.xml` and uncomment
</init-param>
</filter>
```
When specifying the `cors.allowOrigin` URL, make sure that you use the URL that will be used by the web client.
When specifying the `cors.allowOrigin` URL make sure to use the URL that will be used by the web client.
Then uncomment the filter mappings:
Then uncomment filter mappings:
```xml
```
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/api/*</url-pattern>
+53
View File
@@ -0,0 +1,53 @@
# Browser Support
Browser support and polyfills guide.
Browser compatibility and support depends on targeted browsers and 3rd party libraries. ADF is based on the following libraries and components:
- Angular (all ADF components)
- Moment.js (many ADF components)
- PDF.js (`ng2-alfresco-viewer` component)
- Raphael.js (`ng2-alfresco-diagrams`, `ng2-alfresco-analytics`)
- Chart.js (`ng2-alfresco-analytics`)
## Browser polyfills
### Angular
Please refer to the [official guide](https://angular.io/docs/ts/latest/guide/browser-support.html) for Angular browser support.
ADF (demo shell) imports by default the following set of recommended polyfills:
- [core-js](https://www.npmjs.com/package/core-js) (ES6 standard support)
### 3rd party libraries
Please refer to the following list of [popular polyfills](https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills) for HTML5 cross-browser compatibility.
ADF (demo shell) imports by default the following set of recommended polyfills:
- [intl](https://www.npmjs.com/package/intl), Polyfill the ECMA-402 Intl API (except collation), **IE**/**Safari**
- [pdfjs compatibility](https://www.npmjs.com/package/pdfjs-dist), Portable Document Format (PDF) library that is built with HTML5, **IE**
## Example
```html
<!-- Polyfill(s) for Safari (pre-10.x) -->
<script src="node_modules/intl/dist/Intl.min.js"></script>
<script src="node_modules/intl/locale-data/jsonp/en.js"></script>
<!-- Polyfill(s) for older browsers -->
<script src="node_modules/core-js/client/shim.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/dom4/1.8.3/dom4.js"></script>
<script src="node_modules/element.scrollintoviewifneeded-polyfill/index.js"></script>
<!-- Polyfill(s) for pdf support -->
<script src="node_modules/pdfjs-dist/web/compatibility.js"></script>
<!-- Polyfill(s) for dialogs -->
<script src="node_modules/dialog-polyfill/dialog-polyfill.js"></script>
<link rel="stylesheet" type="text/css" href="node_modules/dialog-polyfill/dialog-polyfill.css" />
```
For a complete code please refer to [demo shell](demo-shell/index.html) example.
+22 -22
View File
@@ -6,21 +6,21 @@
## Submitting a Pull Request (PR)
Before you submit a pull request please follow the steps below:
Before you submit please follow the steps below:
* Search in [GitHub PR](https://github.com/Alfresco/alfresco-ng2-components/pulls) for an open or closed PR
that could solve or already solves your issue.
* Search in the [GitHub release history](https://github.com/Alfresco/alfresco-ng2-components/releases) to see if your
* Search in the [GitHub release history](https://github.com/Alfresco/alfresco-ng2-components/releases) if your
issue has already been solved in a new version of ADF.
* Fork our repository (if you don't know how to do this, read [this GitHub document](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)).
* Make your changes in a new git branch starting from develop and following our [naming convention](https://github.com/Alfresco/alfresco-ng2-components/wiki/Branching-Strategy)
* Fork our repository - [if you don't know how to do it read this GitHub document](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)
* Make your changes in a new git branch starting from development and following the [naming convention](https://github.com/Alfresco/alfresco-ng2-components/wiki/Branching-Strategy)
```shell
git checkout -b dev-{developerName}-{GitIssuedId/JiraIssueId} develop
git checkout -b dev-{developerName}-{GitIssuedId/JiraIssueId} development
```
* Create your PR **including appropriate test cases** following the [code contribution acceptance criteria](https://github.com/Alfresco/alfresco-ng2-components/wiki/Code-contribution-acceptance-criteria)
* Run the tests and make sure they are green. Please don't comment out or exclude the tests that are already in place.
* Run the tests and make sure they are green. Please don't comment out or exclude the already existing tests
* Commit your change using the [commit format message good practice](https://github.com/Alfresco/alfresco-ng2-components/wiki/Commit-format)
* Push your branch to GitHub:
@@ -28,32 +28,32 @@ Before you submit a pull request please follow the steps below:
git push origin dev-{developerName}-{GitIssuedId/JiraIssueId}
```
* In GitHub, send a pull request to `develop`.
* In GitHub, send a pull request to `development`.
* If we suggest changes then:
* Make the required updates.
* Re-run the tests.
* Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
```shell
git fetch develop
git fetch development
git checkout dev-my-branch
git rebase develop -i
git rebase development -i
git push -f
```
Note: If you need more information about how to sync your fork, see [this page](https://help.github.com/articles/syncing-a-fork/).
Note: If you need more information about how to sync your fork, see [here](https://help.github.com/articles/syncing-a-fork/)
## Code style
The code style for ADF follows the [Angular style guide](https://angular.io/guide/styleguide) plus some internal rules.
The codebase is also checked with:
- ESLint tool
- Stylelint tool
The code style in the ADF code follows the [Angular style guide](https://angular.io/guide/styleguide) plus some internal rules.
You dont have to worry too much about those rules because they are automatically checked by tslint/codelyzer/adf-rules.
If your code is not compliant to one of these rules you will receive an error when you build the project with some help on how to fix it.
The ADF-Rules :
* File name component/directive cannot start with Alfresco/Activiti/adf - this rule is to help developers find files easily
* Class names cannot start with Alfresco/Activiti/adf for the same reason as above
* scss is mandatory. All the classes need to have the adf- prefix
## Test guide
In ADF, we encourage the use of behavior-driven development (BDD).
In ADF we are encouraging the use of behavior-driven development (BDD)
### General guidelines
@@ -63,16 +63,16 @@ In ADF, we encourage the use of behavior-driven development (BDD).
### File name
* The file name specification must be the same as the component/service/pipe it tests plus the .spec. suffix.
* The specification file must be in the same folder as the component/service/pipe it tests.
* The file name specification as to be the same of the component/service/pipe it test plus the .spec. suffix
* The specification file has to be in the same folder of the component/service/pipe it test
### Describer Name
* The Main describer of the test should be the name of the class under test
* The sub describe is used for grouping related behavior test. Do not overuse it.
* The sub describe is used for grouping related behavior test. Do not over use it
### Test Name
Any test should follow the naming convention:
[Should] [ ***Expected Behavior*** ] [when/after/before] [ ***State Under Test*** ].
[Should] [ ***Expected Behavior** ] [when/after/before] [ ***State Under Test*** ].
+4 -26
View File
@@ -1,28 +1,6 @@
# 1. Generate licenses
FROM nginx:alpine
FROM node:18.16-alpine3.17 AS builder
WORKDIR /usr/src/alfresco
COPY package.json package.json
COPY demo-shell/nginx.conf /etc/nginx/nginx.conf
# 2. Generate image
FROM nginxinc/nginx-unprivileged:1.21-alpine
USER root
RUN apk update && apk upgrade
USER 101
ARG PROJECT_NAME
COPY docker/default.conf.template /etc/nginx/templates/
COPY docker/docker-entrypoint.d/* /docker-entrypoint.d/
COPY dist/$PROJECT_NAME /usr/share/nginx/html/
COPY dist/$PROJECT_NAME/app.config.json /etc/nginx/templates/app.config.json.template
USER root
RUN chmod a+w -R /etc/nginx/conf.d
USER 101
ENV BASE_PATH=/
ENV NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx/conf.d
WORKDIR /usr/share/nginx/html
COPY demo-shell/dist/ .
+40
View File
@@ -0,0 +1,40 @@
# Introduction to the Alfresco Application Development Framework
The Alfresco application development framework is based on the [Angular framework](https://angular.io/).
The framework is provided by Alfresco to make it easy to build custom web applications that
should manage and view content in the [Alfresco Platform Repository](http://docs.alfresco.com/5.1/concepts/content-repo-about.html) in a custom way.
As you probably know, there is a general user interface called [Alfresco Share](http://docs.alfresco.com/5.1/concepts/gs-intro.html) available out-of-the-box.
Share is usually used as a quick way of getting started with content management with Alfresco. It gives you access to pretty much all
the features provided by the Alfresco ECM system. And a lot of customers customize it for their specific domain.
However, there are use-cases that Share does not fit very well, such as:
- Feature-based clients, exposing functionality to perform a specific task(s)
- Role-based clients, exposing functionality based on role
- Clients where the UI layout and style differs significantly from the Share layout and styling
- [Mashup clients](http://whatis.techtarget.com/definition/mash-up)
This is where this application development framework comes into play, it can be used to create exactly the user interface
(i.e. web client) that the requirements demand.
The framework consists of several libraries that can be used to form a customized content management application. The available libraries are:
- [Core](lib/core/README.md)
- [Content Services](lib/content-services/README.md)
- [Process Services](lib/process-services/README.md)
- [Insights](lib/insights/README.md)
You can browse all the components at the
[ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
An architecture overview looks like this:
<p align="center">
<img title="alfresco-angular-components-architecture" alt='alfresco' src='assets/alfresco-app-dev-framework-architecture.png'></img>
</p>
Here we can also see that there is an Alfresco JavaScript framework in use that wraps the Alfresco REST API, to make things easier for the client developer.
+27
View File
@@ -0,0 +1,27 @@
# Prerequisites for building and running apps with the Alfresco Application Development Framework
The [Angular](https://angular.io/) based application development framework requires the following:
- An Alfresco Platform Repository (version [201609 Early Access](https://community.alfresco.com/docs/DOC-6372-alfresco-community-edition-file-list-201609-ea) or newer)
- [Download and install the process service](https://www.alfresco.com/products/bpm/alfresco-activiti/trial)
- [Node.js](https://nodejs.org/en/) JavaScript runtime.
- [npm](https://www.npmjs.com/) package manager for JavaScript.
- (If you use CS and PS together) Make sure your user has the same username and password in both system
- [If you are experiencing CORS problem read this guide](/ALFRESCOCORS.md)
*Note: Default username for activiti is "admin@app.activiti.com" and "admin" for Alfresco, and also the default password are different. Change them to be equal.*
**Verify that you are running at least node `v5.x.x` and npm `3.x.x`**
by running `node -v` and `npm -v` in a terminal/console window.
Older versions produce errors.
## Installing Node.js
If you don't have Node.js installed then access this [page](https://nodejs.org/en/download/) and use the appropriate installer for your OS.
Make sure the Node.js version is > 5:
```
$ node -v
v5.12.0
```
+72 -40
View File
@@ -1,59 +1,91 @@
# Alfresco Application Development Framework (ADF)
# 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>
<a title='Build Status Travis' href="https://travis-ci.org/Alfresco/alfresco-ng2-components">
<img src='https://travis-ci.org/Alfresco/alfresco-ng2-components.svg?branch=master' alt='travis
Status' />
</a>
<a title='Build Status AppVeyor' href="https://ci.appveyor.com/project/alfresco/alfresco-ng2-components">
<img src='https://ci.appveyor.com/api/projects/status/github/Alfresco/alfresco-ng2-components' alt='travis
Status' />
</a>
<a href='https://codecov.io/gh/Alfresco/alfresco-ng2-components'>
<img src='http://img.shields.io/codecov/c/github/Alfresco/alfresco-ng2-components/master.svg?maxAge=2592000' alt='Coverage Status' />
</a>
<a href='https://github.com/Alfresco/alfresco-ng2-components/blob/master/LICENSE'>
<img src='https://img.shields.io/hexpm/l/plug.svg' alt='license' />
</a>
</p>
## Introduction
See the [introduction page](docs/user-guide/adf-introduction.md) in our
[documentation](docs/README.md) for an overview of ADF along with links
to useful starting points.
See the following [page](INTRODUCTION.md) for an introduction to the Alfresco Application Development Framework.
## Prerequisites
```text
Node: 18.x
NPM: 9.x
```
Also, check out the tutorial [Creating your first ADF Application](docs/tutorials/creating-your-first-adf-application.md)
for full details on what you may need to install before using ADF.
### See also
- [Node Version Manager](docs/tutorials/nvm.md)
- [CORS guide](ALFRESCOCORS.md)
Before you start using this development framework, make sure you have installed all required software and done all the
necessary configuration, see this [page](PREREQUISITES.md).
## Components
You can find the sources for all ADF components in the [`lib`](/lib) folder.
To view the sources of all components that you can use to build your custom Alfresco (Content Services or Process Services) client follow this link:
[Components](/lib).
## Libraries
ADF Libraries list:
- [Content services](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/content-services)
- [Core](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/core)
- [Extensions](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/extensions)
- [Insights](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/insights)
- [Process Service Cloud](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/process-services-cloud)
- [Process service](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/process-services)
- [Stories](https://github.com/Alfresco/alfresco-ng2-components/tree/develop/lib/stories)
You can browse all the components at the [ADF Component Catalog](https://alfresco.github.io/adf-component-catalog/).
## Demo Application
A separate application showcasing integration of components can be found
[here](https://github.com/Alfresco/alfresco-ng2-components/tree/master/demo-shell).
The app has examples of basic interaction for both APS and ACS components.
A separate application showcasing integration of components can be found [here](https://github.com/Alfresco/alfresco-ng2-components/tree/master/demo-shell).
## Application generator for Yeoman
You will find examples of basic interaction for both BPM and ECM sets of widgets.
To speed up the development, you can use the
[Generator for Yeoman](https://github.com/Alfresco/generator-ng2-alfresco-app).
## Yeoman generators
To speed up the development of your Alfresco Angular application, or Alfresco Angular component, use one of the Yeoman generators.
These generators will create a full working project with all the right libraries and tools.
<p align="center">
<img title="yeoman generator" src='https://github.com/yeoman/media/blob/master/optimized/yeoman-150x150-opaque.png' alt='yeoman logo' />
</p>
### Generate an Alfresco web component starter project
To generate your Alfresco Angular component you can use the following Yeoman generator:
- [Yeoman Generator Angular Alfresco component](https://github.com/Alfresco/generator-ng2-alfresco-component)
### Generate an Alfresco web application starter project
To generate your Alfresco Angular application you can use the following Yeoman generator:
- [Yeoman Generator Angular Alfresco application](https://github.com/Alfresco/generator-ng2-alfresco-app)
## Amazon AWS Elastic Beanstalk fast deploy
<p align="center">
<img alt="AmazonWebservices Logo.svg" src="https://upload.wikimedia.org/wikipedia/commons/1/1d/AmazonWebservices_Logo.svg" width="250" height="94">
</p>
To deploy directly on your AWS instance our demo shell click the button below:
<a title="Deploy to AWS" href="https://console.aws.amazon.com/elasticbeanstalk/home?region=us-west-2#/newApplication?applicationName=Alfresco&solutionStackName=Node.js&tierName=WebServer&sourceBundleUrl=https://s3-us-west-2.amazonaws.com/elasticbeanstalk-us-west-2-677901592050/ADF_1.0.zip" target="_blank"><img src="http://d0.awsstatic.com/product-marketing/Elastic%20Beanstalk/deploy-to-aws.png" height="40"></a>
## Browser Support
All components are supported in the following browsers:
|**Browser** |**Version** |
|--- |--- |
| Chrome | Latest |
| Safari | Latest |
| Firefox | Latest |
| Edge | Latest |
|**Browser** |**Version** |
|--- |--- |
|Chrome |Latest |
|Safari (OS X) |9.x |
|Firefox* |Latest |
|Edge |13, 14 |
|Internet Explorer |11 |
* Due to a [Firefox known issue](https://bugzilla.mozilla.org/show_bug.cgi?id=1188880), the Alfresco Upload Component does not currently support folder upload functionality on Firefox.
Please refer to the [Browser Support](BROWSER-SUPPORT.md) article for more details.
+450 -981
View File
File diff suppressed because it is too large Load Diff
+57
View File
@@ -0,0 +1,57 @@
# Test against this version of Node.js
branches:
only:
- master
- development
- dev-build-test
environment:
nodejs_version: "8"
matrix:
- 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)
install:
# Get the latest stable version of Node.js or io.js
- ps: Install-Product node $env:nodejs_version
# install module
- if %COMPONENT_NAME% EQU process-service (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "process-services" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "process-services" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU content-service (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "content-services" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "content-services" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU insights (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "insights" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "insights" -vjsapi alpha|| exit 1)
)
- if %COMPONENT_NAME% EQU core (
if %APPVEYOR_REPO_BRANCH EQU master
(cd scripts && sh npm-build-all.sh -t "core" || exit 1)
else
(cd scripts && sh npm-build-all.sh -t "core" -vjsapi alpha|| exit 1)
)
# - if %COMPONENT_NAME% EQU ng2-demo-shell (
# if %APPVEYOR_REPO_BRANCH EQU master
# (cd scripts && sh start.sh -t -ss || exit 1)
# else
# (cd scripts && sh start.sh -dev -t -ss -vjsapi alpha || exit 1)
# )
# Don't actually build.
build: off
matrix:
fast_finish: true
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

-164
View File
@@ -1,164 +0,0 @@
{
"version": "0.2",
"language": "en",
"words": [
"activiti",
"adhoc",
"afts",
"appkey",
"Arial",
"arrowdown",
"arrowup",
"auditable",
"AUTHTYPE",
"backend",
"baseitem",
"BASESHAREURL",
"booleanvisibility",
"booleanvisibilityprocess",
"boolitem",
"BPMHOST",
"cardview",
"checkboxes",
"classlist",
"Collapsable",
"CONTEXTROOTBPM",
"CONTEXTROOTECM",
"cryptodoc",
"CSRF",
"datacolumn",
"datarow",
"Datasource",
"datatable",
"dateitem",
"datepicker",
"datetimeitem",
"Datetimepicker",
"dbpci",
"DDTHH",
"devops",
"devtools",
"dialpad",
"DISABLECSRF",
"doclib",
"docx",
"dropdownrestprocess",
"Droppable",
"dryrun",
"ECMBPM",
"ECMHOST",
"Examinate",
"exif",
"filedata",
"filelink",
"filesize",
"firstname",
"floatitem",
"folderlink",
"formtotestvalidations",
"fullname",
"fullscreen",
"gitter",
"glyphicon",
"gridster",
"hardend",
"highlightable",
"hotfix",
"Hyland",
"imgpreview",
"Inplace",
"intitem",
"jira",
"jsons",
"jwks",
"keycodes",
"keyvaluepairs",
"keyvaluepairsitem",
"lastname",
"listgrid",
"mapitem",
"mimetype",
"mincount",
"minlength",
"minmax",
"MLTEXT",
"mousedrag",
"mouseenter",
"multiselect",
"mysites",
"nginx",
"numbervisibilityprocess",
"OAUTHCONFIG",
"oidc",
"overridable",
"pdfjs",
"penta",
"printf",
"processparent",
"processstring",
"processwithstarteventform",
"processwithvariables",
"Promise",
"promisify",
"qshare",
"quicktime",
"repo",
"requirednumbervisibility",
"rowspan",
"selectitem",
"sharedlinks",
"sidenav",
"snackbar",
"SOLR",
"starteventform",
"subfolders",
"swimlanes",
"swsdp",
"tabindex",
"taggable",
"tasklist",
"textitem",
"Theming",
"transcluded",
"transclusion",
"truthy",
"typeahead",
"typeahed",
"uncheck",
"Unclaim",
"Undeployed",
"unfavorite",
"unlisten",
"unshare",
"UPDATEPERMISSIONS",
"uploader",
"uploadfileform",
"userinfo",
"validators",
"waypoint",
"waypoints",
"webm",
"Whitespaces",
"xdescribe",
"xsrf",
"BPMECM",
"berseria",
"zestiria",
"validatable",
"edjs"
],
"dictionaries": [
"html",
"en-gb",
"en_US",
"softwareTerms",
"node"
],
"ignorePaths": [
"lib/{content-services,core,extensions,insights,process-services}/**/*.spec.ts",
"lib/{content-services,core,extensions,insights,process-services}/**/*.mock.ts"
],
"ignoreRegExpList": [
"(\"|'|`)((?:\\\\1|(?:(?!\\1).))*)\\1"
]
}
-95
View File
@@ -1,95 +0,0 @@
/**
* This file decorates the Angular CLI with the Nx CLI to enable features such as computation caching
* and faster execution of tasks.
*
* It does this by:
*
* - Patching the Angular CLI to warn you in case you accidentally use the undecorated ng command.
* - Symlinking the ng to nx command, so all commands run through the Nx CLI
* - Updating the package.json postinstall script to give you control over this script
*
* The Nx CLI decorates the Angular CLI, so the Nx CLI is fully compatible with it.
* Every command you run should work the same when using the Nx CLI, except faster.
*
* Because of symlinking you can still type `ng build/test/lint` in the terminal. The ng command, in this case,
* will point to nx, which will perform optimizations before invoking ng. So the Angular CLI is always invoked.
* The Nx CLI simply does some optimizations before invoking the Angular CLI.
*
* To opt out of this patch:
* - Replace occurrences of nx with ng in your package.json
* - Remove the script from your postinstall script in your package.json
* - Delete and reinstall your node_modules
*/
const fs = require("fs");
const os = require("os");
const cp = require("child_process");
const isWindows = os.platform() === "win32";
const output = require('nx/src/utils/output').output;
/**
* Paths to files being patched
*/
const angularCLIInitPath = "node_modules/@angular/cli/lib/cli/index.js";
/**
* Patch index.js to warn you if you invoke the undecorated Angular CLI.
*/
function patchAngularCLI(initPath) {
const angularCLIInit = fs.readFileSync(initPath, "utf-8").toString();
if (!angularCLIInit.includes("NX_CLI_SET")) {
fs.writeFileSync(
initPath,
`
if (!process.env['NX_CLI_SET']) {
const { output } = require('@nrwl/workspace');
output.warn({ title: 'The Angular CLI was invoked instead of the Nx CLI. Use "npx ng [command]" or "nx [command]" instead.' });
}
${angularCLIInit}
`
);
}
}
/**
* Symlink of ng to nx, so you can keep using `ng build/test/lint` and still
* invoke the Nx CLI and get the benefits of computation caching.
*/
function symlinkNgCLItoNxCLI() {
try {
const ngPath = "./node_modules/.bin/ng";
const nxPath = "./node_modules/.bin/nx";
if (isWindows) {
/**
* This is the most reliable way to create symlink-like behavior on Windows.
* Such that it works in all shells and works with npx.
*/
["", ".cmd", ".ps1"].forEach(ext => {
fs.writeFileSync(ngPath + ext, fs.readFileSync(nxPath + ext));
});
} else {
// If unix-based, symlink
cp.execSync(`ln -sf ./nx ${ngPath}`);
}
} catch (e) {
output.error({
title:
"Unable to create a symlink from the Angular CLI to the Nx CLI:" +
e.message
});
throw e;
}
}
try {
symlinkNgCLItoNxCLI();
patchAngularCLI(angularCLIInitPath);
output.log({
title: "Angular CLI has been decorated to enable computation caching."
});
} catch (e) {
output.error({
title: "Decoration of the Angular CLI did not complete successfully"
});
}
-73
View File
@@ -1,73 +0,0 @@
path = require('path');
module.exports = {
extends: '../.eslintrc.js',
ignorePatterns: ['!**/*'],
overrides: [
{
files: ['*.ts'],
parserOptions: {
project: [
path.join(__dirname, 'tsconfig.app.json'),
path.join(__dirname, 'src/tsconfig.spec.json'),
path.join(__dirname, 'e2e/tsconfig.e2e.json')
],
createDefaultProgram: true
},
plugins: ['eslint-plugin-unicorn', 'eslint-plugin-rxjs'],
rules: {
'@angular-eslint/component-selector': [
'error',
{
type: 'element',
prefix: ['adf', 'app'],
style: 'kebab-case'
}
],
'@angular-eslint/directive-selector': [
'error',
{
type: ['element', 'attribute'],
prefix: ['adf', 'app'],
style: 'kebab-case'
}
],
'@angular-eslint/no-host-metadata-property': 'off',
'@angular-eslint/no-input-prefix': 'error',
'@typescript-eslint/consistent-type-definitions': 'error',
'@typescript-eslint/dot-notation': 'off',
'@typescript-eslint/explicit-member-accessibility': [
'off',
{
accessibility: 'explicit'
}
],
'@typescript-eslint/no-inferrable-types': 'off',
'@typescript-eslint/no-require-imports': 'off',
'@typescript-eslint/no-var-requires': 'error',
'comma-dangle': 'error',
'default-case': 'error',
'import/order': 'off',
'max-len': [
'error',
{
code: 240
}
],
'no-bitwise': 'off',
'no-duplicate-imports': 'error',
'no-multiple-empty-lines': 'error',
'no-redeclare': 'error',
'no-return-await': 'error',
'rxjs/no-create': 'error',
'rxjs/no-subject-unsubscribe': 'error',
'rxjs/no-subject-value': 'error',
'rxjs/no-unsafe-takeuntil': 'error',
'unicorn/filename-case': 'error'
}
},
{
files: ['*.html'],
rules: {}
}
]
};
+1
View File
@@ -52,6 +52,7 @@ app/**/*.d.ts
!app/js/Polyline.js
.idea
**/versions.json
dist/
+5 -6
View File
@@ -9,9 +9,8 @@ To correctly use this demo check that on your machine you have [Node](https://no
```sh
git clone https://github.com/Alfresco/alfresco-ng2-components.git
cd alfresco-ng2-components
cd alfresco-ng2-components/demo-shell/
npm install
npm start
```
## Proxy settings and CORS
@@ -49,7 +48,7 @@ npm start
This command compiles and starts the project in watch mode.
Browser will automatically reload upon changes.
Upon start, you can navigate to `http://localhost:3000` with your preferred browser.
Upon start you can navigate to `http://localhost:3000` with your preferred browser.
### Important notes
@@ -59,7 +58,7 @@ This script is recommended for development environment and not suited for headle
```sh
npm run build
npm run start:prod
npm run start:dist
```
This command builds project in `production` mode.
@@ -68,8 +67,8 @@ You should need no additional files outside the `dist` folder.
## Development branch build
If you want to run the demo shell with the latest changes from the development branch, use the following command :
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 run start
npm run start:dev
```
+77
View File
@@ -0,0 +1,77 @@
var port = process.env.PORT || 3000,
http = require('http'),
fs = require('fs'),
url = require('url'),
mime = require('mime'),
html = fs.readFileSync('index.html');
var log = function(entry) {
fs.appendFileSync('/tmp/sample-app.log', new Date().toISOString() + ' - ' + entry + '\n');
};
var server = http.createServer(function (req, res) {
// Parse the request containing file name
var pathname = url.parse(req.url).pathname;
// Print the name of the file for which request is made.
console.log("Request for " + pathname + " received.");
if (req.method === 'POST') {
var body = '';
req.on('data', function(chunk) {
body += chunk;
});
req.on('end', function() {
if (req.url === '/') {
log('Received message: ' + body);
} else if (req.url = '/scheduled') {
log('Received task ' + req.headers['x-aws-sqsd-taskname'] + ' scheduled at ' + req.headers['x-aws-sqsd-scheduled-at']);
}
res.writeHead(200, 'OK', {'Content-Type': 'text/plain'});
res.end();
});
} else {
var filename = pathname.substr(1);
if(filename === '' || filename.indexOf('.') === -1){
filename = 'index.html';
}
// Read the requested file content from file system
fs.readFile(filename, function (err, data) {
if (err) {
console.log(err, filename);
// HTTP Status: 404 : NOT FOUND
// Content Type: text/plain
res.writeHead(404, {'Content-Type': 'text/html'});
}else{
//Page found
// HTTP Status: 200 : OK
// Content Type: text/plain
var type = mime.lookup(filename);
console.log('type',type);
if (!res.getHeader('content-type')) {
var charset = mime.charsets.lookup(type);
res.setHeader('Content-Type', type + (charset ? '; charset=' + charset : ''));
}
if(type.indexOf('image') > -1 || type.indexOf('font') > -1){
var img = fs.readFileSync(pathname.substr(1));
res.end(img, 'binary');
}else{
res.write(data.toString());
}
// Write the content of the file to response body
}
// Send the response body
res.end();
});
}
});
// Listen on port 3000, IP defaults to 127.0.0.1
server.listen(port);
// Put a friendly message on the terminal
console.log('Server running at http://127.0.0.1:' + port + '/');
+31
View File
@@ -0,0 +1,31 @@
/*!
* @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 { MyappPage } from './app.po';
describe('myapp App', () => {
let page: MyappPage;
beforeEach(() => {
page = new MyappPage();
});
it('should display toolbar', () => {
page.navigateTo();
expect(page.getToolbar()).toBeDefined();
});
});
+28
View File
@@ -0,0 +1,28 @@
/*!
* @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 { browser, element, by } from 'protractor';
export class MyappPage {
navigateTo() {
return browser.get('/');
}
getToolbar() {
return element(by.tagName('adf-toolbar'));
}
}
+12
View File
@@ -0,0 +1,12 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"module": "commonjs",
"target": "es5",
"types":[
"jasmine",
"node"
]
}
}
+1 -2
View File
@@ -1,6 +1,5 @@
// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html
process.env.CHROME_BIN = require('puppeteer').executablePath();
module.exports = function (config) {
config.set({
@@ -50,7 +49,7 @@ module.exports = function (config) {
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['ChromeHeadless'],
browsers: ['Chrome'],
singleRun: false
});
};
+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 -2
View File
@@ -1,8 +1,8 @@
{
"name": "Alfresco-ADF-Angular-Demo",
"description": "Demo shell for Alfresco Angular components",
"version": "6.9.0",
"author": "Hyland Software, Inc. and its affiliates",
"version": "2.5.0",
"author": "Alfresco Software, Ltd.",
"repository": {
"type": "git",
"url": "https://github.com/Alfresco/alfresco-ng2-components.git"
-76
View File
@@ -1,76 +0,0 @@
module.exports = {
getDeployedAppsProxy: function(processHost, deployedApps) {
let deployedAppProxy = {};
if (deployedApps) {
try {
const deployedAppsArray = JSON.parse(deployedApps);
for (const app of deployedAppsArray) {
const appName = app.name;
const appPath = `/${appName}`;
const appPathRewrite = `^/${appName}`;
deployedAppProxy = {
...deployedAppProxy,
[appPath]: {
target: `${processHost}`,
secure: false,
pathRewrite: {
[appPathRewrite]: appName,
},
changeOrigin: true,
},
};
}
} catch (e) {
console.log(e);
}
}
return deployedAppProxy;
},
getShareProxy: function(host) {
console.log('Target for /alfresco', host);
return {
'/alfresco': {
target: host,
secure: false,
logLevel: 'debug',
changeOrigin: true,
onProxyReq: function(request) {
if(request["method"] !== "GET")
request.setHeader("origin", host);
},
// workaround for REPO-2260
onProxyRes: function (proxyRes, req, res) {
const header = proxyRes.headers['www-authenticate'];
if (header && header.startsWith('Basic')) {
proxyRes.headers['www-authenticate'] = 'x' + header;
}
},
},
}
},
getApsProxy: function(host) {
console.log('Target for /activiti-app', host);
return {
'/activiti-app': {
target: host,
secure: false,
logLevel: 'debug',
changeOrigin: true,
},
}
},
getIdentityAdapterServiceProxy: function(host) {
console.log('Target for /identity-adapter-service', host);
return {
'/identity-adapter-service': {
target: host,
secure: false,
logLevel: 'debug',
changeOrigin: true,
},
}
}
};
+23 -13
View File
@@ -1,15 +1,25 @@
require('dotenv').config();
const { getDeployedAppsProxy, getShareProxy, getApsProxy, getIdentityAdapterServiceProxy } = require('./proxy-helpers');
const legacyHost = process.env.PROXY_HOST_ADF;
const cloudHost = process.env.CLOUD_PROXY_HOST_ADF || process.env.PROXY_HOST_ADF;
const cloudApps = process.env.APP_CONFIG_APPS_DEPLOYED;
const apsHost = process.env.PROXY_HOST_ADF;
module.exports = {
...getShareProxy(legacyHost),
...getApsProxy(apsHost),
...getDeployedAppsProxy(cloudHost, cloudApps),
...getIdentityAdapterServiceProxy(cloudHost)
"/alfresco": {
"target": "http://localhost:8080",
"secure": false,
"pathRewrite": {
"^/alfresco/alfresco": ""
},
"changeOrigin": true,
// workaround for REPO-2260
onProxyRes: function (proxyRes, req, res) {
const header = proxyRes.headers['www-authenticate'];
if (header && header.startsWith('Basic')) {
proxyRes.headers['www-authenticate'] = 'x' + header;
}
}
},
"/activiti-app": {
"target": "http://localhost:9999",
"secure": false,
"pathRewrite": {
"^/activiti-app/activiti-app": ""
},
"changeOrigin": true
}
};
+230
View File
@@ -0,0 +1,230 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Kommentare",
"PROPERTIES": "Eigenschaften",
"VERSIONS": "Versionen"
},
"HOME": {
"TITLE": "Angular-Komponenten für Alfresco",
"DOCUMENTATION": "Dokumentation"
},
"LOGOUT": {
"TITLE": "Seite 'Abmelden'",
"SUB_TITLE": "Sie sind nun abgemeldet.",
"LOGIN": "Anmelden",
"HOME": "Startseite"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Löschen zulassen",
"SHOW_COMMENTS": "Anmerkungen zu Versionen einblenden",
"ALLOW_DOWNLOAD": "Download zulassen",
"READ_ONLY": "Schreibgeschützt",
"COMMENTS": "Kommentare anzeigen"
},
"PERSONAL-FILES": "Persönliche Dateien",
"WARN-MULTIPLE-UPLOADS": "Warnung bei Mehrfach-Uploads anzeigen.",
"CUSTOM-PERMISSION-MESSAGE": "Meldung 'Benutzerdefinierte Berechtigung aktivieren'",
"MEDIUM-TIME-FORMAT": "Mittleres Zeitformat für Dokumentliste aktivieren",
"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",
"DIALOG": {
"CLOSE": "Schließen",
"TITLE": "Versionen verwalten"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Schließen",
"TITLE": "Metadaten"
}
},
"COMMENTS": {
"ADD_COMMENT": "Hinzufügen"
},
"APP_LAYOUT": {
"APP_NAME": "ADF-Demoanwendung",
"HOME": "Startseite",
"NODE-SELECTOR": "Node-Auswahl",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"NOTIFICATIONS": "Benachrichtigungen",
"TASK_LIST": "Aufgabenliste",
"PROCESS_LIST": "Prozessliste",
"CARD_VIEW": "CardView",
"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",
"CONFIG-EDITOR": "Konfigurations-Editor",
"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",
"HEADER_DATA": "Headerdaten"
},
"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)",
"THUMBNAILS": "Miniaturansichten aktivieren",
"MULTIPLE_FILE_UPLOAD": "Mehrere Dateien hochladen",
"FOLDER_UPLOAD": "Ordner hochladen",
"CUSTOM_FILTER": "Filter für benutzerdefinierte Erweiterungen",
"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",
"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": {
"COPY": "Kopieren",
"MOVE": "Verschieben",
"DELETE": "Löschen",
"PROCESS_ACTION": "Prozess starten"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Auf Standard zurücksetzen",
"ADD_ROW": "Zeile hinzufügen",
"REPLACE_ROWS": "Zeilen ersetzen",
"REPLACE_COLUMNS": "Spalten ersetzen",
"LOAD_NODE": "Node laden",
"MULTISELECT": "Mehrfachauswahl",
"MULTISELECT_DESCRIPTION": "Mit der Befehls- (Mac) oder der Steuerungstaste (Windows) können Sie die Auswahl mehrerer Elemente umschalten"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Kein Bericht ausgewählt. Wählen Sie einen Bericht aus der Liste"
},
"PS-TAB": {
"TASKS-TAB": "Aufgaben",
"PROCESSES-TAB": "Prozess",
"REPORTS-TAB": "Berichte",
"START-TASK": "Aufgabe starten",
"START-PROCESS": "Prozess starten",
"PROCESS-AUDIT-LOG": "Prozess-Audit-Protokoll",
"TASK-AUDIT-LOG": "Aufgaben-Audit-Protokoll",
"TASK-SHOW-HEADER": "Detailsheader anzeigen"
},
"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",
"SHOW_REMEMBERME": "'Benutzername und Passwort speichern' anzeigen",
"SHOW_SUCCESS_ROUTE": "Erfolgsroute anzeigen",
"CUSTOM_LOGO": "Benutzerdefiniertes Logo"
},
"SEARCH": {
"RESULTS": "Ergebnisse durchsuchen",
"NO_RESULT": "Keine Ergebnisse gefunden"
},
"SOCIAL": {
"LIKE": "Like-Komponente",
"RATING": "Bewertungskomponente"
},
"TAG": {
"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"
},
"TASK_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein"
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "App-ID einfügen",
"APP_ID_TYPE_ERROR": "App-ID muss eine Zahl sein"
},
"GROUP-TITLE1-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 1",
"GROUP-TITLE2-TRANSLATION-KEY": "Übersetzung benutzerdefinierter Titel 2"
}
+225 -29
View File
@@ -1,39 +1,235 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Comments",
"PROPERTIES": "Properties",
"VERSIONS": "Versions"
},
"HOME": {
"TITLE": "Angular components for Alfresco",
"DOCUMENTATION": "Documentation"
},
"LOGOUT": {
"TITLE": "Logout Page",
"SUB_TITLE": "You are now logged out",
"LOGIN": "Login",
"HOME": "Home"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Allow delete",
"SHOW_COMMENTS": "Show comments on versions",
"ALLOW_DOWNLOAD": "Enable version download",
"READ_ONLY": "Read-only",
"ALLOW_DOWNLOAD": "Allow Download",
"COMMENTS": "Show comments"
},
"PERSONAL-FILES": "Personal Files",
"WARN-MULTIPLE-UPLOADS": "Display warning for multiple uploads.",
"CUSTOM-PERMISSION-MESSAGE": "Enable custom permission message",
"MEDIUM-TIME-FORMAT": "Enable medium time format for document list",
"SEARCH": {
"RADIO": {
"NONE": "None",
"ALL": "All",
"FOLDER": "Folder",
"DOCUMENT": "Document"
}
}
},
"title": "Welcome",
"NOTIFICATIONS": {
"TASK_ASSIGNED": "{{taskName}} task has been assigned to {{assignee}}",
"PROCESS_STARTED": "{{processName}} process has been started",
"TASK_UPDATED": "{{taskName}} task details have been updated",
"TASK_CREATED": "{{taskName}} task was created"
"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",
"NODE-SELECTOR": "Node Selector",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"NOTIFICATIONS": "Notifications",
"TASK_LIST": "Task List",
"PROCESS_LIST": "Process List",
"CARD_VIEW": "CardView",
"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",
"CONFIG-EDITOR": "Configuration Editor",
"OVERLAY_VIEWER": "Overlay Viewer",
"ABOUT": "About",
"SEARCH": "Extended Search",
"NOTIFICATIONS": "Notifications",
"EXTENDED_SEARCH_QUERY_BODY": "Extended Search with Query Body",
"WORD_TO_SEARCH": "Search Word",
"SEARCH_CREATED_BY": "Created By",
"SEARCH_SERVICE_APPROACH": "Check this to disable the input property and configure using the service",
"HEADER_DATA": "Header Data"
},
"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",
"TASK-SHOW-HEADER": "Show details header"
},
"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",
"SHOW_REMEMBERME": "Show remember me",
"SHOW_SUCCESS_ROUTE": "Show success route",
"CUSTOM_LOGO": "Custom Logo"
},
"SEARCH": {
"RESULTS": "Search results",
"NO_RESULT": "No results found",
"FACET_FIELDS": {
"TYPE": "1:Type",
"SIZE": "2:Size",
"CREATOR": "3:Creator",
"MODIFIER": "4:Modifier",
"CREATED": "5:Created"
"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"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insert App ID",
"APP_ID_TYPE_ERROR": "App ID must be a number",
"NUMBER_TYPE_ERROR": "Value must be a number"
},
"FACET_QUERIES": {
"MY_FACET_QUERIES": "My facet queries",
"CREATED_THIS_YEAR": "1.Created This Year",
"MIMETYPE": "2.Type: HTML",
"XTRASMALL": "3.Size: xtra small",
"SMALL": "4.Size: small",
"MEDIUM": "5.Size: medium",
"LARGE": "6.Size: large",
"XTRALARGE": "7.Size: xtra large",
"XXTRALARGE": "8.Size: XX large"
"TOOLTIP_MESSAGE": {
"START_INPUT": "Starting page"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Insert App ID",
"APP_ID_TYPE_ERROR": "App ID must be a number"
},
"GROUP-TITLE1-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION ONE",
"GROUP-TITLE2-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION TWO",
"ERROR_CONTENT": {
"507": {
"TITLE": "ACS Disk full",
"DESCRIPTION": "Content exceeds overall storage quota limit configured for the network or system"
}
}
"GROUP-TITLE2-TRANSLATION-KEY": "CUSTOM TITLE TRANSLATION TWO"
}
+233
View File
@@ -0,0 +1,233 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detalles",
"COMMENTS": "Comentarios",
"PROPERTIES": "Propiedades",
"VERSIONS": "Versiones"
},
"HOME": {
"TITLE": "Componentes angulares para Alfresco",
"DOCUMENTATION": "Documentación"
},
"LOGOUT": {
"TITLE": "Página de cierre de sesión",
"SUB_TITLE": "Se ha cerrado su sesión",
"LOGIN": "Iniciar sesión",
"HOME": "Inicio"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir eliminar",
"SHOW_COMMENTS": "Mostrar comentarios en las versiones",
"ALLOW_DOWNLOAD": "Permitir descarga",
"READ_ONLY": "Solo lectura",
"COMMENTS": "Mostrar comentarios"
},
"PERSONAL-FILES": "Ficheros personales",
"WARN-MULTIPLE-UPLOADS": "Mostrar advertencia de múltiples cargas.",
"CUSTOM-PERMISSION-MESSAGE": "Habilitar mensaje de permiso personalizado",
"MEDIUM-TIME-FORMAT": "Habilitar formato de tiempo mediano para lista de documentos",
"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",
"DIALOG": {
"CLOSE": "Cerrar",
"TITLE": "Gestionar versiones"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Cerrar",
"TITLE": "Metadatos"
}
},
"APP_LAYOUT": {
"APP_NAME": "Aplicación ADF Demo",
"HOME": "Inicio",
"NODE-SELECTOR": "Selector de nodo",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Ruta de navegación",
"NOTIFICATIONS": "Notificaciones",
"TASK_LIST": "Lista de tareas",
"PROCESS_LIST": "Lista de procesos",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Iniciar sesión",
"CUSTOM_SOURCES": "Fuentes personalizadas",
"DATATABLE": "Tabla de datos",
"DATATABLE_LAZY": "Tabla de datos (diferida)",
"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",
"CONFIG-EDITOR": "Editor de configuración",
"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",
"HEADER_DATA": "Datos de encabezado"
},
"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)",
"THUMBNAILS": "Habilitar miniaturas",
"MULTIPLE_FILE_UPLOAD": "Carga de varios ficheros",
"FOLDER_UPLOAD": "Carga de carpetas",
"CUSTOM_FILTER": "Filtro de extensiones personalizado",
"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",
"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": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Eliminar",
"PROCESS_ACTION": "Iniciar proceso"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Restablecer a predeterminado",
"ADD_ROW": "Añadir fila",
"REPLACE_ROWS": "Sustituir filas",
"REPLACE_COLUMNS": "Sustituir columnas",
"LOAD_NODE": "Cargar nodo",
"MULTISELECT": "Selección múltiple",
"MULTISELECT_DESCRIPTION": "Utilice Cmd (Mac) o Ctrl (Windows) para cambiar la selección de varios elementos"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "No se ha seleccionado ningún informe. Elija un informe de la lista."
},
"PS-TAB": {
"TASKS-TAB": "Tareas",
"PROCESSES-TAB": "Proceso",
"REPORTS-TAB": "Informes",
"START-TASK": "Iniciar tarea",
"START-PROCESS": "Iniciar proceso",
"PROCESS-AUDIT-LOG": "Registro de auditoría de procesos",
"TASK-AUDIT-LOG": "Registro de auditoría de tareas",
"TASK-SHOW-HEADER": "Mostrar encabezado de detalles"
},
"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",
"SHOW_REMEMBERME": "Mostrar opción para recordarme",
"SHOW_SUCCESS_ROUTE": "Permitir ruta correcta",
"CUSTOM_LOGO": "Logotipo personalizado"
},
"SEARCH": {
"RESULTS": "Resultados de la búsqueda",
"NO_RESULT": "Ningún resultado encontrado"
},
"SOCIAL": {
"LIKE": "Componente Me gusta",
"RATING": "Componente de calificación"
},
"TAG": {
"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"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número",
"NUMBER_TYPE_ERROR": "El valor ingresado debe ser numérico"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Página de inicio"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Insertar ID de aplicación",
"APP_ID_TYPE_ERROR": "El ID de aplicación debe ser un número"
},
"GROUP-TITLE1-TRANSLATION-KEY": "Traducción de título personalizado 1",
"GROUP-TITLE2-TRANSLATION-KEY": "Traducción de título personalizado 2"
}
+233
View File
@@ -0,0 +1,233 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Détails",
"COMMENTS": "Commentaires",
"PROPERTIES": "Propriétés",
"VERSIONS": "Versions"
},
"HOME": {
"TITLE": "Composants Angular pour Alfresco",
"DOCUMENTATION": "Documentation"
},
"LOGOUT": {
"TITLE": "Page de déconnexion",
"SUB_TITLE": "Vous êtes bien déconnecté",
"LOGIN": "Connexion",
"HOME": "Accueil"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Autoriser la suppression",
"SHOW_COMMENTS": "Afficher les commentaires sur les versions",
"ALLOW_DOWNLOAD": "Autoriser le téléchargement",
"READ_ONLY": "Lecture seule",
"COMMENTS": "Afficher les commentaires"
},
"PERSONAL-FILES": "Fichiers personnels",
"WARN-MULTIPLE-UPLOADS": "Avertir en cas de téléchargements multiples.",
"CUSTOM-PERMISSION-MESSAGE": "Activer le message de droits d'accès personnalisés",
"MEDIUM-TIME-FORMAT": "Activer le format de date \"medium\" pour la liste de documents",
"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",
"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",
"NODE-SELECTOR": "Sélecteur de nœud",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Fil d'Ariane",
"NOTIFICATIONS": "Notifications",
"TASK_LIST": "Liste des tâches",
"PROCESS_LIST": "Liste des processus",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Connexion",
"CUSTOM_SOURCES": "Sources personnalisées",
"DATATABLE": "Table de données",
"DATATABLE_LAZY": "Table de données (différé)",
"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",
"CONFIG-EDITOR": "Editeur de configuration",
"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",
"HEADER_DATA": "Données d'en-tête"
},
"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)",
"THUMBNAILS": "Activer les miniatures",
"MULTIPLE_FILE_UPLOAD": "Importation de fichiers multiples",
"FOLDER_UPLOAD": "Importation de dossier",
"CUSTOM_FILTER": "Filtre d'extensions personnalisées",
"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éé",
"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": {
"COPY": "Copier",
"MOVE": "Déplacer",
"DELETE": "Supprimer",
"PROCESS_ACTION": "Démarrer le processus"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Rétablir les valeurs par défaut",
"ADD_ROW": "Ajouter une ligne",
"REPLACE_ROWS": "Remplacer les lignes",
"REPLACE_COLUMNS": "Remplacer les colonnes",
"LOAD_NODE": "Charger le nœud",
"MULTISELECT": "Sélection multiple",
"MULTISELECT_DESCRIPTION": "Utiliser Cmd (Mac) ou Ctrl (Windows) pour activer/désactiver la sélection d'éléments multiples"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Aucun rapport sélectionné. Choisissez un rapport dans la liste"
},
"PS-TAB": {
"TASKS-TAB": "Tâches",
"PROCESSES-TAB": "Processus",
"REPORTS-TAB": "Rapports",
"START-TASK": "Démarrer la tâche",
"START-PROCESS": "Démarrer le processus",
"PROCESS-AUDIT-LOG": "Journal d'audit des processus",
"TASK-AUDIT-LOG": "Journal d'audit des tâches",
"TASK-SHOW-HEADER": "Afficher l'en-tête de détail"
},
"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",
"SHOW_REMEMBERME": "Afficher Mémoriser mes informations",
"SHOW_SUCCESS_ROUTE": "Afficher la success route",
"CUSTOM_LOGO": "Logo personnalisé"
},
"SEARCH": {
"RESULTS": "Résultats de la recherche",
"NO_RESULT": "Aucun résultat trouvé"
},
"SOCIAL": {
"LIKE": "Composant J'aime",
"RATING": "Composant d'évaluation"
},
"TAG": {
"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"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro",
"NUMBER_TYPE_ERROR": "La valeur saisie doit être numérique"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Page d'accueil"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Insérer l'ID d'application",
"APP_ID_TYPE_ERROR": "L'ID d'application doit être un numéro"
},
"GROUP-TITLE1-TRANSLATION-KEY": "Titre personnalisé traduction un",
"GROUP-TITLE2-TRANSLATION-KEY": "Titre personnalisé traduction deux"
}
+233
View File
@@ -0,0 +1,233 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Dettagli",
"COMMENTS": "Commenti",
"PROPERTIES": "Proprietà",
"VERSIONS": "Versione"
},
"HOME": {
"TITLE": "Componenti angolari per Alfresco",
"DOCUMENTATION": "Documentazione"
},
"LOGOUT": {
"TITLE": "Pagina di uscita",
"SUB_TITLE": "Utente disconnesso",
"LOGIN": "Login",
"HOME": "Home"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Consenti eliminazione",
"SHOW_COMMENTS": "Mostra commenti sulle versioni",
"ALLOW_DOWNLOAD": "Abilita download",
"READ_ONLY": "Sola lettura",
"COMMENTS": "Mostra commenti"
},
"PERSONAL-FILES": "File personali",
"WARN-MULTIPLE-UPLOADS": "Mostra avviso per caricamenti multipli.",
"CUSTOM-PERMISSION-MESSAGE": "Abilita messaggio di autorizzazione personalizzato",
"MEDIUM-TIME-FORMAT": "Abilita formato tempo medio per elenco documenti",
"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",
"DIALOG": {
"CLOSE": "Chiudi",
"TITLE": "Gestione versioni"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Chiudi",
"TITLE": "Metadati"
}
},
"APP_LAYOUT": {
"APP_NAME": "Applicazione demo ADF",
"HOME": "Home",
"NODE-SELECTOR": "Selezione nodo",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Breadcrumb",
"NOTIFICATIONS": "Notifiche",
"TASK_LIST": "Elenco attività",
"PROCESS_LIST": "Elenco processi",
"CARD_VIEW": "CardView",
"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",
"CONFIG-EDITOR": "Editor configurazione",
"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",
"HEADER_DATA": "Dati intestazione"
},
"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)",
"THUMBNAILS": "Abilita anteprime",
"MULTIPLE_FILE_UPLOAD": "Caricamento di file multipli",
"FOLDER_UPLOAD": "Caricamento cartelle",
"CUSTOM_FILTER": "Filtro estensioni personalizzato",
"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",
"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": {
"COPY": "Copia",
"MOVE": "Sposta",
"DELETE": "Elimina",
"PROCESS_ACTION": "Avvia processo"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Ripristina ai valori predefiniti",
"ADD_ROW": "Aggiungi riga",
"REPLACE_ROWS": "Sostituisci righe",
"REPLACE_COLUMNS": "Sostituisci colonne",
"LOAD_NODE": "Carica nodo",
"MULTISELECT": "Selezione multipla",
"MULTISELECT_DESCRIPTION": "Usa Cmd (Mac) o Ctrl (Windows) per attivare/disattivare la selezione di più elementi"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Nessun rapporto selezionato. Scegliere un rapporto dall'elenco"
},
"PS-TAB": {
"TASKS-TAB": "Compiti",
"PROCESSES-TAB": "Processo",
"REPORTS-TAB": "Rapporti",
"START-TASK": "Avvia compito",
"START-PROCESS": "Avvia processo",
"PROCESS-AUDIT-LOG": "Registro di audit processo",
"TASK-AUDIT-LOG": "Registro di audit compito",
"TASK-SHOW-HEADER": "Mostra intestazione dettagli"
},
"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",
"SHOW_REMEMBERME": "Mostra utente memorizzato",
"SHOW_SUCCESS_ROUTE": "Mostra percorso riuscito",
"CUSTOM_LOGO": "Logo personalizzato"
},
"SEARCH": {
"RESULTS": "Risultati della ricerca",
"NO_RESULT": "Nessun risultato trovato"
},
"SOCIAL": {
"LIKE": "Componente Like",
"RATING": "Componente valutazione"
},
"TAG": {
"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"
},
"TASK_LIST_DEMO": {
"ERROR_MESSAGE": {
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero",
"NUMBER_TYPE_ERROR": "Il valore inserito deve essere numerico"
},
"TOOLTIP_MESSAGE": {
"START_INPUT": "Pagina iniziale"
}
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Inserisci ID app",
"APP_ID_TYPE_ERROR": "L'ID app deve essere un numero"
},
"GROUP-TITLE1-TRANSLATION-KEY": "Custom Title Translation One",
"GROUP-TITLE2-TRANSLATION-KEY": "Custom Title Translation Two"
}
+227
View File
@@ -0,0 +1,227 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "詳細",
"COMMENTS": "コメント",
"PROPERTIES": "プロパティ",
"VERSIONS": "バージョン"
},
"HOME": {
"TITLE": "Alfresco の Angular コンポーネント",
"DOCUMENTATION": "文書化"
},
"LOGOUT": {
"TITLE": "ログアウトページ",
"SUB_TITLE": "ログアウトしました",
"LOGIN": "ログイン",
"HOME": "ホーム"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "削除を許可する",
"SHOW_COMMENTS": "バージョンに関するコメントを表示",
"ALLOW_DOWNLOAD": "ダウンロードを許可する",
"READ_ONLY": "読取り専用",
"COMMENTS": "コメントを表示する"
},
"PERSONAL-FILES": "個人的なファイル",
"WARN-MULTIPLE-UPLOADS": "複数のアップロードの警告を表示します。",
"CUSTOM-PERMISSION-MESSAGE": "カスタムの権限メッセージを有効にする",
"MEDIUM-TIME-FORMAT": "文書リストの medium 時刻形式を有効にする",
"SEARCH": {
"RADIO": {
"NONE": "なし",
"ALL": "すべて",
"FOLDER": "フォルダ",
"DOCUMENT": "文書"
}
}
},
"title": "ようこそ",
"VERSION": {
"NO_PERMISSION": "このコンテンツのバージョンを管理する権限がありません",
"NO_PERMISSION_EVENT": "${event.type} を ${event.action} するための ${event.permission} 権限がありません",
"CHOOSE_FILE": "バージョンを表示するファイルを選択してください",
"DIALOG": {
"CLOSE": "閉じる",
"TITLE": "バージョンの管理"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "閉じる",
"TITLE": "メタデータ"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF デモアプリケーション",
"HOME": "ホーム",
"NODE-SELECTOR": "ノードセレクター",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "階層リンク",
"NOTIFICATIONS": "通知",
"TASK_LIST": "タスクリスト",
"PROCESS_LIST": "プロセスリスト",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "ログイン",
"CUSTOM_SOURCES": "カスタムソース",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable (遅延読み込み)",
"FORM": "フォーム",
"FORM_LIST": "フォームリスト",
"FORM_LOADING": "フォームを読み込んでいます",
"UPLOADER": "アップローダー",
"WEBSCRIPT": "Webscript",
"TAG": "タグ",
"TRASHCAN": "ごみ箱",
"SOCIAL": "ソーシャル",
"SETTINGS": "設定",
"CONFIG-EDITOR": "設定エディター",
"OVERLAY_VIEWER": "オーバーレイビューア",
"ABOUT": "バージョン情報",
"SEARCH": "詳細検索",
"EXTENDED_SEARCH_QUERY_BODY": "クエリ本体を使った詳細検索",
"WORD_TO_SEARCH": "語句の検索",
"SEARCH_CREATED_BY": "作成者",
"SEARCH_SERVICE_APPROACH": "入力プロパティを無効にし、サービスを使って設定する場合は、このチェックボックスをオンにします",
"HEADER_DATA": "ヘッダーの日付"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "完全に削除する",
"RESTORE": "復元"
},
"EMPTY_STATE": {
"TITLE": "ごみ箱は空です",
"FIRST_TEXT": "削除するアイテムはごみ箱に移動されます。",
"SECOND_TEXT": "ごみ箱を空にするとアイテムが完全に削除されます。"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "複数選択 (チェックボックスを使用)",
"THUMBNAILS": "サムネイルを有効にする",
"MULTIPLE_FILE_UPLOAD": "複数ファイルのアップロード",
"FOLDER_UPLOAD": "フォルダのアップロード",
"CUSTOM_FILTER": "カスタム拡張子フィルタ",
"MAX_SIZE": "最大サイズフィルタ",
"ENABLE_VERSIONING": "バージョン管理を有効にする",
"DESCRIPTION_UPLOAD": "アップロードを有効にします",
"ENABLE_INFINITE_SCROLL": "無限スクロールを有効にする",
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "[最近使ったファイル] 一覧は空です"
},
"TITLE": "最近使ったファイル"
},
"COLUMNS": {
"DISPLAY_NAME": "表示名",
"IS_LOCKED": "ロック",
"TAG": "タグ",
"CREATED_BY": "作成者",
"CREATED_ON": "作成日",
"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": {
"COPY": "コピー",
"MOVE": "移動",
"DELETE": "削除",
"PROCESS_ACTION": "プロセスの開始"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "デフォルトに戻す",
"ADD_ROW": "行の追加",
"REPLACE_ROWS": "行の置換",
"REPLACE_COLUMNS": "列の置換",
"LOAD_NODE": "ノードの読み込み",
"MULTISELECT": "複数選択",
"MULTISELECT_DESCRIPTION": "複数選択の切り替えを行うには、Cmd (Mac) キーまたは Ctrl (Windows) キーを押します"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "レポートが選択されていません。リストからレポートを選択してください。"
},
"PS-TAB": {
"TASKS-TAB": "タスク",
"PROCESSES-TAB": "プロセス",
"REPORTS-TAB": "レポート",
"START-TASK": "タスクの開始",
"START-PROCESS": "プロセスの開始",
"PROCESS-AUDIT-LOG": "プロセスの監査ログ",
"TASK-AUDIT-LOG": "タスクの監査ログ",
"TASK-SHOW-HEADER": "詳細ヘッダーを表示する"
},
"FORM-LIST": {
"STORE": "保存",
"RESTORE": "復元"
},
"FORM-LOADING": {
"FORM_DATA": "フォーム データ",
"FORM_DATA_MESSAGE": "フォームに入力する値を入力してください",
"TYPEAHEAD_PLACEHOLDER": "先行入力",
"RADIO_PLACEHOLDER": "ラジオ ボタン",
"SELECT_PLACEHOLDER": "ドロップダウン"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "ログインページのフッター",
"SHOW_REMEMBERME": "ログイン情報の保存オプションを表示する",
"SHOW_SUCCESS_ROUTE": "サクセスルートを表示する",
"CUSTOM_LOGO": "カスタムのロゴ"
},
"SEARCH": {
"RESULTS": "検索結果",
"NO_RESULT": "一致するアイテムはありません"
},
"SOCIAL": {
"LIKE": "[いいね!] コンポーネント",
"RATING": "評価付けコンポーネント"
},
"TAG": {
"LIST": "Content Services のタグリスト",
"INSERT": "ノード ID の挿入",
"NODE_LIST": "ノード ID 別タグリスト"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "権限の継承",
"INHERITED_PERMISSIONS_BUTTON": "継承された権限"
},
"TASK_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入する",
"APP_ID_TYPE_ERROR": "アプリケーション ID は番号でなければなりません"
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "アプリケーション ID を挿入する",
"APP_ID_TYPE_ERROR": "アプリケーション ID は番号でなければなりません"
},
"GROUP-TITLE1-TRANSLATION-KEY": "カスタムのタイトル翻訳 1",
"GROUP-TITLE2-TRANSLATION-KEY": "カスタムのタイトル翻訳 2"
}
+227
View File
@@ -0,0 +1,227 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detaljer",
"COMMENTS": "Kommentarer",
"PROPERTIES": "Egenskaper",
"VERSIONS": "Versjoner"
},
"HOME": {
"TITLE": "Vinkelkomponenter for Alfresco",
"DOCUMENTATION": "Dokumentasjon"
},
"LOGOUT": {
"TITLE": "Avloggingsside",
"SUB_TITLE": "Du er nå logget av",
"LOGIN": "Logg på",
"HOME": "Hjem"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Tillat sletting",
"SHOW_COMMENTS": "Vis kommentarer om versjoner",
"ALLOW_DOWNLOAD": "Tillat nedlasting",
"READ_ONLY": "Skrivebeskyttet",
"COMMENTS": "Vis kommentarer"
},
"PERSONAL-FILES": "Personlige filer",
"WARN-MULTIPLE-UPLOADS": "Vis advarsel for flere opplastinger.",
"CUSTOM-PERMISSION-MESSAGE": "Aktiver tilpasset tillatelsesmelding",
"MEDIUM-TIME-FORMAT": "Aktiver medium tidsformat for dokumentliste",
"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",
"DIALOG": {
"CLOSE": "Lukk",
"TITLE": "Håndtere versjoner"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Lukk",
"TITLE": "Metadata"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-demoprogam",
"HOME": "Hjem",
"NODE-SELECTOR": "Nodevelger",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Søkebane",
"NOTIFICATIONS": "Varsler",
"TASK_LIST": "Oppgaveliste",
"PROCESS_LIST": "Prosessliste",
"CARD_VIEW": "CardView",
"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",
"CONFIG-EDITOR": "Konfigurasjonsredigering",
"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",
"HEADER_DATA": "Overskriftsdata"
},
"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)",
"THUMBNAILS": "Aktiver miniatyrbilder",
"MULTIPLE_FILE_UPLOAD": "Opplasting av flere filer",
"FOLDER_UPLOAD": "Opplasting av mappe",
"CUSTOM_FILTER": "Tilpasset utvidelsesfilter",
"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",
"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": {
"COPY": "Kopier",
"MOVE": "Flytt",
"DELETE": "Slett",
"PROCESS_ACTION": "Start prosess"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Tilbakestill til standard",
"ADD_ROW": "Legg til rad",
"REPLACE_ROWS": "Erstatt rader",
"REPLACE_COLUMNS": "erstatt kolonner",
"LOAD_NODE": "Last node",
"MULTISELECT": "Multivalg",
"MULTISELECT_DESCRIPTION": "Bruk Cmd (Mac) eller Ctrl (Windows) for å veksle mellom valg av flere elementer"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Ingen rapport valgt. Velg en rapport fra listen"
},
"PS-TAB": {
"TASKS-TAB": "Oppgaver",
"PROCESSES-TAB": "Prosess",
"REPORTS-TAB": "Rapporter",
"START-TASK": "Start oppgave",
"START-PROCESS": "Start prosess",
"PROCESS-AUDIT-LOG": "Prosessrevisjonslogg",
"TASK-AUDIT-LOG": "Oppgaverevisjonslogg",
"TASK-SHOW-HEADER": "Vis detaljoverskrift"
},
"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",
"SHOW_REMEMBERME": "Vis husk meg",
"SHOW_SUCCESS_ROUTE": "Vis riktig rute",
"CUSTOM_LOGO": "Egendefinert logo"
},
"SEARCH": {
"RESULTS": "Søkeresultater",
"NO_RESULT": "Ingen resultater funnet"
},
"SOCIAL": {
"LIKE": "Like komponent",
"RATING": "Rangering komponent"
},
"TAG": {
"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"
},
"TASK_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
"APP_ID_TYPE_ERROR": "App-ID må være et tall"
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Sett inn app-ID",
"APP_ID_TYPE_ERROR": "App-ID må være et tall"
},
"GROUP-TITLE1-TRANSLATION-KEY": "Egendefinert tittel, oversettelse én",
"GROUP-TITLE2-TRANSLATION-KEY": "Egendefinert tittel, oversettelse to"
}
+227
View File
@@ -0,0 +1,227 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Details",
"COMMENTS": "Opmerkingen",
"PROPERTIES": "Eigenschappen",
"VERSIONS": "Versies"
},
"HOME": {
"TITLE": "Angular-componenten voor Alfresco",
"DOCUMENTATION": "Documentatie"
},
"LOGOUT": {
"TITLE": "Afmeldingspagina",
"SUB_TITLE": "U bent nu afgemeld",
"LOGIN": "Aanmelden",
"HOME": "Home"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Verwijderen toestaan",
"SHOW_COMMENTS": "Opmerkingen over versies tonen",
"ALLOW_DOWNLOAD": "Downloaden toestaan",
"READ_ONLY": "Alleen-lezen",
"COMMENTS": "Opmerkingen weergeven"
},
"PERSONAL-FILES": "Persoonlijke bestanden",
"WARN-MULTIPLE-UPLOADS": "Waarschuwing weergeven bij meerdere uploads.",
"CUSTOM-PERMISSION-MESSAGE": "Aangepast machtigingsbericht inschakelen",
"MEDIUM-TIME-FORMAT": "Middellange tijdnotatie voor lijst met documenten inschakelen",
"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",
"DIALOG": {
"CLOSE": "Sluiten",
"TITLE": "Versies beheren"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Sluiten",
"TITLE": "Metagegevens"
}
},
"APP_LAYOUT": {
"APP_NAME": "ADF-demotoepassing",
"HOME": "Home",
"NODE-SELECTOR": "Selectiefunctie voor node",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Navigatiepad",
"NOTIFICATIONS": "Meldingen",
"TASK_LIST": "Lijst met taken",
"PROCESS_LIST": "Lijst met processen",
"CARD_VIEW": "CardView",
"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",
"CONFIG-EDITOR": "Configuratie-editor",
"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",
"HEADER_DATA": "Koptekstgegevens"
},
"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)",
"THUMBNAILS": "Miniaturen inschakelen",
"MULTIPLE_FILE_UPLOAD": "Meerdere bestanden uploaden",
"FOLDER_UPLOAD": "Map uploaden",
"CUSTOM_FILTER": "Aangepast extensiefilter",
"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",
"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": {
"COPY": "Kopiëren",
"MOVE": "Verplaatsen",
"DELETE": "Verwijderen",
"PROCESS_ACTION": "Proces starten"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Opnieuw instellen op standaardwaarden",
"ADD_ROW": "Rij toevoegen",
"REPLACE_ROWS": "Rijen vervangen",
"REPLACE_COLUMNS": "Kolommen vervangen",
"LOAD_NODE": "Node laden",
"MULTISELECT": "Multiselect",
"MULTISELECT_DESCRIPTION": "Cmd (Mac) of Ctrl (Windows) gebruiken om de selectie van meerdere items in of uit te schakelen"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Geen rapport geselecteerd. Kies een rapport uit de lijst"
},
"PS-TAB": {
"TASKS-TAB": "Taken",
"PROCESSES-TAB": "Proces",
"REPORTS-TAB": "Rapporten",
"START-TASK": "Taak starten",
"START-PROCESS": "Proces starten",
"PROCESS-AUDIT-LOG": "Auditlog van proces",
"TASK-AUDIT-LOG": "Auditlog van taak",
"TASK-SHOW-HEADER": "Detailkoptekst weergeven"
},
"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",
"SHOW_REMEMBERME": "'Mij onthouden' weergeven",
"SHOW_SUCCESS_ROUTE": "Succesroute weergeven",
"CUSTOM_LOGO": "Aangepast logo"
},
"SEARCH": {
"RESULTS": "Zoekresultaten",
"NO_RESULT": "Geen resultaten gevonden"
},
"SOCIAL": {
"LIKE": "'Vind ik leuk'-component",
"RATING": "Beoordelingscomponent"
},
"TAG": {
"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"
},
"TASK_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn"
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "App-id invoegen",
"APP_ID_TYPE_ERROR": "App-id moet een getal zijn"
},
"GROUP-TITLE1-TRANSLATION-KEY": "Aangepaste titel vertaling één",
"GROUP-TITLE2-TRANSLATION-KEY": "Aangepaste titel vertaling twee"
}
+227
View File
@@ -0,0 +1,227 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Detalhes",
"COMMENTS": "Comentários",
"PROPERTIES": "Propriedades",
"VERSIONS": "Versões"
},
"HOME": {
"TITLE": "Componentes do Angular para Alfresco",
"DOCUMENTATION": "Documentação"
},
"LOGOUT": {
"TITLE": "Página de logout",
"SUB_TITLE": "Você está desconectado",
"LOGIN": "Login",
"HOME": "Página Inicial"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Permitir apagar",
"SHOW_COMMENTS": "Mostrar comentários em versões",
"ALLOW_DOWNLOAD": "Permitir download",
"READ_ONLY": "Somente leitura",
"COMMENTS": "Mostrar comentários"
},
"PERSONAL-FILES": "Arquivos pessoais",
"WARN-MULTIPLE-UPLOADS": "Exibir alerta para vários uploads.",
"CUSTOM-PERMISSION-MESSAGE": "Ativar mensagem de permissão personalizada",
"MEDIUM-TIME-FORMAT": "Ativar formato de tempo regular para lista de documento",
"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",
"DIALOG": {
"CLOSE": "Fechar",
"TITLE": "Gerenciar versões"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Fechar",
"TITLE": "Metadados"
}
},
"APP_LAYOUT": {
"APP_NAME": "Aplicativo Demo ADF",
"HOME": "Página Inicial",
"NODE-SELECTOR": "Seletor de nó",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Trilha de navegação",
"NOTIFICATIONS": "Notificações",
"TASK_LIST": "Lista de tarefas",
"PROCESS_LIST": "Lista de processos",
"CARD_VIEW": "CardView",
"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",
"CONFIG-EDITOR": "Editor de configuração",
"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",
"HEADER_DATA": "Dados do cabeçalho"
},
"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)",
"THUMBNAILS": "Ativar miniaturas",
"MULTIPLE_FILE_UPLOAD": "Carregamento de Vários Arquivos",
"FOLDER_UPLOAD": "Carregamento de Pasta",
"CUSTOM_FILTER": "Filtro de extensões personalizado",
"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",
"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": {
"COPY": "Copiar",
"MOVE": "Mover",
"DELETE": "Excluir",
"PROCESS_ACTION": "Iniciar processo"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Redefinir para o padrão",
"ADD_ROW": "Adicionar linha",
"REPLACE_ROWS": "Substituir linhas",
"REPLACE_COLUMNS": "Substituir colunas",
"LOAD_NODE": "Carregar Nó",
"MULTISELECT": "Seleção Múltipla",
"MULTISELECT_DESCRIPTION": "Use Cmd (Mac) ou Ctrl (Windows) para alternar a seleção de vários itens"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Nenhum relatório selecionado. Escolha um relatório na lista"
},
"PS-TAB": {
"TASKS-TAB": "Tarefas",
"PROCESSES-TAB": "Processo",
"REPORTS-TAB": "Relatórios",
"START-TASK": "Iniciar tarefa",
"START-PROCESS": "Iniciar processo",
"PROCESS-AUDIT-LOG": "Log de auditoria de processo",
"TASK-AUDIT-LOG": "Log de auditoria de tarefa",
"TASK-SHOW-HEADER": "Mostrar cabeçalho de detalhes"
},
"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",
"SHOW_REMEMBERME": "Mostrar o recurso Lembrar-me",
"SHOW_SUCCESS_ROUTE": "Mostrar rota de sucesso",
"CUSTOM_LOGO": "Logo personalizada"
},
"SEARCH": {
"RESULTS": "Resultados da pesquisa",
"NO_RESULT": "Nenhum resultado encontrado"
},
"SOCIAL": {
"LIKE": "Componente Like",
"RATING": "Componente de classificação"
},
"TAG": {
"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"
},
"TASK_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Inserir ID do Aplicativo",
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número"
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Inserir ID do Aplicativo",
"APP_ID_TYPE_ERROR": "O ID do aplicativo deve ser um número"
},
"GROUP-TITLE1-TRANSLATION-KEY": "Tradução um de título personalizado",
"GROUP-TITLE2-TRANSLATION-KEY": "Tradução dois de título personalizado"
}
+230
View File
@@ -0,0 +1,230 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "Сведения",
"COMMENTS": "Комментарии",
"PROPERTIES": "Свойства",
"VERSIONS": "Версии"
},
"HOME": {
"TITLE": "Угловые компоненты для Alfresco",
"DOCUMENTATION": "Документация"
},
"LOGOUT": {
"TITLE": "Страница выхода из системы",
"SUB_TITLE": "Вы не вышли из системы",
"LOGIN": "Войти",
"HOME": "Домашняя"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Разрешить удаление",
"SHOW_COMMENTS": "Показать комментарии к версиям",
"ALLOW_DOWNLOAD": "Разрешить загрузку",
"READ_ONLY": "Только чтение",
"COMMENTS": "Показать комментарии"
},
"PERSONAL-FILES": "Личные файлы",
"WARN-MULTIPLE-UPLOADS": "Показывать предупреждение для нескольких загрузок.",
"CUSTOM-PERMISSION-MESSAGE": "Включить сообщение о пользовательском разрешении",
"MEDIUM-TIME-FORMAT": "Включить средний формат времени для списка документов",
"SEARCH": {
"RADIO": {
"NONE": "Нет",
"ALL": "Все",
"FOLDER": "Папка",
"DOCUMENT": "Документ"
}
}
},
"title": "Добро пожаловать",
"VERSION": {
"NO_PERMISSION": "У вас нет разрешения на управление версиями этого контента",
"NO_PERMISSION_EVENT": "У вас нет разрешения ${event.permission} на ${event.action} ${event.type}",
"CHOOSE_FILE": "Чтобы просмотреть версии файла, выберите файл",
"DIALOG": {
"CLOSE": "Закрыть",
"TITLE": "Управление версиями"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "Закрыть",
"TITLE": "Метаданные"
}
},
"COMMENTS": {
"ADD_COMMENT": "Добавить"
},
"APP_LAYOUT": {
"APP_NAME": "Демонстрационное приложение ADF",
"HOME": "Домашняя",
"NODE-SELECTOR": "Селектор узлов",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "Иерархия",
"NOTIFICATIONS": "Оповещения",
"TASK_LIST": "Список задач",
"PROCESS_LIST": "Список процессов",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "Войти",
"CUSTOM_SOURCES": "Пользовательские источники",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Таблица данных (частичная загрузка)",
"FORM": "Форма",
"FORM_LIST": "Список форм",
"FORM_LOADING": "Загрузка формы",
"UPLOADER": "Загрузчик",
"WEBSCRIPT": "Webscript",
"TAG": "Метка",
"TRASHCAN": "Корзина",
"SOCIAL": "Социальный",
"SETTINGS": "Параметры",
"CONFIG-EDITOR": "Редактор конфигурации",
"OVERLAY_VIEWER": "Просмотр наложения",
"ABOUT": "О приложении",
"SEARCH": "Расширенный поиск",
"EXTENDED_SEARCH_QUERY_BODY": "Расширенный поиск с использованием тела запроса",
"WORD_TO_SEARCH": "Искать слово",
"SEARCH_CREATED_BY": "Создано пользователем",
"SEARCH_SERVICE_APPROACH": "Установите флажок, чтобы отключить свойство ввода и настроить, используя службу.",
"HEADER_DATA": "Данные заголовка"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "Удалить навсегда",
"RESTORE": "Восстановить"
},
"EMPTY_STATE": {
"TITLE": "Корзина пуста",
"FIRST_TEXT": "Элементы, которые вы удаляете, перемещаются в корзину.",
"SECOND_TEXT": "Очистите корзину, чтобы удалить элементы навсегда."
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "Выбор нескольких вариантов (с флажками)",
"THUMBNAILS": "Включить эскизы",
"MULTIPLE_FILE_UPLOAD": "Загрузка нескольких файлов",
"FOLDER_UPLOAD": "Загрузка папки",
"CUSTOM_FILTER": "Пользовательский фильтр расширений",
"MAX_SIZE": "Фильтр максимального размера",
"ENABLE_VERSIONING": "Включить поддержку версий",
"DESCRIPTION_UPLOAD": "Включить загрузку",
"ENABLE_INFINITE_SCROLL": "Включить бесконечную прокрутку",
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "Список последних файлов пуст"
},
"TITLE": "Последние файлы"
},
"COLUMNS": {
"DISPLAY_NAME": "Отображаемое имя",
"IS_LOCKED": "Блокировка",
"TAG": "Метка",
"CREATED_BY": "Создано пользователем",
"CREATED_ON": "Дата создания",
"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": {
"COPY": "Копировать",
"MOVE": "Переместить",
"DELETE": "Удалить",
"PROCESS_ACTION": "Начать процесс"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "Установить значение по умолчанию",
"ADD_ROW": "Добавить строку",
"REPLACE_ROWS": "Заменить строки",
"REPLACE_COLUMNS": "Заменить столбцы",
"LOAD_NODE": "Загрузить узел",
"MULTISELECT": "Выбор нескольких вариантов",
"MULTISELECT_DESCRIPTION": "Использовать кнопку Cmd (Mac) или Ctrl (Windows) для переключения выбора нескольких элементов"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "Отчет не выбран. Выберите отчет из списка"
},
"PS-TAB": {
"TASKS-TAB": "Задачи",
"PROCESSES-TAB": "Процесс",
"REPORTS-TAB": "Отчеты",
"START-TASK": "Начать задачу",
"START-PROCESS": "Начать процесс",
"PROCESS-AUDIT-LOG": "Журнал проверки процесса",
"TASK-AUDIT-LOG": "Журнал проверки задачи",
"TASK-SHOW-HEADER": "Показать подробности заголовка"
},
"FORM-LIST": {
"STORE": "Хранилище",
"RESTORE": "Восстановить"
},
"FORM-LOADING": {
"FORM_DATA": "Данные формы",
"FORM_DATA_MESSAGE": "Введите значения для заполнения формы",
"TYPEAHEAD_PLACEHOLDER": "Буфер клавиатуры",
"RADIO_PLACEHOLDER": "Селективная кнопка",
"SELECT_PLACEHOLDER": "Раскрывающееся меню"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "Нижний колонтитул страницы входа в систему",
"SHOW_REMEMBERME": "Показывать «Запомнить меня»",
"SHOW_SUCCESS_ROUTE": "Показать успешный маршрут",
"CUSTOM_LOGO": "Пользовательский логотип"
},
"SEARCH": {
"RESULTS": "Результаты поиска",
"NO_RESULT": "Результаты не найдены"
},
"SOCIAL": {
"LIKE": "Компонент \"Нравится\"",
"RATING": "Компонент \"Рейтинг\""
},
"TAG": {
"LIST": "Список меток Content Services",
"INSERT": "Вставить идентификатор узла",
"NODE_LIST": "Список меток по идентификатору узла"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "Наследовать разрешение",
"INHERITED_PERMISSIONS_BUTTON": "Разрешение унаследовано"
},
"TASK_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом"
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "Вставить идентификатор приложения",
"APP_ID_TYPE_ERROR": "Идентификатор приложения должен быть числом"
},
"GROUP-TITLE1-TRANSLATION-KEY": "Перевод пользовательского заголовка один",
"GROUP-TITLE2-TRANSLATION-KEY": "Перевод пользовательского заголовка два"
}
+230
View File
@@ -0,0 +1,230 @@
{
"APP": {
"INFO_DRAWER": {
"TITLE": "详细信息",
"COMMENTS": "注释",
"PROPERTIES": "属性",
"VERSIONS": "版本"
},
"HOME": {
"TITLE": "Alfresco 的 Angular 组件",
"DOCUMENTATION": "文档"
},
"LOGOUT": {
"TITLE": "注销页面",
"SUB_TITLE": "您现在已注销",
"LOGIN": "登录",
"HOME": "主页"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "允许删除",
"SHOW_COMMENTS": "显示有关版本的注释",
"ALLOW_DOWNLOAD": "允许下载",
"READ_ONLY": "只读",
"COMMENTS": "显示注释"
},
"PERSONAL-FILES": "个人文件",
"WARN-MULTIPLE-UPLOADS": "针对多个上传显示警告。",
"CUSTOM-PERMISSION-MESSAGE": "启用自定义权限消息",
"MEDIUM-TIME-FORMAT": "对文档列表启用中时间格式",
"SEARCH": {
"RADIO": {
"NONE": "无",
"ALL": "全部",
"FOLDER": "文件夹",
"DOCUMENT": "文档"
}
}
},
"title": "欢迎使用",
"VERSION": {
"NO_PERMISSION": "您没有管理此内容版本的权限",
"NO_PERMISSION_EVENT": "您没有${event.action}${event.type}的${event.permission}权限",
"CHOOSE_FILE": "选择一个文件,查看其版本",
"DIALOG": {
"CLOSE": "关闭",
"TITLE": "管理版本"
}
},
"METADATA": {
"DIALOG": {
"CLOSE": "关闭",
"TITLE": "元数据"
}
},
"COMMENTS": {
"ADD_COMMENT": "添加"
},
"APP_LAYOUT": {
"APP_NAME": "ADF 演示应用程序",
"HOME": "主页",
"NODE-SELECTOR": "节点选择器",
"CONTENT_SERVICES": "Content Services",
"BREADCRUMB": "面包屑",
"NOTIFICATIONS": "通知",
"TASK_LIST": "任务列表",
"PROCESS_LIST": "流程列表",
"CARD_VIEW": "CardView",
"PROCESS_SERVICES": "Process Services",
"LOGIN": "登录",
"CUSTOM_SOURCES": "自定义来源",
"DATATABLE": "Datatable",
"DATATABLE_LAZY": "Datatable(迟缓)",
"FORM": "表单",
"FORM_LIST": "表单列表",
"FORM_LOADING": "表单加载",
"UPLOADER": "上传程序",
"WEBSCRIPT": "Webscript",
"TAG": "标签",
"TRASHCAN": "垃圾桶",
"SOCIAL": "社交",
"SETTINGS": "设置",
"CONFIG-EDITOR": "配置编辑器",
"OVERLAY_VIEWER": "重叠查看器",
"ABOUT": "关于",
"SEARCH": "扩展搜索",
"EXTENDED_SEARCH_QUERY_BODY": "包含查询主体的扩展搜索",
"WORD_TO_SEARCH": "搜索词",
"SEARCH_CREATED_BY": "创建者",
"SEARCH_SERVICE_APPROACH": "选中此项以禁用输入属性并使用服务进行配置",
"HEADER_DATA": "标头数据"
},
"TRASHCAN": {
"ACTIONS": {
"DELETE_PERMANENT": "永久删除",
"RESTORE": "恢复"
},
"EMPTY_STATE": {
"TITLE": "“垃圾”为空",
"FIRST_TEXT": "删除的项目移动到“垃圾”。",
"SECOND_TEXT": "清空“垃圾”以永久删除项目。"
}
},
"DOCUMENT_LIST": {
"MULTISELECT_CHECKBOXES": "多选(含复选框)",
"THUMBNAILS": "启用缩略图",
"MULTIPLE_FILE_UPLOAD": "上传多个文件",
"FOLDER_UPLOAD": "文件夹上传",
"CUSTOM_FILTER": "自定义扩展过滤器",
"MAX_SIZE": "最大大小过滤器",
"ENABLE_VERSIONING": "启用版本控制",
"DESCRIPTION_UPLOAD": "启用上传",
"ENABLE_INFINITE_SCROLL": "启用无限滚动",
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择",
"RECENT": {
"EMPTY_STATE": {
"TITLE": "\"最近的文件\"列表为空"
},
"TITLE": "最近的文件"
},
"COLUMNS": {
"DISPLAY_NAME": "显示名称",
"IS_LOCKED": "锁定",
"TAG": "标签",
"CREATED_BY": "创建者",
"CREATED_ON": "创建日期",
"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": {
"COPY": "复制",
"MOVE": "移动",
"DELETE": "删除",
"PROCESS_ACTION": "启动流程"
}
}
},
"DATATABLE": {
"RESET_DEFAULT": "重设为默认值",
"ADD_ROW": "新增行",
"REPLACE_ROWS": "替换行",
"REPLACE_COLUMNS": "替换列",
"LOAD_NODE": "加载节点",
"MULTISELECT": "多选",
"MULTISELECT_DESCRIPTION": "使用 Cmd (Mac) 或 Ctrl (Windows) 切换多个项目的选择"
},
"ANALYTICS_REPORT": {
"NO_REPORT_MESSAGE": "未选择报告,请从列表中选择报告"
},
"PS-TAB": {
"TASKS-TAB": "任务",
"PROCESSES-TAB": "流程",
"REPORTS-TAB": "报告",
"START-TASK": "启动任务",
"START-PROCESS": "启动流程",
"PROCESS-AUDIT-LOG": "流程审计日志",
"TASK-AUDIT-LOG": "任务审计日志",
"TASK-SHOW-HEADER": "显示详细信息标头"
},
"FORM-LIST": {
"STORE": "存储",
"RESTORE": "恢复"
},
"FORM-LOADING": {
"FORM_DATA": "表单数据",
"FORM_DATA_MESSAGE": "输入值以填充表单",
"TYPEAHEAD_PLACEHOLDER": "预先输入",
"RADIO_PLACEHOLDER": "单选按钮",
"SELECT_PLACEHOLDER": "下拉列表"
},
"LOGIN": {
"CONTENT_SERVICES": "Content Services",
"PROCESS_SERVICES": "Process Services",
"LOGIN_FOOTER": "登录页脚",
"SHOW_REMEMBERME": "显示记住我",
"SHOW_SUCCESS_ROUTE": "显示成功路由",
"CUSTOM_LOGO": "自定义徽标"
},
"SEARCH": {
"RESULTS": "搜索结果",
"NO_RESULT": "未找到结果"
},
"SOCIAL": {
"LIKE": "点赞组件",
"RATING": "评分组件"
},
"TAG": {
"LIST": "列表标签 Content Services",
"INSERT": "插入节点 ID",
"NODE_LIST": "标签列表(按节点 ID 排序)"
},
"DEMO_PERMISSION": {
"INHERIT_PERMISSION_BUTTON": "继承权限",
"INHERITED_PERMISSIONS_BUTTON": "已继承权限"
},
"TASK_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字"
},
"PROCESS_LIST_DEMO": {
"APP_ID_REQUIRED_ERROR": "插入应用程序 ID",
"APP_ID_TYPE_ERROR": "应用程序 ID 必须为数字"
},
"GROUP-TITLE1-TRANSLATION-KEY": "自定义标题翻译 1",
"GROUP-TITLE2-TRANSLATION-KEY": "自定义标题翻译 2"
}
File diff suppressed because it is too large Load Diff
+2 -4
View File
@@ -1,4 +1,2 @@
<div class="app-demo-app-container">
<router-outlet></router-outlet>
<router-outlet name="overlay"></router-outlet>
</div>
<router-outlet></router-outlet>
<router-outlet name="overlay"></router-outlet>
+14 -4
View File
@@ -1,4 +1,4 @@
router-outlet[name='overlay'] + * {
router-outlet[name="overlay"] + * {
width: 100%;
height: 100%;
z-index: 999;
@@ -7,7 +7,17 @@ router-outlet[name='overlay'] + * {
right: 0;
}
.app-demo-app-container {
height: 100%;
width: 100%;
@media (max-width: 425px) {
adf-content-node-selector {
.adf-content-node-selector-content-list {
.adf-data-table-cell {
display: none;
}
.adf-data-table-cell:first-child,
.adf-data-table-cell:nth-child(2) {
display: table-cell;
}
}
}
}
+6 -20
View File
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
* 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.
@@ -16,13 +16,8 @@
*/
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
import {
AuthenticationService,
PageTitleService
} from '@alfresco/adf-core';
import { AuthenticationService, AlfrescoApiService, PageTitleService } from '@alfresco/adf-core';
import { Router } from '@angular/router';
import { MatDialog } from '@angular/material/dialog';
import { AdfHttpClient } from '@alfresco/adf-core/api';
@Component({
selector: 'app-root',
@@ -33,30 +28,21 @@ import { AdfHttpClient } from '@alfresco/adf-core/api';
export class AppComponent implements OnInit {
constructor(private pageTitleService: PageTitleService,
private adfHttpClient: AdfHttpClient,
private alfrescoApiService: AlfrescoApiService,
private authenticationService: AuthenticationService,
private router: Router,
private dialogRef: MatDialog) {
private router: Router) {
}
ngOnInit() {
this.pageTitleService.setTitle('title');
this.adfHttpClient.on('error', (error) => {
this.alfrescoApiService.getInstance().on('error', (error) => {
if (error.status === 401) {
if (!this.authenticationService.isLoggedIn()) {
this.dialogRef.closeAll();
this.router.navigate(['/login']);
}
}
if (error.status === 507) {
if (!this.authenticationService.isLoggedIn()) {
this.dialogRef.closeAll();
this.router.navigate(['error/507']);
}
}
});
}
}
+98 -68
View File
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
* 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.
@@ -17,127 +17,157 @@
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgChartsModule } from 'ng2-charts';
import { FormsModule } from '@angular/forms';
import { FlexLayoutModule } from '@angular/flex-layout';
import { ChartsModule } from 'ng2-charts';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
import { TranslateModule } from '@ngx-translate/core';
import { AppConfigService, DebugAppConfigService, CoreModule, AuthModule, provideTranslations } from '@alfresco/adf-core';
import { ExtensionsModule } from '@alfresco/adf-extensions';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppConfigService, TRANSLATION_PROVIDER, DebugAppConfigService, CoreModule } from '@alfresco/adf-core';
import { AppComponent } from './app.component';
import { MaterialModule } from './material.module';
import { LoginComponent } from './components/login/login.component';
import { LogoutComponent } from './components/logout/logout.component';
import { SettingsComponent } from './components/settings/settings.component';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { HomeComponent } from './components/home/home.component';
import { SearchBarComponent } from './components/search/search-bar.component';
import { SearchResultComponent } from './components/search/search-result.component';
import { SearchExtendedComponent } from './components/search/search-extended.component';
import { AboutComponent } from './components/about/about.component';
import { LogComponent } from './components/log/log.component';
import { FormComponent } from './components/form/form.component';
import { FormListComponent } from './components/form/form-list.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { CustomSourcesComponent } from './components/files/custom-sources.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
import { FormViewerComponent } from './components/process-service/form-viewer.component';
import { FormNodeViewerComponent } from './components/process-service/form-node-viewer.component';
import { AppsViewComponent } from './components/process-service/apps-view.component';
import { DataTableComponent } from './components/datatable/datatable.component';
import { TrashcanComponent } from './components/trashcan/trashcan.component';
import { FilesComponent } from './components/files/files.component';
import { WebscriptComponent } from './components/webscript/webscript.component';
import { TagComponent } from './components/tag/tag.component';
import { SocialComponent } from './components/social/social.component';
import { VersionManagerDialogAdapterComponent } from './components/files/version-manager-dialog-adapter.component';
import { appRoutes } from './app.routes';
import { MetadataDialogAdapterComponent } from './components/files/metadata-dialog-adapter.component';
import { ThemePickerModule } from './components/theme-picker/theme-picker';
import { routing } from './app.routes';
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 { MonacoEditorModule } from 'ngx-monaco-editor-v2';
import { PreviewService } from './services/preview.service';
import { BreadcrumbDemoComponent } from './components/breadcrumb-demo/breadcrumb-demo.component';
import { TaskListDemoComponent } from './components/task-list-demo/task-list-demo.component';
import { ProcessListDemoComponent } from './components/process-list-demo/process-list-demo.component';
import { ContentNodeSelectorComponent } from './components/content-node-selector/content-node-selector.component';
import { NotificationsComponent } from './components/notifications/notifications.component';
import { ReportIssueComponent } from './components/report-issue/report-issue.component';
import { CardViewComponent } from './components/card-view/card-view.component';
import { HeaderDataComponent } from './components/header-data/header-data.component';
import { ConfigEditorComponent } from './components/config-editor/config-editor.component';
import { HeaderDataService } from './components/header-data/header-data.service';
import { MonacoEditorModule } from 'ngx-monaco-editor';
import { ContentModule } from '@alfresco/adf-content-services';
import { InsightsModule } from '@alfresco/adf-insights';
import { ProcessModule } from '@alfresco/adf-process-services';
import { CloudLayoutComponent } from './components/cloud/cloud-layout.component';
import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component';
import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component';
import { ProcessesCloudDemoComponent } from './components/cloud/processes-cloud-demo.component';
import { TaskDetailsCloudDemoComponent } from './components/cloud/task-details-cloud-demo.component';
import { CloudViewerComponent } from './components/cloud/cloud-viewer.component';
import { ProcessDetailsCloudDemoComponent } from './components/cloud/process-details-cloud-demo.component';
import { StartTaskCloudDemoComponent } from './components/cloud/start-task-cloud-demo.component';
import { StartProcessCloudDemoComponent } from './components/cloud/start-process-cloud-demo.component';
import { CloudFiltersDemoComponent } from './components/cloud/cloud-filters-demo.component';
import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/cloud-form-demo.component';
import { environment } from '../environments/environment';
import { AppCloudSharedModule } from './components/cloud/shared/cloud.shared.module';
import { DemoErrorComponent } from './components/error/demo-error.component';
import { ProcessServicesCloudModule } from '@alfresco/adf-process-services-cloud';
import { RouterModule } from '@angular/router';
import { ProcessCloudLayoutComponent } from './components/cloud/process-cloud-layout.component';
import { CustomEditorComponent, CustomWidgetComponent } from './components/cloud/custom-form-components/custom-editor.component';
import { SearchFilterChipsComponent } from './components/search/search-filter-chips.component';
import { UserInfoComponent } from './components/app-layout/user-info/user-info.component';
import { FolderDirectiveModule } from './folder-directive';
import { ContentUserInfoModule } from './components/app-layout/user-info/content-user-info';
import { PROCESS_USER_INFO_DIRECTIVES } from './components/app-layout/user-info/process-user-info';
import { CoreAutomationService } from '../testing/automation.service';
@NgModule({
imports: [
BrowserModule,
environment.e2e ? NoopAnimationsModule : BrowserAnimationsModule,
BrowserAnimationsModule,
ReactiveFormsModule,
RouterModule.forRoot(appRoutes, { useHash: true, relativeLinkResolution: 'legacy' }),
AuthModule.forRoot({ useHash: true }),
routing,
FormsModule,
HttpClientModule,
MaterialModule,
TranslateModule.forRoot(),
FlexLayoutModule,
CoreModule.forRoot(),
ContentModule.forRoot(),
InsightsModule.forRoot(),
ProcessModule.forRoot(),
ProcessServicesCloudModule.forRoot(),
ExtensionsModule.forRoot(),
NgChartsModule,
AppCloudSharedModule,
ThemePickerModule,
ChartsModule,
MonacoEditorModule.forRoot(),
FolderDirectiveModule,
ShowDiagramComponent,
ContentUserInfoModule,
...PROCESS_USER_INFO_DIRECTIVES
],
declarations: [
AppComponent,
LoginComponent,
LogoutComponent,
SettingsComponent,
AppLayoutComponent,
UserInfoComponent,
HomeComponent,
SearchBarComponent,
SearchResultComponent,
SearchExtendedComponent,
AboutComponent,
LogComponent,
ProcessServiceComponent,
ShowDiagramComponent,
FormViewerComponent,
FormNodeViewerComponent,
AppsViewComponent,
DataTableComponent,
FilesComponent,
TrashcanComponent,
FormComponent,
FormListComponent,
WebscriptComponent,
TagComponent,
SocialComponent,
CustomSourcesComponent,
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent,
TaskAttachmentsComponent,
ProcessAttachmentsComponent,
OverlayViewerComponent,
SharedLinkViewComponent,
FormLoadingComponent,
DemoPermissionComponent,
DemoErrorComponent,
CloudLayoutComponent,
AppsCloudDemoComponent,
TasksCloudDemoComponent,
ProcessesCloudDemoComponent,
TaskDetailsCloudDemoComponent,
CloudViewerComponent,
ProcessDetailsCloudDemoComponent,
StartTaskCloudDemoComponent,
StartProcessCloudDemoComponent,
CloudFiltersDemoComponent,
FormCloudDemoComponent,
CustomEditorComponent,
CustomWidgetComponent,
ProcessCloudLayoutComponent,
SearchFilterChipsComponent
FormLoadingComponent,
BreadcrumbDemoComponent,
NotificationsComponent,
CardViewComponent,
ContentNodeSelectorComponent,
ReportIssueComponent,
TaskListDemoComponent,
ProcessListDemoComponent,
HeaderDataComponent,
ConfigEditorComponent
],
providers: [
{ provide: AppConfigService, useClass: DebugAppConfigService }, // not use this service in production
provideTranslations('app', 'resources')
{
provide: TRANSLATION_PROVIDER,
multi: true,
useValue: {
name: 'app',
source: 'resources'
}
},
{
provide: TRANSLATION_PROVIDER,
multi: true,
useValue: {
name: 'lazy-loading',
source: 'resources/lazy-loading'
}
},
PreviewService,
HeaderDataService
],
entryComponents: [
VersionManagerDialogAdapterComponent,
MetadataDialogAdapterComponent
],
bootstrap: [AppComponent]
})
export class AppModule {
constructor(automationService: CoreAutomationService) {
automationService.setup();
}
}
export class AppModule {}
+160 -122
View File
@@ -1,6 +1,6 @@
/*!
* @license
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
* 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.
@@ -15,79 +15,128 @@
* limitations under the License.
*/
import { Routes } from '@angular/router';
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm, AuthGuardSsoRoleService } from '@alfresco/adf-core';
import { ModuleWithProviders } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AuthGuard, AuthGuardEcm, ErrorContentComponent, AuthGuardBpm } from '@alfresco/adf-core';
import { AppLayoutComponent } from './components/app-layout/app-layout.component';
import { LoginComponent } from './components/login/login.component';
import { SettingsComponent } from './components/settings/settings.component';
import { HomeComponent } from './components/home/home.component';
import { LogoutComponent } from './components/logout/logout.component';
import { AboutComponent } from './components/about/about.component';
import { ProcessServiceComponent } from './components/process-service/process-service.component';
import { ShowDiagramComponent } from './components/process-service/show-diagram.component';
import { FormViewerComponent } from './components/process-service/form-viewer.component';
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';
import { TagComponent } from './components/tag/tag.component';
import { SocialComponent } from './components/social/social.component';
import { FilesComponent } from './components/files/files.component';
import { FormComponent } from './components/form/form.component';
import { CustomSourcesComponent } from './components/files/custom-sources.component';
import { FormListComponent } from './components/form/form-list.component';
import { OverlayViewerComponent } from './components/overlay-viewer/overlay-viewer.component';
import { SharedLinkViewComponent } from './components/shared-link-view/shared-link-view.component';
import { FormLoadingComponent } from './components/form/form-loading.component';
import { DemoPermissionComponent } from './components/permissions/demo-permissions.component';
import { BreadcrumbDemoComponent } from './components/breadcrumb-demo/breadcrumb-demo.component';
import { TaskListDemoComponent } from './components/task-list-demo/task-list-demo.component';
import { ProcessListDemoComponent } from './components/process-list-demo/process-list-demo.component';
import { NotificationsComponent } from './components/notifications/notifications.component';
import { CardViewComponent } from './components/card-view/card-view.component';
import { ContentNodeSelectorComponent } from './components/content-node-selector/content-node-selector.component';
import { ReportIssueComponent } from './components/report-issue/report-issue.component';
import { HeaderDataComponent } from './components/header-data/header-data.component';
import { ConfigEditorComponent } from './components/config-editor/config-editor.component';
import { AppComponent } from './app.component';
import { AppsCloudDemoComponent } from './components/cloud/apps-cloud-demo.component';
import { CloudLayoutComponent } from './components/cloud/cloud-layout.component';
import { TasksCloudDemoComponent } from './components/cloud/tasks-cloud-demo.component';
import { ProcessesCloudDemoComponent } from './components/cloud/processes-cloud-demo.component';
import { StartTaskCloudDemoComponent } from './components/cloud/start-task-cloud-demo.component';
import { StartProcessCloudDemoComponent } from './components/cloud/start-process-cloud-demo.component';
import { TaskDetailsCloudDemoComponent } from './components/cloud/task-details-cloud-demo.component';
import { CloudViewerComponent } from './components/cloud/cloud-viewer.component';
import { ProcessDetailsCloudDemoComponent } from './components/cloud/process-details-cloud-demo.component';
import { FormCloudDemoComponent } from './components/app-layout/cloud/form-demo/cloud-form-demo.component';
import { DemoErrorComponent } from './components/error/demo-error.component';
import { ProcessCloudLayoutComponent } from './components/cloud/process-cloud-layout.component';
import { SearchFilterChipsComponent } from './components/search/search-filter-chips.component';
export const appRoutes: Routes = [
{ path: 'login', loadChildren: () => import('./components/login/login.module').then(m => m.AppLoginModule) },
{ path: 'login', component: LoginComponent },
{ path: 'logout', component: LogoutComponent },
{
path: 'settings',
loadChildren: () => import('./components/settings/settings.module').then(m => m.AppSettingsModule)
},
{ path: 'settings', component: SettingsComponent },
{
path: 'files/:nodeId/view',
component: AppComponent,
canActivate: [AuthGuardEcm],
canActivateChild: [AuthGuardEcm],
canActivate: [ AuthGuardEcm ],
canActivateChild: [ AuthGuardEcm ],
outlet: 'overlay',
loadChildren: () => import('./components/file-view/file-view.module').then(m => m.FileViewModule)
},
{
path: 'files/:nodeId/:versionId/view',
component: AppComponent,
canActivate: [AuthGuardEcm],
canActivateChild: [AuthGuardEcm],
outlet: 'overlay',
loadChildren: () => import('./components/file-view/file-view.module').then(m => m.FileViewModule)
children: [
{
path: '',
loadChildren: 'app/components/file-view/file-view.module#FileViewModule'
}
]
},
{
path: 'preview/blob',
component: AppComponent,
outlet: 'overlay',
pathMatch: 'full',
loadChildren: () => import('./components/file-view/file-view.module').then(m => m.FileViewModule)
children: [
{
path: '',
loadChildren: 'app/components/blob-preview/blob-preview.module#BlobPreviewModule'
}
]
},
{ path: 'preview/s/:id', component: SharedLinkViewComponent },
{
path: 'breadcrumb',
component: BreadcrumbDemoComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'notifications',
component: AppLayoutComponent ,
children: [
{
path: '',
component: NotificationsComponent
}
]
},
{
path: 'config-editor',
component: AppLayoutComponent ,
children: [
{
path: '',
component: ConfigEditorComponent
}
]
},
{
path: 'card-view',
component: AppLayoutComponent ,
children: [
{
path: '',
component: CardViewComponent
}
]
},
{
path: 'header-data',
component: AppLayoutComponent,
children: [
{
path: '',
component: HeaderDataComponent
}
]
},
{
path: '',
component: AppLayoutComponent,
canActivate: [AuthGuard],
children: [
{
path: '',
redirectTo: `/home`,
pathMatch: 'full'
},
{
path: 'card-view',
loadChildren: () => import('./components/card-view/card-view.module').then(m => m.AppCardViewModule)
},
{
path: '',
component: HomeComponent
@@ -97,63 +146,17 @@ export const appRoutes: Routes = [
component: HomeComponent
},
{
path: 'cloud',
canActivate: [AuthGuardSsoRoleService],
data: { roles: ['ACTIVITI_ADMIN', 'ACTIVITI_USER'], redirectUrl: '/error/403' },
children: [
{
path: '',
data: { roles: ['ACTIVITI_USER'], redirectUrl: '/error/403' },
component: AppsCloudDemoComponent
},
{
path: ':appName',
canActivate: [AuthGuardSsoRoleService],
data: { clientRoles: ['appName'], roles: ['ACTIVITI_USER'], redirectUrl: '/error/403' },
component: ProcessCloudLayoutComponent,
children: [
{
path: '',
component: CloudLayoutComponent,
children: [
{
path: 'tasks',
component: TasksCloudDemoComponent
},
{
path: 'processes',
component: ProcessesCloudDemoComponent
}
]
},
{
path: 'start-task',
component: StartTaskCloudDemoComponent
},
{
path: 'start-process',
component: StartProcessCloudDemoComponent
},
{
path: 'task-details/:taskId',
component: TaskDetailsCloudDemoComponent
},
{
path: 'task-details/:taskId/files/:nodeId/view',
component: CloudViewerComponent
},
{
path: 'process-details/:processInstanceId',
component: ProcessDetailsCloudDemoComponent
}
]
}
]
path: 'node-selector',
component: ContentNodeSelectorComponent
},
{
path: 'settings-layout',
loadChildren: () => import('./components/settings/settings.module').then(m => m.AppSettingsModule)
component: SettingsComponent
},
{
path: 'trashcan',
component: TrashcanComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'files',
@@ -170,14 +173,23 @@ export const appRoutes: Routes = [
component: FilesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'dl-custom-sources',
component: CustomSourcesComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'datatable',
component: DataTableComponent
},
{
path: 'search',
component: SearchResultComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'search-filter-chips',
component: SearchFilterChipsComponent,
path: 'extendedSearch',
component: SearchExtendedComponent,
canActivate: [AuthGuardEcm]
},
{
@@ -234,51 +246,77 @@ export const appRoutes: Routes = [
},
// TODO: check if needed
{
/* cspell:disable-next-line */
path: 'activiti/tasksnode/:id',
component: FormNodeViewerComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'webscript',
component: WebscriptComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'tag',
component: TagComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'social',
component: SocialComponent,
canActivate: [AuthGuardEcm]
},
{
path: 'permissions/:id',
component: DemoPermissionComponent,
canActivate: [AuthGuardEcm]
},
{ path: 'form-cloud', component: FormCloudDemoComponent },
{ 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: 'report-issue',
component: ReportIssueComponent
},
{
path: 'datatable-lazy',
loadChildren: 'app/components/lazy-loading/lazy-loading.module#LazyLoadingModule'
},
{
path: 'task-list',
canActivate: [AuthGuardBpm],
loadChildren: () => import('./components/task-list-demo/task-list.module').then(m => m.AppTaskListModule)
component: TaskListDemoComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'task-list/:id',
component: TaskListDemoComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'process-list',
canActivate: [AuthGuardBpm],
loadChildren: () => import('./components/process-list-demo/process-list.module').then(m => m.AppProcessListModule)
component: ProcessListDemoComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'error/no-authorization',
path: 'process-list/:id',
component: ProcessListDemoComponent,
canActivate: [AuthGuardBpm]
},
{
path: 'error/:id',
component: ErrorContentComponent
}
]
},
{
path: 'error',
component: AppLayoutComponent,
children: [
{
path: '',
redirectTo: '/error/404',
pathMatch: 'full'
},
{
path: ':id',
component: DemoErrorComponent
path: '**',
redirectTo: 'error/404'
}
]
},
{
path: '**',
redirectTo: 'error/404'
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes, { initialNavigation: true });
@@ -0,0 +1 @@
<adf-about></adf-about>

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