From 3ef7d3b7eab4a6b91791c4e9ed83c53ac23eb2cf Mon Sep 17 00:00:00 2001
From: Eugenio Romano
Date: Sun, 6 Jan 2019 23:57:01 +0100
Subject: [PATCH] [ADF-] update library to use new js-api 3.0.0 (#4097)
---
.dockerignore | 10 +
.gitignore | 1 +
.travis.yml | 1 +
README.md | 5 +-
assets/angular2.png | Bin 36244 -> 0 bytes
assets/browserstack.png | Bin 37302 -> 0 bytes
demo-shell/proxy.conf.js | 2 +-
.../content-node-selector.component.ts | 12 +-
.../file-view/file-view.component.html | 11 -
.../file-view/file-view.component.ts | 5 -
.../app/components/files/files.component.ts | 4 +-
.../metadata-dialog-adapter.component.ts | 2 +-
...ersion-manager-dialog-adapter.component.ts | 2 +-
.../overlay-viewer.component.html | 2 +-
.../permissions/demo-permissions.component.ts | 2 +-
.../process-service.component.ts | 2 +-
.../components/search/search-bar.component.ts | 2 +-
.../search/search-config-test.service.ts | 2 +-
.../search/search-extended.component.ts | 2 +-
.../search/search-result.component.ts | 19 +-
.../components/trashcan/trashcan.component.ts | 2 +-
demo-shell/src/tsconfig.dev.json | 4 +-
docs/core/viewer.component.md | 15 +-
e2e/Util.kt | 1 -
e2e/actions/users.actions.ts | 4 +-
...ponent.e2e.ts => comment-component.e2e.ts} | 0
....e2e.ts => create-folder-directive.e2e.ts} | 0
...ns.e2e.ts => document-list-actions.e2e.ts} | 0
....e2e.ts => document-list-component.e2e.ts} | 0
...e2e.ts => document-list-pagination.e2e.ts} | 0
.../{lock_file.e2e.ts => lock-file.e2e.ts} | 0
....e2e.ts => notifications-component.e2e.ts} | 0
...nt.e2e.ts => permissions-component.e2e.ts} | 0
.../{share_file.e2e.ts => share-file.e2e.ts} | 0
...nshare_file.e2e.ts => unshare-file.e2e.ts} | 0
..._component.e2e.ts => tag-component.e2e.ts} | 2 +-
...tion.e2e.ts => trashcan-pagination.e2e.ts} | 0
...nent.e2e.ts => tree-view-component.e2e.ts} | 2 +-
...luded_file.e2e.ts => excluded-file.e2e.ts} | 0
...onent.e2e.ts => uploader-component.e2e.ts} | 0
...rmission.e2e.ts => user-permission.e2e.ts} | 0
...omponent.e2e.ts => error-component.e2e.ts} | 0
...mponent.e2e.ts => header-component.e2e.ts} | 0
...lling.e2e.ts => infinite-scrolling.e2e.ts} | 0
...omponent.e2e.ts => login-component.e2e.ts} | 2 +-
.../{login_sso.e2e.ts => login-sso.e2e.ts} | 0
e2e/core/login/redirection.e2e.ts | 2 +-
...{remember_me.e2e.ts => remember-me.e2e.ts} | 0
...s => pagination-empty-current-page.e2e.ts} | 0
...2e.ts => user-info-component-cloud.e2e.ts} | 2 +-
...nent.e2e.ts => user-info-component.e2e.ts} | 0
...mponent.e2e.ts => viewer-component.e2e.ts} | 0
... viewer-content-services-component.e2e.ts} | 0
... viewer-custom-toolbar-info-drawer.e2e.ts} | 0
...erties.e2e.ts => viewer-properties.e2e.ts} | 7 -
e2e/insights/analytics-component.e2e.ts | 10 +-
.../{StandaloneTask.ts => standaloneTask.ts} | 0
e2e/models/APS/{Tenant.ts => tenant.ts} | 0
e2e/models/APS/{User.ts => user.ts} | 0
.../search/components/dateRangeFilterPage.ts | 0
.../components/numberRangeFilterPage.ts | 0
.../search/components/search-checkList.ts | 0
.../search/components/search-radio.ts | 0
.../search/components/search-slider.page.ts | 0
.../components/search-sortingPicker.page.ts | 0
.../search/components/search-text.ts | 0
.../search/search-categories.ts | 0
.../treeViewPage.ts | 0
.../adf/demo-shell/processCloudDemoPage.ts | 6 +-
.../adf/demo-shell/taskFiltersDemoPage.ts | 2 +-
e2e/pages/adf/demo-shell/taskListDemoPage.ts | 2 +-
.../adf/demo-shell/tasksCloudDemoPage.ts | 4 +-
e2e/pages/adf/material/datePickerPage.ts | 19 +-
e2e/pages/adf/navigationBarPage.ts | 4 +-
.../appListCloudComponent.ts | 0
.../editProcessFilterCloudComponent.ts | 0
.../processFiltersCloudComponent.ts | 0
.../processListCloudComponent.ts | 0
.../taskFiltersCloudComponent.ts | 0
.../taskListCloudComponent.ts | 0
.../analyticsPage.ts | 0
.../appNavigationBarPage.ts | 0
.../attachFormPage.ts | 0
.../attachmentListPage.ts | 0
.../dialog/appSettingsToggles.ts | 0
.../dialog/createChecklistDialog.ts | 0
.../dialog/startTaskDialog.ts | 0
.../filtersPage.ts | 0
.../formFields.ts | 0
.../formPage.ts | 0
.../processDetailsPage.ts | 0
.../processFiltersPage.ts | 0
.../processListPage.ts | 0
.../processServicesPage.ts | 0
.../startProcessPage.ts | 0
.../taskDetailsPage.ts | 0
.../taskFiltersPage.ts | 0
.../tasksListPage.ts | 0
.../tasksPage.ts | 0
.../widgets/amountWidget.ts | 0
.../widgets/attachFileWidget.ts | 0
.../widgets/checkboxWidget.ts | 0
.../widgets/containerWidget.ts | 0
.../widgets/dateTimeWidget.ts | 0
.../widgets/dateWidget.ts | 0
.../widgets/displayTextWidget.ts | 0
.../widgets/displayValueWidget.ts | 0
.../widgets/documentWidget.ts | 0
.../widgets/dropdownWidget.ts | 0
.../widgets/dynamicTableWidget.ts | 0
.../widgets/headerWidget.ts | 0
.../widgets/hyperlinkWidget.ts | 0
.../widgets/multilineTextWidget.ts | 0
.../widgets/numberWidget.ts | 0
.../widgets/peopleWidget.ts | 0
.../widgets/radioButtonsWidget.ts | 0
.../widgets/textWidget.ts | 0
.../widgets/widget.ts | 0
e2e/pages/adf/searchFiltersPage.ts | 2 +-
e2e/pages/adf/searchResultsPage.ts | 2 +-
...cloud.e2e.ts => apps-section-cloud.e2e.ts} | 2 +-
...s.e2e.ts => process-custom-filters.e2e.ts} | 2 +-
...ud.e2e.ts => process-filters-cloud.e2e.ts} | 2 +-
...cloud.e2e.ts => task-filters-cloud.e2e.ts} | 2 +-
e2e/process-services/apps-section.e2e.ts | 2 +-
.../attach-file-widget.e2e.ts | 4 +-
...nt.e2e.ts => attach-form-component.e2e.ts} | 6 +-
...nent.e2e.ts => checklist-component.e2e.ts} | 4 +-
....ts => comment-component-processes.e2e.ts} | 2 +-
....e2e.ts => comment-component-tasks.e2e.ts} | 2 +-
... => custom-process-filters-sorting.e2e.ts} | 4 +-
...s.e2e.ts => custom-process-filters.e2e.ts} | 6 +-
...ers.e2e.ts => custom-tasks-filters.e2e.ts} | 9 +-
...2e.ts => dynamic-table-date-picker.e2e.ts} | 8 +-
...ts => empty-process-list-component.e2e.ts} | 10 +-
...component.e2e.ts => form-component.e2e.ts} | 8 +-
...idget.e2e.ts => form-people-widget.e2e.ts} | 12 +-
...t.e2e.ts => form-widgets-component.e2e.ts} | 4 +-
...nation-processlist-addingProcesses.e2e.ts} | 4 +-
...=> pagination-tasklist-addingTasks.e2e.ts} | 2 +-
...mponent.e2e.ts => people-component.e2e.ts} | 4 +-
... process-attachmentList-actionMenu.e2e.ts} | 6 +-
...2e.ts => process-filters-component.e2e.ts} | 12 +-
...n.e2e.ts => processlist-pagination.e2e.ts} | 4 +-
...e2e.ts => sort-tasklist-pagination.e2e.ts} | 2 +-
...one_task.e2e.ts => standalone-task.e2e.ts} | 4 +-
....e2e.ts => start-process-component.e2e.ts} | 16 +-
...pp.e2e.ts => start-task-custom-app.e2e.ts} | 8 +-
..._app.e2e.ts => start-task-task-app.e2e.ts} | 8 +-
... => task-attachmentList-actionMenu.e2e.ts} | 4 +-
e2e/process-services/task-audit.e2e.ts | 4 +-
...s_form.e2e.ts => task-details-form.e2e.ts} | 8 +-
...orm.e2e.ts => task-details-no-form.e2e.ts} | 4 +-
...ask_details.e2e.ts => task-details.e2e.ts} | 4 +-
...t.e2e.ts => task-filters-component.e2e.ts} | 12 +-
...ing.e2e.ts => task-filters-sorting.e2e.ts} | 8 +-
...ion.e2e.ts => task-list-pagination.e2e.ts} | 2 +-
...unt_widget.e2e.ts => amount-widget.e2e.ts} | 4 +-
...get.e2e.ts => attach-folder-widget.e2e.ts} | 4 +-
...x_widget.e2e.ts => checkbox-widget.e2e.ts} | 4 +-
..._widget.e2e.ts => date-time-widget.e2e.ts} | 4 +-
...{date_widget.e2e.ts => date-widget.e2e.ts} | 4 +-
...e2e.ts => document-template-widget.e2e.ts} | 4 +-
...n_widget.e2e.ts => dropdown-widget.e2e.ts} | 4 +-
...get.e2e.ts => dynamic-table-widget.e2e.ts} | 4 +-
...der_widget.e2e.ts => header-widget.e2e.ts} | 4 +-
..._widget.e2e.ts => hyperlink-widget.e2e.ts} | 4 +-
...widget.e2e.ts => multi-line-widget.e2e.ts} | 4 +-
...ber_widget.e2e.ts => number-widget.e2e.ts} | 4 +-
...ple_widget.e2e.ts => people-widget.e2e.ts} | 4 +-
...get.e2e.ts => radio-buttons-widget.e2e.ts} | 4 +-
...{text_widget.e2e.ts => text-widget.e2e.ts} | 4 +-
e2e/search/components/search-checkList.e2e.ts | 6 +-
.../components/search-date-range.e2e.ts | 22 +-
e2e/search/components/search-radio.e2e.ts | 6 +-
.../components/search-sorting-picker.e2e.ts | 2 +-
...mponent.e2e.ts => search-component.e2e.ts} | 0
...h_filters.e2e.ts => search-filters.e2e.ts} | 0
...elect.e2e.ts => search-multiselect.e2e.ts} | 0
...nt.e2e.ts => search-page-component.e2e.ts} | 0
e2e/util/dateUtil.ts | 29 ++
e2e/util/util.ts | 43 +-
.../documentlist/documentlist.component.html | 8 +-
.../breadcrumb/breadcrumb.component.spec.ts | 2 +-
.../breadcrumb/breadcrumb.component.ts | 14 +-
.../dropdown-breadcrumb.component.ts | 4 +-
.../content-metadata-card.component.spec.ts | 6 +-
.../content-metadata-card.component.ts | 4 +-
.../content-metadata.component.spec.ts | 10 +-
.../content-metadata.component.ts | 8 +-
.../services/basic-properties.service.ts | 4 +-
.../services/content-metadata.service.ts | 6 +-
.../property-descriptors.service.spec.ts | 2 +-
.../content-node-dialog.service.spec.ts | 52 ++-
.../content-node-dialog.service.ts | 46 +--
...tent-node-selector-panel.component.spec.ts | 36 +-
.../content-node-selector-panel.component.ts | 20 +-
...-node-selector.component-data.interface.ts | 6 +-
.../content-node-selector.component.spec.ts | 6 +-
.../content-node-selector.component.ts | 6 +-
.../content-node-selector.service.spec.ts | 2 +-
.../content-node-selector.service.ts | 2 +-
.../content-node-share.dialog.spec.ts | 4 -
.../content-node-share.dialog.ts | 4 +-
.../content-node-share.directive.spec.ts | 74 ++--
.../content-node-share.directive.ts | 6 +-
lib/content-services/dialogs/folder.dialog.ts | 12 +-
.../dialogs/library/library.dialog.spec.ts | 391 +++++++++---------
.../dialogs/library/library.dialog.ts | 4 +-
.../dialogs/node-lock.dialog.spec.ts | 8 +-
.../dialogs/node-lock.dialog.ts | 17 +-
.../directives/node-lock.directive.spec.ts | 4 +-
.../directives/node-lock.directive.ts | 4 +-
.../document-list.component.spec.ts | 34 +-
.../components/document-list.component.ts | 55 +--
.../library-name-column.component.ts | 4 +-
.../name-column/name-column.component.ts | 4 +-
.../document-list/components/node.event.ts | 18 +-
.../trashcan-name-column.component.ts | 4 +-
.../data/share-data-row.model.ts | 20 +-
.../data/share-datatable-adapter.ts | 2 +-
.../models/document-library.model.ts | 6 +-
.../services/custom-resources.service.ts | 62 +--
.../services/document-actions.service.ts | 16 +-
.../services/document-list.service.spec.ts | 70 +---
.../services/document-list.service.ts | 89 ++--
.../services/folder-actions.service.ts | 22 +-
.../services/node-actions.service.spec.ts | 4 +-
.../services/node-actions.service.ts | 16 +-
.../folder-create.directive.spec.ts | 12 +-
.../folder-create.directive.ts | 8 +-
.../folder-edit.directive.spec.ts | 10 +-
.../folder-directive/folder-edit.directive.ts | 10 +-
lib/content-services/karma.conf.js | 2 +
.../mock/search.component.mock.ts | 2 +-
lib/content-services/ng-package.json | 2 +-
lib/content-services/package.json | 2 +-
.../add-permission-dialog-data.interface.ts | 4 +-
.../add-permission-dialog.component.spec.ts | 4 +-
.../add-permission-dialog.component.ts | 6 +-
.../add-permission-panel.component.ts | 10 +-
.../add-permission.component.spec.ts | 5 +-
.../add-permission.component.ts | 10 +-
.../search-config-permission.service.ts | 2 +-
.../components/inherited-button.directive.ts | 8 +-
.../permission-list.component.ts | 20 +-
.../models/permission.model.ts | 2 +-
.../node-permission-dialog.service.spec.ts | 6 +-
.../node-permission-dialog.service.ts | 8 +-
.../services/node-permission.service.spec.ts | 16 +-
.../services/node-permission.service.ts | 18 +-
.../components/search-control.component.ts | 4 +-
.../search-filter/search-filter.component.ts | 7 +-
.../components/search.component.spec.ts | 2 +-
.../search/components/search.component.ts | 10 +-
.../search/search-query-builder.service.ts | 18 +-
.../site-dropdown/sites-dropdown.component.ts | 36 +-
lib/content-services/social/like.component.ts | 16 +-
.../social/rating.component.ts | 19 +-
.../social/services/rating.service.spec.ts | 4 +-
.../social/services/rating.service.ts | 16 +-
.../tag/services/tag.service.ts | 25 +-
.../tag/tag-actions.component.spec.ts | 5 +-
.../tag/tag-actions.component.ts | 8 +-
.../tag/tag-node-list.component.ts | 5 +-
.../components/tree-view.component.spec.ts | 31 +-
.../components/tree-view.component.ts | 2 +-
.../tree-view/models/tree-view.model.ts | 10 +-
.../tree-view/services/tree-view.service.ts | 2 +-
.../upload-button.component.spec.ts | 7 +-
.../components/upload-button.component.ts | 4 +-
.../upload-version-button.component.ts | 4 +-
.../version-list.component.spec.ts | 31 +-
.../version-manager/version-list.component.ts | 12 +-
.../version-manager.component.spec.ts | 6 +-
.../version-manager.component.ts | 10 +-
.../version-upload.component.ts | 4 +-
.../webscript/webscript.component.ts | 2 +-
.../models/card-view-baseitem.model.ts | 20 +-
.../models/card-view-boolitem.model.ts | 8 +-
.../models/card-view-dateitem.model.ts | 8 +-
.../models/card-view-floatitem.model.ts | 8 +-
.../models/card-view-intitem.model.ts | 8 +-
.../models/card-view-keyvaluepairs.model.ts | 4 +-
.../models/card-view-selectitem.model.ts | 6 +-
.../models/card-view-textitem.model.ts | 8 +-
lib/core/comments/comments.component.ts | 18 +-
.../context-menu-holder.component.ts | 12 +-
.../datatable/datatable.component.ts | 40 +-
.../datatable/location-cell.component.ts | 2 +-
.../datatable/data/object-datacolumn.model.ts | 18 +-
lib/core/dialogs/download-zip.dialog.spec.ts | 6 +-
lib/core/dialogs/download-zip.dialog.ts | 4 +-
lib/core/directives/highlight.directive.ts | 6 +-
lib/core/directives/node-delete.directive.ts | 10 +-
.../directives/node-download.directive.ts | 14 +-
.../directives/node-favorite.directive.ts | 13 +-
.../directives/node-permission.directive.ts | 6 +-
lib/core/directives/node-restore.directive.ts | 2 +-
lib/core/directives/upload.directive.ts | 14 +-
lib/core/events/folder-created.event.ts | 4 +-
.../form/components/form.component.spec.ts | 10 +-
lib/core/form/components/form.component.ts | 6 +-
.../widgets/core/content-link.model.ts | 2 +-
.../components/widgets/core/form.model.ts | 30 +-
.../widgets/dropdown/dropdown.widget.ts | 8 +-
.../dynamic-table.widget.model.ts | 20 +-
.../dynamic-table/dynamic-table.widget.ts | 12 +-
.../editors/dropdown/dropdown.editor.ts | 8 +-
.../functional-group.widget.ts | 6 +-
.../radio-buttons/radio-buttons.widget.ts | 8 +-
.../widgets/typeahead/typeahead.widget.ts | 8 +-
.../upload-folder/upload-folder.widget.ts | 4 +-
.../widgets/upload/upload.widget.ts | 4 +-
lib/core/form/models/form-definition.model.ts | 6 +-
.../services/activiti-alfresco.service.ts | 24 +-
.../form/services/ecm-model.service.spec.ts | 2 -
lib/core/form/services/form.service.spec.ts | 10 +-
lib/core/form/services/form.service.ts | 58 +--
lib/core/form/services/node.service.spec.ts | 5 +-
lib/core/form/services/node.service.ts | 22 +-
.../form/services/process-content.service.ts | 2 +-
.../search-configuration.interface.ts | 2 +-
lib/core/karma.conf.js | 1 +
lib/core/models/comment-process.model.ts | 2 +-
lib/core/models/file.model.ts | 6 +-
lib/core/models/pagination.model.ts | 10 +-
lib/core/models/user-process.model.ts | 20 +-
lib/core/ng-package.json | 2 +-
lib/core/package.json | 2 +-
.../infinite-pagination.component.spec.ts | 2 +-
.../infinite-pagination.component.ts | 3 +-
.../pagination-component.interface.ts | 4 +-
.../pagination/pagination.component.spec.ts | 2 +-
lib/core/pagination/pagination.component.ts | 16 +-
lib/core/pipes/node-name-tooltip.pipe.spec.ts | 4 +-
lib/core/pipes/node-name-tooltip.pipe.ts | 6 +-
lib/core/pipes/text-highlight.pipe.ts | 4 +-
lib/core/pipes/user-initial.pipe.ts | 6 +-
lib/core/services/alfresco-api.service.ts | 52 +--
lib/core/services/apps-process.service.ts | 2 +-
.../services/authentication.service.spec.ts | 166 ++++----
lib/core/services/authentication.service.ts | 2 +-
lib/core/services/comment-process.service.ts | 26 +-
lib/core/services/content.service.spec.ts | 17 +-
lib/core/services/content.service.ts | 38 +-
.../services/deleted-nodes-api.service.ts | 2 +-
lib/core/services/download-zip.service.ts | 2 +-
.../services/external-alfresco-api.service.ts | 15 +-
lib/core/services/favorites-api.service.ts | 2 +-
lib/core/services/nodes-api.service.ts | 14 +-
lib/core/services/people-process.service.ts | 3 +-
lib/core/services/renditions.service.spec.ts | 2 +-
lib/core/services/renditions.service.ts | 8 +-
.../services/search-configuration.service.ts | 2 +-
lib/core/services/search.service.ts | 16 +-
lib/core/services/shared-links-api.service.ts | 2 +-
lib/core/services/sites.service.ts | 20 +-
lib/core/services/upload.service.spec.ts | 47 +--
lib/core/services/upload.service.ts | 7 +-
lib/core/userinfo/models/bpm-user.model.ts | 46 +--
lib/core/userinfo/models/ecm-user.model.ts | 2 +-
.../userinfo/services/bpm-user.service.ts | 9 +-
.../userinfo/services/ecm-user.service.ts | 5 +-
.../services/identity-user.service.ts | 4 +-
.../components/pdfViewer.component.html | 6 +-
.../viewer/components/pdfViewer.component.ts | 20 +-
.../viewer/components/viewer.component.html | 10 -
.../components/viewer.component.spec.ts | 86 +---
.../viewer/components/viewer.component.ts | 96 ++---
lib/core/viewer/services/view-util.service.ts | 36 +-
lib/extensions/index.ts | 2 +-
lib/extensions/ng-package.json | 4 +-
.../dynamic-tab/dynamic-tab.component.ts | 4 +-
.../src/lib/store/states/navigation.state.ts | 2 +-
.../src/lib/store/states/selection.state.ts | 12 +-
.../src/{public_api.ts => public-api.ts} | 0
.../widgets/date-range/date-range.widget.ts | 4 +-
.../services/analytics.service.spec.ts | 2 +-
lib/insights/ng-package.json | 2 +-
lib/insights/package.json | 2 +-
lib/process-services-cloud/karma.conf.js | 1 +
lib/process-services-cloud/ng-package.json | 2 +-
.../services/apps-process-cloud.service.ts | 28 +-
.../src/lib/process-list-cloud/public-api.ts | 22 +
.../process-list-cloud.component.ts | 4 +-
.../services/process-list-cloud.service.ts | 4 +-
.../services/start-process-cloud.service.ts | 12 +-
.../services/start-task-cloud.service.ts | 10 +-
.../components/task-list-cloud.component.ts | 4 +-
.../services/task-list-cloud.service.ts | 4 +-
.../task-attachment-list.component.spec.ts | 5 +-
...-file-widget-dialog-component.interface.ts | 6 +-
...ttach-file-widget-dialog.component.spec.ts | 6 +-
.../attach-file-widget-dialog.component.ts | 6 +-
.../attach-file-widget-dialog.service.ts | 8 +-
.../attach-file-widget.component.ts | 6 +-
.../attach-file-widget.components.spec.ts | 4 +-
.../attach-folder-widget.component.spec.ts | 4 +-
.../attach-folder-widget.component.ts | 8 +-
lib/process-services/karma.conf.js | 3 +-
lib/process-services/ng-package.json | 2 +-
lib/process-services/package.json | 2 +-
.../components/process-filters.component.ts | 2 +-
.../models/filter-process.model.ts | 16 +-
.../models/process-instance-variable.model.ts | 2 +-
.../models/process-instance.model.ts | 2 +-
.../services/process-filter.service.spec.ts | 6 +-
.../process-list/services/process.service.ts | 10 +-
.../components/attach-form.component.ts | 4 +-
.../components/checklist.component.ts | 6 +-
.../components/task-details.component.spec.ts | 22 +-
.../components/task-details.component.ts | 2 +-
.../components/task-list.component.spec.ts | 2 +-
.../components/task-list.component.ts | 2 +-
.../task-list/models/filter.model.ts | 64 +--
.../task-list/models/task-details.model.ts | 68 +--
.../task-list/models/task-list.model.ts | 22 +-
.../task-list/models/user-group.model.ts | 10 +-
.../services/task-filter.service.spec.ts | 8 +-
.../services/tasklist.service.spec.ts | 2 +-
.../task-list/services/tasklist.service.ts | 26 +-
lib/tsconfig.json | 2 +-
package-lock.json | 50 +--
package.json | 2 +-
scripts/build-insights.sh | 3 -
tools/tslint-rules/adfFileNameRule.js | 11 +
tools/tslint-rules/adfFileNameRule.ts | 13 +
tools/tslint-rules/package-lock.json | 2 +-
tools/tslint-rules/package.json | 2 +-
430 files changed, 1966 insertions(+), 2149 deletions(-)
delete mode 100644 assets/angular2.png
delete mode 100644 assets/browserstack.png
delete mode 100644 e2e/Util.kt
rename e2e/content-services/comments/{comment_component.e2e.ts => comment-component.e2e.ts} (100%)
rename e2e/content-services/directives/{create_folder_directive.e2e.ts => create-folder-directive.e2e.ts} (100%)
rename e2e/content-services/document-list/{document_list_actions.e2e.ts => document-list-actions.e2e.ts} (100%)
rename e2e/content-services/document-list/{document_list_component.e2e.ts => document-list-component.e2e.ts} (100%)
rename e2e/content-services/document-list/{document_list_pagination.e2e.ts => document-list-pagination.e2e.ts} (100%)
rename e2e/content-services/{lock_file.e2e.ts => lock-file.e2e.ts} (100%)
rename e2e/content-services/{notifications_component.e2e.ts => notifications-component.e2e.ts} (100%)
rename e2e/content-services/{permissions_component.e2e.ts => permissions-component.e2e.ts} (100%)
rename e2e/content-services/share-file/{share_file.e2e.ts => share-file.e2e.ts} (100%)
rename e2e/content-services/share-file/{unshare_file.e2e.ts => unshare-file.e2e.ts} (100%)
rename e2e/content-services/{tag_component.e2e.ts => tag-component.e2e.ts} (99%)
rename e2e/content-services/{trashcan_pagination.e2e.ts => trashcan-pagination.e2e.ts} (100%)
rename e2e/content-services/{tree_view_component.e2e.ts => tree-view-component.e2e.ts} (98%)
rename e2e/content-services/upload/{excluded_file.e2e.ts => excluded-file.e2e.ts} (100%)
rename e2e/content-services/upload/{uploader_component.e2e.ts => uploader-component.e2e.ts} (100%)
rename e2e/content-services/upload/{user_permission.e2e.ts => user-permission.e2e.ts} (100%)
rename e2e/core/{error_component.e2e.ts => error-component.e2e.ts} (100%)
rename e2e/core/{header_component.e2e.ts => header-component.e2e.ts} (100%)
rename e2e/core/{infinite_scrolling.e2e.ts => infinite-scrolling.e2e.ts} (100%)
rename e2e/core/login/{login_component.e2e.ts => login-component.e2e.ts} (99%)
rename e2e/core/login/login-sso/{login_sso.e2e.ts => login-sso.e2e.ts} (100%)
rename e2e/core/login/{remember_me.e2e.ts => remember-me.e2e.ts} (100%)
rename e2e/core/{pagination_empty_current_page.e2e.ts => pagination-empty-current-page.e2e.ts} (100%)
rename e2e/core/{user_info_component_cloud.e2e.ts => user-info-component-cloud.e2e.ts} (97%)
rename e2e/core/{user_info_component.e2e.ts => user-info-component.e2e.ts} (100%)
rename e2e/core/viewer/{viewer_component.e2e.ts => viewer-component.e2e.ts} (100%)
rename e2e/core/viewer/{viewer_content_services_component.e2e.ts => viewer-content-services-component.e2e.ts} (100%)
rename e2e/core/viewer/{viewer_custom_toolbar_info-drawer.e2e.ts => viewer-custom-toolbar-info-drawer.e2e.ts} (100%)
rename e2e/core/viewer/{viewer_properties.e2e.ts => viewer-properties.e2e.ts} (96%)
rename e2e/models/APS/{StandaloneTask.ts => standaloneTask.ts} (100%)
rename e2e/models/APS/{Tenant.ts => tenant.ts} (100%)
rename e2e/models/APS/{User.ts => user.ts} (100%)
rename e2e/pages/adf/{content_services => content-services}/search/components/dateRangeFilterPage.ts (100%)
rename e2e/pages/adf/{content_services => content-services}/search/components/numberRangeFilterPage.ts (100%)
rename e2e/pages/adf/{content_services => content-services}/search/components/search-checkList.ts (100%)
rename e2e/pages/adf/{content_services => content-services}/search/components/search-radio.ts (100%)
rename e2e/pages/adf/{content_services => content-services}/search/components/search-slider.page.ts (100%)
rename e2e/pages/adf/{content_services => content-services}/search/components/search-sortingPicker.page.ts (100%)
rename e2e/pages/adf/{content_services => content-services}/search/components/search-text.ts (100%)
rename e2e/pages/adf/{content_services => content-services}/search/search-categories.ts (100%)
rename e2e/pages/adf/{content_services => content-services}/treeViewPage.ts (100%)
rename e2e/pages/adf/{process_cloud => process-cloud}/appListCloudComponent.ts (100%)
rename e2e/pages/adf/{process_cloud => process-cloud}/editProcessFilterCloudComponent.ts (100%)
rename e2e/pages/adf/{process_cloud => process-cloud}/processFiltersCloudComponent.ts (100%)
rename e2e/pages/adf/{process_cloud => process-cloud}/processListCloudComponent.ts (100%)
rename e2e/pages/adf/{process_cloud => process-cloud}/taskFiltersCloudComponent.ts (100%)
rename e2e/pages/adf/{process_cloud => process-cloud}/taskListCloudComponent.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/analyticsPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/appNavigationBarPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/attachFormPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/attachmentListPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/dialog/appSettingsToggles.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/dialog/createChecklistDialog.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/dialog/startTaskDialog.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/filtersPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/formFields.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/formPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/processDetailsPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/processFiltersPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/processListPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/processServicesPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/startProcessPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/taskDetailsPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/taskFiltersPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/tasksListPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/tasksPage.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/amountWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/attachFileWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/checkboxWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/containerWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/dateTimeWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/dateWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/displayTextWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/displayValueWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/documentWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/dropdownWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/dynamicTableWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/headerWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/hyperlinkWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/multilineTextWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/numberWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/peopleWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/radioButtonsWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/textWidget.ts (100%)
rename e2e/pages/adf/{process_services => process-services}/widgets/widget.ts (100%)
rename e2e/process-services-cloud/{apps_section_cloud.e2e.ts => apps-section-cloud.e2e.ts} (96%)
rename e2e/process-services-cloud/{process_custom_filters.e2e.ts => process-custom-filters.e2e.ts} (98%)
rename e2e/process-services-cloud/{process_filters_cloud.e2e.ts => process-filters-cloud.e2e.ts} (99%)
rename e2e/process-services-cloud/{task_filters_cloud.e2e.ts => task-filters-cloud.e2e.ts} (98%)
rename e2e/process-services/{attach_form_component.e2e.ts => attach-form-component.e2e.ts} (96%)
rename e2e/process-services/{checklist_component.e2e.ts => checklist-component.e2e.ts} (98%)
rename e2e/process-services/{comment_component_processes.e2e.ts => comment-component-processes.e2e.ts} (98%)
rename e2e/process-services/{comment_component_tasks.e2e.ts => comment-component-tasks.e2e.ts} (99%)
rename e2e/process-services/{custom_process_filters_sorting.e2e.ts => custom-process-filters-sorting.e2e.ts} (99%)
rename e2e/process-services/{custom_process_filters.e2e.ts => custom-process-filters.e2e.ts} (97%)
rename e2e/process-services/{custom_tasks_filters.e2e.ts => custom-tasks-filters.e2e.ts} (98%)
rename e2e/process-services/{dynamic_table_date_picker.e2e.ts => dynamic-table-date-picker.e2e.ts} (95%)
rename e2e/process-services/{empty_process_list_component.e2e.ts => empty-process-list-component.e2e.ts} (92%)
rename e2e/process-services/{form_component.e2e.ts => form-component.e2e.ts} (94%)
rename e2e/process-services/{form_people_widget.e2e.ts => form-people-widget.e2e.ts} (92%)
rename e2e/process-services/{form_widgets_component.e2e.ts => form-widgets-component.e2e.ts} (99%)
rename e2e/process-services/{pagination_processlist_addingProcesses.e2e.ts => pagination-processlist-addingProcesses.e2e.ts} (97%)
rename e2e/process-services/{pagination_tasklist_addingTasks.e2e.ts => pagination-tasklist-addingTasks.e2e.ts} (98%)
rename e2e/process-services/{people_component.e2e.ts => people-component.e2e.ts} (99%)
rename e2e/process-services/{process_attachmentList_actionMenu.e2e.ts => process-attachmentList-actionMenu.e2e.ts} (97%)
rename e2e/process-services/{process_filters_component.e2e.ts => process-filters-component.e2e.ts} (93%)
rename e2e/process-services/{processlist_pagination.e2e.ts => processlist-pagination.e2e.ts} (99%)
rename e2e/process-services/{sort_tasklist_pagination.e2e.ts => sort-tasklist-pagination.e2e.ts} (98%)
rename e2e/process-services/{standalone_task.e2e.ts => standalone-task.e2e.ts} (98%)
rename e2e/process-services/{start_process_component.e2e.ts => start-process-component.e2e.ts} (97%)
rename e2e/process-services/{start_task_custom_app.e2e.ts => start-task-custom-app.e2e.ts} (97%)
rename e2e/process-services/{start_task_task_app.e2e.ts => start-task-task-app.e2e.ts} (97%)
rename e2e/process-services/{task_attachmentList_actionMenu.e2e.ts => task-attachmentList-actionMenu.e2e.ts} (98%)
rename e2e/process-services/{task_details_form.e2e.ts => task-details-form.e2e.ts} (95%)
rename e2e/process-services/{Task_details_no_form.e2e.ts => task-details-no-form.e2e.ts} (96%)
rename e2e/process-services/{task_details.e2e.ts => task-details.e2e.ts} (99%)
rename e2e/process-services/{task_filters_component.e2e.ts => task-filters-component.e2e.ts} (98%)
rename e2e/process-services/{task_filters_sorting.e2e.ts => task-filters-sorting.e2e.ts} (97%)
rename e2e/process-services/{task_list_pagination.e2e.ts => task-list-pagination.e2e.ts} (99%)
rename e2e/process-services/widgets/{amount_widget.e2e.ts => amount-widget.e2e.ts} (97%)
rename e2e/process-services/widgets/{attach_folder_widget.e2e.ts => attach-folder-widget.e2e.ts} (96%)
rename e2e/process-services/widgets/{checkbox_widget.e2e.ts => checkbox-widget.e2e.ts} (96%)
rename e2e/process-services/widgets/{date_time_widget.e2e.ts => date-time-widget.e2e.ts} (97%)
rename e2e/process-services/widgets/{date_widget.e2e.ts => date-widget.e2e.ts} (97%)
rename e2e/process-services/widgets/{document_template_widget.e2e.ts => document-template-widget.e2e.ts} (96%)
rename e2e/process-services/widgets/{dropdown_widget.e2e.ts => dropdown-widget.e2e.ts} (97%)
rename e2e/process-services/widgets/{dynamic_table_widget.e2e.ts => dynamic-table-widget.e2e.ts} (98%)
rename e2e/process-services/widgets/{header_widget.e2e.ts => header-widget.e2e.ts} (96%)
rename e2e/process-services/widgets/{hyperlink_widget.e2e.ts => hyperlink-widget.e2e.ts} (96%)
rename e2e/process-services/widgets/{multi_line_widget.e2e.ts => multi-line-widget.e2e.ts} (97%)
rename e2e/process-services/widgets/{number_widget.e2e.ts => number-widget.e2e.ts} (97%)
rename e2e/process-services/widgets/{people_widget.e2e.ts => people-widget.e2e.ts} (97%)
rename e2e/process-services/widgets/{radio_buttons_widget.e2e.ts => radio-buttons-widget.e2e.ts} (96%)
rename e2e/process-services/widgets/{text_widget.e2e.ts => text-widget.e2e.ts} (97%)
rename e2e/search/{search_component.e2e.ts => search-component.e2e.ts} (100%)
rename e2e/search/{search_filters.e2e.ts => search-filters.e2e.ts} (100%)
rename e2e/search/{search_multiselect.e2e.ts => search-multiselect.e2e.ts} (100%)
rename e2e/search/{search_page_component.e2e.ts => search-page-component.e2e.ts} (100%)
create mode 100644 e2e/util/dateUtil.ts
rename lib/extensions/src/{public_api.ts => public-api.ts} (100%)
create mode 100644 lib/process-services-cloud/src/lib/process-list-cloud/public-api.ts
diff --git a/.dockerignore b/.dockerignore
index 20cf9cd24e..d7673dbfac 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -14,3 +14,13 @@ integration
tools
demo-shell/src/
demo-shell/resources/
+/angular.json
+/desktop.ini
+/cspell.json
+/.travis.yml
+/CODE_OF_CONDUCT.md
+/.stylelintignore
+/ALFRESCOCORS.md
+/CONTRIBUTING.md
+/appveyor.yml
+/BROWSER-SUPPORT.md
diff --git a/.gitignore b/.gitignore
index 05cf3cd719..ef96eca235 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,3 +31,4 @@ src/environments/
/docs/docs.json
/protractorFailuresReport
coverage/
+/desktop.ini
diff --git a/.travis.yml b/.travis.yml
index 8f2dc8eba7..5923d9f4bc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -55,6 +55,7 @@ jobs:
- npm run stylelint || exit 1
- rm -rf tmp && (./scripts/smart-build.sh -b $TRAVIS_BRANCH || exit 1;);
- npm run build:dist || exit 1
+ - npm run bundlesize-check || exit 1
- stage: Unit test
name: core
script:
diff --git a/README.md b/README.md
index 0c76dac03d..1121952421 100644
--- a/README.md
+++ b/README.md
@@ -8,10 +8,6 @@
-
-
-
@@ -20,6 +16,7 @@
+
## Introduction
See the [Introduction page](INTRODUCTION.md) to get started with the Alfresco Application Development Framework.
diff --git a/assets/angular2.png b/assets/angular2.png
deleted file mode 100644
index 7355128e27701aa8040665dc2820388def4bd7cc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 36244
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
diff --git a/assets/browserstack.png b/assets/browserstack.png
deleted file mode 100644
index 5a0cea27a1924263262e5256407078aa8194a1b5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 37302
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