mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-1769] Updates to prop table script (#2829)
* [ADF-1769] Fixed prop table tool formatting * [ADF-1769] Added code style to event type column
This commit is contained in:
committed by
Eugenio Romano
parent
e757378e9b
commit
3bee9a70f5
@@ -2,7 +2,6 @@
|
||||
exports.__esModule = true;
|
||||
var ts = require("typescript");
|
||||
var path = require("path");
|
||||
var program = require("commander");
|
||||
var heading = require("mdast-util-heading-range");
|
||||
var unist = require("../unistHelpers");
|
||||
function initPhase(aggData) {
|
||||
@@ -27,19 +26,18 @@ function updatePhase(tree, pathname, aggData) {
|
||||
var inTable_1 = buildInputsTable(inputs);
|
||||
var outTable_1 = buildOutputsTable(outputs);
|
||||
if (inTable_1) {
|
||||
console.log("Made a props table");
|
||||
heading(tree, "Properties", function (before, section, after) {
|
||||
return [before, inTable_1, after];
|
||||
});
|
||||
}
|
||||
if (outTable_1) {
|
||||
console.log("Made an events table");
|
||||
heading(tree, "Events", function (before, section, after) {
|
||||
return [before, outTable_1, after];
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
exports.updatePhase = updatePhase;
|
||||
function initialCap(str) {
|
||||
@@ -61,7 +59,7 @@ function fixCompodocFilename(rawName) {
|
||||
return finalName;
|
||||
}
|
||||
function getPropDocData(srcPath, docClassName, inputs, outputs) {
|
||||
var prog = ts.createProgram(program.args, {
|
||||
var prog = ts.createProgram([srcPath], {
|
||||
target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS
|
||||
});
|
||||
var sourceFiles = prog.getSourceFiles();
|
||||
@@ -97,7 +95,8 @@ function getPropDataFromClass(checker, classDec, inputs, outputs) {
|
||||
if (prop.initializer) {
|
||||
initializer = prop.initializer.getText(sourceFile);
|
||||
}
|
||||
var doc = ts.displayPartsToString(memSymbol.getDocumentationComment());
|
||||
var doc = ts.displayPartsToString(memSymbol.getDocumentationComment(checker));
|
||||
doc = doc.replace(/\r\n/g, " ");
|
||||
var propType = checker.typeToString(checker.getTypeOfSymbolAtLocation(memSymbol, memSymbol.valueDeclaration));
|
||||
var dec = prop.decorators[0].getText(sourceFile);
|
||||
if (dec.match(/@Input/)) {
|
||||
@@ -127,23 +126,30 @@ function buildInputsTable(inputs) {
|
||||
unist.makeTableRow([
|
||||
unist.makeTableCell([unist.makeText("Name")]),
|
||||
unist.makeTableCell([unist.makeText("Type")]),
|
||||
unist.makeTableCell([unist.makeText("Default value")]),
|
||||
// unist.makeTableCell([unist.makeText("Default value")]),
|
||||
unist.makeTableCell([unist.makeText("Description")])
|
||||
])
|
||||
];
|
||||
for (var i = 0; i < inputs.length; i++) {
|
||||
var pName = inputs[i].name;
|
||||
var pType = inputs[i].type;
|
||||
var pDefault = inputs[i].defaultValue || "";
|
||||
var pDesc = inputs[i].description || "";
|
||||
var pDefault = inputs[i].init || "";
|
||||
var pDesc = inputs[i].docText || "";
|
||||
if (pDesc) {
|
||||
pDesc = pDesc.trim().replace(/[\n\r]+/, " ");
|
||||
//pDesc = pDesc.trim().replace(/[\n\r]+/, " ");
|
||||
pDesc = pDesc.replace(/[\n\r]+/, " ");
|
||||
}
|
||||
var descCellContent = [unist.makeText(pDesc)];
|
||||
if (pDefault) {
|
||||
descCellContent.push(unist.makeHTML("<br/>"));
|
||||
descCellContent.push(unist.makeText(" Default value: "));
|
||||
descCellContent.push(unist.makeInlineCode(pDefault));
|
||||
}
|
||||
var cells = [
|
||||
unist.makeTableCell([unist.makeText(pName)]),
|
||||
unist.makeTableCell([unist.makeText(pType)]),
|
||||
unist.makeTableCell([unist.makeText(pDefault)]),
|
||||
unist.makeTableCell([unist.makeText(pDesc)])
|
||||
unist.makeTableCell([unist.makeInlineCode(pType)]),
|
||||
//unist.makeTableCell([unist.makeText(pDefault)]),
|
||||
unist.makeTableCell(descCellContent)
|
||||
];
|
||||
rows.push(unist.makeTableRow(cells));
|
||||
}
|
||||
@@ -163,13 +169,13 @@ function buildOutputsTable(outputs) {
|
||||
for (var i = 0; i < outputs.length; i++) {
|
||||
var eName = outputs[i].name;
|
||||
var eType = outputs[i].type;
|
||||
var eDesc = outputs[i].description || "";
|
||||
var eDesc = outputs[i].docText || "";
|
||||
if (eDesc) {
|
||||
eDesc = eDesc.trim().replace(/[\n\r]+/, ' ');
|
||||
}
|
||||
var cells = [
|
||||
unist.makeTableCell([unist.makeText(eName)]),
|
||||
unist.makeTableCell([unist.makeText(eType)]),
|
||||
unist.makeTableCell([unist.makeInlineCode(eType)]),
|
||||
unist.makeTableCell([unist.makeText(eDesc)])
|
||||
];
|
||||
rows.push(unist.makeTableRow(cells));
|
||||
|
@@ -6,6 +6,7 @@ import * as program from "commander";
|
||||
import * as heading from "mdast-util-heading-range";
|
||||
|
||||
import * as unist from "../unistHelpers";
|
||||
import { JsxEmit } from "typescript";
|
||||
|
||||
export function initPhase(aggData) {
|
||||
}
|
||||
@@ -25,7 +26,7 @@ export function updatePhase(tree, pathname, aggData) {
|
||||
if (srcData) {
|
||||
let srcPath = srcData.path;
|
||||
let className = fixCompodocFilename(fileNameNoSuffix);
|
||||
|
||||
|
||||
let inputs = [];
|
||||
let outputs = [];
|
||||
getPropDocData(path.resolve(".", srcPath), className, inputs, outputs);
|
||||
@@ -34,20 +35,20 @@ export function updatePhase(tree, pathname, aggData) {
|
||||
let outTable = buildOutputsTable(outputs);
|
||||
|
||||
if (inTable) {
|
||||
console.log("Made a props table");
|
||||
heading(tree, "Properties", (before, section, after) => {
|
||||
return [before, inTable, after];
|
||||
});
|
||||
}
|
||||
|
||||
if (outTable) {
|
||||
console.log("Made an events table");
|
||||
heading(tree, "Events", (before, section, after) => {
|
||||
return [before, outTable, after];
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -81,7 +82,7 @@ function fixCompodocFilename(rawName: string) {
|
||||
|
||||
|
||||
function getPropDocData(srcPath: string, docClassName: string, inputs: any[], outputs: any[]) {
|
||||
let prog = ts.createProgram(program.args, {
|
||||
let prog = ts.createProgram([srcPath], {
|
||||
target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS
|
||||
});
|
||||
|
||||
@@ -135,7 +136,9 @@ function getPropDataFromClass(
|
||||
initializer = prop.initializer.getText(sourceFile);
|
||||
}
|
||||
|
||||
let doc = ts.displayPartsToString(memSymbol.getDocumentationComment());
|
||||
let doc = ts.displayPartsToString(memSymbol.getDocumentationComment(checker));
|
||||
doc = doc.replace(/\r\n/g, " ");
|
||||
|
||||
let propType = checker.typeToString(checker.getTypeOfSymbolAtLocation(memSymbol, memSymbol.valueDeclaration!));
|
||||
|
||||
let dec = prop.decorators[0].getText(sourceFile);
|
||||
@@ -169,7 +172,7 @@ function buildInputsTable(inputs: any[]) {
|
||||
unist.makeTableRow([
|
||||
unist.makeTableCell([unist.makeText("Name")]),
|
||||
unist.makeTableCell([unist.makeText("Type")]),
|
||||
unist.makeTableCell([unist.makeText("Default value")]),
|
||||
// unist.makeTableCell([unist.makeText("Default value")]),
|
||||
unist.makeTableCell([unist.makeText("Description")])
|
||||
])
|
||||
];
|
||||
@@ -177,18 +180,27 @@ function buildInputsTable(inputs: any[]) {
|
||||
for (var i = 0; i < inputs.length; i++) {
|
||||
var pName = inputs[i].name;
|
||||
var pType = inputs[i].type;
|
||||
var pDefault = inputs[i].defaultValue || "";
|
||||
var pDesc = inputs[i].description || "";
|
||||
var pDefault = inputs[i].init || "";
|
||||
var pDesc = inputs[i].docText || "";
|
||||
|
||||
if (pDesc) {
|
||||
pDesc = pDesc.trim().replace(/[\n\r]+/, " ");
|
||||
//pDesc = pDesc.trim().replace(/[\n\r]+/, " ");
|
||||
pDesc = pDesc.replace(/[\n\r]+/, " ");
|
||||
}
|
||||
|
||||
var descCellContent = [unist.makeText(pDesc)];
|
||||
|
||||
if (pDefault) {
|
||||
descCellContent.push(unist.makeHTML("<br/>"));
|
||||
descCellContent.push(unist.makeText(" Default value: "));
|
||||
descCellContent.push(unist.makeInlineCode(pDefault));
|
||||
}
|
||||
|
||||
var cells = [
|
||||
unist.makeTableCell([unist.makeText(pName)]),
|
||||
unist.makeTableCell([unist.makeText(pType)]),
|
||||
unist.makeTableCell([unist.makeText(pDefault)]),
|
||||
unist.makeTableCell([unist.makeText(pDesc)])
|
||||
unist.makeTableCell([unist.makeInlineCode(pType)]),
|
||||
//unist.makeTableCell([unist.makeText(pDefault)]),
|
||||
unist.makeTableCell(descCellContent)
|
||||
];
|
||||
|
||||
rows.push(unist.makeTableRow(cells));
|
||||
@@ -214,7 +226,7 @@ function buildOutputsTable(outputs: any[]) {
|
||||
for (var i = 0; i < outputs.length; i++){
|
||||
var eName = outputs[i].name;
|
||||
var eType = outputs[i].type;
|
||||
var eDesc = outputs[i].description || "";
|
||||
var eDesc = outputs[i].docText || "";
|
||||
|
||||
if (eDesc) {
|
||||
eDesc = eDesc.trim().replace(/[\n\r]+/, ' ');
|
||||
@@ -222,7 +234,7 @@ function buildOutputsTable(outputs: any[]) {
|
||||
|
||||
var cells = [
|
||||
unist.makeTableCell([unist.makeText(eName)]),
|
||||
unist.makeTableCell([unist.makeText(eType)]),
|
||||
unist.makeTableCell([unist.makeInlineCode(eType)]),
|
||||
unist.makeTableCell([unist.makeText(eDesc)])
|
||||
];
|
||||
|
||||
|
@@ -21,6 +21,13 @@ module.exports = {
|
||||
};
|
||||
},
|
||||
|
||||
makeStrong: function (content) {
|
||||
return {
|
||||
"type": "strong",
|
||||
"children": content
|
||||
};
|
||||
},
|
||||
|
||||
makeHeading: function (caption, depth) {
|
||||
return {
|
||||
"type": "heading",
|
||||
@@ -83,6 +90,20 @@ module.exports = {
|
||||
};
|
||||
},
|
||||
|
||||
makeInlineCode: function (codeText) {
|
||||
return {
|
||||
"type": "inlineCode",
|
||||
"value": codeText
|
||||
}
|
||||
},
|
||||
|
||||
makeHTML: function (htmlText) {
|
||||
return {
|
||||
"type": "html",
|
||||
"value": htmlText
|
||||
};
|
||||
},
|
||||
|
||||
isHeading: function (node) {
|
||||
return node.type === "heading";
|
||||
},
|
||||
|
@@ -70,140 +70,140 @@ export class DocumentListComponent implements OnInit, OnChanges, OnDestroy, Afte
|
||||
|
||||
@ContentChild(DataColumnListComponent) columnList: DataColumnListComponent;
|
||||
|
||||
/* Define a set of CSS styles styles to apply depending on the permission
|
||||
* of the user on that node. See the [Permission Style model](permissions-style.model.md)
|
||||
/** Define a set of CSS styles styles to apply depending on the permission
|
||||
* of the user on that node. See the Permission Style model
|
||||
* page for further details and examples.
|
||||
*/
|
||||
@Input()
|
||||
permissionsStyle: PermissionStyleModel[] = [];
|
||||
|
||||
/* The default route for all the location-based columns (if declared). */
|
||||
/** The default route for all the location-based columns (if declared). */
|
||||
@Input()
|
||||
locationFormat: string = '/';
|
||||
|
||||
/* Toggles navigation to folder content or file preview */
|
||||
/** Toggles navigation to folder content or file preview */
|
||||
@Input()
|
||||
navigate: boolean = true;
|
||||
|
||||
/* User interaction for folder navigation or file preview. Valid values are "click" and "dblclick". */
|
||||
/** User interaction for folder navigation or file preview. Valid values are "click" and "dblclick". */
|
||||
@Input()
|
||||
navigationMode: string = DocumentListComponent.DOUBLE_CLICK_NAVIGATION; // click|dblclick
|
||||
|
||||
/* Show document thumbnails rather than icons */
|
||||
/** Show document thumbnails rather than icons */
|
||||
@Input()
|
||||
thumbnails: boolean = false;
|
||||
|
||||
/* Row selection mode. Can be null, `single` or `multiple`. For `multiple` mode,
|
||||
/** Row selection mode. Can be null, `single` or `multiple`. For `multiple` mode,
|
||||
* you can use Cmd (macOS) or Ctrl (Win) modifier key to toggle selection for multiple rows.
|
||||
*/
|
||||
@Input()
|
||||
selectionMode: string = 'single'; // null|single|multiple
|
||||
|
||||
/* Toggles multiselect mode */
|
||||
/** Toggles multiselect mode */
|
||||
@Input()
|
||||
multiselect: boolean = false;
|
||||
|
||||
/* Toggles content actions for each row */
|
||||
/** Toggles content actions for each row */
|
||||
@Input()
|
||||
contentActions: boolean = false;
|
||||
|
||||
/* Position of the content actions dropdown menu. Can be set to "left" or "right". */
|
||||
/** Position of the content actions dropdown menu. Can be set to "left" or "right". */
|
||||
@Input()
|
||||
contentActionsPosition: string = 'right'; // left|right
|
||||
|
||||
/* Toggles context menus for each row */
|
||||
/** Toggles context menus for each row */
|
||||
@Input()
|
||||
contextMenuActions: boolean = false;
|
||||
|
||||
/* Custom image for empty folder */
|
||||
/** Custom image for empty folder */
|
||||
@Input()
|
||||
emptyFolderImageUrl: string = './assets/images/empty_doc_lib.svg';
|
||||
|
||||
/* Toggle file drop support for rows (see **UploadDirective** for further details */
|
||||
/** Toggle file drop support for rows (see Upload Directive for further details */
|
||||
@Input()
|
||||
allowDropFiles: boolean = false;
|
||||
|
||||
/* Defines default sorting. The format is an array of 2 strings `[key, direction]`
|
||||
/** Defines default sorting. The format is an array of 2 strings `[key, direction]`
|
||||
* i.e. `['name', 'desc']` or `['name', 'asc']`. Set this value only if you want to
|
||||
* override the default sorting detected by the component based on columns.
|
||||
*/
|
||||
@Input()
|
||||
sorting: string[];
|
||||
|
||||
/* The inline style to apply to every row. See
|
||||
* [NgStyle](https://angular.io/docs/ts/latest/api/common/index/NgStyle-directive.html)
|
||||
/** The inline style to apply to every row. See
|
||||
* the Angular NgStyle
|
||||
* docs for more details and usage examples.
|
||||
*/
|
||||
@Input()
|
||||
rowStyle: string;
|
||||
|
||||
/* The CSS class to apply to every row */
|
||||
/** The CSS class to apply to every row */
|
||||
@Input()
|
||||
rowStyleClass: string;
|
||||
|
||||
/* Toggles the loading state and animated spinners for the component. Used in
|
||||
/** Toggles the loading state and animated spinners for the component. Used in
|
||||
* combination with `navigate=false` to perform custom navigation and loading
|
||||
* state indication.
|
||||
*/
|
||||
@Input()
|
||||
loading: boolean = false;
|
||||
|
||||
/* Custom row filter */
|
||||
/** Custom row filter */
|
||||
@Input()
|
||||
rowFilter: any | null = null;
|
||||
|
||||
/* Custom image resolver */
|
||||
/** Custom image resolver */
|
||||
@Input()
|
||||
imageResolver: any | null = null;
|
||||
|
||||
/* The ID of the folder node to display or a reserved string alias for special sources */
|
||||
/** The ID of the folder node to display or a reserved string alias for special sources */
|
||||
@Input()
|
||||
currentFolderId: string = null;
|
||||
|
||||
/* Currently displayed folder node */
|
||||
/** Currently displayed folder node */
|
||||
@Input()
|
||||
folderNode: MinimalNodeEntryEntity = null;
|
||||
|
||||
/* Document list will show all the nodes contained in the NodePaging entity */
|
||||
/** The Document list will show all the nodes contained in the NodePaging entity */
|
||||
@Input()
|
||||
node: NodePaging = null;
|
||||
|
||||
/* Default value is stored into user preference settings */
|
||||
/** Default value is stored into user preference settings */
|
||||
@Input()
|
||||
maxItems: number;
|
||||
|
||||
/* element to skip over for pagination purpose */
|
||||
/** Number of elements to skip over for pagination purposes */
|
||||
@Input()
|
||||
skipCount: number = 0;
|
||||
|
||||
/* Enable documentlist to work into infinite scrolling mode */
|
||||
/** Set document list to work in infinite scrolling mode */
|
||||
@Input()
|
||||
enableInfiniteScrolling: boolean = false;
|
||||
|
||||
/* Emitted when the user clicks a list node */
|
||||
/** Emitted when the user clicks a list node */
|
||||
@Output()
|
||||
nodeClick: EventEmitter<NodeEntityEvent> = new EventEmitter<NodeEntityEvent>();
|
||||
|
||||
/* Emitted when the user double-clicks a list node */
|
||||
/** Emitted when the user double-clicks a list node */
|
||||
@Output()
|
||||
nodeDblClick: EventEmitter<NodeEntityEvent> = new EventEmitter<NodeEntityEvent>();
|
||||
|
||||
/* Emitted when the current display folder changes */
|
||||
/** Emitted when the current display folder changes */
|
||||
@Output()
|
||||
folderChange: EventEmitter<NodeEntryEvent> = new EventEmitter<NodeEntryEvent>();
|
||||
|
||||
/* Emitted when the user acts upon files with either single or double click
|
||||
/** Emitted when the user acts upon files with either single or double click
|
||||
* (depends on `navigation-mode`). Useful for integration with the
|
||||
* Viewer component.
|
||||
*/
|
||||
@Output()
|
||||
preview: EventEmitter<NodeEntityEvent> = new EventEmitter<NodeEntityEvent>();
|
||||
|
||||
/* Emitted when the Document List has loaded all items and is ready for use */
|
||||
/** Emitted when the Document List has loaded all items and is ready for use */
|
||||
@Output()
|
||||
ready: EventEmitter<NodePaging> = new EventEmitter();
|
||||
|
||||
/* Emitted when the API fails to get the Document List data */
|
||||
/** Emitted when the API fails to get the Document List data */
|
||||
@Output()
|
||||
error: EventEmitter<any> = new EventEmitter();
|
||||
|
||||
|
Reference in New Issue
Block a user