You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dg...@apache.org on 2020/06/05 15:04:31 UTC

[incubator-dlab] branch DLAB-1758 updated (49008a6 -> b26657b)

This is an automated email from the ASF dual-hosted git repository.

dgnatyshyn pushed a change to branch DLAB-1758
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git.


    from 49008a6  [DLAB-1758]: Added columns to audit page
     add a5276a8  fixed build bug (#712)
     add c0a93ab  Updated NOTICE
     add 7eeb71c  updated copyright
     add cc42dcc  [DLAB-1775]: Fixed bugs, changed file uploading (#720)
     add c2d4280  Fixed format date format
     add 4656633  Fixed issue with actions on file with space
     add 2806e67  Dlab 1775 (#721)
     add b8132cc  changed timeout for bucket browser
     add f51af83  Added logs for bucket browser
     add e2d32f5  Added support for multiple delete
     add 657750e  [DLAB-1756] Changed name of bucket permissions
     add 47cc42b  added streaming download feature
     add 50423d1  [DLAB-1773]:  Fixed bugs, added possibility save empty folder, multi-… (#723)
     add 1a6f2a4  Merge remote-tracking branch 'origin/develop' into develop
     add ba00e4f  [DLAB-1773]: Make breadCramp clickable, filter by name, the Action button (#724)
     add 639a8bb  Small fix (#725)
     add f34f0a4  Dlab 1783 (#734)
     add 2f618ac  [DLAB-1801] Conveyed the list of buckets to the 'List of report' page
     add 4ba4a5b  [Dlab 1783]: Fixed bugs, added file icon, added autofocus (#740)
     add cdf4dfc  [DLAB-1783]: Small fix (#741)
     add 55c5700  [DLAB-1738]: Added bucket browser to resource page, added multi buckets support (#753)
     add 0222c87  [DLAB-1738]: small fix (#754)
     add ef565f5  [Dlab-1789]: Add percent progress bar, created uploading queue, fixed bugs (#755)
     add a99d63a  [DLAB-1806]: Implemented improvements, fixed bugs for bucket browser (#756)
     add 8ff33ec  Dlab 1806 (#757)
     add 86bd0e9  [DLAB-1784]: Added possibility to cancel file uploading (#758)
     add 65edbe4  [DLAB-1784]: Added possibility to cancel file uploading (#759)
     add affadde  [DLAB-1818]: Added uploading limitation, fixed small bugs (#760)
     add 62b4e7d  Updated date format for bucket browser
     add fa7caac  Return bytes instead of formatted size for AWS bucket browser
     add f4765cb  [DLAB-1818]: Adjusted columns in bucket browser (#761)
     add ec434b9  [DLAB-1819]: Fixed bug with data reset while folder creating, limits bug, changed azure backetName, and other small fixes (#762)
     add cb39e05  Fixed issue with default permission
     add a528ecf  Merge branch 'DLAB-1774' into develop
     add 845aed5  [DLAB-1836]: Implemented set of improvements for bucket browser (#763)
     add a1bb261  Added file size to upload model
     add 54d19cd  [DLAB-1552, DLAB-1803] Azure bucket browser
     add 7e4d3d9  Added logs
     add 78847d2  Merge branch 'bucket-browser-azure' into develop
     add d7cbb91  [DLAB-1744] Conveyed notebook links of other users to administrator (#764)
     add 8a90f9e   [DLAB-1817]: Fixed token issue (#765)
     add 98cf3b1  small fix
     add 1230329  changed token limit (#766)
     add 701dccf  Merge branch 'develop' of github.com:apache/incubator-dlab into develop
     add de8abf1  [DLAB-1781]: Prevent applying if user has not changed anything for quotas (#767)
     add f731c4c  [DLAB-1840]: Implemented set tasks concerning download (#768)
     add 9369600  Small fix
     add cc361c8  Change file upload position (#769)
     add d54ff87  [DLAB-1844]: Fixed set of issues with folder creation (#772)
     add 9311b4c  Fixed merge bug
     add 605879c  [DLAB-1845]: Limitation for notebook popup (#773)
     add a1a14e0  [DLAB-1815] Improve performance of bucket browser
     add 68ec345  [DLAB-1804]: Added hint if user have not any active project (#774)
     add c0fe765  [DLAB-1754]: Removed category name if there isn't any instance size in such category (#775)
     add 099c803  [DLAB-1848] Fixed issue with stopping notebook
     add 2020dc2  [DLAB-1703]: Fixed billing on Safari (#776)
     add 2e0b478  [DLAB-1849] Fixed issue with computational shapes
     add 49172e0  [DLAB-1815] Increased proxy_read_timeout
     add c552d23  [DLAB-1852] Fixed issue with creation of data engine
     add 6d181e8  [DLAB-1722] Fixed issue with disappearing permissions after endpoint disconnection
     add eb23e22  [DLAB-1737]: Fixed all resources disappear after the last endpoint disconnection (#779)
     add 4ff2725  [DLAB-1853]: Fixed filtered data are changes in some seconds and added scrollbar for error message in library page (#780)
     new a79c9be  Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-1758
     new b26657b  [DLAB-1758]: Added info dialogs, log url clicks, added styles

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 NOTICE                                             |   2 +-
 .../scripts/deploy_keycloak/templates/nginx.conf   |  21 +
 .../templates/proxy_location_webapp_template.conf  |   2 +-
 .../src/ssn/templates/ssn.yml                      |   2 +-
 .../terraform/bin/deploy/__init__.py               |  20 +
 pom.xml                                            |   1 +
 ...BucketDownloadDTO.java => BucketDeleteDTO.java} |   9 +-
 services/provisioning-service/pom.xml              |  22 +-
 .../dlab/backendapi/resources/BucketResource.java  |  74 ++-
 .../dlab/backendapi/service/BucketService.java     |   9 +-
 .../service/impl/aws/BucketServiceAwsImpl.java     |  51 +-
 .../service/impl/azure/BucketServiceAzureImpl.java |  73 ++-
 .../service/impl/gcp/BucketServiceGcpImpl.java     |  37 +-
 services/self-service/pom.xml                      |  10 +
 services/self-service/self-service.yml             |   2 +-
 .../epam/dlab/backendapi/dao/ExploratoryDAO.java   |   4 +-
 .../epam/dlab/backendapi/dao/UserRoleDaoImpl.java  |  20 +-
 .../dlab/backendapi/resources/BucketResource.java  |  82 ++-
 .../backendapi/resources/ExploratoryResource.java  |   3 -
 .../azure/ComputationalResourceAzure.java          |   3 -
 ...BucketDownloadDTO.java => BucketDeleteDTO.java} |   9 +-
 .../backendapi/resources/dto/UserResourceInfo.java |  70 +--
 .../dlab/backendapi/resources/dto/UserRoleDto.java |   8 +
 .../dlab/backendapi/service/BucketService.java     |   7 +-
 .../backendapi/service/impl/BucketServiceImpl.java |  43 +-
 .../service/impl/EndpointServiceImpl.java          |   6 +-
 .../service/impl/EnvironmentServiceImpl.java       |  29 +-
 .../impl/InfrastructureInfoServiceImpl.java        |  60 +--
 .../impl/InfrastructureTemplateServiceImpl.java    |  35 +-
 .../src/main/resources/mongo/aws/mongo_roles.json  |   8 +-
 .../main/resources/mongo/azure/mongo_roles.json    |   8 +-
 .../src/main/resources/mongo/gcp/mongo_roles.json  |   8 +-
 .../manage-environment-dilog.component.html        |   2 +-
 .../manage-environment-dilog.component.ts          |   4 +
 .../management-grid/management-grid.component.html |   5 +-
 .../management-grid/management-grid.component.scss |   5 +-
 .../management-grid/management-grid.component.ts   |  31 +-
 .../administration/management/management.model.ts  |   6 +-
 .../convert-file-size.pipe.ts}                     |  24 +-
 .../index.ts                                       |   8 +-
 .../src/app/core/services/appRouting.service.ts    |   1 -
 .../services/applicationServiceFacade.service.ts   |   8 +-
 .../webapp/src/app/core/services/audit.service.ts  |   6 +
 .../app/core/services/bucket-browser.service.ts    |   6 +-
 .../src/app/core/services/progress-bar.service.ts  |  19 +
 .../copyPathUtils.ts}                              |  30 +-
 .../webapp/src/app/core/util/http-methods.ts       |  20 +-
 .../resources/webapp/src/app/core/util/patterns.ts |   1 +
 .../webapp/src/app/core/util/sortUtils.ts          |   8 +-
 .../audit/audit-grid/audit-grid.component.html     |   9 +-
 .../audit/audit-grid/audit-grid.component.scss     |  10 +
 .../audit/audit-grid/audit-grid.component.ts       |  91 +++-
 .../src/app/reports/audit/audit.component.ts       |   4 +-
 .../webapp/src/app/reports/audit/audit.module.ts   |   7 +-
 .../reporting-grid/reporting-grid.component.html   |   2 +-
 .../reporting-grid/reporting-grid.component.ts     |   8 +-
 .../reporting/toolbar/toolbar.component.html       |   4 +-
 .../reports/reporting/toolbar/toolbar.component.ts |   4 +-
 .../bucket-browser/bucket-browser.component.html   | 285 ++++++++---
 .../bucket-browser/bucket-browser.component.scss   | 556 +++++++++++++++++++--
 .../bucket-browser/bucket-browser.component.ts     | 397 ++++++++++++---
 .../bucket-browser.module.ts}                      |  35 +-
 .../bucket-confirmation-dialog.component.html      | 122 +++++
 .../bucket-confirmation-dialog.component.scss      | 176 +++++++
 .../bucket-confirmation-dialog.component.ts        |  58 +++
 .../bucket-browser/bucket-data.service.ts          |  87 +++-
 .../buckets-tree/bucket-tree.component.html        |  25 +
 .../buckets-tree/bucket-tree.component.scss        | 106 ++++
 .../buckets-tree/bucket-tree.component.ts          | 101 ++++
 .../folder-tree/folder-tree.component.html         |  75 ++-
 .../folder-tree/folder-tree.component.scss         |  69 ++-
 .../folder-tree/folder-tree.component.ts           | 203 ++++----
 .../cluster-details/cluster-details.component.html |   2 +-
 .../cluster-details/cluster-details.component.ts   |   6 +-
 .../cost-details-dialog.component.html             |   4 +-
 .../detail-dialog/detail-dialog.component.html     | 154 ++++--
 .../detail-dialog/detail-dialog.component.scss     |  19 +-
 .../detail-dialog/detail-dialog.component.ts       |  37 +-
 .../install-libraries.component.ts                 |  10 +-
 .../resources-grid/resources-grid.component.ts     |  40 +-
 .../resources-grid/resources-grid.model.ts         |   4 +
 .../src/app/resources/resources.component.html     |  24 +-
 .../src/app/resources/resources.component.ts       |  18 +-
 .../webapp/src/app/resources/resources.module.ts   |  30 +-
 .../multi-level-select-dropdown.component.ts       |   2 +-
 .../webapp/src/app/shared/material.module.ts       |   3 +-
 .../edge-action-dialog.component.ts                |  19 +
 .../src/app/shared/navbar/navbar.component.html    |  34 +-
 .../src/assets/img/blank-file-svgrepo-com.svg      |  41 ++
 .../webapp/src/assets/styles/_dialogs.scss         |  62 +++
 .../src/main/resources/webapp/src/styles.scss      |  14 +-
 91 files changed, 3100 insertions(+), 779 deletions(-)
 rename services/dlab-model/src/main/java/com/epam/dlab/dto/bucket/{BucketDownloadDTO.java => BucketDeleteDTO.java} (82%)
 copy services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/{BucketDownloadDTO.java => BucketDeleteDTO.java} (86%)
 copy services/self-service/src/main/resources/webapp/src/app/core/pipes/{replace-breaks-pipe/replace-breaks.pipe.ts => convert-file-size/convert-file-size.pipe.ts} (64%)
 copy services/self-service/src/main/resources/webapp/src/app/core/pipes/{underscoreless-pipe => convert-file-size}/index.ts (84%)
 copy services/self-service/src/main/resources/webapp/src/app/core/{models/resourceShape.model.ts => util/copyPathUtils.ts} (66%)
 copy services/self-service/src/main/resources/webapp/src/app/resources/{resources.module.ts => bucket-browser/bucket-browser.module.ts} (56%)
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-confirmation-dialog/bucket-confirmation-dialog.component.html
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-confirmation-dialog/bucket-confirmation-dialog.component.scss
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-confirmation-dialog/bucket-confirmation-dialog.component.ts
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.html
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.scss
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.ts
 create mode 100644 services/self-service/src/main/resources/webapp/src/assets/img/blank-file-svgrepo-com.svg


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org


[incubator-dlab] 01/02: Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-1758

Posted by dg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dgnatyshyn pushed a commit to branch DLAB-1758
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit a79c9beb2dd4509ff9d60337a83a9504a4945ec1
Merge: 49008a6 4ff2725
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Thu Jun 4 13:01:24 2020 +0300

    Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-1758

 NOTICE                                             |   2 +-
 .../scripts/deploy_keycloak/templates/nginx.conf   |  21 +
 .../templates/proxy_location_webapp_template.conf  |   2 +-
 .../src/ssn/templates/ssn.yml                      |   2 +-
 .../terraform/bin/deploy/__init__.py               |  20 +
 pom.xml                                            |   1 +
 ...BucketDownloadDTO.java => BucketDeleteDTO.java} |   9 +-
 services/provisioning-service/pom.xml              |  22 +-
 .../dlab/backendapi/resources/BucketResource.java  |  74 ++-
 .../dlab/backendapi/service/BucketService.java     |   9 +-
 .../service/impl/aws/BucketServiceAwsImpl.java     |  51 +-
 .../service/impl/azure/BucketServiceAzureImpl.java |  73 ++-
 .../service/impl/gcp/BucketServiceGcpImpl.java     |  37 +-
 services/self-service/pom.xml                      |  10 +
 services/self-service/self-service.yml             |   2 +-
 .../epam/dlab/backendapi/dao/ExploratoryDAO.java   |   4 +-
 .../epam/dlab/backendapi/dao/UserRoleDaoImpl.java  |  20 +-
 .../dlab/backendapi/resources/BucketResource.java  |  82 ++-
 .../backendapi/resources/ExploratoryResource.java  |   3 -
 .../azure/ComputationalResourceAzure.java          |   3 -
 .../backendapi/resources/dto/BucketDeleteDTO.java} |  11 +-
 .../backendapi/resources/dto/UserResourceInfo.java |  70 +--
 .../dlab/backendapi/resources/dto/UserRoleDto.java |   8 +
 .../dlab/backendapi/service/BucketService.java     |   7 +-
 .../backendapi/service/impl/BucketServiceImpl.java |  43 +-
 .../service/impl/EndpointServiceImpl.java          |   6 +-
 .../service/impl/EnvironmentServiceImpl.java       |  29 +-
 .../impl/InfrastructureInfoServiceImpl.java        |  60 +--
 .../impl/InfrastructureTemplateServiceImpl.java    |  35 +-
 .../src/main/resources/mongo/aws/mongo_roles.json  |   8 +-
 .../main/resources/mongo/azure/mongo_roles.json    |   8 +-
 .../src/main/resources/mongo/gcp/mongo_roles.json  |   8 +-
 .../manage-environment-dilog.component.html        |   2 +-
 .../manage-environment-dilog.component.ts          |   4 +
 .../management-grid/management-grid.component.html |   5 +-
 .../management-grid/management-grid.component.scss |   5 +-
 .../management-grid/management-grid.component.ts   |  31 +-
 .../administration/management/management.model.ts  |   6 +-
 .../convert-file-size/convert-file-size.pipe.ts}   |  28 +-
 .../src/app/core/pipes/convert-file-size/index.ts} |  21 +-
 .../src/app/core/services/appRouting.service.ts    |   1 -
 .../services/applicationServiceFacade.service.ts   |   8 +-
 .../app/core/services/bucket-browser.service.ts    |   6 +-
 .../src/app/core/services/progress-bar.service.ts  |  19 +
 .../webapp/src/app/core/util/copyPathUtils.ts}     |  27 +-
 .../webapp/src/app/core/util/http-methods.ts       |  20 +-
 .../resources/webapp/src/app/core/util/patterns.ts |   1 +
 .../webapp/src/app/core/util/sortUtils.ts          |   8 +-
 .../reporting-grid/reporting-grid.component.html   |   2 +-
 .../reporting-grid/reporting-grid.component.ts     |   8 +-
 .../reporting/toolbar/toolbar.component.html       |   4 +-
 .../reports/reporting/toolbar/toolbar.component.ts |   4 +-
 .../bucket-browser/bucket-browser.component.html   | 285 ++++++++---
 .../bucket-browser/bucket-browser.component.scss   | 556 +++++++++++++++++++--
 .../bucket-browser/bucket-browser.component.ts     | 397 ++++++++++++---
 .../bucket-browser.module.ts}                      |  35 +-
 .../bucket-confirmation-dialog.component.html      | 122 +++++
 .../bucket-confirmation-dialog.component.scss      | 176 +++++++
 .../bucket-confirmation-dialog.component.ts        |  58 +++
 .../bucket-browser/bucket-data.service.ts          |  87 +++-
 .../buckets-tree/bucket-tree.component.html        |  25 +
 .../buckets-tree/bucket-tree.component.scss        | 106 ++++
 .../buckets-tree/bucket-tree.component.ts          | 101 ++++
 .../folder-tree/folder-tree.component.html         |  75 ++-
 .../folder-tree/folder-tree.component.scss         |  69 ++-
 .../folder-tree/folder-tree.component.ts           | 203 ++++----
 .../cluster-details/cluster-details.component.ts   |   2 -
 .../cost-details-dialog.component.html             |   4 +-
 .../detail-dialog/detail-dialog.component.html     | 152 ++++--
 .../detail-dialog/detail-dialog.component.scss     |  19 +-
 .../detail-dialog/detail-dialog.component.ts       |  33 +-
 .../install-libraries.component.ts                 |  10 +-
 .../resources-grid/resources-grid.component.ts     |  40 +-
 .../resources-grid/resources-grid.model.ts         |   4 +
 .../src/app/resources/resources.component.html     |  24 +-
 .../src/app/resources/resources.component.ts       |  18 +-
 .../webapp/src/app/resources/resources.module.ts   |  30 +-
 .../multi-level-select-dropdown.component.ts       |   2 +-
 .../webapp/src/app/shared/material.module.ts       |   3 +-
 .../edge-action-dialog.component.ts                |  19 +
 .../src/app/shared/navbar/navbar.component.html    |  34 +-
 .../src/assets/img/blank-file-svgrepo-com.svg      |  41 ++
 .../webapp/src/assets/styles/_dialogs.scss         |  62 +++
 .../src/main/resources/webapp/src/styles.scss      |  14 +-
 84 files changed, 2980 insertions(+), 776 deletions(-)

diff --cc services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
index 419655d,d8b2322..8f6a8ca
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
@@@ -95,37 -95,29 +95,37 @@@
                <ng-template #env><i class="material-icons">settings</i></ng-template>
              </a>
            </a>
 -          <a *ngIf="healthStatus?.billingEnabled" class="nav-item" [routerLink]="['/billing_report']"
 -            [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
 -            <span *ngIf="isExpanded; else billing">Billing Report</span>
 -            <ng-template #billing><i class="material-icons">account_balance_wallet</i></ng-template>
 +          <a class="nav-item has-children" *ngIf="healthStatus?.billingEnabled || true">
 +            <span *ngIf="isExpanded">Reports</span>
 +            <a *ngIf="healthStatus?.billingEnabled" class="sub-nav-item" [routerLink]="['/billing_report']"
 +              [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" [style.margin-left.px]="isExpanded ? '30' : '0'">
 +              <span *ngIf="isExpanded; else billing">Billing</span>
 +              <ng-template #billing><i class="material-icons">account_balance_wallet</i></ng-template>
 +            </a>
 +            <a  class="sub-nav-item" [routerLink]="['/audit']" [style.margin-left.px]="isExpanded ? '30' : '0'"
 +               [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
 +              <span *ngIf="isExpanded; else audit">Audit</span>
 +              <ng-template #audit><i class="material-icons">library_books</i></ng-template>
 +            </a>
            </a>
          </div>
-         <div>
-           <a class="nav-item" [routerLink]="['/swagger']" [routerLinkActive]="['active']"
-             [routerLinkActiveOptions]="{exact:true}">
-             <span *ngIf="isExpanded; else endpoint">Cloud Endpoint API</span>
-             <ng-template #endpoint>
-               <span>
-                 <svg width="30px" height="27px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
-                   <g>
-                     <path d="M127.059657,255.996921 C58.8506544,255.526472 -0.457073619,198.918442 0.00265506057,126.998303 C0.444649399,57.7958628 57.9516598,-0.468967577 129.11002,0.00284555012 C198.267128,0.462386081 256.613109,57.8667711 255.995136,128.194199 C256.568091,197.883453 197.934268,256.489189 127.059657,255.996921 Z M127.059657,255.996921 C58.8506544,255.526472 -0.457073619,198.918442 0.00265506057,126.998303 C0.444649399,57.7958628 57.9516598,-0.468967577 129.11002,0.002 [...]
-                     <path id="swager-bgr" d="M127.184644,238.997327 C68.0323765,238.589271 16.6036091,189.498744 17.0023028,127.131428 C17.3860285,67.1185953 67.2554,16.5917106 128.963117,17.0024872 C188.934544,17.4010221 239.531905,67.1825241 238.995778,128.169251 C239.492444,188.602381 188.64743,239.424426 127.184644,238.997327 Z M127.184644,238.997327 C68.0323765,238.589271 16.6036091,189.498744 17.0023028,127.131428 C17.3860285,67.1185953 67.2554,16.5917106 128.963117,17.0024872 C18 [...]
-                     <path d="M169.327319,127.956161 C169.042723,133.246373 164.421106,137.639224 159.866213,136.872586 C159.844426,136.872586 159.821277,136.872586 159.798128,136.872586 C154.753021,136.879395 150.658383,132.794288 150.652936,127.749182 C150.824511,122.690458 155.019915,118.703395 160.08,118.789182 C165.125106,118.813692 169.59966,123.077182 169.327319,127.956161 Z M88.2011915,179.220161 C90.1034894,179.27599 92.0071489,179.235139 94.2008511,179.235139 L94.2008511,193.02 [...]
-                   </g>
-                 </svg>
-               </span>
-             </ng-template>
-           </a>
-         </div>
+ <!--        <div>-->
+ <!--          <a class="nav-item" [routerLink]="['/swagger']" [routerLinkActive]="['active']"-->
+ <!--            [routerLinkActiveOptions]="{exact:true}">-->
+ <!--            <span *ngIf="isExpanded; else endpoint">Cloud Endpoint API</span>-->
+ <!--            <ng-template #endpoint>-->
+ <!--              <span>-->
+ <!--                <svg width="30px" height="27px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">-->
+ <!--                  <g>-->
+ <!--                    <path d="M127.059657,255.996921 C58.8506544,255.526472 -0.457073619,198.918442 0.00265506057,126.998303 C0.444649399,57.7958628 57.9516598,-0.468967577 129.11002,0.00284555012 C198.267128,0.462386081 256.613109,57.8667711 255.995136,128.194199 C256.568091,197.883453 197.934268,256.489189 127.059657,255.996921 Z M127.059657,255.996921 C58.8506544,255.526472 -0.457073619,198.918442 0.00265506057,126.998303 C0.444649399,57.7958628 57.9516598,-0.468967577 129.11002,0 [...]
+ <!--                    <path id="swager-bgr" d="M127.184644,238.997327 C68.0323765,238.589271 16.6036091,189.498744 17.0023028,127.131428 C17.3860285,67.1185953 67.2554,16.5917106 128.963117,17.0024872 C188.934544,17.4010221 239.531905,67.1825241 238.995778,128.169251 C239.492444,188.602381 188.64743,239.424426 127.184644,238.997327 Z M127.184644,238.997327 C68.0323765,238.589271 16.6036091,189.498744 17.0023028,127.131428 C17.3860285,67.1185953 67.2554,16.5917106 128.963117,17.0024872 [...]
+ <!--                    <path d="M169.327319,127.956161 C169.042723,133.246373 164.421106,137.639224 159.866213,136.872586 C159.844426,136.872586 159.821277,136.872586 159.798128,136.872586 C154.753021,136.879395 150.658383,132.794288 150.652936,127.749182 C150.824511,122.690458 155.019915,118.703395 160.08,118.789182 C165.125106,118.813692 169.59966,123.077182 169.327319,127.956161 Z M88.2011915,179.220161 C90.1034894,179.27599 92.0071489,179.235139 94.2008511,179.235139 L94.2008511,19 [...]
+ <!--                  </g>-->
+ <!--                </svg>-->
+ <!--              </span>-->
+ <!--            </ng-template>-->
+ <!--          </a>-->
+ <!--        </div>-->
        </nav>
      </mat-nav-list>
    </mat-sidenav>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org


[incubator-dlab] 02/02: [DLAB-1758]: Added info dialogs, log url clicks, added styles

Posted by dg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dgnatyshyn pushed a commit to branch DLAB-1758
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit b26657b80fbcad683d0095487f977d06519b3aec
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Fri Jun 5 18:04:03 2020 +0300

    [DLAB-1758]: Added info dialogs, log url clicks, added styles
---
 .../webapp/src/app/core/services/audit.service.ts  |  6 ++
 .../audit/audit-grid/audit-grid.component.html     |  9 ++-
 .../audit/audit-grid/audit-grid.component.scss     | 10 +++
 .../audit/audit-grid/audit-grid.component.ts       | 91 +++++++++++++++++++++-
 .../src/app/reports/audit/audit.component.ts       |  4 +-
 .../webapp/src/app/reports/audit/audit.module.ts   |  7 +-
 .../cluster-details/cluster-details.component.html |  2 +-
 .../cluster-details/cluster-details.component.ts   |  4 +
 .../detail-dialog/detail-dialog.component.html     |  6 +-
 .../detail-dialog/detail-dialog.component.ts       |  4 +
 10 files changed, 131 insertions(+), 12 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/core/services/audit.service.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/audit.service.ts
index faebecf..f699632 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/services/audit.service.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/audit.service.ts
@@ -10,12 +10,18 @@ export class AuditService {
 
   public getAuditData() {
     return [
+      {user: 'Dlab-test-user1', action: 'Deleted users from group', project: '', date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
+      {user: 'Dlab-test-user1', action: 'Created project', project: 'ProjectA', date: new Date().toLocaleString()},
+      {user: 'Dlab-test-user1', action: 'Created project', project: 'ProjectA', date: new Date().toLocaleString()},
       {user: 'Dlab-test-user1', action: 'Created project', project: 'ProjectA', date: new Date().toLocaleString()},
       {user: 'Dlab-test-user2', action: 'Created notebook ', project: 'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
+      {user: 'Dlab-test-user1', action: 'Deleted user to group', project: '', date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
       {user: 'Dlab-test-user1', action: 'Stopped notebook', project: 'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
       {user: 'Dlab-test-user1', action: 'Started notebook', project: 'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
+      {user: 'Dlab-test-user1', action: 'Deleted Users from group', project: '', date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
       {user: 'Dlab-test-user3', action: 'Created EMR', project: 'ProjectA', resource: 'Rstudio:Emr1', date: new Date().toLocaleString()},
       {user: 'Dlab-test-user1', action: 'Created notebook', project: 'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
+      {user: 'Dlab-test-user1', action: 'Deleted user to group', project: '', date: new Date().toLocaleString(), info: {name: 'admin', objects: ['user1', 'user2', 'user3', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1', 'Dlab-test-user1']}},
       {user: 'Dlab-test-user2', action: 'Terminated notebook', project: 'ProjectA', resource: 'Rstudio', date: new Date().toLocaleString()},
       ];
   }
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.html b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.html
index db3f6f0..d280224 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.html
@@ -78,7 +78,14 @@
           </i>
         </button>
       </th>
-      <td mat-cell *matCellDef=" let element"> {{element.action}} </td>
+      <td mat-cell *matCellDef=" let element">
+        <div class="action-wrapper">
+          <span>{{element.action}}</span>
+          <div class="audit-info" (click)="openActionInfo(element)" *ngIf="element.info">
+            <i class="material-icons">info</i>
+          </div>
+        </div>
+      </td>
       <td mat-footer-cell *matFooterCellDef  class="table-footer"></td>
     </ng-container>
 
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
index e9e44bc..09b1baa 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
@@ -208,6 +208,16 @@
     }
   }
 
+  .action-wrapper{
+    display: flex;
+    align-items: center;
+    .audit-info{
+      color: lightgray;
+      cursor: pointer;
+      margin-left: 5px;
+    }
+  }
+
   .dashboard_table_body {
     td:first-child {
       cursor: default;
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
index 34454ef..d18908c 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
@@ -17,8 +17,10 @@
  * under the License.
  */
 
-import {Component, OnInit} from '@angular/core';
+import {Component, Inject, OnInit} from '@angular/core';
 import {FilterAuditModel} from '../filter-audit.model';
+import {NotificationDialogComponent} from '../../../shared/modal-dialog/notification-dialog';
+import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';
 
 @Component({
   selector: 'dlab-audit-grid',
@@ -31,8 +33,14 @@ export class AuditGridComponent implements OnInit {
   public displayedColumns: string[] = ['user', 'project', 'resource', 'action', 'date'];
   public displayedFilterColumns: string[] = ['user-filter', 'project-filter', 'resource-filter', 'action-filter', 'date-filter'];
   public collapseFilterRow: boolean = true;
-  public filterConfiguration: FilterAuditModel = new FilterAuditModel([], [], [], [],'', '');
-  public filterAuditData: FilterAuditModel = new FilterAuditModel([], [], [], [],'', '');
+  public filterConfiguration: FilterAuditModel = new FilterAuditModel([], [], [], [], '', '');
+  public filterAuditData: FilterAuditModel = new FilterAuditModel([], [], [], [], '', '');
+
+  constructor(
+    public dialogRef: MatDialogRef<AuditInfoDialogComponent>,
+    public dialog: MatDialog
+  ) {
+  }
 
   ngOnInit() {}
 
@@ -47,4 +55,81 @@ export class AuditGridComponent implements OnInit {
   onUpdate($event): void {
     this.filterAuditData[$event.type] = $event.model;
   }
+
+  openActionInfo(element) {
+    // console.log('Open audit info ' + action.action);
+    this.dialog.open(AuditInfoDialogComponent, { data: {data: element.info, action: element.action}, panelClass: 'modal-sm' });
+  }
+}
+
+@Component({
+  selector: 'audit-info-dialog',
+  template: `
+      <div id="dialog-box">
+          <header class="dialog-header">
+              <h4 class="modal-title">{{data.action}}</h4>
+              <button type="button" class="close" (click)="dialogRef.close()">&times;</button>
+          </header>
+          <div mat-dialog-content class="content">
+            <ul info-items-list>
+              <li class="info-item">
+                  <span class="info-item-title">Group:</span>
+                  <span class="info-item-data"> {{data.data.name}}</span>
+              </li>
+              <li class="info-item">
+                <span class="info-item-title">Users:</span>
+                <span class="info-item-data">
+                    <span>{{data.data.objects}}</span>
+                </span>
+              </li>
+            </ul>
+            <div class="text-center m-top-30 m-bott-10">
+<!--               <button type="button" class="butt" mat-raised-button (click)="dialogRef.close()">No</button>-->
+<!--               <button type="button" class="butt butt-success" mat-raised-button-->
+<!--                       (click)="dialogRef.close(true)">Yes-->
+<!--               </button>-->
+             </div>
+          </div>
+      </div>
+  `,
+  styles: [`
+    .content { color: #718ba6; padding: 20px 50px; font-size: 14px; font-weight: 400; margin: 0; }
+    .info { color: #35afd5; }
+    .info .confirm-dialog { color: #607D8B; }
+    header { display: flex; justify-content: space-between; color: #607D8B; }
+    header h4 i { vertical-align: bottom; }
+    header a i { font-size: 20px; }
+    header a:hover i { color: #35afd5; cursor: pointer; }
+    .plur { font-style: normal; }
+    .scrolling-content{overflow-y: auto; max-height: 200px; }
+    .endpoint { width: 70%; text-align: left; color: #577289;}
+    .status { width: 30%;text-align: left;}
+    .label { font-size: 15px; font-weight: 500; font-family: "Open Sans",sans-serif;}
+    .node { font-weight: 300;}
+    .resource-name { width: 280px;text-align: left; padding: 10px 0;line-height: 26px;}
+    .project { width: 30%;text-align: left; padding: 10px 0;line-height: 26px;}
+    .resource-list{max-width: 100%; margin: 0 auto;margin-top: 20px; }
+    .resource-list-header{display: flex; font-weight: 600; font-size: 16px;height: 48px; border-top: 1px solid #edf1f5; border-bottom: 1px solid #edf1f5; padding: 0 20px;}
+    .resource-list-row{display: flex; border-bottom: 1px solid #edf1f5;padding: 0 20px;}
+    .confirm-resource-terminating{text-align: left; padding: 10px 20px;}
+    .confirm-message{color: #ef5c4b;font-size: 13px;min-height: 18px; text-align: center; padding-top: 20px}
+    .checkbox{margin-right: 5px;vertical-align: middle; margin-bottom: 3px;}
+    label{cursor: pointer}
+    .bottom-message{padding-top: 15px;}
+    .table-header{padding-bottom: 10px;}
+    .info-item{display: flex; justify-content: space-between; padding: 10px 0; width: 100%}
+    .info-item-title{width: 50%}
+    .info-item-data{width: 50%; text-align: left;}
+
+
+  `]
+})
+export class AuditInfoDialogComponent {
+  constructor(
+    public dialogRef: MatDialogRef<AuditInfoDialogComponent>,
+    @Inject(MAT_DIALOG_DATA) public data: any
+  ) {
+    console.log(data);
+  }
+
 }
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.component.ts b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.component.ts
index b468141..4bdd0ee 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.component.ts
@@ -18,13 +18,15 @@
  */
 
 
-import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';
+import {Component, OnInit, OnDestroy, ViewChild, Inject} from '@angular/core';
 import { ToastrService } from 'ngx-toastr';
 import {HealthStatusService} from '../../core/services';
 import { DICTIONARY} from '../../../dictionary/global.dictionary';
 import {AuditToolbarComponent} from './audit-toolbar/audit-toolbar.component';
 import {AuditGridComponent} from './audit-grid/audit-grid.component';
 import {AuditService} from '../../core/services/audit.service';
+import {Endpoint} from '../../administration/project/project.component';
+import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
 
 
 @Component({
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.module.ts b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.module.ts
index abe259d..ae4d245 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.module.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit.module.ts
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 import { NgModule } from '@angular/core';
 import { CommonModule } from '@angular/common';
 import { FormsModule } from '@angular/forms';
@@ -25,7 +24,7 @@ import { MaterialModule } from '../../shared/material.module';
 import { FormControlsModule } from '../../shared/form-controls';
 import { KeysPipeModule, LineBreaksPipeModule } from '../../core/pipes';
 import {AuditComponent} from './audit.component';
-import {AuditGridComponent} from './audit-grid/audit-grid.component';
+import {AuditGridComponent, AuditInfoDialogComponent} from './audit-grid/audit-grid.component';
 import {AuditToolbarComponent} from './audit-toolbar/audit-toolbar.component';
 
 @NgModule({
@@ -41,8 +40,10 @@ import {AuditToolbarComponent} from './audit-toolbar/audit-toolbar.component';
   declarations: [
     AuditGridComponent,
     AuditToolbarComponent,
-    AuditComponent
+    AuditComponent,
+    AuditInfoDialogComponent
   ],
+  entryComponents: [AuditInfoDialogComponent],
   exports: [AuditComponent]
 })
 export class AuditModule { }
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.html
index 04ea086..44718bd 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.html
@@ -100,7 +100,7 @@
           <div class="m-top-10">
             <p *ngFor="let item of resource.computational_url" class="ellipsis flex">
               <span class="strong">{{ item.description }}:</span>&nbsp;
-              <a href="{{item.url}}" target="_blank" matTooltip="{{item.url}}"
+              <a (click)="logAction(resource.computational_name, item.description)" href="{{item.url}}" target="_blank" matTooltip="{{item.url}}"
                 matTooltipPosition="above">{{ item.url }}</a>
             </p>
           </div>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
index 6180f96..20bb53a 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
@@ -115,4 +115,8 @@ export class DetailComputationalResourcesComponent implements OnInit {
         ? (control.value && control.value !== null && CheckUtils.isJSON(control.value) ? null : { valid: false })
         : null;
   }
+
+  private logAction(name: any, description: string) {
+    console.log(`${name}: ${description}`);
+  }
 }
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
index b757c02..2095926 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
@@ -45,8 +45,8 @@
             <p *ngFor="let item of notebook.exploratory_urls">
               <span class="description">{{item.description}}: &nbsp;</span>
               <a class="ellipsis" matTooltip="{{item.url}}" matTooltipPosition="above" href="{{item.url}}"
-                 target="_blank">
-                &nbsp;{{item.url}}
+                 target="_blank" (click)="logAction(notebook.name, item.description)">
+                &nbsp;{{item.url}}{{notebook.name}}
               </a>
             </p>
           </div>
@@ -60,7 +60,7 @@
             <div class="links_block">
               <p *ngFor="let item of notebook.url">
                 <span class="description">{{item.description}}: &nbsp;</span>
-                <a class="ellipsis" matTooltip="{{item.url}}" matTooltipPosition="above" href="{{item.url}}"
+                <a  (click)="logAction(notebook.name, item.description)" class="ellipsis" matTooltip="{{item.url}}" matTooltipPosition="above" href="{{item.url}}"
                   target="_blank">
                   &nbsp;{{item.url}}
                 </a>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
index f282d0d..f30189c 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
@@ -157,4 +157,8 @@ export class DetailDialogComponent implements OnInit {
   protected copyBucketName(copyValue) {
     CopyPathUtils.copyPath(copyValue);
   }
+
+  private logAction(name: any, description: string) {
+    console.log(`${name}: ${description}`);
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org