Browse Source

Improve markdown widget css processing

pull/5121/head
Igor Kulikov 5 years ago
parent
commit
c04747cdd8
  1. 2
      ui-ngx/src/app/modules/home/components/widget/lib/markdown-widget.component.html
  2. 14
      ui-ngx/src/app/modules/home/components/widget/lib/markdown-widget.component.ts

2
ui-ngx/src/app/modules/home/components/widget/lib/markdown-widget.component.html

@ -15,4 +15,4 @@
limitations under the License.
-->
<markdown [data]="markdownText" class="tb-markdown-view" (click)="markdownClick($event)"></markdown>
<markdown [data]="markdownText" class="tb-markdown-view {{markdownClass}}" (click)="markdownClick($event)"></markdown>

14
ui-ngx/src/app/modules/home/components/widget/lib/markdown-widget.component.ts

@ -14,7 +14,7 @@
/// limitations under the License.
///
import { ChangeDetectorRef, Component, ElementRef, Input, OnInit } from '@angular/core';
import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';
import { PageComponent } from '@shared/components/page.component';
import { WidgetContext } from '@home/models/widget-component.models';
import { Store } from '@ngrx/store';
@ -56,8 +56,9 @@ export class MarkdownWidgetComponent extends PageComponent implements OnInit {
markdownText: string;
markdownClass: string;
constructor(protected store: Store<AppState>,
private elementRef: ElementRef,
private cd: ChangeDetectorRef) {
super(store);
}
@ -66,15 +67,14 @@ export class MarkdownWidgetComponent extends PageComponent implements OnInit {
this.ctx.$scope.markdownWidget = this;
this.settings = this.ctx.settings;
this.markdownTextFunction = this.settings.useMarkdownTextFunction ? parseFunction(this.settings.markdownTextFunction, ['data']) : null;
this.markdownClass = 'markdown-widget';
const cssString = this.settings.markdownCss;
if (isNotEmptyStr(cssString)) {
const cssParser = new cssjs();
cssParser.testMode = false;
const namespace = 'entities-hierarchy-' + hashCode(cssString);
cssParser.cssPreviewNamespace = namespace;
cssParser.createStyleElement(namespace, cssString);
$(this.elementRef.nativeElement).addClass(namespace);
this.markdownClass += '-' + hashCode(cssString);
cssParser.cssPreviewNamespace = 'tb-markdown-view.' + this.markdownClass;
cssParser.createStyleElement(this.markdownClass, cssString);
}
}

Loading…
Cancel
Save