Skip to content

Commit 9b27184

Browse files
authored
Merge pull request #17755 from umbraco/v15/feature/first-round-of-data-marks
Feature: Adding first round of data marks
2 parents a85f82f + e61bbe0 commit 9b27184

File tree

27 files changed

+263
-196
lines changed

27 files changed

+263
-196
lines changed

src/Umbraco.Web.UI.Client/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"./code-editor": "./dist-cms/packages/code-editor/index.js",
2929
"./collection": "./dist-cms/packages/core/collection/index.js",
3030
"./components": "./dist-cms/packages/core/components/index.js",
31+
"./const": "./dist-cms/packages/core/const/index.js",
3132
"./content-type": "./dist-cms/packages/core/content-type/index.js",
3233
"./content": "./dist-cms/packages/core/content/index.js",
3334
"./culture": "./dist-cms/packages/core/culture/index.js",

src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-header-apps.element.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
1+
import { UMB_MARK_ATTRIBUTE_NAME } from '@umbraco-cms/backoffice/const';
2+
import type { UmbExtensionElementInitializer } from '@umbraco-cms/backoffice/extension-api';
3+
import type { ManifestHeaderApp } from '@umbraco-cms/backoffice/extension-registry';
14
import type { CSSResultGroup } from '@umbraco-cms/backoffice/external/lit';
25
import { css, html, LitElement, customElement } from '@umbraco-cms/backoffice/external/lit';
36

47
@customElement('umb-backoffice-header-apps')
58
export class UmbBackofficeHeaderAppsElement extends LitElement {
69
override render() {
7-
return html` <umb-extension-slot id="apps" type="headerApp"></umb-extension-slot> `;
10+
return html`
11+
<umb-extension-slot
12+
id="apps"
13+
type="headerApp"
14+
data-mark="header-apps"
15+
.renderMethod=${this.#extensionSlotRenderMethod}></umb-extension-slot>
16+
`;
817
}
918

19+
#extensionSlotRenderMethod = (ext: UmbExtensionElementInitializer<ManifestHeaderApp>) => {
20+
if (ext.component) {
21+
ext.component.setAttribute(UMB_MARK_ATTRIBUTE_NAME, 'header-app:' + ext.manifest?.alias);
22+
}
23+
return ext.component;
24+
};
25+
1026
static override styles: CSSResultGroup = [
1127
css`
1228
#apps {

src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-header-sections.element.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class UmbBackofficeHeaderSectionsElement extends UmbLitElement {
5454

5555
override render() {
5656
return html`
57-
<uui-tab-group id="tabs">
57+
<uui-tab-group id="tabs" data-mark="section-links">
5858
${repeat(
5959
this._sections,
6060
(section) => section.alias,
@@ -66,7 +66,8 @@ export class UmbBackofficeHeaderSectionsElement extends UmbLitElement {
6666
section.manifest?.meta.label
6767
? this.localize.string(section.manifest?.meta.label)
6868
: section.manifest?.name,
69-
)}"></uui-tab>
69+
)}"
70+
data-mark="section-link:${section.alias}"></uui-tab>
7071
`,
7172
)}
7273
</uui-tab-group>

src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/views/edit/block-workspace-view-edit-tab.element.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export class UmbBlockWorkspaceViewEditTabElement extends UmbLitElement {
8080
${this._hasProperties
8181
? html` <umb-block-workspace-view-edit-properties
8282
.managerName=${this.#managerName}
83-
class="properties"
83+
data-mark="property-group:root"
8484
.containerId=${this._containerId}></umb-block-workspace-view-edit-properties>`
8585
: ''}
8686
${this.hideSingleGroup && this._groups.length === 1
@@ -97,7 +97,7 @@ export class UmbBlockWorkspaceViewEditTabElement extends UmbLitElement {
9797
return html`
9898
<umb-block-workspace-view-edit-properties
9999
.managerName=${this.#managerName}
100-
class="properties"
100+
data-mark="property-group:${group.name}"
101101
.containerId=${group.id}></umb-block-workspace-view-edit-properties>
102102
`;
103103
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const UMB_MARK_ATTRIBUTE_NAME = 'data-mark';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const manifests = [];

src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/views/edit/content-editor-tab.element.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export class UmbContentWorkspaceViewEditTabElement extends UmbLitElement {
5454
? html`
5555
<uui-box>
5656
<umb-content-workspace-view-edit-properties
57-
class="properties"
57+
data-mark="property-group:root"
5858
.containerId=${this._containerId}></umb-content-workspace-view-edit-properties>
5959
</uui-box>
6060
`
@@ -65,7 +65,7 @@ export class UmbContentWorkspaceViewEditTabElement extends UmbLitElement {
6565
(group) =>
6666
html`<uui-box .headline=${this.localize.string(group.name) ?? ''}>
6767
<umb-content-workspace-view-edit-properties
68-
class="properties"
68+
data-mark="property-group:${group.name}"
6969
.containerId=${group.id}></umb-content-workspace-view-edit-properties>
7070
</uui-box>`,
7171
)}

src/Umbraco.Web.UI.Client/src/packages/core/property-type/workspace/views/settings/property-workspace-view-settings.element.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ export class UmbPropertyTypeWorkspaceViewSettingsElement extends UmbLitElement i
216216
<umb-form-validation-message>
217217
<uui-input
218218
id="name-input"
219+
data-mark="input:entity-name"
219220
name="name"
220221
label=${this.localize.term('placeholders_entername')}
221222
placeholder=${this.localize.term('placeholders_entername')}

src/Umbraco.Web.UI.Client/src/packages/core/property/property/property.element.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import type {
1919
UmbPropertyTypeValidationModel,
2020
} from '@umbraco-cms/backoffice/content-type';
2121
import type { UmbObserverController } from '@umbraco-cms/backoffice/observable-api';
22+
import { UMB_MARK_ATTRIBUTE_NAME } from '@umbraco-cms/backoffice/const';
2223

2324
/**
2425
* @element umb-property
@@ -74,6 +75,7 @@ export class UmbPropertyElement extends UmbLitElement {
7475
*/
7576
@property({ type: String })
7677
public set alias(alias: string) {
78+
this.setAttribute(UMB_MARK_ATTRIBUTE_NAME, 'property:' + alias);
7779
this.#propertyContext.setAlias(alias);
7880
}
7981
public get alias() {

src/Umbraco.Web.UI.Client/src/packages/core/section/section-default.element.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
createExtensionElement,
1515
} from '@umbraco-cms/backoffice/extension-api';
1616
import { aliasToPath } from '@umbraco-cms/backoffice/utils';
17+
import { UMB_MARK_ATTRIBUTE_NAME } from '@umbraco-cms/backoffice/const';
1718

1819
/**
1920
* @class UmbBaseSectionElement
@@ -49,6 +50,9 @@ export class UmbSectionDefaultElement extends UmbLitElement implements UmbSectio
4950

5051
new UmbExtensionsElementInitializer(this, umbExtensionsRegistry, 'sectionSidebarApp', null, (sidebarApps) => {
5152
const oldValue = this._sidebarApps;
53+
sidebarApps.forEach((sidebarApp) => {
54+
sidebarApp.component?.setAttribute(UMB_MARK_ATTRIBUTE_NAME, 'section-sidebar:' + sidebarApp.manifest.alias);
55+
});
5256
this._sidebarApps = sidebarApps;
5357
this.requestUpdate('_sidebarApps', oldValue);
5458
});

0 commit comments

Comments
 (0)