From 9ef632d728852ce88853421fcb250d5c781e56ac Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Thu, 6 Aug 2020 19:05:46 +0300 Subject: [PATCH 1/2] Add angular Sanitizer for widgetContext --- .../modules/home/components/widget/dynamic-widget.component.ts | 2 ++ ui-ngx/src/app/modules/home/models/widget-component.models.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ui-ngx/src/app/modules/home/components/widget/dynamic-widget.component.ts b/ui-ngx/src/app/modules/home/components/widget/dynamic-widget.component.ts index 3fdae9105d..e63adcb744 100644 --- a/ui-ngx/src/app/modules/home/components/widget/dynamic-widget.component.ts +++ b/ui-ngx/src/app/modules/home/components/widget/dynamic-widget.component.ts @@ -40,6 +40,7 @@ import { DialogService } from '@core/services/dialog.service'; import { CustomDialogService } from '@home/components/widget/dialog/custom-dialog.service'; import { DatePipe } from '@angular/common'; import { TranslateService } from '@ngx-translate/core'; +import { DomSanitizer } from '@angular/platform-browser'; export class DynamicWidgetComponent extends PageComponent implements IDynamicWidgetComponent, OnInit, OnDestroy { @@ -74,6 +75,7 @@ export class DynamicWidgetComponent extends PageComponent implements IDynamicWid this.ctx.date = $injector.get(DatePipe); this.ctx.translate = $injector.get(TranslateService); this.ctx.http = $injector.get(HttpClient); + this.ctx.sanitizer = $injector.get(DomSanitizer); this.ctx.$scope = this; if (this.ctx.defaultSubscription) { diff --git a/ui-ngx/src/app/modules/home/models/widget-component.models.ts b/ui-ngx/src/app/modules/home/models/widget-component.models.ts index 96fae7bac3..289296b159 100644 --- a/ui-ngx/src/app/modules/home/models/widget-component.models.ts +++ b/ui-ngx/src/app/modules/home/models/widget-component.models.ts @@ -75,6 +75,7 @@ import { DatePipe } from '@angular/common'; import { TranslateService } from '@ngx-translate/core'; import { PageLink } from '@shared/models/page/page-link'; import { SortOrder } from '@shared/models/page/sort-order'; +import { DomSanitizer } from '@angular/platform-browser'; export interface IWidgetAction { name: string; @@ -155,6 +156,7 @@ export class WidgetContext { date: DatePipe; translate: TranslateService; http: HttpClient; + sanitizer: DomSanitizer; private changeDetectorValue: ChangeDetectorRef; From b9125827a1502ff645aee29aa0748cbfad50de86 Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Thu, 6 Aug 2020 19:19:53 +0300 Subject: [PATCH 2/2] Add completion --- .../models/ace/service-completion.models.ts | 6 ++++++ .../models/ace/widget-completion.models.ts | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/ui-ngx/src/app/shared/models/ace/service-completion.models.ts b/ui-ngx/src/app/shared/models/ace/service-completion.models.ts index b94365a726..63bc4cd938 100644 --- a/ui-ngx/src/app/shared/models/ace/service-completion.models.ts +++ b/ui-ngx/src/app/shared/models/ace/service-completion.models.ts @@ -1382,5 +1382,11 @@ export const serviceCompletions: TbEditorCompletions = { 'See HttpClient for API reference.', meta: 'service', type: 'HttpClient' + }, + sanitizer: { + description: 'DomSanitizer Service
' + + 'See DomSanitizer for API reference.', + meta: 'service', + type: 'DomSanitizer' } } diff --git a/ui-ngx/src/app/shared/models/ace/widget-completion.models.ts b/ui-ngx/src/app/shared/models/ace/widget-completion.models.ts index 53a04e92a2..acdcc080ba 100644 --- a/ui-ngx/src/app/shared/models/ace/widget-completion.models.ts +++ b/ui-ngx/src/app/shared/models/ace/widget-completion.models.ts @@ -579,6 +579,23 @@ export const widgetContextCompletions: TbEditorCompletions = { } ] }, + pushAndOpenState: { + description: 'Navigate to new dashboard state and adding intermediate states.', + meta: 'function', + args: [ + { + name: 'id', + description: 'An array state object of the target dashboard state.', + type: 'Array StateObject', + }, + { + name: 'openRightLayout', + description: 'An optional boolean argument to force open right dashboard layout if present in mobile view mode.', + type: 'boolean', + optional: true + } + ] + }, updateState: { description: 'Updates current dashboard state.', meta: 'function',