You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dg...@apache.org on 2020/10/07 09:51:59 UTC

[incubator-datalab] branch DATALAB-2087 created (now cadf880)

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

dgnatyshyn pushed a change to branch DATALAB-2087
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git.


      at cadf880  [DATALAB-2087]: Fixed issues connected with localization

This branch includes the following new commits:

     new cdb374e  Merge remote-tracking branch 'origin/develop' into develop
     new cadf880  [DATALAB-2087]: Fixed issues connected with localization

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.



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


[incubator-datalab] 01/02: Merge remote-tracking branch 'origin/develop' into develop

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

dgnatyshyn pushed a commit to branch DATALAB-2087
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit cdb374ef3f2153b4defed7585e7538205745f9c1
Merge: 470bfcd 37c484b
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Wed Oct 7 10:32:30 2020 +0300

    Merge remote-tracking branch 'origin/develop' into develop

 .../reporting/reporting-grid/reporting-grid.component.html        | 8 ++++----
 .../cost-details-dialog/cost-details-dialog.component.html        | 2 +-
 .../src/main/resources/webapp/src/dictionary/aws.dictionary.ts    | 2 +-
 .../src/main/resources/webapp/src/dictionary/azure.dictionary.ts  | 2 +-
 .../src/main/resources/webapp/src/dictionary/gcp.dictionary.ts    | 2 +-
 .../src/main/resources/webapp/src/dictionary/global.dictionary.ts | 4 ++--
 6 files changed, 10 insertions(+), 10 deletions(-)


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


[incubator-datalab] 02/02: [DATALAB-2087]: Fixed issues connected with localization

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

dgnatyshyn pushed a commit to branch DATALAB-2087
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit cadf880577219c3cc325d5a7a594e457c3a4cd7d
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Wed Oct 7 12:51:43 2020 +0300

    [DATALAB-2087]: Fixed issues connected with localization
---
 .../pipes/long-date-pipe}/index.ts                 | 16 ++++------
 .../pipes/long-date-pipe/long-date.pipe.ts}        | 24 +++++++--------
 .../src/app/core/services/localization.service.ts  |  8 ++++-
 .../src/app/reports/reporting/reporting.module.ts  |  4 ++-
 .../reporting/toolbar/toolbar.component.html       |  4 +--
 .../cluster-details/cluster-details.component.html |  4 ++-
 .../cluster-details/cluster-details.component.ts   |  3 --
 .../computational/cluster-details/index.ts         |  3 +-
 .../detail-dialog/detail-dialog.component.html     |  2 +-
 .../detail-dialog/detail-dialog.component.ts       |  4 ---
 .../resources/exploratory/detail-dialog/index.ts   | 16 +++++-----
 .../src/app/resources/resources-grid/index.ts      | 34 ++++++++++++----------
 .../resources-grid/resources-grid.component.html   |  2 +-
 13 files changed, 62 insertions(+), 62 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts b/services/self-service/src/main/resources/webapp/src/app/core/pipes/long-date-pipe/index.ts
similarity index 61%
copy from services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts
copy to services/self-service/src/main/resources/webapp/src/app/core/pipes/long-date-pipe/index.ts
index 88bfff6..8bd4f7f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/pipes/long-date-pipe/index.ts
@@ -19,18 +19,12 @@
 
 import { NgModule } from '@angular/core';
 import { CommonModule } from '@angular/common';
-import { FormsModule, ReactiveFormsModule } from '@angular/forms';
-
-import { MaterialModule } from '../../../shared/material.module';
-import { DetailComputationalResourcesComponent } from './cluster-details.component';
-
-export * from './cluster-details.component';
+import {LongDatePipe} from './long-date.pipe';
 
 @NgModule({
-  imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule],
-  declarations: [DetailComputationalResourcesComponent],
-  entryComponents: [DetailComputationalResourcesComponent],
-  exports: [DetailComputationalResourcesComponent],
+  imports: [CommonModule],
+  declarations: [LongDatePipe],
+  exports: [LongDatePipe]
 })
 
-export class DetailComputationalResourcesModule { }
+export class LongDatePipeModule { }
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts b/services/self-service/src/main/resources/webapp/src/app/core/pipes/long-date-pipe/long-date.pipe.ts
similarity index 54%
copy from services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts
copy to services/self-service/src/main/resources/webapp/src/app/core/pipes/long-date-pipe/long-date.pipe.ts
index 88bfff6..ba64e45 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/pipes/long-date-pipe/long-date.pipe.ts
@@ -17,20 +17,18 @@
  * under the License.
  */
 
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { Pipe, PipeTransform } from '@angular/core';
+import {LocalizationService} from '../../services/localization.service';
+import {formatDate} from '@angular/common';
 
-import { MaterialModule } from '../../../shared/material.module';
-import { DetailComputationalResourcesComponent } from './cluster-details.component';
+@Pipe({ name: 'longDate' })
 
-export * from './cluster-details.component';
+export class LongDatePipe implements PipeTransform {
+  constructor(private localizationService: LocalizationService) { }
 
-@NgModule({
-  imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule],
-  declarations: [DetailComputationalResourcesComponent],
-  entryComponents: [DetailComputationalResourcesComponent],
-  exports: [DetailComputationalResourcesComponent],
-})
+  transform(value: any, format: string = 'full') {
+    if (!value) { return ; }
 
-export class DetailComputationalResourcesModule { }
+    return formatDate(value, format, (this.localizationService.locale  === 'en') ? 'en' : 'en-GB');
+  }
+}
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/services/localization.service.ts b/services/self-service/src/main/resources/webapp/src/app/core/services/localization.service.ts
index ab19752..7aa9a0a 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/services/localization.service.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/services/localization.service.ts
@@ -48,9 +48,15 @@ export class LocalizationService {
     if (culture.indexOf('-') !== -1 && culture !== 'en-GB') {
       culture = culture.substr(0, culture.indexOf('-'));
     }
-    /* webpackInclude: /(uk|sv)\.js$/ */
+
     import(
       `@angular/common/locales/${culture}.js`
       ).then(module => registerLocaleData(module.default));
+
+    if (culture !== 'en' && culture !== 'en-GB') {
+      import(
+        `@angular/common/locales/en-GB.js`
+        ).then(module => registerLocaleData(module.default));
+    }
   }
 }
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/reporting/reporting.module.ts b/services/self-service/src/main/resources/webapp/src/app/reports/reporting/reporting.module.ts
index 65d7ea9..055e555 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/reporting/reporting.module.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/reporting/reporting.module.ts
@@ -29,6 +29,7 @@ import { KeysPipeModule, LineBreaksPipeModule } from '../../core/pipes';
 import { ReportingGridComponent } from './reporting-grid/reporting-grid.component';
 import { ToolbarComponent } from './toolbar/toolbar.component';
 import {LocalCurrencyModule} from '../../core/pipes/local-currency-pipe';
+import {LocalDatePipeModule} from '../../core/pipes/local-date-pipe';
 
 @NgModule({
     imports: [
@@ -39,7 +40,8 @@ import {LocalCurrencyModule} from '../../core/pipes/local-currency-pipe';
         LineBreaksPipeModule,
         NgDateRangePickerModule,
         MaterialModule,
-        LocalCurrencyModule
+        LocalCurrencyModule,
+        LocalDatePipeModule
     ],
   declarations: [
     ReportingComponent,
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/reporting/toolbar/toolbar.component.html b/services/self-service/src/main/resources/webapp/src/app/reports/reporting/toolbar/toolbar.component.html
index d7da74b..ca883aa 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/reporting/toolbar/toolbar.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/reporting/toolbar/toolbar.component.html
@@ -24,8 +24,8 @@
         </span><strong>{{ reportData.tag_resource_id }}</strong></div>
       <div class="report-period info_color" *ngIf="availablePeriodFrom && availablePeriodTo">
         <span>Available reporting period from:</span>
-        <strong>{{ availablePeriodFrom.join('/') | date }} </strong>
-        to: <strong>{{ availablePeriodTo.join('/') | date }}</strong>
+        <strong>{{ availablePeriodFrom.join('/') | localDate }} </strong>
+        to: <strong>{{ availablePeriodTo.join('/') | localDate }}</strong>
       </div>
     </div>
   </div>
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 0872a25..c9b048f 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
@@ -98,7 +98,9 @@
 
         <div *ngIf="resource.status === 'running'">
           <div class="row-wrap">
-            <p class="time_info">Up time {{upTimeInHours}} hour(s) since {{upTimeSince || "not specified."}}</p>
+            <p class="time_info">Up time {{upTimeInHours}} hour(s) since {{resource.up_time ? (resource.up_time | longDate) : "not specified."
+              }}
+            </p>
           </div>
           <div class="m-top-10">
             <p *ngFor="let item of resource.computational_url" class="ellipsis flex" (mouseleave)="hideCopyIcon()">
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 4d2e6dd..6d72f49 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
@@ -44,7 +44,6 @@ export class DetailComputationalResourcesComponent implements OnInit {
   @ViewChild('configurationNode', { static: false }) configuration;
 
   upTimeInHours: number;
-  upTimeSince: string = '';
   tooltip: boolean = false;
   config: Array<{}> = [];
   public configurationForm: FormGroup;
@@ -71,8 +70,6 @@ export class DetailComputationalResourcesComponent implements OnInit {
 
 
     this.upTimeInHours = (this.resource.up_time) ? DateUtils.diffBetweenDatesInHours(this.resource.up_time) : 0;
-    this.upTimeSince = (this.resource.up_time) ?
-      new Date(this.resource.up_time).toString().substr(0, new Date(this.resource.up_time).toString().indexOf('(')) : '';
     this.initFormModel();
 
     if (this.resource.image === 'docker.datalab-dataengine') this.getClusterConfiguration();
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts
index 88bfff6..1cc87c8 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/index.ts
@@ -23,11 +23,12 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
 
 import { MaterialModule } from '../../../shared/material.module';
 import { DetailComputationalResourcesComponent } from './cluster-details.component';
+import {LongDatePipeModule} from '../../../core/pipes/long-date-pipe';
 
 export * from './cluster-details.component';
 
 @NgModule({
-  imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule],
+  imports: [CommonModule, FormsModule, ReactiveFormsModule, MaterialModule, LongDatePipeModule],
   declarations: [DetailComputationalResourcesComponent],
   entryComponents: [DetailComputationalResourcesComponent],
   exports: [DetailComputationalResourcesComponent],
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 a667058..9258d03 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
@@ -80,7 +80,7 @@
           <div class="detail-info" *ngIf="!notebook.error_message">
             <p>Edge Node IP Address {{notebook.node_ip}}</p>
             <p *ngIf="notebook.status === 'running'">Up time {{upTimeInHours}} hour(s) since
-              {{upTimeSince || "not specified."}}</p>
+              {{notebook.time ? (notebook.time | longDate ) : "not specified."}}</p>
             <p *ngIf="notebook.url?.length">Open following URL(s) in your browser to access this box:</p>
             <div class="links_block">
               <ng-container *ngFor="let item of notebook.url">
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 22c4bfa..4800faa 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
@@ -42,7 +42,6 @@ export class DetailDialogComponent implements OnInit {
   private isCopied: boolean = true;
   notebook: any;
   upTimeInHours: number;
-  upTimeSince: string = '';
   tooltip: boolean = false;
   config: Array<{}> = [];
   bucketStatus: object = {};
@@ -50,7 +49,6 @@ export class DetailDialogComponent implements OnInit {
   isCopyIconVissible: {bucket} = {bucket: false};
 
   public configurationForm: FormGroup;
-
   @ViewChild('configurationNode', { static: false }) configuration;
 
 
@@ -73,8 +71,6 @@ export class DetailDialogComponent implements OnInit {
       this.tooltip = false;
 
       this.upTimeInHours = (this.notebook.time) ? DateUtils.diffBetweenDatesInHours(this.notebook.time) : 0;
-      this.upTimeSince = (this.notebook.time) ?
-        new Date(this.notebook.time).toString().substr(0, new Date(this.notebook.time).toString().indexOf('(')) : '';
       this.initFormModel();
       this.getClusterConfiguration();
     if (this.notebook.edgeNodeStatus === 'terminated' ||
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
index f46a7e5..24ec7c5 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
@@ -23,17 +23,19 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
 import { MaterialModule } from '../../../shared/material.module';
 import { DetailDialogComponent } from './detail-dialog.component';
 import { DirectivesModule } from '../../../core/directives';
+import {LongDatePipeModule} from '../../../core/pipes/long-date-pipe';
 
 export * from './detail-dialog.component';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    FormsModule,
-    ReactiveFormsModule,
-    MaterialModule,
-    DirectivesModule
-  ],
+    imports: [
+        CommonModule,
+        FormsModule,
+        ReactiveFormsModule,
+        MaterialModule,
+        DirectivesModule,
+        LongDatePipeModule
+    ],
   declarations: [DetailDialogComponent],
   entryComponents: [DetailDialogComponent],
   exports: [DetailDialogComponent]
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
index 39a9732..6bbc5a0 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
@@ -32,24 +32,26 @@ import { InstallLibrariesModule } from '../exploratory/install-libraries';
 import { AmiCreateDialogModule } from '../exploratory/ami-create-dialog';
 import { SchedulerModule } from '../scheduler';
 import { UnderscorelessPipeModule } from '../../core/pipes/underscoreless-pipe';
+import {LocalCurrencyModule} from '../../core/pipes/local-currency-pipe';
 
 @NgModule({
-  imports: [
-    CommonModule,
-    RouterModule,
-    ComputationalResourcesModule,
-    ConfirmationDialogModule,
-    BubbleModule,
-    DetailDialogModule,
-    ComputationalResourceCreateDialogModule,
-    FormControlsModule,
-    CostDetailsDialogModule,
-    InstallLibrariesModule,
-    SchedulerModule,
-    AmiCreateDialogModule,
-    UnderscorelessPipeModule,
-    MaterialModule
-  ],
+    imports: [
+        CommonModule,
+        RouterModule,
+        ComputationalResourcesModule,
+        ConfirmationDialogModule,
+        BubbleModule,
+        DetailDialogModule,
+        ComputationalResourceCreateDialogModule,
+        FormControlsModule,
+        CostDetailsDialogModule,
+        InstallLibrariesModule,
+        SchedulerModule,
+        AmiCreateDialogModule,
+        UnderscorelessPipeModule,
+        MaterialModule,
+        LocalCurrencyModule
+    ],
   declarations: [ResourcesGridComponent],
   exports: [ResourcesGridComponent]
 })
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
index 3a6306c..6fd6cab 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
@@ -147,7 +147,7 @@
             </computational-resources-list>
           </td>
           <td *ngIf="healthStatus?.billingEnabled" class="cost-col">
-            <span class="total_cost">{{ element.billing.report_lines.length ? element.cost : 'N/A' }} {{ element.currency_code || '' }}</span>
+            <span class="total_cost">{{ element.billing.report_lines.length ? (element.cost | localcurrency) : 'N/A' }}</span>
             <span (click)="element.billing && printCostDetails(element)" class="currency_details"
               [ngClass]="{ 'not-allowed' : !element.billing.report_lines.length }">
               <i class="material-icons">help_outline</i>


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