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 | 64 ++- .../content-node-share.directive.ts | 6 +- lib/content-services/dialogs/folder.dialog.ts | 12 +- .../dialogs/library/library.dialog.spec.ts | 451 +++++++++--------- .../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 | 156 +++--- 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, 1986 insertions(+), 2169 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 20cf9cd24e0..d7673dbfac9 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 05cf3cd7191..ef96eca235b 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 8f2dc8eba73..5923d9f4bc8 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 0c76dac03da..1121952421f 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,6 @@ travis
     Status - - travis
-    Status - Coverage Status @@ -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 zcmaHSWmufevMsKI+YCCm+u-i*5<-CB9^46TgS$)cpg{vc0tA=f7Cg8H4;t)FzP1=KVR&q46vC_6Ov-EWxu@Z%YL!`0O)%Va>Qx&#wcH}Vo+lIr( z(FN8U4o+0U$HmOzos|dJ+{(tzNsQ*~>o*#(ouwGfYd$qDH5VBxTRX+~ZdN+))paf2 zzq1gsq>&H@i~0z|25_|UFa!HIIykut`-su}Gp;b~_1}*~YgB-E26yg@lCujsbzN!&`d@kfp98z=`np(gYFoKGd%9V`HqM&%?^G_rGHzC89?ovM&dv`1 z(W0iUvxl?0t+NYQMu#8F^xDqJ(%IXc`JeV`YQjoR?jB}N7FJ5KVl=Q3IPB~!g{6h0 z)}+y$cR522Dv;O4n!kxDz$c@>Mfmm-8p15AGVr*@w|w z-AQ3|QYm2ZfFm6#-K!T>jW{H9S}+(NtKel{#eB=`?rM{#kcNp1;G1P8t&xAoMNuvD z%JZY&x6hL&AZYYjz*(j6tLDsa&)kX{^PT%p&mTg5bsrbMU?Cw;2l*WLJUG655-L3S zBlW_bt{ei%55HIw*+evHlPa2~!M#L`7*3MJO;k9$hn^IO;P3{SDhF{=kcCdOQ@G5t zvql5ak!WNPiqO!{6IL8dRuHD7&GyZ7RxjSXcY&*YJbxt{gM^Sw9Rd~z^#8SRyphLW zPpdWM`GKI&5MPu~JD`(mrU6gfZGTNR;h%PzKB8_wu;KAgkDZ3uo>YYY=Bz~IOW%X|wH=N8KkZx+3x0Y=QoLy*WRnkUGs0G# z4L5)9bnHM372)qj{dV>0-|eyx;D5U2Qsgak)!{ekCXs3M9(-Y!jr&Jz7u(0XUoDG0 zOOA!F^^{tWj&_X-sKOd3RyM*+y7HrvB`p;#6`5=vw{8qijAVF_a&vCk12S0f zC}V)P`OfCHxP|WoIx>x%|5@MtM&`>+-4{K>$y>MpajLWj_u%j>_3{rvO8wMd0xA4= zZk%DNhytL8Yxh~K2P|Tb<;fs&BgfsIgfuuBZXBh1t}65^f+2LcrLTk6+anE&cRggXC=A*{NjB<(7}`ZPI~M{|P%>abgNMTl zRvTup$3LLHZ$fBXVtaX+B1=1Uz5uRt5y|sAhrXk_<4>mjt8yl!!0TZg$C9cX6ls+C ztkH|7fw5YO^G#_R!jLJspvXEP22-76P0@+_YaaoDpYy`w1?aMIa?(WzCQBL5A zg&-H)z_nINasS_ruzi8Sa-l&{~l zQ#csH*@G2F3#^nAvWujEOUv-D*WZh*!NCTR_T3and>+$NVI$f?bM}W*L!812Rz*?a zytpXIHIO*g=z^IbahQG+DFP;Oh){Vvo&^z899zv@g-l#{A5E9L zNSxDQaH1B@-+j?!^Enp5SqcHg!Ku8x?_{>?9<+a5P*CuhG%>8}9T{+iKcvl<))ujI zLnU6uyA?wi6)4oWKK+ZVJFf-K-|@tBA|KPfsaGrIkZ`e*a7{K+GrqMvE*0AFR%GL; z;GR601~v(p8eaS{_~hM(k#y{DZQqN4C`5&3p+sncNQ=#wV>M(w$ND%1w@#WvsmI@t z@3kw7DyM#7N=*&}nc{%yM#P_FLlZN9&R}%4{qAXTK?kbJy?ZrpY6FQQ9HJOdoIIo+ z!5d;|@MG*q{O2Sw(FI<{ubiBRMids)u#}T!4cb>h<1J_3vMK|zG zWeIoLqgQBy6`~2oJdm12QQI%pif~>lA+=j~LZ<>S`F`seYoy-TIYA!&fFmp@1s z)ykjzN?kr!AMLX*;z6faA>E))9hf6sJ=3;K4T?HS*%cJ^U8}kRsk4p9ACvfES64R? zBVU1Io9(0a*FkEI7M=7Q(&I?)pgVh*=})HKR6Ey0J4V)>yA-lB+UlqLW{Ng9Cul47 z)(Ac)cflPpm-W3-^9jW8AhveB;42S(NELh_7m4rBL~1U^7z2IIGO+9y3@R!C%9uq8 zx(4B8YNMm#(Y}sTy})r^MqBXTrle7TVWMsGHIDx%G$Y#-3E{zd)an93c6aACEJZzx ze{qP=6xBI$%G(ju)1&{MLN^4uc_^N@Z+Vx&=vyq2TxrnNL6&eHN@lX+&y@`PMJkDo z0uN+1-(?}*)O>Z+QyR5EH{FKmcD(<@dR7Wg1EEV}33PjK^ePSDw#=Sk&ef-*!_f6U zM&%`HDuUHTOr z0kh&V1Wd<&w#7>a&PD1AvQ5Wh1EBW zGLg4F5#=gwJKtRR$KSN*7Zyj$WkZqoOGtfI3guE0rTE?MuYZ=*xb^MZOVF{Y3TEy` zrW9Gfv8sOYg|bFj@KwILd|NuI;2*02c`o6BBEJ6a*PrL&kbtB>n z^bAo4KecTP=_U)Qa{rij=V;Q@+S0C)OV){$=E&ZNxd=1)gMoz&Th`Rwz4tfAcWUf; zkGwUi%hW!+_&Pp4TujFiHP>hGVR(hpJ-QpUj)ig9BBKTVbyG=ONy&h(jzlP_%$0+9 zw1R}pw;|J0{ZX#icf{=5;+3{cwS}GJUow+4j^N#6(0`w!?-x$Pe0`WnTS!#$ za8eSd==-xZFSyxFdf(}NwQ*J5&|-yhesV;M73-fkQOMlD^nOe;ABjTdT@}A!k~A3* zWdiVCMQnu7E9Um?(R{P%mvQg+K$}VAn&KFeb^Yz_RoOfY=by@P2mWCMGyNNI`nF(o zFBcg7f=BY16gckA<3E)wPMcPV`q~LbKSHrRK>KV#rW5QO+!nxN8z2Vvrp!T_+UWzs z!{{4(i0Ir7q9OO-prjQ6ZcSJ68T+4Qk}x4Z>~)Ks2|<5mKDC$&xaKS~i@xNjzNtUW zF5@TOFnb6yP_Zw5FP&c+7o6U$BXyDcOEGFw0nxYesZO7=7cqL!a4k~6Hm=u0x9F~R zt%|4H#Wa0SgtWIx1LE@X?^}l|1e${r)yBr;RC;VbAiq~**I27>_&^&;RC#4AL^$|x zbN+EIQ43EX{8HXE3-G%c&#$#l*Ol3{7&o8=IX;*>=e(gQ0jmc-oG$5Af z{%~j8DJ3XVuU`w($T^((j+cv)7kfR;4=SV&%<^4v!p`u{D;op?bec{y`DGvH`oK%G z$Y=M9&AfuL&~U_y*q|2yKWA3iB{=k?Tw_$9f#M%4eIt_#7bpi`y+ip$hl#*9n8MSF z15c++?;)bN6)4%}{o-=SZ=FeVyCZ8zF}X^8h;5TAX7{5c7KaqiauN4}`M;GA!~xeI zE;L}o5R}0fco#9bRCMpazXtjI=>|@Sm*SIVR(WT27@{a%sA2J@xT%9}@!Q@dRyO)H za?t6E`M!9iy1T?Fw;SRGzkJ+DY`1C9;1<~<1*Nv?_!DaCmh3Bg^L^~QA&r0>7~JZw zF4ke@4}0uG%Ov4f2T>`{zDlG4riunUMsn{J2KjJ9AoWd1DCcbF2rm75lMD!`>t4@w znNRR=Q$-wzfOrceVcSWsM9F=uY$Z=X79J@r0opNpN;I6P67uph^ihy)A}$0ZqeKqZ zdz>Ex+%7+Zc%=HCYTa@!%$LK=LU(_MkS6}t_4$OfD;6U5wnHiZjKDlr5kzO5h79U@ zbtxFZM^MXeFNgd(dU4gciG5>0AP=ZB68%v(CU3cb@D|0+W~r1KMkxF@ew%>J=^$+4 zkH@DX$KA*LQ_`DmUu#+snn3X8)3IIUn5uN$ClvlvxU)1q)PO-+GZ9(PE6NNC5an>Z zUw}5~uyT_ti^n=lsP2PdFG$plrT1hj&l2ms00o8+e#%5m*x3zJB#8 zQ;RKS{1t`CRzH8F5%yJAzCcN`*V)EsamQN(i*Uk=vPD^F<2PTz{EQGUmsJIRa%77^ zHXCLlto~dBNh#E#&h+Z60Y#O{2lUfuV|o5STC$(P)lP4e!elJlR;)X2|3u z!y6Q*$1^hFg9SQoeoK_llk)eH}nAFWu$PH@3xz7!qofmifC4aZsa!GyVpBH-g~3sqAx98uT8EB-`K zu#=#le{0dCvFu=N%>?8iBi;y)MIYSIf}bX7c`*MWvIe-=SMjS*PxoS&xhpMZg!DRI z{fwET#e64C4yG~!T2imO#cQDuQXn#q(MS z!rWJ{(2%9zT!Bl8>TRV{lrVMzO%6MdEHnaMuheZurCwr1)ZE^=5sHJ=PnPTZyS=&P zRoEZkZ8FXC@mjmml}DeS#EmPBJWbySBCAxu=lu|3w6saeji0Dd;|z{v2;68S@%8cS zxjwAnZSO>w?jXH;remo6UTEz>QGnln2HlP~?w)BEoCqbwjjK+Gk#Jh~#c~Ix1>0z!BbX)Q zrn${%J2V_omgOgFJkxtEDG6))ho zhX`*ECQi;nCZAQ_;HWO8ZYDanO=C}dz(L7X%UA)Bv5NZs`C7(1$t1v43e40_MeiD__&v;A25jh|l8O06N^V1bv(8+4hg%w@QsrQ@ z_0_BUVKfOingR&Ao9A4nK1O!1=V1^q_jCfexfhki>Ml{DfH*VD<{_8hW0?{+ne#<-B3${I2Am3o}wKqNxouL`8dzxP5!ixymiC zN_Ixhrz5GF!gy?cOU{tz(r+Pi#D)U%u8X<7xDIely%`Ty_(PW(@+*5N3I~ULs*&_! zx5lz1E%k{zqDD(p(P_9@#HnCTOiVsCnU??0y94rw(x^9a6)bjEJ77zBsPDyir1PDD z5}t)p%4W%}f8R|DJKXqdYcXd*#J%)Fc*>3{tgFyAM@--%ZejwLMajh3d4MEA1t@>G zKF$gUPDe!Fr!SQ+37Bi};iK+NNlAzxi#*D)d;j{!k8@$kq@>}=30UXJ>E6Uo8)*R0 z^G?Fb@kWQ&RA^BE{x=7~DGwGYS0P<8Qn&zA+U{|(?$w_?&jC}u2h(guw8*eLhv2Gg z3dxUBodgYg3!bc#*q+E_9iIJQQZ$!W(Jvp)xbd;28^7VmFVuy-JMC&=GU<|2gGw0t z#-0@Lp{6OO85X7Ez_TRKlY0AeOT}V^PPZY(sr_oB&-uABPL_ImjZn4wE>6u-F$=8R7*cXZs}xP0T$@<%_B8Tk90m*AH3DTnaYyyF@w@zaKrHf~NT1pA{< zHXRVEkirO(b@bEQ;jZ?GH6Nv%5QoCzrmvwH+Cn#z=KYj|4*MK;Qxx7RVuErq(8Pcj zKd<05f2;X3YmxNAisy6G(f;__x26v3fW1M_!rNmMPY)zEBZd!(31C<#Cfm8`?*B4n z{W4dao?z}^g0Q#BPpKW(8J{N#M{e(J8!nuWve(f6pFYD!{baIs==lkmq zUrsCpvU!wPOF$$OiWfb-mS{IF7Y>qik`58DuyHQg>@?M$jKDAAZ!l}jSox5ly(H0W ziwr}Ul`dNscMkc0E&X-}B;8*dhdbOsbui1^|D{}lbv*VhOkIa!-b9`Za#cw!5*kta<(7_#?q+3^)v>NY5zoEbvUZ5Px(sg+gu^6=XoWG| zAX^eyfouD4q--ntAbL2=^ZJAKa}K3K!r8gl1Q26Sa6T6fO+#4VLi zOd6%5cp)|1h~9Vbr6vyeE$24#ZO`zzg2}ge?8y&9nZPtRzYz;+!14z(NdE!X!P?iJ z)h29J`QShK>Wt%LxA3k7xGU6($i%1G$e}JX8i9SYDweb|{qF0&xPx8}C7ATt1|H;& zT&05B$J~1JT+NGvnc8Y>U6nEewr*QHHKbQ@RH|_f4(7Qc8%JcnXIBeeLmmfCT9)4M zi(v5ar?25Nd58Dtp_QF;k)k_J>v#8ya5gP^@cKA*G{SpS_nDd+9G1ds5{b zaakDU?12`DNs}nwyoST4{bCM8u}y!~K}w|7AKw-StgiO;xiQ`+>wT`9KretHqxBN; zg)WWjQX2a0t|h3sIY-#oDRyLZcQexd_p`Xs^Xk{3@@ucK=!al3W7JM}l8Od+xIBtt zi#TX{VH1FbEJN(-4EOC62Rq1m3G=3M#TkWFtu0^x!Yxl9RRgret1Jq+TfN_Kwu!;} zt@G=MBGr{{5J0qkOfRe8B62o#(IXY*sEMGrmY-R{)-bd@uzF%ugEzai2v2I z9|(QIhNONB!PNCje0QEp>OeY?Yvj!b_SW%%Sn|1e$fx1TBCVcxV$Z>_H$m9eDQ=HW(p(yJ97N!Qx2cA zp}G(J%XgW^LWjhm96&Usah0VRV9QfI3pgkXbWN2Jd3QP*&EsLy+( ziaA^pRn4q+lZ#Z7us2%FVj!CQfP=uOv!7BVwX%e?9LdGeg7_uVbH}*bp>n2UIit7a zz6IOiRi%GIpFE?nShforYS+#a7XsasEqU1?j~5iIC%8A$vL#7oB*^HRLkt>xWo) z@%aV%=s7^d&X&l1gq#EP<+fM?usn^>eTXi)!KVuG7kvGz0kUxaFKCd}>zUa4&1tIX z2-fCIksIReQsLZPYyqH<)kHQ<*NvR|4q@)6P1Zr{RM*@al6C1Aw78Sciz0u%E8%XZ z4WGY;rMUPPKb4L_(^v9N_&Nu>BviwPb~P+UQMj^5brm9olrEJu)o2me;Mv+ARx|^S zU11hAdq+?-0F`Ja?T+kcbl!Jva{yAet;1#vo*|!4qdeDv>JRSN? z27-o!_;Zbg0Ih5YNZjp-`IO%uX&VL zo$ubtj^elN<32^UcQD3bFet{lax03$NG9oZv2bV~QO2sFdg2{>Klu<5(8UBHUv4Ha z_P-Nv58fS&Uy6R}Gs4y_pgMnY9Q%OUbu&;X&@4zjV2c_#LMj`B3jfx*)@RZ$J;3tr zH;jioeYTbn&fTWd=l2U199=Gld!@P94gA{TuAv$5i@_;n9Mg>91|9ul;`Ylg5?ov$ z9zzV^!Z`4z=mGq*EtbRl{yUZW`wDVC`B3>^s$BccA}W>aJdzjpc?cB#<(t|pHMXuB z+Eri7PaPiO9ao(B-q{O*z<5==n)kyK1oIz=DormJ5yCnp5jZ7Kd%itWB20>pJV~Wr zwa!99K%v4P`!f-X84J+aGmWXQMC83NX;@cV^!R{27VK|_-Hoe>w`yG-�pE|MFxo#Gs05$m6?k4 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

;Oz8R1n5dNdjq{BQ5xCSkVj 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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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 diff --git a/demo-shell/proxy.conf.js b/demo-shell/proxy.conf.js index 773c3410c6d..7da0babb2f2 100644 --- a/demo-shell/proxy.conf.js +++ b/demo-shell/proxy.conf.js @@ -15,7 +15,7 @@ module.exports = { } }, "/activiti-app": { - "target": "http://localhost:9999", + "target": "http://localhost:8080", "secure": false, "pathRewrite": { "^/activiti-app/activiti-app": "" diff --git a/demo-shell/src/app/components/content-node-selector/content-node-selector.component.ts b/demo-shell/src/app/components/content-node-selector/content-node-selector.component.ts index d933b7fa3fc..62738bfed99 100644 --- a/demo-shell/src/app/components/content-node-selector/content-node-selector.component.ts +++ b/demo-shell/src/app/components/content-node-selector/content-node-selector.component.ts @@ -16,7 +16,7 @@ */ import { Component, ViewEncapsulation } from '@angular/core'; -import { SitePaging, SiteEntry, MinimalNodeEntryEntity } from 'alfresco-js-api'; +import { SitePaging, SiteEntry, MinimalNodeEntryEntity } from '@alfresco/js-api'; import { ShareDataRow } from '@alfresco/adf-content-services'; import { DataRow, DataColumn, ThumbnailService } from '@alfresco/adf-core'; @@ -44,20 +44,20 @@ export class ContentNodeSelectorComponent { customImageResolver: any = null; defaultSites: SiteEntry[] = [ - { entry: { title: 'MINE', guid: '-my-' } }, - { entry: { title: 'ROOTY', guid: '-root-' } }]; + new SiteEntry({ entry: { title: 'MINE', guid: '-my-' } }), + new SiteEntry({ entry: { title: 'ROOTY', guid: '-root-' } })]; - customSites: SitePaging = { + customSites: SitePaging = new SitePaging({ list: { entries: [ { entry: { title: 'MINE', guid: '-my-' } }, { entry: { title: 'ROOTY', guid: '-root-' } }], pagination: {} } - }; + }); onClickAddSite() { - const newSiteEntry: SiteEntry = { entry: { title: this.customSideTitle, guid: this.customSideGuid } }; + const newSiteEntry: SiteEntry = new SiteEntry({ entry: { title: this.customSideTitle, guid: this.customSideGuid } }); this.customSites.list.entries.push(newSiteEntry); this.customSideGuid = ''; this.customSideTitle = ''; diff --git a/demo-shell/src/app/components/file-view/file-view.component.html b/demo-shell/src/app/components/file-view/file-view.component.html index 25490e12a2d..78aeeee9894 100644 --- a/demo-shell/src/app/components/file-view/file-view.component.html +++ b/demo-shell/src/app/components/file-view/file-view.component.html @@ -208,16 +208,6 @@

-

- - Allow Share - -

-

Overlay Viewer + [nodeId]="nodeId"> diff --git a/demo-shell/src/app/components/permissions/demo-permissions.component.ts b/demo-shell/src/app/components/permissions/demo-permissions.component.ts index 6e8c5752d51..f6a7a5fafb1 100644 --- a/demo-shell/src/app/components/permissions/demo-permissions.component.ts +++ b/demo-shell/src/app/components/permissions/demo-permissions.component.ts @@ -18,7 +18,7 @@ import { Component, Optional, OnInit, ViewChild } from '@angular/core'; import { ActivatedRoute, Params } from '@angular/router'; import { PermissionListComponent, NodePermissionDialogService } from '@alfresco/adf-content-services'; -import { MinimalNodeEntryEntity } from 'alfresco-js-api'; +import { MinimalNodeEntryEntity } from '@alfresco/js-api'; import { NodesApiService, NotificationService } from '@alfresco/adf-core'; @Component({ diff --git a/demo-shell/src/app/components/process-service/process-service.component.ts b/demo-shell/src/app/components/process-service/process-service.component.ts index 12d4cf205d2..15493d9a111 100644 --- a/demo-shell/src/app/components/process-service/process-service.component.ts +++ b/demo-shell/src/app/components/process-service/process-service.component.ts @@ -33,7 +33,7 @@ import { ProcessInstanceFilterRepresentation, Pagination, UserProcessInstanceFilterRepresentation -} from 'alfresco-js-api'; +} from '@alfresco/js-api'; import { FORM_FIELD_VALIDATORS, FormEvent, FormFieldEvent, FormRenderingService, FormService, DynamicTableRow, ValidateDynamicTableRowEvent, AppConfigService, PaginationComponent, UserPreferenceValues diff --git a/demo-shell/src/app/components/search/search-bar.component.ts b/demo-shell/src/app/components/search/search-bar.component.ts index 85c9421b7f7..d4fe4da066f 100644 --- a/demo-shell/src/app/components/search/search-bar.component.ts +++ b/demo-shell/src/app/components/search/search-bar.component.ts @@ -17,7 +17,7 @@ import { Component } from '@angular/core'; import { Router } from '@angular/router'; -import { MinimalNodeEntity } from 'alfresco-js-api'; +import { MinimalNodeEntity } from '@alfresco/js-api'; import { PreviewService } from '../../services/preview.service'; @Component({ diff --git a/demo-shell/src/app/components/search/search-config-test.service.ts b/demo-shell/src/app/components/search/search-config-test.service.ts index fcf72d63527..78bb3d28fab 100644 --- a/demo-shell/src/app/components/search/search-config-test.service.ts +++ b/demo-shell/src/app/components/search/search-config-test.service.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { QueryBody } from 'alfresco-js-api'; +import { QueryBody } from '@alfresco/js-api'; import { SearchConfigurationInterface } from '@alfresco/adf-core'; export class TestSearchConfigurationService implements SearchConfigurationInterface { diff --git a/demo-shell/src/app/components/search/search-extended.component.ts b/demo-shell/src/app/components/search/search-extended.component.ts index 8f6842b7466..109b1d3534f 100644 --- a/demo-shell/src/app/components/search/search-extended.component.ts +++ b/demo-shell/src/app/components/search/search-extended.component.ts @@ -16,7 +16,7 @@ */ import { Component, ViewChild, ViewEncapsulation } from '@angular/core'; -import { NodePaging, Pagination, QueryBody, MinimalNodeEntity } from 'alfresco-js-api'; +import { NodePaging, Pagination, QueryBody, MinimalNodeEntity } from '@alfresco/js-api'; import { SearchComponent } from '@alfresco/adf-content-services'; import { ThumbnailService } from '@alfresco/adf-core'; import { SearchService, SearchConfigurationService } from '@alfresco/adf-core'; diff --git a/demo-shell/src/app/components/search/search-result.component.ts b/demo-shell/src/app/components/search/search-result.component.ts index d1c08f7b9ac..9b834590cd9 100644 --- a/demo-shell/src/app/components/search/search-result.component.ts +++ b/demo-shell/src/app/components/search/search-result.component.ts @@ -17,7 +17,7 @@ import { Component, OnInit, Optional, OnDestroy } from '@angular/core'; import { Router, ActivatedRoute, Params } from '@angular/router'; -import { NodePaging, Pagination } from 'alfresco-js-api'; +import { NodePaging, Pagination, ResultSetPaging } from '@alfresco/js-api'; import { SearchQueryBuilderService } from '@alfresco/adf-content-services'; import { UserPreferencesService, SearchService, AppConfigService } from '@alfresco/adf-core'; import { Subscription } from 'rxjs'; @@ -61,10 +61,10 @@ export class SearchResultComponent implements OnInit, OnDestroy { this.isLoading = true; }), - this.queryBuilder.executed.subscribe((data) => { + this.queryBuilder.executed.subscribe((resultSetPaging: ResultSetPaging) => { this.queryBuilder.paging.skipCount = 0; - this.onSearchResultLoaded(data); + this.onSearchResultLoaded(resultSetPaging); this.isLoading = false; }) ); @@ -79,7 +79,12 @@ export class SearchResultComponent implements OnInit, OnDestroy { this.queryBuilder.update(); } else { this.queryBuilder.userQuery = null; - this.queryBuilder.executed.next({ list: { pagination: { totalItems: 0 }, entries: [] } }); + this.queryBuilder.executed.next(new ResultSetPaging({ + list: { + pagination: { totalItems: 0 }, + entries: [] + } + })); } }); } @@ -101,9 +106,9 @@ export class SearchResultComponent implements OnInit, OnDestroy { this.subscriptions = []; } - onSearchResultLoaded(nodePaging: NodePaging) { - this.data = nodePaging; - this.pagination = { ...nodePaging.list.pagination }; + onSearchResultLoaded(resultSetPaging: ResultSetPaging) { + this.data = resultSetPaging; + this.pagination = { ...resultSetPaging.list.pagination }; } onRefreshPagination(pagination: Pagination) { diff --git a/demo-shell/src/app/components/trashcan/trashcan.component.ts b/demo-shell/src/app/components/trashcan/trashcan.component.ts index f45ff9e96ab..e6a4d3e3346 100644 --- a/demo-shell/src/app/components/trashcan/trashcan.component.ts +++ b/demo-shell/src/app/components/trashcan/trashcan.component.ts @@ -19,7 +19,7 @@ import { Component, ViewChild } from '@angular/core'; import { DocumentListComponent } from '@alfresco/adf-content-services'; import { UserPreferencesService, UserPreferenceValues, RestoreMessageModel, NotificationService } from '@alfresco/adf-core'; import { Router } from '@angular/router'; -import { PathInfoEntity } from 'alfresco-js-api'; +import { PathInfoEntity } from '@alfresco/js-api'; @Component({ templateUrl: './trashcan.component.html', diff --git a/demo-shell/src/tsconfig.dev.json b/demo-shell/src/tsconfig.dev.json index e366bcde702..c1369856659 100644 --- a/demo-shell/src/tsconfig.dev.json +++ b/demo-shell/src/tsconfig.dev.json @@ -8,8 +8,8 @@ "skipLibCheck": false, "types": [], "paths": { - "alfresco-js-api": [ - "../../node_modules/alfresco-js-api/dist/alfresco-js-api.js" + "@alfresco/js-api": [ + "../../node_modules/@alfresco/js-api" ], "rxjs/*": [ "../../node_modules/rxjs/*" diff --git a/docs/core/viewer.component.md b/docs/core/viewer.component.md index 1b19338b185..0c9f527feb6 100644 --- a/docs/core/viewer.component.md +++ b/docs/core/viewer.component.md @@ -38,7 +38,7 @@ Using with node id: + [nodeId]="'d367023a-7ebe-4f3a-a7d0-4f27c43f1045'"> ``` @@ -106,7 +106,6 @@ See the [Custom layout](#custom-layout) section for full details of all availabl | thumbnailsTemplate | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`` | null | The template for the pdf thumbnails. | | urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. | | urlFileViewer | `string` | null | Viewer to use with the `urlFile` address (`pdf`, `image`, `media`, `text`). Used when `urlFile` has no filename and extension. | -| fileNodeId | `void` | | (**Deprecated:** 2.4.0 use nodeId) Node Id of the file to load. | ### Events @@ -147,7 +146,7 @@ Below is the most simple integration of the Viewer and + [nodeId]="nodeId"> ``` @@ -276,7 +275,7 @@ the [Viewer component](../core/viewer.component.md). Below is an example that sh to handle 3D data files: ```html - + @@ -295,7 +294,7 @@ Note: you need to add the `ng2-3d-editor` dependency to your `package.json` file You can define multiple `adf-viewer-extension` templates if required: ```html - + @@ -377,7 +376,7 @@ transclusion, which will display all content placed inside the ` @@ -424,7 +423,7 @@ You can enable a custom "Open With" menu by providing at least one action inside `adf-viewer-open-with` tag: ```html - + - -