@covalent/flavored-markdown 3.1.2-beta.4 → 4.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/covalent-flavored-markdown.umd.js +75 -70
- package/bundles/covalent-flavored-markdown.umd.js.map +1 -1
- package/bundles/covalent-flavored-markdown.umd.min.js +2 -2
- package/bundles/covalent-flavored-markdown.umd.min.js.map +1 -1
- package/covalent-flavored-markdown.metadata.json +1 -1
- package/esm2015/covalent-flavored-markdown.js +2 -2
- package/esm2015/flavored-markdown.component.js +83 -70
- package/esm2015/flavored-markdown.module.js +7 -4
- package/esm2015/index.js +2 -2
- package/esm2015/public_api.js +2 -2
- package/fesm2015/covalent-flavored-markdown.js +87 -72
- package/fesm2015/covalent-flavored-markdown.js.map +1 -1
- package/flavored-markdown.component.d.ts +17 -1
- package/package.json +4 -4
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Component, Input, EventEmitter, HostBinding, Output, Directive, ViewContainerRef, Renderer2, ChangeDetectionStrategy, ComponentFactoryResolver, ChangeDetectorRef, Injector, ElementRef,
|
|
1
|
+
import { Component, Input, ViewChild, EventEmitter, HostBinding, Output, Directive, ViewContainerRef, Renderer2, ChangeDetectionStrategy, ComponentFactoryResolver, ChangeDetectorRef, Injector, ElementRef, NgModule } from '@angular/core';
|
|
2
2
|
import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
|
|
3
|
+
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
4
|
+
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
3
5
|
import { TdHighlightComponent, CovalentHighlightModule } from '@covalent/highlight';
|
|
4
6
|
import { scrollToAnchor, TdMarkdownComponent, TdMarkdownLoaderService, CovalentMarkdownModule } from '@covalent/markdown';
|
|
5
|
-
import { TdDataTableComponent, TdDataTableSortingOrder, CovalentDataTableModule } from '@covalent/core/data-table';
|
|
6
7
|
import { CommonModule } from '@angular/common';
|
|
7
8
|
import { MatListModule } from '@angular/material/list';
|
|
8
9
|
import { __awaiter } from 'tslib';
|
|
@@ -62,6 +63,75 @@ if (false) {
|
|
|
62
63
|
/** @type {?} */
|
|
63
64
|
ITdFlavoredMarkdownButtonClickEvent.prototype.data;
|
|
64
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* @record
|
|
68
|
+
*/
|
|
69
|
+
function ITdFlavoredMarkDownTableColumn() { }
|
|
70
|
+
if (false) {
|
|
71
|
+
/** @type {?} */
|
|
72
|
+
ITdFlavoredMarkDownTableColumn.prototype.label;
|
|
73
|
+
/** @type {?} */
|
|
74
|
+
ITdFlavoredMarkDownTableColumn.prototype.name;
|
|
75
|
+
/** @type {?} */
|
|
76
|
+
ITdFlavoredMarkDownTableColumn.prototype.numeric;
|
|
77
|
+
}
|
|
78
|
+
class TdFlavoredMarkdownTableComponent {
|
|
79
|
+
constructor() {
|
|
80
|
+
this.columnDefs = [];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @return {?}
|
|
84
|
+
*/
|
|
85
|
+
ngOnInit() {
|
|
86
|
+
this.displayedColumns = this.columnDefs.map((/**
|
|
87
|
+
* @param {?} c
|
|
88
|
+
* @return {?}
|
|
89
|
+
*/
|
|
90
|
+
(c) => c.name));
|
|
91
|
+
this.dataSource = new MatTableDataSource(this.data);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @return {?}
|
|
95
|
+
*/
|
|
96
|
+
ngAfterViewInit() {
|
|
97
|
+
this.dataSource.sort = this.sort;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
TdFlavoredMarkdownTableComponent.decorators = [
|
|
101
|
+
{ type: Component, args: [{
|
|
102
|
+
template: `
|
|
103
|
+
<mat-table [dataSource]="dataSource" matSort>
|
|
104
|
+
<!-- Column Definition -->
|
|
105
|
+
<ng-template ngFor let-column [ngForOf]="columnDefs">
|
|
106
|
+
<ng-container [matColumnDef]="column.name">
|
|
107
|
+
<mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.label }}</mat-header-cell>
|
|
108
|
+
<mat-cell *matCellDef="let row">{{ row[column.name] }}</mat-cell>
|
|
109
|
+
</ng-container>
|
|
110
|
+
</ng-template>
|
|
111
|
+
<!-- Header and Row Declarations -->
|
|
112
|
+
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
|
|
113
|
+
<mat-row *matRowDef="let row; columns: displayedColumns"></mat-row>
|
|
114
|
+
</mat-table>
|
|
115
|
+
`
|
|
116
|
+
}] }
|
|
117
|
+
];
|
|
118
|
+
TdFlavoredMarkdownTableComponent.propDecorators = {
|
|
119
|
+
columnDefs: [{ type: Input }],
|
|
120
|
+
data: [{ type: Input }],
|
|
121
|
+
sort: [{ type: ViewChild, args: [MatSort,] }]
|
|
122
|
+
};
|
|
123
|
+
if (false) {
|
|
124
|
+
/** @type {?} */
|
|
125
|
+
TdFlavoredMarkdownTableComponent.prototype.columnDefs;
|
|
126
|
+
/** @type {?} */
|
|
127
|
+
TdFlavoredMarkdownTableComponent.prototype.data;
|
|
128
|
+
/** @type {?} */
|
|
129
|
+
TdFlavoredMarkdownTableComponent.prototype.sort;
|
|
130
|
+
/** @type {?} */
|
|
131
|
+
TdFlavoredMarkdownTableComponent.prototype.displayedColumns;
|
|
132
|
+
/** @type {?} */
|
|
133
|
+
TdFlavoredMarkdownTableComponent.prototype.dataSource;
|
|
134
|
+
}
|
|
65
135
|
class TdFlavoredMarkdownButtonComponent {
|
|
66
136
|
constructor() {
|
|
67
137
|
this.display = 'inline-block';
|
|
@@ -468,7 +538,7 @@ class TdFlavoredMarkdownComponent {
|
|
|
468
538
|
_replaceTables(markdown) {
|
|
469
539
|
/** @type {?} */
|
|
470
540
|
const tableRgx = /^ {0,3}\|?.+\|.+\n[ \t]{0,3}\|?[ \t]*:?[ \t]*(?:-|=){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:-|=){2,}[\s\S]+?(?:\n\n|~0)/gm;
|
|
471
|
-
return this._replaceComponent(markdown,
|
|
541
|
+
return this._replaceComponent(markdown, TdFlavoredMarkdownTableComponent, tableRgx, (/**
|
|
472
542
|
* @param {?} componentRef
|
|
473
543
|
* @param {?} match
|
|
474
544
|
* @return {?}
|
|
@@ -510,36 +580,6 @@ class TdFlavoredMarkdownComponent {
|
|
|
510
580
|
(s) => {
|
|
511
581
|
return s.trim();
|
|
512
582
|
}));
|
|
513
|
-
componentRef.instance.columns = columns.map((/**
|
|
514
|
-
* @param {?} col
|
|
515
|
-
* @param {?} index
|
|
516
|
-
* @return {?}
|
|
517
|
-
*/
|
|
518
|
-
(col, index) => {
|
|
519
|
-
/** @type {?} */
|
|
520
|
-
const widths = alignment[index].split('---');
|
|
521
|
-
/** @type {?} */
|
|
522
|
-
const min = parseInt(widths[0], 10);
|
|
523
|
-
/** @type {?} */
|
|
524
|
-
const max = parseInt(widths[1], 10);
|
|
525
|
-
/** @type {?} */
|
|
526
|
-
let width = { min, max };
|
|
527
|
-
if (isNaN(min) && isNaN(max)) {
|
|
528
|
-
width = undefined;
|
|
529
|
-
}
|
|
530
|
-
else if (isNaN(max)) {
|
|
531
|
-
width.max = undefined;
|
|
532
|
-
}
|
|
533
|
-
else if (isNaN(min)) {
|
|
534
|
-
width.min = undefined;
|
|
535
|
-
}
|
|
536
|
-
return {
|
|
537
|
-
label: col,
|
|
538
|
-
name: col.toLowerCase().trim(),
|
|
539
|
-
numeric: /^--*[ \t]*:[ \t]*$/.test(alignment[index]),
|
|
540
|
-
width,
|
|
541
|
-
};
|
|
542
|
-
}));
|
|
543
583
|
/** @type {?} */
|
|
544
584
|
const data = [];
|
|
545
585
|
for (let i = 2; i < dataTableLines.length; i++) {
|
|
@@ -583,46 +623,19 @@ class TdFlavoredMarkdownComponent {
|
|
|
583
623
|
}));
|
|
584
624
|
data.push(row);
|
|
585
625
|
}
|
|
586
|
-
componentRef.instance.
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
* @param {?} event
|
|
590
|
-
* @return {?}
|
|
591
|
-
*/
|
|
592
|
-
(event) => {
|
|
593
|
-
componentRef.instance.data.sort((/**
|
|
594
|
-
* @param {?} a
|
|
595
|
-
* @param {?} b
|
|
596
|
-
* @return {?}
|
|
597
|
-
*/
|
|
598
|
-
(a, b) => {
|
|
599
|
-
/** @type {?} */
|
|
600
|
-
const compA = a[event.name];
|
|
601
|
-
/** @type {?} */
|
|
602
|
-
const compB = b[event.name];
|
|
603
|
-
/** @type {?} */
|
|
604
|
-
let direction = 0;
|
|
605
|
-
if (!Number.isNaN(Number.parseFloat(compA)) && !Number.isNaN(Number.parseFloat(compB))) {
|
|
606
|
-
direction = Number.parseFloat(compA) - Number.parseFloat(compB);
|
|
607
|
-
}
|
|
608
|
-
else {
|
|
609
|
-
if (compA < compB) {
|
|
610
|
-
direction = -1;
|
|
611
|
-
}
|
|
612
|
-
else if (compA > compB) {
|
|
613
|
-
direction = 1;
|
|
614
|
-
}
|
|
615
|
-
}
|
|
616
|
-
return direction * (event.order === TdDataTableSortingOrder.Descending ? -1 : 1);
|
|
617
|
-
}));
|
|
618
|
-
componentRef.instance.refresh();
|
|
619
|
-
}));
|
|
620
|
-
setTimeout((/**
|
|
626
|
+
componentRef.instance.columnDefs = columns.map((/**
|
|
627
|
+
* @param {?} col
|
|
628
|
+
* @param {?} index
|
|
621
629
|
* @return {?}
|
|
622
630
|
*/
|
|
623
|
-
() => {
|
|
624
|
-
|
|
631
|
+
(col, index) => {
|
|
632
|
+
return {
|
|
633
|
+
label: col,
|
|
634
|
+
name: col.toLowerCase().trim(),
|
|
635
|
+
numeric: /^--*[ \t]*:[ \t]*$/.test(alignment[index]),
|
|
636
|
+
};
|
|
625
637
|
}));
|
|
638
|
+
componentRef.instance.data = data;
|
|
626
639
|
}));
|
|
627
640
|
}
|
|
628
641
|
/**
|
|
@@ -952,10 +965,11 @@ CovalentFlavoredMarkdownModule.decorators = [
|
|
|
952
965
|
MatCheckboxModule,
|
|
953
966
|
MatListModule,
|
|
954
967
|
MatProgressBarModule,
|
|
955
|
-
CovalentDataTableModule,
|
|
956
968
|
CovalentHighlightModule,
|
|
957
969
|
CovalentMarkdownModule,
|
|
958
970
|
MatButtonModule,
|
|
971
|
+
MatTableModule,
|
|
972
|
+
MatSortModule,
|
|
959
973
|
],
|
|
960
974
|
declarations: [
|
|
961
975
|
TdFlavoredListComponent,
|
|
@@ -963,6 +977,7 @@ CovalentFlavoredMarkdownModule.decorators = [
|
|
|
963
977
|
TdFlavoredMarkdownContainerDirective,
|
|
964
978
|
TdFlavoredMarkdownLoaderComponent,
|
|
965
979
|
TdFlavoredMarkdownButtonComponent,
|
|
980
|
+
TdFlavoredMarkdownTableComponent,
|
|
966
981
|
],
|
|
967
982
|
exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],
|
|
968
983
|
},] }
|
|
@@ -986,5 +1001,5 @@ CovalentFlavoredMarkdownModule.decorators = [
|
|
|
986
1001
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
987
1002
|
*/
|
|
988
1003
|
|
|
989
|
-
export { CovalentFlavoredMarkdownModule, TdFlavoredMarkdownButtonComponent, TdFlavoredMarkdownComponent, TdFlavoredMarkdownContainerDirective, TdFlavoredMarkdownLoaderComponent, TdFlavoredListComponent as ɵa };
|
|
1004
|
+
export { CovalentFlavoredMarkdownModule, TdFlavoredMarkdownButtonComponent, TdFlavoredMarkdownComponent, TdFlavoredMarkdownContainerDirective, TdFlavoredMarkdownLoaderComponent, TdFlavoredMarkdownTableComponent, TdFlavoredListComponent as ɵa };
|
|
990
1005
|
//# sourceMappingURL=covalent-flavored-markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covalent-flavored-markdown.js","sources":["../../../src/platform/flavored-markdown/cfm-list/cfm-list.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.component.ts","../../../src/platform/flavored-markdown/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.module.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: 'cfm-list',\n styleUrls: ['./cfm-list.component.scss'],\n templateUrl: './cfm-list.component.html',\n})\nexport class TdFlavoredListComponent {\n @Input() lines: IFlavoredListItem[];\n @Input() dense: boolean = false;\n}\n","import {\n Component,\n Directive,\n AfterViewInit,\n Input,\n Renderer2,\n Type,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n ViewContainerRef,\n ComponentFactoryResolver,\n Injector,\n ComponentRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n ElementRef,\n HostBinding,\n} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { TdFlavoredListComponent, IFlavoredListItem } from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, ICopyCodeTooltips } from '@covalent/highlight';\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\nimport {\n TdDataTableComponent,\n TdDataTableSortingOrder,\n ITdDataTableSortChangeEvent,\n ITdDataTableColumnWidth,\n} from '@covalent/core/data-table';\n\nexport interface ITdFlavoredMarkdownButtonClickEvent {\n text: string;\n data: string;\n}\n\n@Component({\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n})\nexport class TdFlavoredMarkdownButtonComponent {\n @HostBinding('style.display') display: string = 'inline-block';\n @Input() text: string = '';\n @Input() data: string = '';\n @Output()\n clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n emitClick(): void {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n}\n\n@Directive({\n selector: '[tdFlavoredMarkdownContainer]',\n})\nexport class TdFlavoredMarkdownContainerDirective {\n constructor(public viewContainerRef: ViewContainerRef, private _renderer: Renderer2) {}\n\n clear(): void {\n this._renderer.setProperty(this.viewContainerRef.element.nativeElement, 'innerHTML', '');\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => void;\n\n@Component({\n selector: 'td-flavored-markdown',\n styleUrls: ['./flavored-markdown.component.scss'],\n templateUrl: './flavored-markdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownComponent implements AfterViewInit, OnChanges {\n private _content: string;\n private _simpleLineBreaks: boolean = false;\n private _hostedUrl: string;\n private _anchor: string;\n\n private _components: {} = {};\n private _viewInit: boolean = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n @Input('content')\n set content(content: string) {\n this._content = content;\n }\n\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n @Input('simpleLineBreaks')\n set simpleLineBreaks(simpleLineBreaks: boolean) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n @Input('hostedUrl')\n set hostedUrl(hostedUrl: string) {\n this._hostedUrl = hostedUrl;\n }\n\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n @Input('anchor')\n set anchor(anchor: string) {\n this._anchor = anchor;\n }\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> = new EventEmitter<undefined>();\n\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n @Output()\n buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n\n @ViewChild(TdFlavoredMarkdownContainerDirective, { static: true }) container: TdFlavoredMarkdownContainerDirective;\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n private _injector: Injector,\n private _elementRef: ElementRef,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // only anchor changed\n if (changes.anchor && !changes.content && !changes.simpleLineBreaks && !changes.hostedUrl) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n } else {\n this.refresh();\n }\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private _loadContent(markdown: string): void {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown.replace(/^(\\s|\\t)*\\n+/g, '').replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines: string[] = markdown.split('\\n');\n\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespace: string = lines[0].match(/^(\\s|\\t)*/)[0];\n\n // Remove all indentation spaces so markdown can be parsed correctly\n const startingWhitespaceRegex: RegExp = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '');\n });\n\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceLists(markdown);\n markdown = this._replaceButtons(markdown);\n const keys: string[] = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA: string, compB: string) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(() => scrollToAnchor(this._elementRef.nativeElement, this._anchor, false), 250);\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _render(markdown: string, key: string, keys: string[]): void {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts: string[] = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], undefined, undefined);\n this.container.viewContainerRef.insert(this._components[key].hostView, this.container.viewContainerRef.length);\n this._components[key] = undefined;\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> = this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(contentRef.hostView, this.container.viewContainerRef.length);\n }\n }\n\n private _replaceComponent<T>(\n markdown: string,\n type: Type<T>,\n regExp: RegExp,\n replacerFunc: IReplacerFunc<T>,\n ): string {\n let componentIndex: number = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> = this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(this._injector);\n replacerFunc(componentRef, ...args);\n const key: string = '[' + componentFactory.selector + '-placeholder-' + componentIndex++ + ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp: RegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (componentRef: ComponentRef<MatCheckbox>, match: string, checked: string, label: string) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>componentRef.instance._elementRef.nativeElement).getElementsByClassName(\n 'mat-checkbox-label',\n )[0],\n 'innerHTML',\n label,\n );\n },\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp: RegExp = /\\[([^\\[]+)\\](\\(#data=(.*)\\))/i;\n const globalButtonRegExp: RegExp = new RegExp(buttonRegExp.source, buttonRegExp.flags + 'g');\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>, match: string) => {\n const matches: RegExpExecArray = buttonRegExp.exec(match);\n const text: string = matches[1];\n const data: string = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked.subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent),\n );\n },\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp: RegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (componentRef: ComponentRef<TdHighlightComponent>, match: string, language: string, codeblock: string) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.content = codeblock;\n },\n );\n }\n\n private _replaceTables(markdown: string): string {\n const tableRgx: RegExp =\n /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(\n markdown,\n TdDataTableComponent,\n tableRgx,\n (componentRef: ComponentRef<TdDataTableComponent>, match: string) => {\n const dataTableLines: string[] = match.replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '').split('\\n');\n const columns: string[] = dataTableLines[0]\n .split('|')\n .filter((col: string) => {\n return col;\n })\n .map((s: string) => {\n return s.trim();\n });\n const alignment: string[] = dataTableLines[1]\n .split('|')\n .filter((v: string) => {\n return v;\n })\n .map((s: string) => {\n return s.trim();\n });\n componentRef.instance.columns = columns.map((col: string, index: number) => {\n const widths: string[] = alignment[index].split('---');\n const min: number = parseInt(widths[0], 10);\n const max: number = parseInt(widths[1], 10);\n let width: ITdDataTableColumnWidth = { min, max };\n if (isNaN(min) && isNaN(max)) {\n width = undefined;\n } else if (isNaN(max)) {\n width.max = undefined;\n } else if (isNaN(min)) {\n width.min = undefined;\n }\n return {\n label: col,\n name: col.toLowerCase().trim(),\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n width,\n };\n });\n\n const data: any[] = [];\n for (let i: number = 2; i < dataTableLines.length; i++) {\n const rowSplit: string[] = dataTableLines[i]\n .split('|')\n .filter((cell: string) => {\n return cell;\n })\n .map((s: string) => {\n return s.trim();\n });\n const row: any = {};\n columns.forEach((col: string, index: number) => {\n const rowSplitCell: string = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(/`(.*)`/, (m: string, value: string) => {\n return value;\n });\n }\n });\n data.push(row);\n }\n componentRef.instance.data = data;\n componentRef.instance.sortable = true;\n componentRef.instance.sortChange.subscribe((event: ITdDataTableSortChangeEvent) => {\n componentRef.instance.data.sort((a: any, b: any) => {\n const compA: any = a[event.name];\n const compB: any = b[event.name];\n let direction: number = 0;\n if (!Number.isNaN(Number.parseFloat(compA)) && !Number.isNaN(Number.parseFloat(compB))) {\n direction = Number.parseFloat(compA) - Number.parseFloat(compB);\n } else {\n if (compA < compB) {\n direction = -1;\n } else if (compA > compB) {\n direction = 1;\n }\n }\n return direction * (event.order === TdDataTableSortingOrder.Descending ? -1 : 1);\n });\n componentRef.instance.refresh();\n });\n setTimeout(() => {\n componentRef.instance.refresh();\n });\n },\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp: RegExp = /(?:^|\\n)(( *\\+)[ |\\t](.*)\\n)+/g;\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const lineTexts: string[] = match.split(\n new RegExp('\\\\n {' + (match.indexOf('+') - 1).toString() + '}\\\\+[ |\\\\t]'),\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string, index: number) => {\n const sublineTexts: string[] = text.split(/\\n *\\+ /);\n lines.push({\n line: sublineTexts.shift(),\n sublines: sublineTexts.map((subline: string) => {\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n },\n );\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectorRef,\n SimpleChanges,\n OnChanges,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '../flavored-markdown.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\n// TODO: make a td-markdown-loader component\n\n@Component({\n selector: 'td-flavored-markdown-loader',\n styleUrls: ['./flavored-markdown-loader.component.scss'],\n templateUrl: './flavored-markdown-loader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownLoaderComponent implements OnChanges {\n /**\n * url: string\n * The url of the markdown file.\n */\n @Input() url: string;\n\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n @Input() httpOptions: object;\n\n /**\n * anchor: string\n * Anchor to jump to.\n */\n @Input() anchor: string;\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter();\n\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n @Output() loadFailed: EventEmitter<Error> = new EventEmitter();\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter();\n\n content: string;\n loading: boolean = true;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.url || changes.httpOptions) {\n this.loadMarkdown();\n }\n }\n\n async loadMarkdown(): Promise<void> {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(this.url, this.httpOptions);\n } catch (error) {\n this.loadFailed.emit(error);\n } finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\n\nimport { CovalentDataTableModule, TdDataTableComponent } from '@covalent/core/data-table';\nimport { CovalentHighlightModule, TdHighlightComponent } from '@covalent/highlight';\nimport { CovalentMarkdownModule, TdMarkdownComponent } from '@covalent/markdown';\n\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport {\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownButtonComponent,\n} from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatListModule,\n MatProgressBarModule,\n CovalentDataTableModule,\n CovalentHighlightModule,\n CovalentMarkdownModule,\n MatButtonModule,\n ],\n declarations: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n})\nexport class CovalentFlavoredMarkdownModule {}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"covalent-flavored-markdown.js","sources":["../../../src/platform/flavored-markdown/cfm-list/cfm-list.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.component.ts","../../../src/platform/flavored-markdown/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../src/platform/flavored-markdown/flavored-markdown.module.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: 'cfm-list',\n styleUrls: ['./cfm-list.component.scss'],\n templateUrl: './cfm-list.component.html',\n})\nexport class TdFlavoredListComponent {\n @Input() lines: IFlavoredListItem[];\n @Input() dense: boolean = false;\n}\n","import {\n Component,\n Directive,\n AfterViewInit,\n Input,\n Renderer2,\n Type,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n ViewContainerRef,\n ComponentFactoryResolver,\n Injector,\n ComponentRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n ElementRef,\n HostBinding,\n OnInit,\n} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TdFlavoredListComponent, IFlavoredListItem } from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, ICopyCodeTooltips } from '@covalent/highlight';\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\n\nexport interface ITdFlavoredMarkdownButtonClickEvent {\n text: string;\n data: string;\n}\n\nexport interface ITdFlavoredMarkDownTableColumn {\n label: string;\n name: string;\n numeric: boolean;\n}\n\n@Component({\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{ column.label }}</mat-header-cell>\n <mat-cell *matCellDef=\"let row\">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n})\nexport class TdFlavoredMarkdownTableComponent implements OnInit, AfterViewInit {\n @Input() columnDefs: ITdFlavoredMarkDownTableColumn[] = [];\n @Input() data: unknown[];\n @ViewChild(MatSort) sort: MatSort;\n\n displayedColumns: string[];\n dataSource: MatTableDataSource<unknown>;\n\n ngOnInit(): void {\n this.displayedColumns = this.columnDefs.map((c: ITdFlavoredMarkDownTableColumn) => c.name);\n this.dataSource = new MatTableDataSource(this.data);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n }\n}\n\n@Component({\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n})\nexport class TdFlavoredMarkdownButtonComponent {\n @HostBinding('style.display') display: string = 'inline-block';\n @Input() text: string = '';\n @Input() data: string = '';\n @Output()\n clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n emitClick(): void {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n}\n\n@Directive({\n selector: '[tdFlavoredMarkdownContainer]',\n})\nexport class TdFlavoredMarkdownContainerDirective {\n constructor(public viewContainerRef: ViewContainerRef, private _renderer: Renderer2) {}\n\n clear(): void {\n this._renderer.setProperty(this.viewContainerRef.element.nativeElement, 'innerHTML', '');\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => void;\n\n@Component({\n selector: 'td-flavored-markdown',\n styleUrls: ['./flavored-markdown.component.scss'],\n templateUrl: './flavored-markdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownComponent implements AfterViewInit, OnChanges {\n private _content: string;\n private _simpleLineBreaks: boolean = false;\n private _hostedUrl: string;\n private _anchor: string;\n\n private _components: {} = {};\n private _viewInit: boolean = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n @Input('content')\n set content(content: string) {\n this._content = content;\n }\n\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n @Input('simpleLineBreaks')\n set simpleLineBreaks(simpleLineBreaks: boolean) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n @Input('hostedUrl')\n set hostedUrl(hostedUrl: string) {\n this._hostedUrl = hostedUrl;\n }\n\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n @Input('anchor')\n set anchor(anchor: string) {\n this._anchor = anchor;\n }\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> = new EventEmitter<undefined>();\n\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n @Output()\n buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n\n @ViewChild(TdFlavoredMarkdownContainerDirective, { static: true }) container: TdFlavoredMarkdownContainerDirective;\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n private _injector: Injector,\n private _elementRef: ElementRef,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // only anchor changed\n if (changes.anchor && !changes.content && !changes.simpleLineBreaks && !changes.hostedUrl) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n } else {\n this.refresh();\n }\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent((<HTMLElement>this.container.viewContainerRef.element.nativeElement).textContent);\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private _loadContent(markdown: string): void {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown.replace(/^(\\s|\\t)*\\n+/g, '').replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines: string[] = markdown.split('\\n');\n\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespace: string = lines[0].match(/^(\\s|\\t)*/)[0];\n\n // Remove all indentation spaces so markdown can be parsed correctly\n const startingWhitespaceRegex: RegExp = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '');\n });\n\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceLists(markdown);\n markdown = this._replaceButtons(markdown);\n const keys: string[] = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA: string, compB: string) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(() => scrollToAnchor(this._elementRef.nativeElement, this._anchor, false), 250);\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _render(markdown: string, key: string, keys: string[]): void {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts: string[] = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], undefined, undefined);\n this.container.viewContainerRef.insert(this._components[key].hostView, this.container.viewContainerRef.length);\n this._components[key] = undefined;\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> = this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(contentRef.hostView, this.container.viewContainerRef.length);\n }\n }\n\n private _replaceComponent<T>(\n markdown: string,\n type: Type<T>,\n regExp: RegExp,\n replacerFunc: IReplacerFunc<T>,\n ): string {\n let componentIndex: number = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> = this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(this._injector);\n replacerFunc(componentRef, ...args);\n const key: string = '[' + componentFactory.selector + '-placeholder-' + componentIndex++ + ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp: RegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (componentRef: ComponentRef<MatCheckbox>, match: string, checked: string, label: string) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>componentRef.instance._elementRef.nativeElement).getElementsByClassName(\n 'mat-checkbox-label',\n )[0],\n 'innerHTML',\n label,\n );\n },\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp: RegExp = /\\[([^\\[]+)\\](\\(#data=(.*)\\))/i;\n const globalButtonRegExp: RegExp = new RegExp(buttonRegExp.source, buttonRegExp.flags + 'g');\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>, match: string) => {\n const matches: RegExpExecArray = buttonRegExp.exec(match);\n const text: string = matches[1];\n const data: string = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked.subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent),\n );\n },\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp: RegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (componentRef: ComponentRef<TdHighlightComponent>, match: string, language: string, codeblock: string) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.content = codeblock;\n },\n );\n }\n\n private _replaceTables(markdown: string): string {\n const tableRgx: RegExp =\n /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownTableComponent,\n tableRgx,\n (componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>, match: string) => {\n const dataTableLines: string[] = match.replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '').split('\\n');\n const columns: string[] = dataTableLines[0]\n .split('|')\n .filter((col: string) => {\n return col;\n })\n .map((s: string) => {\n return s.trim();\n });\n const alignment: string[] = dataTableLines[1]\n .split('|')\n .filter((v: string) => {\n return v;\n })\n .map((s: string) => {\n return s.trim();\n });\n\n const data: any[] = [];\n for (let i: number = 2; i < dataTableLines.length; i++) {\n const rowSplit: string[] = dataTableLines[i]\n .split('|')\n .filter((cell: string) => {\n return cell;\n })\n .map((s: string) => {\n return s.trim();\n });\n const row: any = {};\n columns.forEach((col: string, index: number) => {\n const rowSplitCell: string = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(/`(.*)`/, (m: string, value: string) => {\n return value;\n });\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map((col: string, index: number) => {\n return {\n label: col,\n name: col.toLowerCase().trim(),\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n });\n componentRef.instance.data = data;\n },\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp: RegExp = /(?:^|\\n)(( *\\+)[ |\\t](.*)\\n)+/g;\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const lineTexts: string[] = match.split(\n new RegExp('\\\\n {' + (match.indexOf('+') - 1).toString() + '}\\\\+[ |\\\\t]'),\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string, index: number) => {\n const sublineTexts: string[] = text.split(/\\n *\\+ /);\n lines.push({\n line: sublineTexts.shift(),\n sublines: sublineTexts.map((subline: string) => {\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n },\n );\n }\n}\n","import {\n Component,\n Input,\n ChangeDetectorRef,\n SimpleChanges,\n OnChanges,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '../flavored-markdown.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\n// TODO: make a td-markdown-loader component\n\n@Component({\n selector: 'td-flavored-markdown-loader',\n styleUrls: ['./flavored-markdown-loader.component.scss'],\n templateUrl: './flavored-markdown-loader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownLoaderComponent implements OnChanges {\n /**\n * url: string\n * The url of the markdown file.\n */\n @Input() url: string;\n\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n @Input() httpOptions: object;\n\n /**\n * anchor: string\n * Anchor to jump to.\n */\n @Input() anchor: string;\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n @Input() copyCodeToClipboard: boolean = false;\n\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips: ICopyCodeTooltips = {};\n\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter();\n\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n @Output() loadFailed: EventEmitter<Error> = new EventEmitter();\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter();\n\n content: string;\n loading: boolean = true;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.url || changes.httpOptions) {\n this.loadMarkdown();\n }\n }\n\n async loadMarkdown(): Promise<void> {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(this.url, this.httpOptions);\n } catch (error) {\n this.loadFailed.emit(error);\n } finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\n\nimport { CovalentHighlightModule } from '@covalent/highlight';\nimport { CovalentMarkdownModule } from '@covalent/markdown';\n\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport {\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n} from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatListModule,\n MatProgressBarModule,\n CovalentHighlightModule,\n CovalentMarkdownModule,\n MatButtonModule,\n MatTableModule,\n MatSortModule,\n ],\n declarations: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n})\nexport class CovalentFlavoredMarkdownModule {}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
|
-
import { AfterViewInit, Renderer2, ChangeDetectorRef, EventEmitter, ViewContainerRef, ComponentFactoryResolver, Injector, ComponentRef, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, Renderer2, ChangeDetectorRef, EventEmitter, ViewContainerRef, ComponentFactoryResolver, Injector, ComponentRef, OnChanges, SimpleChanges, ElementRef, OnInit } from '@angular/core';
|
|
2
|
+
import { MatSort } from '@angular/material/sort';
|
|
3
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
2
4
|
import { ICopyCodeTooltips } from '@covalent/highlight';
|
|
3
5
|
export interface ITdFlavoredMarkdownButtonClickEvent {
|
|
4
6
|
text: string;
|
|
5
7
|
data: string;
|
|
6
8
|
}
|
|
9
|
+
export interface ITdFlavoredMarkDownTableColumn {
|
|
10
|
+
label: string;
|
|
11
|
+
name: string;
|
|
12
|
+
numeric: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare class TdFlavoredMarkdownTableComponent implements OnInit, AfterViewInit {
|
|
15
|
+
columnDefs: ITdFlavoredMarkDownTableColumn[];
|
|
16
|
+
data: unknown[];
|
|
17
|
+
sort: MatSort;
|
|
18
|
+
displayedColumns: string[];
|
|
19
|
+
dataSource: MatTableDataSource<unknown>;
|
|
20
|
+
ngOnInit(): void;
|
|
21
|
+
ngAfterViewInit(): void;
|
|
22
|
+
}
|
|
7
23
|
export declare class TdFlavoredMarkdownButtonComponent {
|
|
8
24
|
display: string;
|
|
9
25
|
text: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@covalent/flavored-markdown",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-alpha.0",
|
|
4
4
|
"description": "Teradata UI Platform Flavored Markdown Module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"@angular/core": "^9.0.0 || ^10.0.0-0 || ^11.0.0-0",
|
|
40
40
|
"@angular/cdk": "^9.0.0 || ^10.0.0-0 || ^11.0.0-0",
|
|
41
41
|
"@angular/material": "^9.0.0 || ^10.0.0-0 || ^11.0.0-0",
|
|
42
|
-
"@covalent/core": "^
|
|
43
|
-
"@covalent/highlight": "^
|
|
44
|
-
"@covalent/markdown": "^
|
|
42
|
+
"@covalent/core": "^4.0.0-alpha.0",
|
|
43
|
+
"@covalent/highlight": "^4.0.0-alpha.0",
|
|
44
|
+
"@covalent/markdown": "^4.0.0-alpha.0"
|
|
45
45
|
},
|
|
46
46
|
"main": "bundles/covalent-flavored-markdown.umd.js",
|
|
47
47
|
"module": "fesm2015/covalent-flavored-markdown.js",
|