Merge remote-tracking branch 'origin/v15/dev' into v15/feature/tiptap

This commit is contained in:
Jacob Overgaard
2024-09-17 14:27:15 +02:00
884 changed files with 6951 additions and 6450 deletions

View File

@@ -0,0 +1,22 @@
import { writeFileSync } from 'fs';
import { createImportMap } from '../importmap/index.js';
const tsPath = './src/json-schema/all-packages.ts';
const importmap = createImportMap({
rootDir: './src',
replaceModuleExtensions: true,
});
const paths = Object.keys(importmap.imports);
const content = `
${
paths.map(path => `import '${path}';`).join('\n')
}
`;
//const config = await resolveConfig('./.prettierrc.json');
//const formattedContent = await format(content, { ...config, parser: 'json' });
writeFileSync(tsPath, content);

View File

@@ -1,6 +1,4 @@
import type { ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry'; const workspace: UmbExtensionManifest = {
const workspace: ManifestWorkspaceView = {
type: 'workspaceView', type: 'workspaceView',
alias: 'Example.WorkspaceView.EntityContentTypeCondition', alias: 'Example.WorkspaceView.EntityContentTypeCondition',
name: 'Example Workspace View With Entity Content Type Condition', name: 'Example Workspace View With Entity Content Type Condition',

View File

@@ -2,7 +2,7 @@ import { html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
@customElement('umb-example-entity-content-type-condition') @customElement('umb-example-entity-content-type-condition')
export class UmbWorkspaceViewElement extends UmbLitElement { export class UmbWorkspaceExampleViewElement extends UmbLitElement {
override render() { override render() {
return html`<p> return html`<p>
This is a conditional element that is only shown in workspaces based on it's entities content type. This is a conditional element that is only shown in workspaces based on it's entities content type.
@@ -10,10 +10,10 @@ export class UmbWorkspaceViewElement extends UmbLitElement {
} }
} }
export default UmbWorkspaceViewElement; export default UmbWorkspaceExampleViewElement;
declare global { declare global {
interface HTMLElementTagNameMap { interface HTMLElementTagNameMap {
'umb-example-entity-content-type-condition': UmbWorkspaceViewElement; 'umb-example-entity-content-type-condition': UmbWorkspaceExampleViewElement;
} }
} }

View File

@@ -1,6 +1,4 @@
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; export const manifests: Array<UmbExtensionManifest> = [
export const manifests: Array<ManifestTypes> = [
{ {
type: 'icons', type: 'icons',
name: 'Example Dataset Dashboard', name: 'Example Dataset Dashboard',

View File

@@ -1,11 +1,9 @@
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; export const manifests: Array<UmbExtensionManifest> = [
export const manifests: Array<ManifestTypes> = [
{ {
type: 'workspaceContext', type: 'workspaceContext',
name: 'Example Counter Workspace Context', name: 'Example Counter Workspace Context',
alias: 'example.workspaceCounter.counter', alias: 'example.workspaceCounter.counter',
js: () => import('./counter-workspace-context.js'), api: () => import('./counter-workspace-context.js'),
conditions: [ conditions: [
{ {
alias: 'Umb.Condition.WorkspaceAlias', alias: 'Umb.Condition.WorkspaceAlias',

File diff suppressed because it is too large Load Diff

View File

@@ -162,8 +162,9 @@
"generate:server-api": "openapi-ts --file devops/openapi-ts/openapi-ts.config.js", "generate:server-api": "openapi-ts --file devops/openapi-ts/openapi-ts.config.js",
"generate:icons": "node ./devops/icons/index.js", "generate:icons": "node ./devops/icons/index.js",
"generate:overrides": "node ./devops/tsc/index.js", "generate:overrides": "node ./devops/tsc/index.js",
"generate:jsonschema:dist": "typescript-json-schema --required --include \"./src/packages/core/extension-registry/umbraco-package.ts\" --out dist-cms/umbraco-package-schema.json tsconfig.json UmbracoPackage", "generate:jsonschema:imports": "node ./devops/json-schema-generator/index.js",
"generate:jsonschema": "typescript-json-schema --required --include \"./src/packages/core/extension-registry/*.ts\"", "generate:jsonschema:dist": "typescript-json-schema --required --include \"./src/json-schema/umbraco-package-schema.ts\" --out dist-cms/umbraco-package-schema.json tsconfig.json UmbracoPackage",
"generate:jsonschema": "typescript-json-schema --required --include \"./src/json-schema/umbraco-package-schema.ts\"",
"lint:errors": "npm run lint -- --quiet", "lint:errors": "npm run lint -- --quiet",
"lint:fix": "npm run lint -- --fix", "lint:fix": "npm run lint -- --fix",
"lint": "eslint src", "lint": "eslint src",
@@ -216,8 +217,8 @@
"@types/diff": "^5.2.1", "@types/diff": "^5.2.1",
"@types/dompurify": "^3.0.5", "@types/dompurify": "^3.0.5",
"@types/uuid": "^10.0.0", "@types/uuid": "^10.0.0",
"@umbraco-ui/uui": "^v1.10.0-rc.0", "@umbraco-ui/uui": "^v1.10.0",
"@umbraco-ui/uui-css": "^v1.10.0-rc.0", "@umbraco-ui/uui-css": "^v1.10.0",
"base64-js": "^1.5.1", "base64-js": "^1.5.1",
"diff": "^5.2.0", "diff": "^5.2.0",
"dompurify": "^3.1.6", "dompurify": "^3.1.6",

View File

@@ -1,4 +1,4 @@
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
{ {
type: 'section', type: 'section',
alias: 'MyBundle.Section.Custom', alias: 'MyBundle.Section.Custom',

View File

@@ -17,6 +17,7 @@ const CORE_PACKAGES = [
import('../../packages/data-type/umbraco-package.js'), import('../../packages/data-type/umbraco-package.js'),
import('../../packages/dictionary/umbraco-package.js'), import('../../packages/dictionary/umbraco-package.js'),
import('../../packages/documents/umbraco-package.js'), import('../../packages/documents/umbraco-package.js'),
import('../../packages/extension-insights/umbraco-package.js'),
import('../../packages/health-check/umbraco-package.js'), import('../../packages/health-check/umbraco-package.js'),
import('../../packages/help/umbraco-package.js'), import('../../packages/help/umbraco-package.js'),
import('../../packages/language/umbraco-package.js'), import('../../packages/language/umbraco-package.js'),

File diff suppressed because one or more lines are too long

View File

@@ -931,14 +931,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: 'Upravte vaše oznámení pro %0%', editNotifications: 'Upravte vaše oznámení pro %0%',
notificationsSavedFor: 'Nastavení oznámení bylo uloženo pro', notificationsSavedFor: 'Nastavení oznámení bylo uloženo pro %0%',
mailBody:
"\n Dobrý den, %0%\n\n Toto je automatická zpráva informující Vás, že úloha '%1%'\n byla provedena na stránce '%2%'\n uživatelem '%3%'\n\n Přejděte na http://%4%/#/content/content/edit/%5% pro editování.\n\n Mějte hezký den!\n\n Zdraví Umbraco robot\n ",
mailBodyVariantSummary: 'Následující jazyky byly změněny %0%',
mailBodyHtml:
'<p>Ahoj %0%</p>\n\n <p>Toto je automatická zpráva informující Vás, že úloha <strong>\'%1%\'</strong>\n byla provedena na stránce <a href="http://%4%/#/content/content/edit/%5%"><strong>\'%2%\'</strong></a>\n uživatelem <strong>\'%3%\'</strong>\n </p>\n <div style="margin: 8px 0; padding: 8px; display: block;">\n <br />\n <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDITOVAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n <br />\n </div>\n <p>\n <h3>Shrnutí změn:</h3>\n <table style="width: 100%;">\n %6%\n </table>\n </p>\n\n <div style="margin: 8px 0; padding: 8px; display: block;">\n <br />\n <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDITOVAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n <br />\n </div>\n\n <p>Mějte hezký den!<br /><br />\n Zdraví Umbraco robot\n </p>',
mailBodyVariantHtmlSummary: '<p>Byly změněny následující jazyky:</p>\n %0%\n ',
mailSubject: '[%0%] Upozornění o %1% na %2%',
notifications: 'Upozornění', notifications: 'Upozornění',
}, },
packager: { packager: {

File diff suppressed because one or more lines are too long

View File

@@ -1081,8 +1081,8 @@ export default {
relateToOriginal: 'Relater det kopierede element til originalen', relateToOriginal: 'Relater det kopierede element til originalen',
}, },
notifications: { notifications: {
editNotifications: 'Vælg dine notificeringer for <strong>%0%</strong>', editNotifications: 'Vælg dine notificeringer for %0%',
notificationsSavedFor: 'Notificeringer er gemt for', notificationsSavedFor: 'Notificeringer er gemt for %0%',
notifications: 'Notificeringer', notifications: 'Notificeringer',
}, },
packager: { packager: {
@@ -1636,7 +1636,7 @@ export default {
memberCanEditDescription: 'Tillad at denne egenskab kan redigeres af medlemmet på dets profil.', memberCanEditDescription: 'Tillad at denne egenskab kan redigeres af medlemmet på dets profil.',
isSensitiveData: 'Er følsom data', isSensitiveData: 'Er følsom data',
isSensitiveDataDescription: isSensitiveDataDescription:
'Skjul værdien af denne egenskab for indholdsredaktører der ikke har adgang\n til at se følsomme data\n ', 'Skjul værdien af denne egenskab for indholdsredaktører der ikke har adgang til at se følsomme data',
showOnMemberProfile: 'Vis på medlemsprofil', showOnMemberProfile: 'Vis på medlemsprofil',
showOnMemberProfileDescription: 'Tillad at denne egenskab kan vises på medlemmets profil.', showOnMemberProfileDescription: 'Tillad at denne egenskab kan vises på medlemmets profil.',
tabHasNoSortOrder: 'fane har ingen sorteringsrækkefølge', tabHasNoSortOrder: 'fane har ingen sorteringsrækkefølge',

File diff suppressed because one or more lines are too long

View File

@@ -1088,8 +1088,8 @@ export default {
relateToOriginal: 'Relate copied items to original', relateToOriginal: 'Relate copied items to original',
}, },
notifications: { notifications: {
editNotifications: 'Select your notification for <strong>%0%</strong>', editNotifications: 'Select your notification for %0%',
notificationsSavedFor: 'Notification settings saved for', notificationsSavedFor: 'Notification settings saved for %0%',
notifications: 'Notifications', notifications: 'Notifications',
}, },
packager: { packager: {
@@ -1646,12 +1646,12 @@ export default {
andAllMediaItems: 'and all media items using this type', andAllMediaItems: 'and all media items using this type',
andAllMembers: 'and all members using this type', andAllMembers: 'and all members using this type',
memberCanEdit: 'Member can edit', memberCanEdit: 'Member can edit',
memberCanEditDescription: 'Allow this property value to be edited by the member on their profile page\n ', memberCanEditDescription: 'Allow this property value to be edited by the member on their profile page',
isSensitiveData: 'Is sensitive data', isSensitiveData: 'Is sensitive data',
isSensitiveDataDescription: isSensitiveDataDescription:
"Hide this property value from content editors that don't have access to view\n sensitive information\n ", "Hide this property value from content editors that don't have access to view sensitive information",
showOnMemberProfile: 'Show on member profile', showOnMemberProfile: 'Show on member profile',
showOnMemberProfileDescription: 'Allow this property value to be displayed on the member profile page\n ', showOnMemberProfileDescription: 'Allow this property value to be displayed on the member profile page',
tabHasNoSortOrder: 'tab has no sort order', tabHasNoSortOrder: 'tab has no sort order',
compositionUsageHeading: 'Where is this composition used?', compositionUsageHeading: 'Where is this composition used?',
compositionUsageSpecification: compositionUsageSpecification:

View File

@@ -1105,8 +1105,8 @@ export default {
relateToOriginal: 'Relate copied items to original', relateToOriginal: 'Relate copied items to original',
}, },
notifications: { notifications: {
editNotifications: 'Select your notification for <strong>%0%</strong>', editNotifications: 'Select your notification for %0%',
notificationsSavedFor: 'Notification settings saved for', notificationsSavedFor: 'Notification settings saved for %0%',
notifications: 'Notifications', notifications: 'Notifications',
}, },
packager: { packager: {
@@ -1668,12 +1668,12 @@ export default {
andAllMediaItems: 'and all media items using this type', andAllMediaItems: 'and all media items using this type',
andAllMembers: 'and all members using this type', andAllMembers: 'and all members using this type',
memberCanEdit: 'Member can edit', memberCanEdit: 'Member can edit',
memberCanEditDescription: 'Allow this property value to be edited by the member on their profile page\n ', memberCanEditDescription: 'Allow this property value to be edited by the member on their profile page',
isSensitiveData: 'Is sensitive data', isSensitiveData: 'Is sensitive data',
isSensitiveDataDescription: isSensitiveDataDescription:
"Hide this property value from content editors that don't have access to view\n sensitive information\n ", "Hide this property value from content editors that don't have access to view sensitive information",
showOnMemberProfile: 'Show on member profile', showOnMemberProfile: 'Show on member profile',
showOnMemberProfileDescription: 'Allow this property value to be displayed on the member profile page\n ', showOnMemberProfileDescription: 'Allow this property value to be displayed on the member profile page',
tabHasNoSortOrder: 'tab has no sort order', tabHasNoSortOrder: 'tab has no sort order',
compositionUsageHeading: 'Where is this composition used?', compositionUsageHeading: 'Where is this composition used?',
compositionUsageSpecification: compositionUsageSpecification:

View File

@@ -743,11 +743,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: 'Edita tu notificación para %0%', editNotifications: 'Edita tu notificación para %0%',
mailBody: notificationsSavedFor: 'Notificaciones guardadas para %0%',
"Hola %0% Esto es un e-mail automático para informarte que la tarea '%1%' ha sido realizada sobre la página '%2%' por el usuario '%3%' Vaya a http://%4%/#/content/content/edit/%5% para editarla. ¡Espero que tenga un buen día! Saludos del robot de Umbraco",
mailBodyHtml:
'<p>Hola %0%</p> <p>Esto es un e-mail generado automáticamente para informarle que la tarea <strong>\'%1%\'</strong> ha sido realizada sobre la página <a href="http://%4%/#/content/content/edit/%5%"><strong>\'%2%\'</strong></a> por el usuario <strong>\'%3%\'</strong> </p> <div style="margin: 8px 0; padding: 8px; display: block;"> <br /> <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp; <br /> </div> <p> <h3>Resumen de actualización:</h3> <table style="width: 100%;"> %6% </table> </p> <div style="margin: 8px 0; padding: 8px; display: block;"> <br /> <a style="color: white; font-weight: bold; background-color: #66cc66; text-decoration : none; margin-right: 20px; border: 8px solid #66cc66; width: 150px;" href="http://%4%/actions/publish.aspx?id=%5%">&nbsp;&nbsp;PUBLISH&nbsp;&nbsp;</a> &nbsp; <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp; <a style="color: white; font-weight: bold; background-color: #ca4a4a; text-decoration : none; margin-right: 20px; border: 8px solid #ca4a4a; width: 150px;" href="http://%4%/actions/delete.aspx?id=%5%">&nbsp;&nbsp;&nbsp;&nbsp;DELETE&nbsp;&nbsp;&nbsp;&nbsp;</a> <br /> </div> <p>¡Espero que tenga un buen día!<br /><br /> Saludos del robot Umbraco. </p>',
mailSubject: '[%0%] Notificación acerca de %1% realizado en %2%',
notifications: 'Notificaciones', notifications: 'Notificaciones',
}, },
packager: { packager: {

File diff suppressed because one or more lines are too long

View File

@@ -469,11 +469,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: 'ערוך את ההתראות עבור %0%', editNotifications: 'ערוך את ההתראות עבור %0%',
mailBody: notificationsSavedFor: 'ההתראות נשמרו עבור %0%',
'\n שלום, %0%\n\n זוהי הודעה אוטומטית המיידעת אותך שהמשימה %1%\n\t בוצעה בעמוד %2% על ידי המשתמש %3%\n\n לעריכה, יש ללחוץ על הלינק הבא://%4%/actions/editContent.aspx?id=%5% .\n\n המשך יום נעים!\n ',
mailBodyHtml:
'<p>Hi %0%</p>\n\n\t\t <p>This is an automated mail to inform you that the task <strong>\'%1%\'</strong>\n\t\t has been performed on the page <a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a>\n\t\t by the user <strong>\'%3%\'</strong>\n\t </p>\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\t\t <p>\n\t\t\t <h3>Update summary:</h3>\n\t\t\t <table style="width: 100%;">\n\t\t\t\t\t\t %6%\n\t\t\t\t</table>\n\t\t\t </p>\n\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\n\t\t <p>Have a nice day!<br /><br />\n\t\t\t Cheers from the Umbraco robot\n\t\t </p>',
mailSubject: '[%0%] התראות %1% בוצעו ב %2%',
notifications: 'התראות', notifications: 'התראות',
}, },
packager: { packager: {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -594,11 +594,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: '%0% への通知を編集', editNotifications: '%0% への通知を編集',
mailBody: notificationsSavedFor: '%0% への通知が保存されました',
"\n 前略 %0% さま\n\n ユーザー '%3%' により\n ページ '%2%' 上のタスク'%1%'から\n 自動的にメールします。\n\n 編集はこちらから: http://%4%/#/content/content/edit/%5%\n\n 早々\n\n Umbracoのロボットより\n ",
mailBodyHtml:
'<p>前略 %0% さま</p>\n\n\t\t\t<p>ユーザー <strong>\'%3%\'</strong> によりページ <a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a> 上のタスク <strong>\'%1%\'</strong> から自動的にメールします。</p>\n\t\t\t<div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;編集&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\t\t <p>\n\t\t\t <h3>更新のまとめ:</h3>\n\t\t\t <table style="width: 100%;">\n\t\t\t\t\t\t %6%\n\t\t\t\t</table>\n\t\t\t </p>\n\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;編集&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\n\t\t <p>早々<br /><br />\n\t\t\t Umbracoのロボットより\n\t\t </p>',
mailSubject: '[%0%] に通知: ページ %2% 上の %1% について',
notifications: '通知', notifications: '通知',
}, },
packager: { packager: {

View File

@@ -468,11 +468,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: '%0% 에 대한 알림 편집', editNotifications: '%0% 에 대한 알림 편집',
mailBody: notificationsSavedFor: '%0% 에 대한 알림이 저장되었습니다.',
"\n 안녕하세요 %0%\n\n 사용자 '%3%' 가 작업 '%1%' 를 페이지 '%2%' 에서\n 진행했음을 알리는 자동 발송 메일입니다.\n\n 편집하시려면 http://%4%/#/content/content/edit/%5% 로 이동하세요\n\n 좋은 하루 되세요!\n\n ",
mailBodyHtml:
'<p>안녕하세요 %0%</p>\n\n\t <p>사용자 <strong>\'%3%\'</strong> 가 작업 <strong>\'%1%\'</strong> 를\n 페이지 <a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a> 에서\n 진행했음을 알리는 자동 발송 메일입니다.\n </p>\n\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t<br />\n\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;편집&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t<br />\n\t </div>\n\t <p>\n\t\t <h3>업데이트 요약:</h3>\n\t\t <table style="width: 100%;">\n\t\t\t\t\t %6%\n\t\t\t</table>\n\t\t </p>\n\n\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t<br />\n\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;편집&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t<br />\n\t </div>\n\n\t <p>좋은 하루 되세요!<br /><br />\n\t </p>',
mailSubject: '%1%에 대한 [%0]알림이 %2%에 생성되었습니다',
notifications: '알림', notifications: '알림',
}, },
packager: { packager: {

View File

@@ -550,11 +550,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: 'Rediger dine varsler for %0%', editNotifications: 'Rediger dine varsler for %0%',
mailBody: notificationsSavedFor: 'Varsler lagret for %0%',
"\nHei %0%\n\nDette er en automatisk mail for å informere om at handlingen '%1%'\ner utført på siden '%2%'\nav brukeren '%3%'\n\nGå til http://%4%/Umbraco/default.aspx?section=content&id=%5% for å redigere.\n\nHa en fin dag!\n\nVennlig hilsen Umbraco roboten\n ",
mailBodyHtml:
'<p>Hei %0%</p>\n\n\t\t <p>Dette er en automatisk mail for å informere om at handlingen \'%1%\'\n er blitt utført på siden <a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a>\n av brukeren <strong>\'%3%\'</strong>\n\t </p>\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/Umbraco/actions/editContent.aspx?id=%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REDIGER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\t\t <p>\n\t\t\t <h3>Rettelser:</h3>\n\t\t\t <table style="width: 100%;">\n\t\t\t\t\t\t %6%\n\t\t\t\t</table>\n\t\t\t </p>\n\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/Umbraco/actions/editContent.aspx?id=%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REDIGER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\n\t\t <p>Ha en fin dag!<br /><br />\n\t\t\t Vennlig hilsen Umbraco roboten\n\t\t </p>',
mailSubject: '[%0%] Varsling om %1% utført på %2%',
notifications: 'Varslinger', notifications: 'Varslinger',
}, },
packager: { packager: {

View File

@@ -990,14 +990,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: 'Bewerk de notificatie voor %0%', editNotifications: 'Bewerk de notificatie voor %0%',
notificationsSavedFor: 'Notificatie instellingen opgeslagen voor', notificationsSavedFor: 'Notificatie instellingen opgeslagen voor %0%',
mailBody:
"\n Hallo %0%,\n\n Dit is een geautomatiseerd bericht om u te informeren dat de taak '%1%'\n is uitgevoerd op pagina '%2%'\n door gebruiker '%3%'.\n\n Ga naar http://%4%/#/content/content/edit/%5% om dit te bewerken.\n\n Een prettige dag!\n\n Dit is een bericht van uw Content Management Systeem.\n\n ",
mailBodyVariantSummary: 'De volgende talen zijn gewijzigd %0%',
mailBodyHtml:
'<p>Hi %0%</p>\n\n\t\t <p>Dit is een geautomatiseerde mail om u op de hoogte te brengen dat de taak <strong>\'%1%\'</strong>\n\t\t is uitgevoerd op pagina <a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a>\n\t\t door gebruiker <strong>\'%3%\'</strong>\n\t </p>\n\t\t <div class="buttons">\n\t\t\t\t<br />\n\t\t\t\t<a class="buttonEdit" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\t\t <p>\n\t\t\t <h3>Update samenvatting:</h3>\n\t\t\t <table class="updateSummary">\n\t\t\t\t\t\t %6%\n\t\t\t\t\t </table>\n\t\t\t </p>\n\n\t\t <div class="buttons">\n\t\t\t\t<br />\n\t\t\t\t<a class="buttonEdit" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\n\t\t <p>Een prettige dag!<br /><br />\n\t\t\t Dit is een bericht van uw Content Management Systeem.\n\t\t </p>\n ',
mailBodyVariantHtmlSummary: '<p>De volgende talen zijn gewijzigd:</p>\n %0%\n ',
mailSubject: '[%0%] Notificatie over %1% uitgevoerd op %2%',
notifications: 'Notificaties', notifications: 'Notificaties',
}, },
packager: { packager: {
@@ -1492,14 +1485,12 @@ export default {
andAllMediaItems: 'en alle media items van dit type', andAllMediaItems: 'en alle media items van dit type',
andAllMembers: 'en alle leden van dit type', andAllMembers: 'en alle leden van dit type',
memberCanEdit: 'Lid kan bewerken', memberCanEdit: 'Lid kan bewerken',
memberCanEditDescription: memberCanEditDescription: 'Toestaan dat deze eigenschap kan worden gewijzigd door het lid op zijn profiel pagina.',
'Toestaan dat deze eigenschap kan worden gewijzigd door het lid op zijn profiel\n pagina.\n ',
isSensitiveData: 'Omvat gevoelige gegevens', isSensitiveData: 'Omvat gevoelige gegevens',
isSensitiveDataDescription: isSensitiveDataDescription:
'Verberg deze eigenschap voor de content editor die geen toegang heeft tot\n het bekijken van gevoelige informatie.\n ', 'Verberg deze eigenschap voor de content editor die geen toegang heeft tot het bekijken van gevoelige informatie.',
showOnMemberProfile: 'Toon in het profiel van leden', showOnMemberProfile: 'Toon in het profiel van leden',
showOnMemberProfileDescription: showOnMemberProfileDescription: 'Toelaten dat deze eigenschap wordt getoond op de profiel pagina van het lid.',
'Toelaten dat deze eigenschap wordt getoond op de profiel pagina van het\n lid.\n ',
tabHasNoSortOrder: 'tab heeft geen sorteervolgorde', tabHasNoSortOrder: 'tab heeft geen sorteervolgorde',
compositionUsageHeading: 'Waar wordt deze compositie gebruikt?', compositionUsageHeading: 'Waar wordt deze compositie gebruikt?',
compositionUsageSpecification: compositionUsageSpecification:

View File

@@ -725,11 +725,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: 'Edytuj powiadomienie dla %0%', editNotifications: 'Edytuj powiadomienie dla %0%',
mailBody: notificationsSavedFor: 'Zapisano powiadomienia dla %0%',
"\n Witaj %0%\n\n To jest automatyczny e-mail, wysłany, aby poinformować Cię, że polecenie '%1%'\n zostało wykonane na stronie '%2%'\n przez użytkownika '%3%'.\n\n Możesz dalej edytować pod adresem http://%4%/#/content/content/edit/%5%\n\n Miłego dnia!\n\n Pozdrowienia od robota Umbraco\n ",
mailBodyHtml:
'<p>Witaj %0%</p>\n\n <p>To jest automatyczny e-mail, wysłany, aby poinformować Cię, że polecenie <strong>\'%1%\'</strong>\n zostało wykonane na stronie <a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a>\n przez użytkownika <strong>\'%3%\'</strong>\n </p>\n <div style="margin: 8px 0; padding: 8px; display: block;">\n <br />\n <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDYTUJ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n <br />\n </div>\n <p>\n <h3>Podsumowanie zmian:</h3>\n <table style="width: 100%;">\n %6%\n </table>\n </p>\n\n <div style="margin: 8px 0; padding: 8px; display: block;">\n <br />\n <a style="color: white; font-weight: bold; background-color: #66cc66; text-decoration : none; margin-right: 20px; border: 8px solid #66cc66; width: 150px;" href="http://%4%/actions/publish.aspx?id=%5%">&nbsp;&nbsp;PUBLIKUJ&nbsp;&nbsp;</a> &nbsp; <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDYTUJ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp; <a style="color: white; font-weight: bold; background-color: #ca4a4a; text-decoration : none; margin-right: 20px; border: 8px solid #ca4a4a; width: 150px;" href="http://%4%/actions/delete.aspx?id=%5%">&nbsp;&nbsp;&nbsp;&nbsp;USUŃ&nbsp;&nbsp;&nbsp;&nbsp;</a>\n <br />\n </div>\n\n <p>Miłego dnia!<br /><br />\n Pozdrowienia od robota Umbraco\n </p>',
mailSubject: '[%0%] Powiadomienie o %1% wykonane na %2%',
notifications: 'Powiadomienie', notifications: 'Powiadomienie',
}, },
packager: { packager: {

View File

@@ -476,11 +476,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: 'Editar sua notificação para %0%', editNotifications: 'Editar sua notificação para %0%',
mailBody: notificationsSavedFor: 'Notificações salvas para %0%',
"\n Olá %0%\n\n Esta é uma mensagem automatizada de email para informar que a tarefa '%1%' foi realizada na página '%2%' pelo usuário '%3%'\n\nVá até http://%4%/#/content/content/edit/%5% para editar.\n\n Tenha um bom dia!\n\n Saudações do robô Umbraco",
mailBodyHtml:
'<p>Olá %0%</p>\n\n\t\t <p>Esta é uma mensagem automatizada para informar que a tarefa <strong>\'%1%\'</strong>\n\t\t foi completada na página <a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a>\n\t\t pelo usuário <strong>\'%3%\'</strong>\n\t </p>\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\t\t <p>\n\t\t\t <h3>Resumo da Atualização:</h3>\n\t\t\t <table style="width: 100%;">\n\t\t\t\t\t\t %6%\n\t\t\t\t</table>\n\t\t\t </p>\n\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\n\t\t <p>Tenha um bom dia!<br /><br />\n\t\t\t Saudações do robô Umbraco\n\t\t </p>\n ',
mailSubject: '[%0%] Notificação sobre %1% realizada em %2%',
notifications: 'Notificações', notifications: 'Notificações',
}, },
packager: { packager: {

File diff suppressed because one or more lines are too long

View File

@@ -724,11 +724,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: 'Inställningar för notifieringar gällande %0%', editNotifications: 'Inställningar för notifieringar gällande %0%',
mailBody: notificationsSavedFor: 'Notifieringar sparade för %0%',
"Hej %0% Detta mail skickas till dig automatiskt för att meddela att '%1%' har utförts på sidan '%2%' av användaren '%3%' Gå till http://%4%/actions/editContent.aspx?id=%5% för att redigera.",
mailBodyHtml:
'<p>Hej %0%</p> <p>Detta mail skickas till dig automatiskt för att meddela att <strong>\'%1%\'</strong> har utförts på sidan <a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a> av användaren <strong>\'%3%\'</strong> </p> <div style="margin: 8px 0; padding: 8px; display: block;"> <br /> <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/actions/editContent.aspx?id=%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EDIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp; <br /> </div> <p> <h3>Sammanfattning av uppdateringen:</h3> <table style="width: 100%;"> %6% </table> </p> <div style="margin: 8px 0; padding: 8px; display: block;"> <br /> <a style="color: white; font-weight: bold; background-color: #66cc66; text-decoration : none; margin-right: 20px; border: 8px solid #66cc66; width: 150px;" href="http://%4%/actions/publish.aspx?id=%5%">&nbsp;&nbsp;PUBLICERA&nbsp;&nbsp;</a> &nbsp; <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/actions/editContent.aspx?id=%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REDIGERA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp; <a style="color: white; font-weight: bold; background-color: #ca4a4a; text-decoration : none; margin-right: 20px; border: 8px solid #ca4a4a; width: 150px;" href="http://%4%/actions/delete.aspx?id=%5%">&nbsp;&nbsp;&nbsp;&nbsp;TA BORT&nbsp;&nbsp;&nbsp;&nbsp;</a> <br /> </div>',
mailSubject: '[%0%] Meddelande för att informera om att %1% har utförts på %2%',
notifications: 'Notifieringar', notifications: 'Notifieringar',
}, },
packager: { packager: {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -603,11 +603,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: '为 %0% 编写通知', editNotifications: '为 %0% 编写通知',
mailBody: notificationsSavedFor: '通知已保存为 %0%',
"\n%0%\n\n 您好!这是一封自动邮件,提醒您用户'%3%'\n 执行'%1%'任务\n 已经在完成'%2%'。\n\n 转到 http://%4%/#/content/content/edit/%5% 进行编辑\n\n Have a nice day!\n\n 来自Umbraco机器人\n ",
mailBodyHtml:
'<p>%0%</p>\n\n\t\t <p>您好!这是一封自动发送的邮件,告诉您任务<strong>\'%1%\'</strong>\n\t\t 已在<a href="http://%4%/actions/preview.aspx?id=%5%"><strong>\'%2%\'</strong></a>\n\t\t 被用户<strong>\'%3%\'</strong>执行\n\t\t </p>\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编辑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\t\t <p>\n <h3>更新概况:</h3>\n\t\t\t <table style="width: 100%;">\n\t\t\t\t\t\t %6%\n\t\t\t\t</table>\n\t\t\t </p>\n\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n <a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编辑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n <br />\n </div>\n\n <p>祝您愉快!<br /><br />\n 该信息由系统自动发送\n </p>',
mailSubject: '在 %2%[%0%] 关于 %1% 的通告已执行。',
notifications: '通知', notifications: '通知',
}, },
packager: { packager: {

View File

@@ -605,11 +605,7 @@ export default {
}, },
notifications: { notifications: {
editNotifications: '為 %0% 編寫通知', editNotifications: '為 %0% 編寫通知',
mailBody: notificationsSavedFor: '通知已經為 %0% 保存',
'\n 哈嘍 %0%\n\n 這是一封自動產生的信件來通知您 %1% 工作\n 已經在頁面 %2% 上由使用者 %3% 執行完成\n\n\n 請移至下列網址編輯: http://%4%/#/content/content/edit/%5%\n\n 祝您有美好的一天!\n\n Umbraco機器人 謹上\n ',
mailBodyHtml:
'<p>哈嘍 %0%</p>\n\n\t\t <p>這是一封自動產生的信件來通知您<strong> %1% </strong>工作\n\t\t 已經在頁面 <strong>%2%</strong> 上由使用者 <strong>%3%</strong> 執行完成\n\t </p>\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;編輯&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\t\t <p>\n\t\t\t <h3>更新摘要:</h3>\n\t\t\t <table style="width: 100%;">\n\t\t\t\t\t\t %6%\n\t\t\t\t</table>\n\t\t\t </p>\n\n\t\t <div style="margin: 8px 0; padding: 8px; display: block;">\n\t\t\t\t<br />\n\t\t\t\t<a style="color: white; font-weight: bold; background-color: #5372c3; text-decoration : none; margin-right: 20px; border: 8px solid #5372c3; width: 150px;" href="http://%4%/#/content/content/edit/%5%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;編輯&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a> &nbsp;\n\t\t\t\t<br />\n\t\t </div>\n\n\t\t <p>祝您有美好的一天!<br /><br />\n\t\t\t Umbraco機器人 謹上\n\t\t </p>',
mailSubject: '在 %2%[%0%] 關於 %1% 的通告已執行。',
notifications: '通知', notifications: '通知',
}, },
packager: { packager: {

View File

@@ -2425,6 +2425,7 @@ export class DocumentService {
* @param data.query * @param data.query
* @param data.skip * @param data.skip
* @param data.take * @param data.take
* @param data.parentId
* @returns unknown OK * @returns unknown OK
* @throws ApiError * @throws ApiError
*/ */
@@ -2435,7 +2436,8 @@ export class DocumentService {
query: { query: {
query: data.query, query: data.query,
skip: data.skip, skip: data.skip,
take: data.take take: data.take,
parentId: data.parentId
}, },
errors: { errors: {
401: 'The resource is protected and requires an authentication token' 401: 'The resource is protected and requires an authentication token'
@@ -4014,6 +4016,7 @@ export class MediaService {
* @param data.query * @param data.query
* @param data.skip * @param data.skip
* @param data.take * @param data.take
* @param data.parentId
* @returns unknown OK * @returns unknown OK
* @throws ApiError * @throws ApiError
*/ */
@@ -4024,7 +4027,8 @@ export class MediaService {
query: { query: {
query: data.query, query: data.query,
skip: data.skip, skip: data.skip,
take: data.take take: data.take,
parentId: data.parentId
}, },
errors: { errors: {
401: 'The resource is protected and requires an authentication token' 401: 'The resource is protected and requires an authentication token'

View File

@@ -658,6 +658,7 @@ export type DocumentItemResponseModel = {
export type DocumentNotificationResponseModel = { export type DocumentNotificationResponseModel = {
actionId: string; actionId: string;
alias: string;
subscribed: boolean; subscribed: boolean;
}; };
@@ -3521,6 +3522,7 @@ export type GetItemDocumentData = {
export type GetItemDocumentResponse = (Array<(DocumentItemResponseModel)>); export type GetItemDocumentResponse = (Array<(DocumentItemResponseModel)>);
export type GetItemDocumentSearchData = { export type GetItemDocumentSearchData = {
parentId?: string;
query?: string; query?: string;
skip?: number; skip?: number;
take?: number; take?: number;
@@ -3974,6 +3976,7 @@ export type GetItemMediaData = {
export type GetItemMediaResponse = (Array<(MediaItemResponseModel)>); export type GetItemMediaResponse = (Array<(MediaItemResponseModel)>);
export type GetItemMediaSearchData = { export type GetItemMediaSearchData = {
parentId?: string;
query?: string; query?: string;
skip?: number; skip?: number;
take?: number; take?: number;

View File

@@ -0,0 +1,108 @@
import '@umbraco-cms/backoffice/app';
import '@umbraco-cms/backoffice/class-api';
import '@umbraco-cms/backoffice/context-api';
import '@umbraco-cms/backoffice/controller-api';
import '@umbraco-cms/backoffice/element-api';
import '@umbraco-cms/backoffice/extension-api';
import '@umbraco-cms/backoffice/formatting-api';
import '@umbraco-cms/backoffice/localization-api';
import '@umbraco-cms/backoffice/observable-api';
import '@umbraco-cms/backoffice/action';
import '@umbraco-cms/backoffice/audit-log';
import '@umbraco-cms/backoffice/auth';
import '@umbraco-cms/backoffice/block-custom-view';
import '@umbraco-cms/backoffice/block-grid';
import '@umbraco-cms/backoffice/block-list';
import '@umbraco-cms/backoffice/block-rte';
import '@umbraco-cms/backoffice/block-type';
import '@umbraco-cms/backoffice/block';
import '@umbraco-cms/backoffice/code-editor';
import '@umbraco-cms/backoffice/collection';
import '@umbraco-cms/backoffice/components';
import '@umbraco-cms/backoffice/content-type';
import '@umbraco-cms/backoffice/content';
import '@umbraco-cms/backoffice/culture';
import '@umbraco-cms/backoffice/picker';
import '@umbraco-cms/backoffice/current-user';
import '@umbraco-cms/backoffice/data-type';
import '@umbraco-cms/backoffice/debug';
import '@umbraco-cms/backoffice/dictionary';
import '@umbraco-cms/backoffice/document-blueprint';
import '@umbraco-cms/backoffice/document-type';
import '@umbraco-cms/backoffice/document';
import '@umbraco-cms/backoffice/entity-action';
import '@umbraco-cms/backoffice/entity-bulk-action';
import '@umbraco-cms/backoffice/entity';
import '@umbraco-cms/backoffice/event';
import '@umbraco-cms/backoffice/extension-registry';
import '@umbraco-cms/backoffice/help';
import '@umbraco-cms/backoffice/icon';
import '@umbraco-cms/backoffice/id';
import '@umbraco-cms/backoffice/imaging';
import '@umbraco-cms/backoffice/language';
import '@umbraco-cms/backoffice/lit-element';
import '@umbraco-cms/backoffice/localization';
import '@umbraco-cms/backoffice/log-viewer';
import '@umbraco-cms/backoffice/markdown-editor';
import '@umbraco-cms/backoffice/media-type';
import '@umbraco-cms/backoffice/media';
import '@umbraco-cms/backoffice/member-group';
import '@umbraco-cms/backoffice/member-type';
import '@umbraco-cms/backoffice/member';
import '@umbraco-cms/backoffice/menu';
import '@umbraco-cms/backoffice/modal';
import '@umbraco-cms/backoffice/multi-url-picker';
import '@umbraco-cms/backoffice/notification';
import '@umbraco-cms/backoffice/object-type';
import '@umbraco-cms/backoffice/package';
import '@umbraco-cms/backoffice/partial-view';
import '@umbraco-cms/backoffice/picker-input';
import '@umbraco-cms/backoffice/property-action';
import '@umbraco-cms/backoffice/property-editor';
import '@umbraco-cms/backoffice/property-type';
import '@umbraco-cms/backoffice/property';
import '@umbraco-cms/backoffice/recycle-bin';
import '@umbraco-cms/backoffice/relation-type';
import '@umbraco-cms/backoffice/relations';
import '@umbraco-cms/backoffice/repository';
import '@umbraco-cms/backoffice/resources';
import '@umbraco-cms/backoffice/router';
import '@umbraco-cms/backoffice/script';
import '@umbraco-cms/backoffice/search';
import '@umbraco-cms/backoffice/section';
import '@umbraco-cms/backoffice/server-file-system';
import '@umbraco-cms/backoffice/settings';
import '@umbraco-cms/backoffice/sorter';
import '@umbraco-cms/backoffice/static-file';
import '@umbraco-cms/backoffice/store';
import '@umbraco-cms/backoffice/style';
import '@umbraco-cms/backoffice/stylesheet';
import '@umbraco-cms/backoffice/sysinfo';
import '@umbraco-cms/backoffice/tags';
import '@umbraco-cms/backoffice/template';
import '@umbraco-cms/backoffice/temporary-file';
import '@umbraco-cms/backoffice/themes';
import '@umbraco-cms/backoffice/tiny-mce';
import '@umbraco-cms/backoffice/tree';
import '@umbraco-cms/backoffice/ufm';
import '@umbraco-cms/backoffice/user-group';
import '@umbraco-cms/backoffice/user-permission';
import '@umbraco-cms/backoffice/user';
import '@umbraco-cms/backoffice/utils';
import '@umbraco-cms/backoffice/validation';
import '@umbraco-cms/backoffice/variant';
import '@umbraco-cms/backoffice/webhook';
import '@umbraco-cms/backoffice/workspace';
import '@umbraco-cms/backoffice/external/backend-api';
import '@umbraco-cms/backoffice/external/base64-js';
import '@umbraco-cms/backoffice/external/diff';
import '@umbraco-cms/backoffice/external/dompurify';
import '@umbraco-cms/backoffice/external/lit';
import '@umbraco-cms/backoffice/external/marked';
import '@umbraco-cms/backoffice/external/monaco-editor';
import '@umbraco-cms/backoffice/external/openid';
import '@umbraco-cms/backoffice/external/router-slot';
import '@umbraco-cms/backoffice/external/rxjs';
import '@umbraco-cms/backoffice/external/tinymce';
import '@umbraco-cms/backoffice/external/uui';
import '@umbraco-cms/backoffice/external/uuid';

View File

@@ -0,0 +1,6 @@
{
"extends": "../../tsconfig.json",
"include": ["./*.ts", "./**/*.ts", "./**/*.json", "./**/*.js"],
"exclude": ["./**/*.test.ts", "./**/*.stories.ts", "tsconfig.json", "rollup.config.js"]
}

View File

@@ -1,4 +1,4 @@
import './models/index.js'; import './all-packages.js';
/** /**
* Umbraco package manifest JSON * Umbraco package manifest JSON

View File

@@ -48,7 +48,7 @@ function contextItemData(contextInstance: any): UmbDebugContextItemData {
case 'object': case 'object':
// Check if the object is an observable (by checking if it has a subscribe method/function) // Check if the object is an observable (by checking if it has a subscribe method/function)
const isSubscribeLike = 'subscribe' in value && typeof value['subscribe'] === 'function'; const isSubscribeLike = value && 'subscribe' in value && typeof value['subscribe'] === 'function';
const isWebComponent = value instanceof HTMLElement; const isWebComponent = value instanceof HTMLElement;
let valueToDisplay = 'Complex Object'; let valueToDisplay = 'Complex Object';

View File

@@ -3,7 +3,6 @@ import type { UmbExtensionRegistry } from '../registry/extension.registry.js';
import type { SpecificManifestTypeOrManifestBase } from '../types/map.types.js'; import type { SpecificManifestTypeOrManifestBase } from '../types/map.types.js';
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
import type { UmbElement } from '@umbraco-cms/backoffice/element-api'; import type { UmbElement } from '@umbraco-cms/backoffice/element-api';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
import { ReplaySubject } from '@umbraco-cms/backoffice/external/rxjs'; import { ReplaySubject } from '@umbraco-cms/backoffice/external/rxjs';
/** /**
@@ -11,7 +10,7 @@ import { ReplaySubject } from '@umbraco-cms/backoffice/external/rxjs';
*/ */
export abstract class UmbExtensionInitializerBase< export abstract class UmbExtensionInitializerBase<
Key extends string, Key extends string,
T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>, T extends ManifestBase = SpecificManifestTypeOrManifestBase<UmbExtensionManifest, Key>,
> extends UmbControllerBase { > extends UmbControllerBase {
protected host; protected host;
protected extensionRegistry; protected extensionRegistry;

View File

@@ -24,7 +24,7 @@ const privateManifests: PackageManifestResponse = [
type: 'section', type: 'section',
alias: 'My.Section.Custom', alias: 'My.Section.Custom',
name: 'Custom Section', name: 'Custom Section',
js: '/App_Plugins/section.js', element: '/App_Plugins/section.js',
elementName: 'my-section-custom', elementName: 'my-section-custom',
weight: 1, weight: 1,
meta: { meta: {
@@ -36,7 +36,7 @@ const privateManifests: PackageManifestResponse = [
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'My.PropertyEditorUI.Custom', alias: 'My.PropertyEditorUI.Custom',
name: 'My Custom Property Editor UI', name: 'My Custom Property Editor UI',
js: '/App_Plugins/property-editor.js', element: '/App_Plugins/property-editor.js',
elementName: 'my-property-editor-ui-custom', elementName: 'my-property-editor-ui-custom',
meta: { meta: {
label: 'My Custom Property', label: 'My Custom Property',

View File

@@ -21,6 +21,6 @@ export interface ManifestBlockEditorCustomView extends ManifestElement<UmbBlockE
declare global { declare global {
interface UmbExtensionManifestMap { interface UmbExtensionManifestMap {
blockEditorCustomView: ManifestBlockEditorCustomView; umbBlockEditorCustomView: ManifestBlockEditorCustomView;
} }
} }

View File

@@ -5,6 +5,7 @@ import type {
UmbInvariantDatasetWorkspaceContext, UmbInvariantDatasetWorkspaceContext,
UmbRoutableWorkspaceContext, UmbRoutableWorkspaceContext,
UmbWorkspaceContext, UmbWorkspaceContext,
ManifestWorkspace,
} from '@umbraco-cms/backoffice/workspace'; } from '@umbraco-cms/backoffice/workspace';
import { import {
UmbSubmittableWorkspaceContextBase, UmbSubmittableWorkspaceContextBase,
@@ -13,7 +14,7 @@ import {
import { UmbArrayState, UmbObjectState, appendToFrozenArray } from '@umbraco-cms/backoffice/observable-api'; import { UmbArrayState, UmbObjectState, appendToFrozenArray } from '@umbraco-cms/backoffice/observable-api';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
import type { ManifestWorkspace, PropertyEditorSettingsProperty } from '@umbraco-cms/backoffice/extension-registry'; import type { PropertyEditorSettingsProperty } from '@umbraco-cms/backoffice/extension-registry';
import { UmbId } from '@umbraco-cms/backoffice/id'; import { UmbId } from '@umbraco-cms/backoffice/id';
export class UmbBlockGridAreaTypeWorkspaceContext export class UmbBlockGridAreaTypeWorkspaceContext

View File

@@ -1,9 +1,8 @@
import { manifests as workspaceViewManifests } from './views/manifests.js'; import { manifests as workspaceViewManifests } from './views/manifests.js';
import { UMB_BLOCK_GRID_AREA_TYPE_WORKSPACE_ALIAS } from './index.js'; import { UMB_BLOCK_GRID_AREA_TYPE_WORKSPACE_ALIAS } from './index.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
...workspaceViewManifests, ...workspaceViewManifests,
{ {
type: 'workspace', type: 'workspace',

View File

@@ -1,12 +1,12 @@
import { UMB_BLOCK_GRID_AREA_TYPE_WORKSPACE_ALIAS } from '../index.js'; import { UMB_BLOCK_GRID_AREA_TYPE_WORKSPACE_ALIAS } from '../index.js';
import type { ManifestTypes, ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry'; import type { ManifestWorkspaceView } from '@umbraco-cms/backoffice/workspace';
export const workspaceViews: Array<ManifestWorkspaceView> = [ export const workspaceViews: Array<ManifestWorkspaceView> = [
{ {
type: 'workspaceView', type: 'workspaceView',
alias: 'Umb.WorkspaceView.BlockGridAreaType.Settings', alias: 'Umb.WorkspaceView.BlockGridAreaType.Settings',
name: 'Block Grid Area Type Workspace Settings View', name: 'Block Grid Area Type Workspace Settings View',
js: () => import('./settings.element.js'), element: () => import('./settings.element.js'),
weight: 1000, weight: 1000,
meta: { meta: {
label: '#general_settings', label: '#general_settings',
@@ -22,4 +22,4 @@ export const workspaceViews: Array<ManifestWorkspaceView> = [
}, },
]; ];
export const manifests: Array<ManifestTypes> = [...workspaceViews]; export const manifests: Array<UmbExtensionManifest> = [...workspaceViews];

View File

@@ -1,7 +1,7 @@
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace';
import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property'; import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property';
import type { UmbChangeEvent } from '@umbraco-cms/backoffice/event'; import type { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
import type { UmbInputNumberRangeElement } from '@umbraco-cms/backoffice/components'; import type { UmbInputNumberRangeElement } from '@umbraco-cms/backoffice/components';

View File

@@ -1,9 +1,8 @@
import { manifests as componentManifests } from './components/manifests.js'; import { manifests as componentManifests } from './components/manifests.js';
import { manifests as propertyEditorManifests } from './property-editors/manifests.js'; import { manifests as propertyEditorManifests } from './property-editors/manifests.js';
import { manifests as workspaceManifests } from './workspace/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
...workspaceManifests, ...workspaceManifests,
...propertyEditorManifests, ...propertyEditorManifests,
...componentManifests, ...componentManifests,

View File

@@ -4,7 +4,7 @@ export const manifest: ManifestPropertyEditorUi = {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockGridAreaTypePermission', alias: 'Umb.PropertyEditorUi.BlockGridAreaTypePermission',
name: 'Block Grid Area Type Permission Configuration Property Editor UI', name: 'Block Grid Area Type Permission Configuration Property Editor UI',
js: () => import('./block-grid-area-type-permission.element.js'), element: () => import('./block-grid-area-type-permission.element.js'),
meta: { meta: {
label: 'Block Grid Area Type Permissions', label: 'Block Grid Area Type Permissions',
icon: 'icon-document', icon: 'icon-document',

View File

@@ -4,7 +4,7 @@ export const manifest: ManifestPropertyEditorUi = {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockGridAreasConfig', alias: 'Umb.PropertyEditorUi.BlockGridAreasConfig',
name: 'Block Grid Areas Configuration Property Editor UI', name: 'Block Grid Areas Configuration Property Editor UI',
js: () => import('./property-editor-ui-block-grid-areas-config.element.js'), element: () => import('./property-editor-ui-block-grid-areas-config.element.js'),
meta: { meta: {
label: 'Block Grid Areas Configuration', label: 'Block Grid Areas Configuration',
icon: 'icon-document', icon: 'icon-document',

View File

@@ -4,7 +4,7 @@ export const manifest: ManifestPropertyEditorUi = {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockGridColumnSpan', alias: 'Umb.PropertyEditorUi.BlockGridColumnSpan',
name: 'Block Grid Column Span Property Editor UI', name: 'Block Grid Column Span Property Editor UI',
js: () => import('./property-editor-ui-block-grid-column-span.element.js'), element: () => import('./property-editor-ui-block-grid-column-span.element.js'),
meta: { meta: {
label: 'Block Grid Column Span', label: 'Block Grid Column Span',
icon: 'icon-document', icon: 'icon-document',

View File

@@ -1,14 +1,13 @@
import { manifest as blockGridSchemaManifest } from './Umbraco.BlockGrid.js'; import { manifest as blockGridSchemaManifest } from './Umbraco.BlockGrid.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const UMB_BLOCK_GRID_PROPERTY_EDITOR_ALIAS = 'Umbraco.BlockGrid'; export const UMB_BLOCK_GRID_PROPERTY_EDITOR_ALIAS = 'Umbraco.BlockGrid';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
{ {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockGrid', alias: 'Umb.PropertyEditorUi.BlockGrid',
name: 'Block Grid Property Editor UI', name: 'Block Grid Property Editor UI',
js: () => import('./property-editor-ui-block-grid.element.js'), element: () => import('./property-editor-ui-block-grid.element.js'),
meta: { meta: {
label: 'Block Grid', label: 'Block Grid',
propertyEditorSchemaAlias: UMB_BLOCK_GRID_PROPERTY_EDITOR_ALIAS, propertyEditorSchemaAlias: UMB_BLOCK_GRID_PROPERTY_EDITOR_ALIAS,

View File

@@ -4,7 +4,7 @@ export const manifest: ManifestPropertyEditorUi = {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockTypeGroupConfiguration', alias: 'Umb.PropertyEditorUi.BlockTypeGroupConfiguration',
name: 'Block Grid Group Configuration Property Editor UI', name: 'Block Grid Group Configuration Property Editor UI',
js: () => import('./property-editor-ui-block-grid-group-configuration.element.js'), element: () => import('./property-editor-ui-block-grid-group-configuration.element.js'),
meta: { meta: {
label: '', label: '',
icon: 'icon-box-alt', icon: 'icon-box-alt',

View File

@@ -4,7 +4,7 @@ export const manifest: ManifestPropertyEditorUi = {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockGridLayoutStylesheet', alias: 'Umb.PropertyEditorUi.BlockGridLayoutStylesheet',
name: 'Block Grid Layout Stylesheet Property Editor UI', name: 'Block Grid Layout Stylesheet Property Editor UI',
js: () => import('./property-editor-ui-block-grid-layout-stylesheet.element.js'), element: () => import('./property-editor-ui-block-grid-layout-stylesheet.element.js'),
meta: { meta: {
label: 'Block Grid Layout Stylesheet', label: 'Block Grid Layout Stylesheet',
icon: 'icon-document', icon: 'icon-document',

View File

@@ -4,7 +4,7 @@ export const manifest: ManifestPropertyEditorUi = {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockGridTypeConfiguration', alias: 'Umb.PropertyEditorUi.BlockGridTypeConfiguration',
name: 'Block Grid Block Configuration Property Editor UI', name: 'Block Grid Block Configuration Property Editor UI',
js: () => import('./property-editor-ui-block-grid-type-configuration.element.js'), element: () => import('./property-editor-ui-block-grid-type-configuration.element.js'),
meta: { meta: {
label: 'Block Grid Block Configuration', label: 'Block Grid Block Configuration',
icon: 'icon-autofill', icon: 'icon-autofill',

View File

@@ -5,9 +5,8 @@ import { manifests as blockGridEditorManifests } from './block-grid-editor/manif
import { manifest as blockGridGroupConfiguration } from './block-grid-group-configuration/manifests.js'; import { manifest as blockGridGroupConfiguration } from './block-grid-group-configuration/manifests.js';
import { manifest as blockGridLayoutStylesheet } from './block-grid-layout-stylesheet/manifests.js'; import { manifest as blockGridLayoutStylesheet } from './block-grid-layout-stylesheet/manifests.js';
import { manifest as blockGridTypeConfiguration } from './block-grid-type-configuration/manifests.js'; import { manifest as blockGridTypeConfiguration } from './block-grid-type-configuration/manifests.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
blockGridAreaTypePermission, blockGridAreaTypePermission,
blockGridAreasConfigEditor, blockGridAreasConfigEditor,
blockGridColumnSpan, blockGridColumnSpan,

View File

@@ -1,8 +1,7 @@
import { manifests as workspaceViewManifests } from './views/manifests.js'; import { manifests as workspaceViewManifests } from './views/manifests.js';
import { UMB_BLOCK_GRID_TYPE_WORKSPACE_ALIAS } from './index.js'; import { UMB_BLOCK_GRID_TYPE_WORKSPACE_ALIAS } from './index.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
...workspaceViewManifests, ...workspaceViewManifests,
{ {
type: 'workspace', type: 'workspace',

View File

@@ -2,7 +2,7 @@ import { UMB_BLOCK_GRID } from '../../types.js';
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace';
// Getting umb-block-type-custom-view-guide element // Getting umb-block-type-custom-view-guide element
import '@umbraco-cms/backoffice/block-type'; import '@umbraco-cms/backoffice/block-type';

View File

@@ -1,7 +1,7 @@
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { css, html, customElement, state, nothing } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement, state, nothing } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace';
import type { UmbPropertyEditorConfig } from '@umbraco-cms/backoffice/property-editor'; import type { UmbPropertyEditorConfig } from '@umbraco-cms/backoffice/property-editor';
import { UMB_DATA_TYPE_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/data-type'; import { UMB_DATA_TYPE_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/data-type';

View File

@@ -1,7 +1,7 @@
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace';
import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property'; import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property';
import type { UmbInputNumberRangeElement } from '@umbraco-cms/backoffice/components'; import type { UmbInputNumberRangeElement } from '@umbraco-cms/backoffice/components';
import { UMB_DATA_TYPE_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/data-type'; import { UMB_DATA_TYPE_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/data-type';

View File

@@ -1,12 +1,11 @@
import { UMB_BLOCK_GRID_TYPE_WORKSPACE_ALIAS } from '../index.js'; import { UMB_BLOCK_GRID_TYPE_WORKSPACE_ALIAS } from '../index.js';
import type { ManifestTypes, ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry';
export const workspaceViews: Array<ManifestWorkspaceView> = [ export const manifests: Array<UmbExtensionManifest> = [
{ {
type: 'workspaceView', type: 'workspaceView',
alias: 'Umb.WorkspaceView.BlockType.Grid.Settings', alias: 'Umb.WorkspaceView.BlockType.Grid.Settings',
name: 'Block Grid Type Workspace Settings View', name: 'Block Grid Type Workspace Settings View',
js: () => import('./block-grid-type-workspace-view-settings.element.js'), element: () => import('./block-grid-type-workspace-view-settings.element.js'),
weight: 1000, weight: 1000,
meta: { meta: {
label: '#general_settings', label: '#general_settings',
@@ -24,7 +23,7 @@ export const workspaceViews: Array<ManifestWorkspaceView> = [
type: 'workspaceView', type: 'workspaceView',
alias: 'Umb.WorkspaceView.BlockType.Grid.Areas', alias: 'Umb.WorkspaceView.BlockType.Grid.Areas',
name: 'Block Grid Type Workspace Areas View', name: 'Block Grid Type Workspace Areas View',
js: () => import('./block-grid-type-workspace-view-areas.element.js'), element: () => import('./block-grid-type-workspace-view-areas.element.js'),
weight: 1000, weight: 1000,
meta: { meta: {
label: '#blockEditor_tabAreas', label: '#blockEditor_tabAreas',
@@ -42,7 +41,7 @@ export const workspaceViews: Array<ManifestWorkspaceView> = [
type: 'workspaceView', type: 'workspaceView',
alias: 'Umb.WorkspaceView.BlockType.Grid.Advance', alias: 'Umb.WorkspaceView.BlockType.Grid.Advance',
name: 'Block Grid Type Workspace Advance View', name: 'Block Grid Type Workspace Advance View',
js: () => import('./block-grid-type-workspace-view-advanced.element.js'), element: () => import('./block-grid-type-workspace-view-advanced.element.js'),
weight: 1000, weight: 1000,
meta: { meta: {
label: '#blockEditor_tabAdvanced', label: '#blockEditor_tabAdvanced',
@@ -57,5 +56,3 @@ export const workspaceViews: Array<ManifestWorkspaceView> = [
], ],
}, },
]; ];
export const manifests: Array<ManifestTypes> = [...workspaceViews];

View File

@@ -1,5 +1,4 @@
import { manifests as propertyEditorManifests } from './property-editors/manifests.js'; import { manifests as propertyEditorManifests } from './property-editors/manifests.js';
import { manifests as workspaceManifests } from './workspace/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [...workspaceManifests, ...propertyEditorManifests]; export const manifests: Array<UmbExtensionManifest> = [...workspaceManifests, ...propertyEditorManifests];

View File

@@ -1,14 +1,13 @@
import { manifest as blockListSchemaManifest } from './Umbraco.BlockList.js'; import { manifest as blockListSchemaManifest } from './Umbraco.BlockList.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS = 'Umbraco.BlockList'; export const UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS = 'Umbraco.BlockList';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
{ {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockList', alias: 'Umb.PropertyEditorUi.BlockList',
name: 'Block List Property Editor UI', name: 'Block List Property Editor UI',
js: () => import('./property-editor-ui-block-list.element.js'), element: () => import('./property-editor-ui-block-list.element.js'),
meta: { meta: {
label: 'Block List', label: 'Block List',
propertyEditorSchemaAlias: UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS, propertyEditorSchemaAlias: UMB_BLOCK_LIST_PROPERTY_EDITOR_ALIAS,

View File

@@ -118,7 +118,7 @@ export class UmbPropertyEditorUIBlockListElement
* Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content. * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.
* @type {boolean} * @type {boolean}
* @attr * @attr
* @default false * @default
*/ */
@property({ type: Boolean, reflect: true }) @property({ type: Boolean, reflect: true })
public get readonly() { public get readonly() {

View File

@@ -4,7 +4,7 @@ export const manifest: ManifestPropertyEditorUi = {
type: 'propertyEditorUi', type: 'propertyEditorUi',
alias: 'Umb.PropertyEditorUi.BlockListTypeConfiguration', alias: 'Umb.PropertyEditorUi.BlockListTypeConfiguration',
name: 'Block List Type Configuration Property Editor UI', name: 'Block List Type Configuration Property Editor UI',
js: () => import('./property-editor-ui-block-list-type-configuration.element.js'), element: () => import('./property-editor-ui-block-list-type-configuration.element.js'),
meta: { meta: {
label: 'Block List Type Configuration', label: 'Block List Type Configuration',
icon: 'icon-autofill', icon: 'icon-autofill',

View File

@@ -1,5 +1,4 @@
import { manifest as blockListTypeConfiguration } from './block-list-type-configuration/manifests.js'; import { manifest as blockListTypeConfiguration } from './block-list-type-configuration/manifests.js';
import { manifests as blockGridEditorManifests } from './block-list-editor/manifests.js'; import { manifests as blockGridEditorManifests } from './block-list-editor/manifests.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [blockListTypeConfiguration, ...blockGridEditorManifests]; export const manifests: Array<UmbExtensionManifest> = [blockListTypeConfiguration, ...blockGridEditorManifests];

View File

@@ -1,8 +1,7 @@
import { manifests as workspaceViewManifests } from './views/manifests.js'; import { manifests as workspaceViewManifests } from './views/manifests.js';
import { UMB_BLOCK_LIST_TYPE_WORKSPACE_ALIAS } from './index.js'; import { UMB_BLOCK_LIST_TYPE_WORKSPACE_ALIAS } from './index.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
...workspaceViewManifests, ...workspaceViewManifests,
{ {
type: 'workspace', type: 'workspace',

View File

@@ -1,7 +1,7 @@
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-block-list-type-workspace-view-settings') @customElement('umb-block-list-type-workspace-view-settings')
export class UmbBlockListTypeWorkspaceViewSettingsElement extends UmbLitElement implements UmbWorkspaceViewElement { export class UmbBlockListTypeWorkspaceViewSettingsElement extends UmbLitElement implements UmbWorkspaceViewElement {

View File

@@ -1,12 +1,11 @@
import { UMB_BLOCK_LIST_TYPE_WORKSPACE_ALIAS } from '../index.js'; import { UMB_BLOCK_LIST_TYPE_WORKSPACE_ALIAS } from '../index.js';
import type { ManifestTypes, ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry';
export const workspaceViews: Array<ManifestWorkspaceView> = [ export const manifests: Array<UmbExtensionManifest> = [
{ {
type: 'workspaceView', type: 'workspaceView',
alias: 'Umb.WorkspaceView.BlockType.List.Settings', alias: 'Umb.WorkspaceView.BlockType.List.Settings',
name: 'Block List Type Workspace Settings View', name: 'Block List Type Workspace Settings View',
js: () => import('./block-list-type-workspace-view.element.js'), element: () => import('./block-list-type-workspace-view.element.js'),
weight: 1000, weight: 1000,
meta: { meta: {
label: '#blockEditor_tabBlockSettings', label: '#blockEditor_tabBlockSettings',
@@ -21,5 +20,3 @@ export const workspaceViews: Array<ManifestWorkspaceView> = [
], ],
}, },
]; ];
export const manifests: Array<ManifestTypes> = [...workspaceViews];

View File

@@ -1,5 +1,4 @@
import { manifests as tinyMcePluginManifests } from './tiny-mce-plugin/manifests.js'; import { manifests as tinyMcePluginManifests } from './tiny-mce-plugin/manifests.js';
import { manifests as workspaceManifests } from './workspace/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [...tinyMcePluginManifests, ...workspaceManifests]; export const manifests: Array<UmbExtensionManifest> = [...tinyMcePluginManifests, ...workspaceManifests];

View File

@@ -1,8 +1,7 @@
import { manifests as workspaceViewManifests } from './views/manifests.js'; import { manifests as workspaceViewManifests } from './views/manifests.js';
import { UMB_BLOCK_RTE_TYPE_WORKSPACE_ALIAS } from './index.js'; import { UMB_BLOCK_RTE_TYPE_WORKSPACE_ALIAS } from './index.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
...workspaceViewManifests, ...workspaceViewManifests,
{ {
type: 'workspace', type: 'workspace',

View File

@@ -1,7 +1,7 @@
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-block-rte-type-workspace-view-settings') @customElement('umb-block-rte-type-workspace-view-settings')
export class UmbBlockRteTypeWorkspaceViewSettingsElement extends UmbLitElement implements UmbWorkspaceViewElement { export class UmbBlockRteTypeWorkspaceViewSettingsElement extends UmbLitElement implements UmbWorkspaceViewElement {

View File

@@ -1,12 +1,11 @@
import { UMB_BLOCK_RTE_TYPE_WORKSPACE_ALIAS } from '../index.js'; import { UMB_BLOCK_RTE_TYPE_WORKSPACE_ALIAS } from '../index.js';
import type { ManifestTypes, ManifestWorkspaceView } from '@umbraco-cms/backoffice/extension-registry';
export const workspaceViews: Array<ManifestWorkspaceView> = [ export const manifests: Array<UmbExtensionManifest> = [
{ {
type: 'workspaceView', type: 'workspaceView',
alias: 'Umb.WorkspaceView.BlockType.RTE.Settings', alias: 'Umb.WorkspaceView.BlockType.RTE.Settings',
name: 'Block List Type Workspace Settings View', name: 'Block List Type Workspace Settings View',
js: () => import('./block-rte-type-workspace-view.element.js'), element: () => import('./block-rte-type-workspace-view.element.js'),
weight: 1000, weight: 1000,
meta: { meta: {
label: '#general_settings', label: '#general_settings',
@@ -21,5 +20,3 @@ export const workspaceViews: Array<ManifestWorkspaceView> = [
], ],
}, },
]; ];
export const manifests: Array<ManifestTypes> = [...workspaceViews];

View File

@@ -1,4 +1,3 @@
import { manifests as workspaceManifests } from './workspace/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [...workspaceManifests]; export const manifests: Array<UmbExtensionManifest> = [...workspaceManifests];

View File

@@ -5,6 +5,7 @@ import { UMB_PROPERTY_CONTEXT } from '@umbraco-cms/backoffice/property';
import type { import type {
UmbInvariantDatasetWorkspaceContext, UmbInvariantDatasetWorkspaceContext,
UmbRoutableWorkspaceContext, UmbRoutableWorkspaceContext,
ManifestWorkspace,
} from '@umbraco-cms/backoffice/workspace'; } from '@umbraco-cms/backoffice/workspace';
import { import {
UmbSubmittableWorkspaceContextBase, UmbSubmittableWorkspaceContextBase,
@@ -13,7 +14,6 @@ import {
} from '@umbraco-cms/backoffice/workspace'; } from '@umbraco-cms/backoffice/workspace';
import { UmbObjectState, appendToFrozenArray } from '@umbraco-cms/backoffice/observable-api'; import { UmbObjectState, appendToFrozenArray } from '@umbraco-cms/backoffice/observable-api';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import type { ManifestWorkspace } from '@umbraco-cms/backoffice/extension-registry';
export class UmbBlockTypeWorkspaceContext<BlockTypeData extends UmbBlockTypeWithGroupKey = UmbBlockTypeWithGroupKey> export class UmbBlockTypeWorkspaceContext<BlockTypeData extends UmbBlockTypeWithGroupKey = UmbBlockTypeWithGroupKey>
extends UmbSubmittableWorkspaceContextBase<BlockTypeData> extends UmbSubmittableWorkspaceContextBase<BlockTypeData>

View File

@@ -2,9 +2,8 @@ import { UMB_BLOCK_GRID_TYPE_WORKSPACE_ALIAS } from '../../block-grid/workspace/
import { UMB_BLOCK_LIST_TYPE_WORKSPACE_ALIAS } from '../../block-list/workspace/index.js'; import { UMB_BLOCK_LIST_TYPE_WORKSPACE_ALIAS } from '../../block-list/workspace/index.js';
import { UMB_BLOCK_RTE_TYPE_WORKSPACE_ALIAS } from '../../block-rte/workspace/index.js'; import { UMB_BLOCK_RTE_TYPE_WORKSPACE_ALIAS } from '../../block-rte/workspace/index.js';
import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
import type { ManifestWorkspaceActions } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestWorkspaceActions> = [ export const manifests: Array<UmbExtensionManifest> = [
{ {
type: 'workspaceAction', type: 'workspaceAction',
kind: 'default', kind: 'default',

View File

@@ -1,5 +1,5 @@
import { UMB_BLOCK_ENTRY_CONTEXT } from '../context/block-entry.context-token.js'; import { UMB_BLOCK_ENTRY_CONTEXT } from '../context/block-entry.context-token.js';
import type { BlockEntryShowContentEditConditionConfig } from '@umbraco-cms/backoffice/extension-registry'; import type { BlockEntryShowContentEditConditionConfig } from './types.js';
import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry'; import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry';
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api'; import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';

View File

@@ -1,6 +1,6 @@
import { UMB_BLOCK_WORKSPACE_CONTEXT } from '../workspace/block-workspace.context-token.js'; import { UMB_BLOCK_WORKSPACE_CONTEXT } from '../workspace/block-workspace.context-token.js';
import type { BlockWorkspaceHasSettingsConditionConfig } from './types.js';
import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry'; import { UmbConditionBase } from '@umbraco-cms/backoffice/extension-registry';
import type { BlockWorkspaceHasSettingsConditionConfig } from '@umbraco-cms/backoffice/extension-registry';
import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api'; import type { UmbConditionControllerArguments, UmbExtensionCondition } from '@umbraco-cms/backoffice/extension-api';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';

View File

@@ -0,0 +1,13 @@
import type { UmbConditionConfigBase } from '@umbraco-cms/backoffice/extension-api';
export type BlockWorkspaceHasSettingsConditionConfig =
UmbConditionConfigBase<'Umb.Condition.BlockWorkspaceHasSettings'>;
export type BlockEntryShowContentEditConditionConfig =
UmbConditionConfigBase<'Umb.Condition.BlockEntryShowContentEdit'>;
declare global {
interface UmbExtensionConditionMap {
umbBlock: BlockEntryShowContentEditConditionConfig | BlockWorkspaceHasSettingsConditionConfig;
}
}

View File

@@ -1,6 +1,5 @@
import { manifests as conditionManifests } from './conditions/manifests.js'; import { manifests as conditionManifests } from './conditions/manifests.js';
import { manifests as modalManifests } from './modals/manifests.js'; import { manifests as modalManifests } from './modals/manifests.js';
import { manifests as workspaceManifests } from './workspace/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [...modalManifests, ...workspaceManifests, ...conditionManifests]; export const manifests: Array<UmbExtensionManifest> = [...modalManifests, ...workspaceManifests, ...conditionManifests];

View File

@@ -1,12 +1,8 @@
import type { ManifestModal, ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; export const manifests: Array<UmbExtensionManifest> = [
const modals: Array<ManifestModal> = [
{ {
type: 'modal', type: 'modal',
alias: 'Umb.Modal.BlockCatalogue', alias: 'Umb.Modal.BlockCatalogue',
name: 'Block Catalogue Modal', name: 'Block Catalogue Modal',
js: () => import('./block-catalogue/block-catalogue-modal.element.js'), element: () => import('./block-catalogue/block-catalogue-modal.element.js'),
}, },
]; ];
export const manifests: Array<ManifestTypes> = [...modals];

View File

@@ -5,10 +5,10 @@ import {
UmbSubmittableWorkspaceContextBase, UmbSubmittableWorkspaceContextBase,
type UmbRoutableWorkspaceContext, type UmbRoutableWorkspaceContext,
UmbWorkspaceIsNewRedirectController, UmbWorkspaceIsNewRedirectController,
type ManifestWorkspace,
} from '@umbraco-cms/backoffice/workspace'; } from '@umbraco-cms/backoffice/workspace';
import { UmbClassState, UmbObjectState, UmbStringState } from '@umbraco-cms/backoffice/observable-api'; import { UmbClassState, UmbObjectState, UmbStringState } from '@umbraco-cms/backoffice/observable-api';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import type { ManifestWorkspace } from '@umbraco-cms/backoffice/extension-registry';
import { UMB_MODAL_CONTEXT, type UmbModalContext } from '@umbraco-cms/backoffice/modal'; import { UMB_MODAL_CONTEXT, type UmbModalContext } from '@umbraco-cms/backoffice/modal';
import { decodeFilePath, UmbReadOnlyVariantStateManager } from '@umbraco-cms/backoffice/utils'; import { decodeFilePath, UmbReadOnlyVariantStateManager } from '@umbraco-cms/backoffice/utils';
import { import {

View File

@@ -1,8 +1,7 @@
import { UMB_BLOCK_WORKSPACE_ALIAS } from './index.js'; import { UMB_BLOCK_WORKSPACE_ALIAS } from './index.js';
import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
{ {
type: 'workspaceAction', type: 'workspaceAction',
kind: 'default', kind: 'default',
@@ -35,7 +34,7 @@ export const manifests: Array<ManifestTypes> = [
type: 'workspaceView', type: 'workspaceView',
alias: 'Umb.WorkspaceView.Block.Content', alias: 'Umb.WorkspaceView.Block.Content',
name: 'Block Workspace Content View', name: 'Block Workspace Content View',
js: () => import('./views/edit/block-workspace-view-edit.element.js'), element: () => import('./views/edit/block-workspace-view-edit.element.js'),
weight: 1000, weight: 1000,
meta: { meta: {
label: '#general_content', label: '#general_content',
@@ -60,7 +59,7 @@ export const manifests: Array<ManifestTypes> = [
type: 'workspaceView', type: 'workspaceView',
alias: 'Umb.WorkspaceView.Block.Settings', alias: 'Umb.WorkspaceView.Block.Settings',
name: 'Block Workspace Settings View', name: 'Block Workspace Settings View',
js: () => import('./views/edit/block-workspace-view-edit.element.js'), element: () => import('./views/edit/block-workspace-view-edit.element.js'),
weight: 900, weight: 900,
meta: { meta: {
label: '#general_settings', label: '#general_settings',

View File

@@ -5,7 +5,7 @@ import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type'; import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import type { UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type'; import type { UmbPropertyTypeContainerModel } from '@umbraco-cms/backoffice/content-type';
import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace';
/** /**
* @element umb-block-workspace-view-edit-content-no-router * @element umb-block-workspace-view-edit-content-no-router

View File

@@ -8,7 +8,7 @@ import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/
import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router'; import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router';
import { encodeFolderName } from '@umbraco-cms/backoffice/router'; import { encodeFolderName } from '@umbraco-cms/backoffice/router';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import type { ManifestWorkspaceView, UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { ManifestWorkspaceView, UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/workspace';
@customElement('umb-block-workspace-view-edit') @customElement('umb-block-workspace-view-edit')
export class UmbBlockWorkspaceViewEditElement extends UmbLitElement implements UmbWorkspaceViewElement { export class UmbBlockWorkspaceViewEditElement extends UmbLitElement implements UmbWorkspaceViewElement {

View File

@@ -4,11 +4,10 @@ import { manifests as blockListManifests } from './block-list/manifests.js';
import { manifests as blockRteManifests } from './block-rte/manifests.js'; import { manifests as blockRteManifests } from './block-rte/manifests.js';
import { manifests as blockTypeManifests } from './block-type/manifests.js'; import { manifests as blockTypeManifests } from './block-type/manifests.js';
import { manifest as modalManifest } from './modals/manifest-viewer/manifest.js'; import { manifest as modalManifest } from './modals/manifest-viewer/manifest.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
// TODO: Remove test custom view, or transfer to test or similar? // TODO: Remove test custom view, or transfer to test or similar?
//import { manifest } from './custom-view/manifest.js'; //import { manifest } from './custom-view/manifest.js';
export const manifests: Array<ManifestTypes> = [ export const manifests: Array<UmbExtensionManifest> = [
//manifest, //manifest,
...blockManifests, ...blockManifests,
...blockTypeManifests, ...blockTypeManifests,

View File

@@ -1,4 +1,3 @@
import { manifest as propertyEditorManifest } from './property-editor/manifests.js'; import { manifest as propertyEditorManifest } from './property-editor/manifests.js';
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
export const manifests: Array<ManifestTypes> = [propertyEditorManifest]; export const manifests: Array<UmbExtensionManifest> = [propertyEditorManifest];

View File

@@ -1,5 +1,4 @@
import type { ManifestTypes } from '../extension-registry/models/index.js';
import { manifests as modalManifests } from './modals/manifests.js'; import { manifests as modalManifests } from './modals/manifests.js';
import { manifests as providerManifests } from './providers/manifests.js'; import { manifests as providerManifests } from './providers/manifests.js';
export const manifests: Array<ManifestTypes> = [...modalManifests, ...providerManifests]; export const manifests: Array<UmbExtensionManifest> = [...modalManifests, ...providerManifests];

View File

@@ -4,10 +4,11 @@ import { html, customElement, property, state, ifDefined } from '@umbraco-cms/ba
import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui'; import type { UUIButtonState } from '@umbraco-cms/backoffice/external/uui';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
import type { UmbBackofficeManifestKind, ManifestCollectionAction } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';
import type { ManifestCollectionAction } from '@umbraco-cms/backoffice/collection';
import { createExtensionApi } from '@umbraco-cms/backoffice/extension-api'; import { createExtensionApi } from '@umbraco-cms/backoffice/extension-api';
const manifest: UmbBackofficeManifestKind = { const manifest: UmbExtensionManifestKind = {
type: 'kind', type: 'kind',
alias: 'Umb.Kind.CollectionAction.Button', alias: 'Umb.Kind.CollectionAction.Button',
matchKind: 'button', matchKind: 'button',

View File

@@ -1,4 +1,4 @@
import type { ManifestCollectionView } from '../extension-registry/models/index.js'; import type { ManifestCollectionView } from './extensions/index.js';
import { umbExtensionsRegistry } from '../extension-registry/index.js'; import { umbExtensionsRegistry } from '../extension-registry/index.js';
import { UmbCollectionViewManager } from './collection-view.manager.js'; import { UmbCollectionViewManager } from './collection-view.manager.js';
import { expect } from '@open-wc/testing'; import { expect } from '@open-wc/testing';

View File

@@ -1,8 +1,8 @@
import type { ManifestCollectionView } from './extensions/index.js';
import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api';
import { UmbExtensionsManifestInitializer, createExtensionElement } from '@umbraco-cms/backoffice/extension-api'; import { UmbExtensionsManifestInitializer, createExtensionElement } from '@umbraco-cms/backoffice/extension-api';
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
import { UmbArrayState, UmbObjectState, UmbStringState } from '@umbraco-cms/backoffice/observable-api'; import { UmbArrayState, UmbObjectState, UmbStringState } from '@umbraco-cms/backoffice/observable-api';
import type { ManifestCollectionView } from '@umbraco-cms/backoffice/extension-registry';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import type { UmbRoute } from '@umbraco-cms/backoffice/router'; import type { UmbRoute } from '@umbraco-cms/backoffice/router';

View File

@@ -1,7 +1,7 @@
import type { UmbCollectionConfiguration } from './types.js'; import type { UmbCollectionConfiguration } from './types.js';
import type { ManifestCollection } from './extensions/index.js';
import { customElement, property } from '@umbraco-cms/backoffice/external/lit'; import { customElement, property } from '@umbraco-cms/backoffice/external/lit';
import { UmbExtensionElementAndApiSlotElementBase } from '@umbraco-cms/backoffice/extension-registry'; import { UmbExtensionElementAndApiSlotElementBase } from '@umbraco-cms/backoffice/extension-registry';
import type { ManifestCollection } from '@umbraco-cms/backoffice/extension-registry';
import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; import type { UmbApi } from '@umbraco-cms/backoffice/extension-api';
const elementName = 'umb-collection'; const elementName = 'umb-collection';

View File

@@ -1,12 +1,12 @@
import type { UmbDefaultCollectionContext } from '../default/index.js'; import type { UmbDefaultCollectionContext } from '../default/index.js';
import { UMB_COLLECTION_CONTEXT } from '../default/index.js'; import { UMB_COLLECTION_CONTEXT } from '../default/index.js';
import type { UmbCollectionLayoutConfiguration } from '../types.js'; import type { UmbCollectionLayoutConfiguration } from '../types.js';
import type { ManifestCollectionView } from '../extensions/index.js';
import { css, html, customElement, state, nothing, repeat, query } from '@umbraco-cms/backoffice/external/lit'; import { css, html, customElement, state, nothing, repeat, query } from '@umbraco-cms/backoffice/external/lit';
import { observeMultiple } from '@umbraco-cms/backoffice/observable-api'; import { observeMultiple } from '@umbraco-cms/backoffice/observable-api';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace';
import type { ManifestCollectionView } from '@umbraco-cms/backoffice/extension-registry';
import type { UUIPopoverContainerElement } from '@umbraco-cms/backoffice/external/uui'; import type { UUIPopoverContainerElement } from '@umbraco-cms/backoffice/external/uui';
interface UmbCollectionViewLayout { interface UmbCollectionViewLayout {

View File

@@ -1,33 +0,0 @@
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
import type { ManifestDashboardCollection } from '@umbraco-cms/backoffice/extension-registry';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
@customElement('umb-dashboard-collection')
export class UmbDashboardCollectionElement extends UmbLitElement {
public manifest!: ManifestDashboardCollection;
// TODO: figure out what collection to render
override render() {
return html`<umb-collection></umb-collection>`;
}
static override styles = [
css`
:host {
display: flex;
flex-direction: column;
box-sizing: border-box;
gap: var(--uui-size-space-5);
height: 100%;
}
`,
];
}
export default UmbDashboardCollectionElement;
declare global {
interface HTMLElementTagNameMap {
'umb-dashboard-collection': UmbDashboardCollectionElement;
}
}

View File

@@ -1,15 +0,0 @@
import type { UmbDashboardCollectionElement } from './dashboard-collection.element.js';
import type { Meta, Story } from '@storybook/web-components';
import { html } from '@umbraco-cms/backoffice/external/lit';
import './dashboard-collection.element.js';
export default {
title: 'Dashboards/Media Management',
component: 'umb-dashboard-collection',
id: 'umb-dashboard-collection',
} as Meta;
export const AAAOverview: Story<UmbDashboardCollectionElement> = () =>
html` <umb-dashboard-collection></umb-dashboard-collection>`;
AAAOverview.storyName = 'Overview';

View File

@@ -8,6 +8,7 @@ import type {
} from '../types.js'; } from '../types.js';
import type { UmbCollectionFilterModel } from '../collection-filter-model.interface.js'; import type { UmbCollectionFilterModel } from '../collection-filter-model.interface.js';
import type { UmbCollectionRepository } from '../repository/collection-repository.interface.js'; import type { UmbCollectionRepository } from '../repository/collection-repository.interface.js';
import type { ManifestCollection } from '../extensions/index.js';
import { UMB_COLLECTION_CONTEXT } from './collection-default.context-token.js'; import { UMB_COLLECTION_CONTEXT } from './collection-default.context-token.js';
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
import { UmbArrayState, UmbNumberState, UmbObjectState } from '@umbraco-cms/backoffice/observable-api'; import { UmbArrayState, UmbNumberState, UmbObjectState } from '@umbraco-cms/backoffice/observable-api';
@@ -15,7 +16,7 @@ import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
import { UmbExtensionApiInitializer } from '@umbraco-cms/backoffice/extension-api'; import { UmbExtensionApiInitializer } from '@umbraco-cms/backoffice/extension-api';
import { UmbSelectionManager, UmbPaginationManager } from '@umbraco-cms/backoffice/utils'; import { UmbSelectionManager, UmbPaginationManager } from '@umbraco-cms/backoffice/utils';
import type { ManifestCollection, ManifestRepository } from '@umbraco-cms/backoffice/extension-registry'; import type { ManifestRepository } from '@umbraco-cms/backoffice/extension-registry';
import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; import type { UmbApi } from '@umbraco-cms/backoffice/extension-api';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
import { import {

View File

@@ -4,10 +4,10 @@ import { css, html, customElement, state } from '@umbraco-cms/backoffice/externa
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
import type { UmbBackofficeManifestKind } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbExtensionManifestKind } from '@umbraco-cms/backoffice/extension-registry';
import type { UmbRoute } from '@umbraco-cms/backoffice/router'; import type { UmbRoute } from '@umbraco-cms/backoffice/router';
const manifest: UmbBackofficeManifestKind = { const manifest: UmbExtensionManifestKind = {
type: 'kind', type: 'kind',
alias: 'Umb.Kind.Collection.Default', alias: 'Umb.Kind.Collection.Default',
matchKind: 'default', matchKind: 'default',

View File

@@ -1,4 +1,3 @@
import type { ConditionTypes } from '../conditions/types.js';
import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api'; import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api';
/** /**
@@ -6,7 +5,9 @@ import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '@umbr
* For example for content you may wish to create a new document etc * For example for content you may wish to create a new document etc
*/ */
// TODO: create interface for API // TODO: create interface for API
export interface ManifestCollectionAction extends ManifestElementAndApi, ManifestWithDynamicConditions<ConditionTypes> { export interface ManifestCollectionAction
extends ManifestElementAndApi,
ManifestWithDynamicConditions<UmbExtensionCondition> {
type: 'collectionAction'; type: 'collectionAction';
meta: MetaCollectionAction; meta: MetaCollectionAction;
} }
@@ -15,3 +16,9 @@ export interface MetaCollectionAction {
label: string; label: string;
href?: string; href?: string;
} }
declare global {
interface UmbExtensionManifestMap {
umbCollectionAction: ManifestCollectionAction;
}
}

View File

@@ -1,7 +1,6 @@
import type { ConditionTypes } from '../conditions/types.js';
import type { ManifestElement, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api'; import type { ManifestElement, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api';
export interface ManifestCollectionView extends ManifestElement, ManifestWithDynamicConditions<ConditionTypes> { export interface ManifestCollectionView extends ManifestElement, ManifestWithDynamicConditions<UmbExtensionCondition> {
type: 'collectionView'; type: 'collectionView';
meta: MetaCollectionView; meta: MetaCollectionView;
} }
@@ -37,3 +36,9 @@ export interface ConditionsCollectionView {
*/ */
entityType: string; entityType: string;
} }
declare global {
interface UmbExtensionManifestMap {
umbCollectionView: ManifestCollectionView;
}
}

View File

@@ -1,7 +1,8 @@
import type { ConditionTypes } from '../conditions/types.js';
import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api'; import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '@umbraco-cms/backoffice/extension-api';
export interface ManifestCollection extends ManifestElementAndApi, ManifestWithDynamicConditions<ConditionTypes> { export interface ManifestCollection
extends ManifestElementAndApi,
ManifestWithDynamicConditions<UmbExtensionCondition> {
type: 'collection'; type: 'collection';
meta: MetaCollection; meta: MetaCollection;
} }
@@ -9,3 +10,9 @@ export interface ManifestCollection extends ManifestElementAndApi, ManifestWithD
export interface MetaCollection { export interface MetaCollection {
repositoryAlias: string; repositoryAlias: string;
} }
declare global {
interface UmbExtensionManifestMap {
umbCollection: ManifestCollection;
}
}

View File

@@ -0,0 +1,3 @@
export * from './collection-action.extension.js';
export * from './collection-view.extension.js';
export * from './collection.extension.js';

Some files were not shown because too many files have changed in this diff Show More