From cb13e2d374d633767893ecf4e639d6959fbef605 Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Fri, 12 Aug 2022 21:02:36 -0700 Subject: [PATCH] create documentation link from __dirname --- Gruntfile.js | 2 +- .../modeler/features/boolean/boolean.operation.ts | 5 ++--- .../features/deleteBody/deleteBody.operation.ts | 9 +++++---- web/app/cad/craft/operationPlugin.ts | 10 +++++++++- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 47d28e56..52afe2f1 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -90,7 +90,7 @@ module.exports = function(grunt) { }); }); - grunt.registerTask('default', ['clean', 'build', 'copy:resources', 'copy:lib_assets', 'mark-revision', 'show-revision']); + grunt.registerTask('default', ['clean', 'build', 'copy:resources', 'copy:lib_assets', 'gen-docs', 'mark-revision', 'show-revision']); grunt.registerTask('gen-docs', ['copy:docs', 'process-markdown']); diff --git a/modules/workbenches/modeler/features/boolean/boolean.operation.ts b/modules/workbenches/modeler/features/boolean/boolean.operation.ts index e26faad1..38d4daed 100644 --- a/modules/workbenches/modeler/features/boolean/boolean.operation.ts +++ b/modules/workbenches/modeler/features/boolean/boolean.operation.ts @@ -3,7 +3,6 @@ import {ApplicationContext} from "context"; import {EntityKind} from "cad/model/entities"; import {BooleanDefinition} from "cad/craft/schema/common/BooleanDefinition"; import {OperationDescriptor} from "cad/craft/operationPlugin"; -import {GenerateWorkbenchOperationDocumentationLink} from "doc/documentationHelper"; interface BooleanParams { tools: []; @@ -34,7 +33,6 @@ export const BooleanOperation: OperationDescriptor = { return returnObject; }, - documentationLink: GenerateWorkbenchOperationDocumentationLink(__dirname), form: [ { type: 'selection', @@ -97,5 +95,6 @@ export const BooleanOperation: OperationDescriptor = { } } } - ] + ], + path: __dirname } diff --git a/modules/workbenches/modeler/features/deleteBody/deleteBody.operation.ts b/modules/workbenches/modeler/features/deleteBody/deleteBody.operation.ts index da53a419..93173a31 100644 --- a/modules/workbenches/modeler/features/deleteBody/deleteBody.operation.ts +++ b/modules/workbenches/modeler/features/deleteBody/deleteBody.operation.ts @@ -1,7 +1,7 @@ -import { roundValueForPresentation as r } from 'cad/craft/operationHelper'; -import { ApplicationContext } from "context"; -import { EntityKind } from "cad/model/entities"; -import { OperationDescriptor } from "cad/craft/operationPlugin"; +import {roundValueForPresentation as r} from 'cad/craft/operationHelper'; +import {ApplicationContext} from "context"; +import {EntityKind} from "cad/model/entities"; +import {OperationDescriptor} from "cad/craft/operationPlugin"; import {MShell} from "cad/model/mshell"; interface DeleteBodyParams { @@ -39,4 +39,5 @@ export const DeleteBodyOperation: OperationDescriptor = { }, }, ], + path: __dirname, } diff --git a/web/app/cad/craft/operationPlugin.ts b/web/app/cad/craft/operationPlugin.ts index d50ef9f3..56131cfe 100644 --- a/web/app/cad/craft/operationPlugin.ts +++ b/web/app/cad/craft/operationPlugin.ts @@ -13,6 +13,7 @@ import {IconDeclaration} from "cad/icons/IconDeclaration"; import {resolveIcon} from "cad/craft/ui/iconResolver"; import {loadDeclarativeForm} from "cad/mdf/declarativeFormLoader"; import {operationIconToActionIcon} from "cad/craft/operationHelper"; +import {GenerateWorkbenchOperationDocumentationLink} from "doc/documentationHelper"; export function activate(ctx: ApplicationContext) { @@ -51,12 +52,18 @@ export function activate(ctx: ApplicationContext) { let schemaIndex = createSchemaIndex(schema); + let documentationLink = descriptor.documentationLink; + if (!documentationLink && descriptor.path) { + documentationLink = GenerateWorkbenchOperationDocumentationLink(descriptor.path); + } + let operation = { appearance, schemaIndex, defaultActiveField: schemaIndex.fields[0]?.flattenedPath, // to be overridden by descriptor ...descriptor, - schema, form + schema, form, + documentationLink }; registry$.mutate(registry => registry[id] = operation); @@ -140,6 +147,7 @@ export interface OperationDescriptor { schema?: OperationSchema, onParamsUpdate?: (params, name, value) => void, documentationLink?: string, + path?: string, masking?: { id: string, label: string;