@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
1 lines • 5.09 kB
Source Map (JSON)
{"version":3,"file":"c8y-ngx-components-widgets-definitions-markdown.mjs","sources":["../../widgets/definitions/markdown/index.ts","../../widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.ts"],"sourcesContent":["import type { DynamicWidgetDefinition } from '@c8y/ngx-components';\nimport { gettext, hookWidget } from '@c8y/ngx-components';\nimport { defaultWidgetIds } from '@c8y/ngx-components/widgets/definitions';\nimport { inject, Injector } from '@angular/core';\nimport {\n MarkdownWidgetConfig,\n MarkdownWidgetService\n} from '@c8y/ngx-components/widgets/implementations/markdown';\n\nexport interface ExportedMarkdownWidgetConfig extends MarkdownWidgetConfig {\n markdownDetails?: { file: { name: string; type: string }; text: string };\n}\n\nexport const markdownWidgetDefinition = {\n id: defaultWidgetIds.MARKDOWN,\n label: gettext('Markdown widget'),\n description: gettext(\n 'Display content provided as Markdown. You can either upload a file, or provide a file path.'\n ),\n loadComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetViewComponent\n ),\n loadConfigComponent: () =>\n import('@c8y/ngx-components/widgets/implementations/markdown').then(\n m => m.MarkdownWidgetConfigComponent\n ),\n previewImage: 'c8y-style-assets/markdown-widget.png',\n\n data: {\n schema: () =>\n import(\n 'c8y-schema-loader?interfaceName=MarkdownWidgetConfig!@c8y/ngx-components/widgets/implementations/markdown'\n ),\n export: exportMarkdownWidgetConfig,\n import: importMarkdownWidgetConfig,\n settings: {\n noNewWidgets: false,\n widgetDefaults: {\n _width: 8,\n _height: 4\n },\n ng1: {\n options: {\n noDeviceTarget: true,\n groupsSelectable: false\n }\n }\n }\n }\n} satisfies DynamicWidgetDefinition;\n\nexport const markdownWidgetProviders = [hookWidget(markdownWidgetDefinition)];\n\nasync function exportMarkdownWidgetConfig(\n config: MarkdownWidgetConfig\n): Promise<ExportedMarkdownWidgetConfig> {\n const injector = inject(Injector);\n if (config.contentUrl && !config.markdownBinaryId) {\n return config;\n }\n const markdownWidgetService = injector.get(MarkdownWidgetService);\n const file = await markdownWidgetService.getFile(config.markdownBinaryId);\n const content = await file.text();\n\n return {\n ...config,\n markdownDetails: {\n text: content,\n file: {\n name: file.name,\n type: file.type\n }\n }\n };\n}\n\nasync function importMarkdownWidgetConfig(\n config: ExportedMarkdownWidgetConfig\n): Promise<MarkdownWidgetConfig> {\n if (!config.markdownDetails) {\n return config;\n }\n const injector = inject(Injector);\n const markdownService = injector.get(MarkdownWidgetService);\n const fileToUpload = new File([config.markdownDetails.text], config.markdownDetails.file.name, {\n type: config.markdownDetails.file.type\n });\n const markdownBinaryId = await markdownService.uploadFile(fileToUpload);\n\n return {\n contentUrl: config.contentUrl,\n markdownBinaryId\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAaa,MAAA,wBAAwB,GAAG;IACtC,EAAE,EAAE,gBAAgB,CAAC,QAAQ;AAC7B,IAAA,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC;AACjC,IAAA,WAAW,EAAE,OAAO,CAClB,6FAA6F,CAC9F;AACD,IAAA,aAAa,EAAE,MACb,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,2BAA2B,CACnC;AACH,IAAA,mBAAmB,EAAE,MACnB,OAAO,sDAAsD,CAAC,CAAC,IAAI,CACjE,CAAC,IAAI,CAAC,CAAC,6BAA6B,CACrC;AACH,IAAA,YAAY,EAAE,sCAAsC;AAEpD,IAAA,IAAI,EAAE;AACJ,QAAA,MAAM,EAAE,MACN,OACE,2GAA2G,CAC5G;AACH,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,MAAM,EAAE,0BAA0B;AAClC,QAAA,QAAQ,EAAE;AACR,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,OAAO,EAAE;AACV,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,gBAAgB,EAAE;AACnB;AACF;AACF;AACF;;AAGU,MAAA,uBAAuB,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC;AAE5E,eAAe,0BAA0B,CACvC,MAA4B,EAAA;AAE5B,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;AACjD,QAAA,OAAO,MAAM;;IAEf,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACjE,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACzE,IAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;IAEjC,OAAO;AACL,QAAA,GAAG,MAAM;AACT,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC;AACZ;AACF;KACF;AACH;AAEA,eAAe,0BAA0B,CACvC,MAAoC,EAAA;AAEpC,IAAA,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AAC3B,QAAA,OAAO,MAAM;;AAEf,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACjC,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;AAC7F,QAAA,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;AACnC,KAAA,CAAC;IACF,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC;IAEvE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B;KACD;AACH;;AC9FA;;AAEG;;;;"}