Skip to content

Commit

Permalink
feat(block-editor) #26520 added dotMessageService to Block Editor
Browse files Browse the repository at this point in the history
  • Loading branch information
oidacra committed Dec 4, 2023
1 parent 5d61be3 commit 4490d7a
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 11 deletions.
4 changes: 2 additions & 2 deletions core-web/apps/dotcms-block-editor/src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { ListboxModule } from 'primeng/listbox';
import { OrderListModule } from 'primeng/orderlist';

import { BlockEditorModule, DotBlockEditorComponent } from '@dotcms/block-editor';
import { DotMessageService, DotPropertiesService } from '@dotcms/data-access';
import { DotPropertiesService } from '@dotcms/data-access';

import { AppComponent } from './app.component';

Expand All @@ -26,7 +26,7 @@ import { AppComponent } from './app.component';
ListboxModule,
HttpClientModule
],
providers: [DotPropertiesService, DotMessageService]
providers: [DotPropertiesService]
})
export class AppModule implements DoBootstrap {
constructor(private injector: Injector) {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { OrderListModule } from 'primeng/orderlist';

import { debounceTime, delay, tap } from 'rxjs/operators';

import { DotPropertiesService } from '@dotcms/data-access';
import { DotMessageService, DotPropertiesService } from '@dotcms/data-access';

import { DotBlockEditorComponent } from './dot-block-editor.component';

Expand All @@ -24,16 +24,17 @@ import {
} from '../../extensions';
import { ContentletBlockComponent } from '../../nodes';
import {
DotAiService,
ASSET_MOCK,
CONTENTLETS_MOCK,
DotAiService,
DotLanguageService,
DotUploadFileService,
FileStatus,
SearchService,
SuggestionsComponent,
SuggestionsService
} from '../../shared';
import { DotMessageServiceMock } from '../../shared/mocks/dot-message.service.mock';
import { DotAiServiceMock } from '../../shared/services/dot-ai/dot-ai-service.mock';

export default {
Expand Down Expand Up @@ -194,6 +195,13 @@ export const primary = () => ({
{
provide: DotAiService,
useClass: process.env.USE_MIDDLEWARE === 'true' ? DotAiService : DotAiServiceMock
},
{
provide: DotMessageService,
useClass:
process.env.USE_MIDDLEWARE === 'true'
? DotMessageService
: DotMessageServiceMock
}
],
// We need these here because they are dynamically rendered
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
import { Component, EventEmitter, Output, OnInit, ChangeDetectionStrategy } from '@angular/core';
import {
ChangeDetectionStrategy,
Component,
EventEmitter,
inject,
OnInit,
Output
} from '@angular/core';

import { DotMessageService } from '@dotcms/data-access';

interface ActionOption {
label: string;
Expand All @@ -21,26 +30,26 @@ export enum ACTIONS {
})
export class AIContentActionsComponent implements OnInit {
@Output() actionEmitter = new EventEmitter<ACTIONS>();

actionOptions!: ActionOption[];
tooltipContent = 'Describe the size, color palette, style, mood, etc.';
private dotMessageService: DotMessageService = inject(DotMessageService);

ngOnInit() {
this.actionOptions = [
{
label: 'Accept',
label: this.dotMessageService.get('block-editor.common.accept'),
icon: 'pi pi-check',
callback: () => this.emitAction(ACTIONS.ACCEPT),
selectedOption: true
},
{
label: 'Regenerate',
label: this.dotMessageService.get('block-editor.common.regenerate'),
icon: 'pi pi-sync',
callback: () => this.emitAction(ACTIONS.REGENERATE),
selectedOption: false
},
{
label: 'Delete',
label: this.dotMessageService.get('block-editor.common.delete'),
icon: 'pi pi-trash',
callback: () => this.emitAction(ACTIONS.DELETE),
selectedOption: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@
autofocus
formControlName="textPrompt"
pInputText
placeholder="{{ 'Ask AI to write something' | dm }}"
placeholder="{{
'block-editor.extension.ai-content.ask-ai-to-write-something' | dm
}}"
type="text" />

<ng-container *ngIf="vm.loading; else submitButton">
<span class="pending-label">Pending</span>
<span class="pending-label">{{ 'block-editor.common.pending' | dm }}</span>
</ng-container>

<ng-template #submitButton>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { Injectable } from '@angular/core';

import { formatMessage } from '@dotcms/utils';

// Move all this translations to Language.properties
export const MessageServiceMock: Record<string, string> = {
'block-editor.common.accept': 'Accept',
'block-editor.common.delete': 'Delete',
'block-editor.common.regenerate': 'Regenerate',
'block-editor.common.pending': 'Pending',
'block-editor.extension.ai-content.ask-ai-to-write-something': 'Ask AI to write something'
};

@Injectable()
export class DotMessageServiceMock {
init() {
// fake init
}
get(key: string, ...args: string[]): string {
return MessageServiceMock[key]
? args.length
? formatMessage(MessageServiceMock[key], args)
: MessageServiceMock[key]
: key;
}
}

0 comments on commit 4490d7a

Please sign in to comment.