Merge branch 'main' into feature/master-template-selector

This commit is contained in:
Julia Gru
2023-05-31 08:56:19 +02:00
27 changed files with 1462 additions and 17620 deletions

View File

@@ -25,9 +25,6 @@ export default class UmbLoginElement extends LitElement {
@state()
private _loginError = '';
@state()
private _isFormValid = false;
constructor() {
super();
if (this.isLegacy) {
@@ -43,9 +40,7 @@ export default class UmbLoginElement extends LitElement {
const form = e.target as HTMLFormElement;
if (!form) return;
this._isFormValid = form.checkValidity();
if (!this._isFormValid) return;
if (!form.checkValidity()) return;
const formData = new FormData(form);
@@ -114,7 +109,6 @@ export default class UmbLoginElement extends LitElement {
<uui-form-layout-item>${this.#renderErrorMessage()}</uui-form-layout-item>
<uui-button
?disabled=${!this._isFormValid}
type="submit"
label="Login"
look="primary"

View File

@@ -2,7 +2,5 @@ import { cpSync } from 'fs';
const srcDir = './dist-cms';
const outputDir = '../Umbraco.Cms.StaticAssets/wwwroot/umbraco/backoffice';
const outputWebDir = '../Umbraco.Web.UI.New';
cpSync(srcDir, outputDir, { recursive: true });
cpSync(`${srcDir}/umbraco-package-schema.json`, `${outputWebDir}/umbraco-package-schema.json`);

File diff suppressed because it is too large Load Diff

View File

@@ -104,7 +104,7 @@
"lit": "^2.7.4",
"lodash-es": "4.17.21",
"monaco-editor": "^0.36.1",
"router-slot": "file:router-slot-2.1.0.tgz",
"router-slot": "file:router-slot-2.2.0.tgz",
"rxjs": "^7.8.0",
"uuid": "^9.0.0"
},

Binary file not shown.

View File

@@ -61,11 +61,11 @@ export class UmbBackofficeMainElement extends UmbLitElement {
}
});
if (!this._routes.find((r) => r.path === '**')) {
if (this._sections.length > 0) {
this._routes.push({
alias: '__redirect',
path: '**',
redirectTo: this._routePrefix + this._sections?.[0]?.meta.pathname,
path: '/',
redirectTo: 'section/content',
});
}
}

View File

@@ -1,7 +1,7 @@
import { expect, fixture, defineCE } from '@open-wc/testing';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbContextConsumer } from '../consume/context-consumer.js';
import { UmbContextProviderController } from './context-provider.controller.js';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
class UmbTestContextProviderControllerClass {
prop = 'value from provider';

View File

@@ -1,7 +1,7 @@
import { expect, fixture, html } from '@open-wc/testing';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbContextConsumerController } from '../consume/context-consumer.controller.js';
import { UmbContextProviderElement } from './context-provider.element.js';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbControllerHostMixin } from '@umbraco-cms/backoffice/controller-api';
@customElement('umb-test-context')

View File

@@ -1,7 +1,7 @@
import { expect, fixture, html } from '@open-wc/testing';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbControllerHostInitializerElement } from './controller-host-initializer.element.js';
import { UmbControllerHostElement, UmbControllerHostMixin } from './controller-host.mixin.js';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbContextConsumerController, UmbContextProviderController } from '@umbraco-cms/backoffice/context-api';
@customElement('umb-test-controller-host-initializer-consumer')

View File

@@ -1,6 +1,6 @@
import { expect } from '@open-wc/testing';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbControllerHostElement, UmbControllerHostMixin } from './controller-host.mixin.js';
import { customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbContextProviderController } from '@umbraco-cms/backoffice/context-api';
class UmbTestContext {

View File

@@ -1,3 +1,4 @@
import type { ManifestTypeMap, ManifestBase, SpecificManifestTypeOrManifestBase, ManifestKind } from '../types.js';
import {
BehaviorSubject,
map,
@@ -5,7 +6,6 @@ import {
distinctUntilChanged,
combineLatest,
} from '@umbraco-cms/backoffice/external/rxjs';
import type { ManifestTypeMap, ManifestBase, SpecificManifestTypeOrManifestBase, ManifestKind } from '../types.js';
function extensionArrayMemoization<T extends { alias: string }>(
previousValue: Array<T>,

View File

@@ -1,7 +1,7 @@
import { distinctUntilChanged, map, Observable, shareReplay } from '@umbraco-cms/backoffice/external/rxjs';
import { MemoizationFunction } from './memoization-function.js';
import { MappingFunction } from './mapping-function.js';
import { defaultMemoization } from './default-memoization.js';
import { distinctUntilChanged, map, Observable, shareReplay } from '@umbraco-cms/backoffice/external/rxjs';
/**
* @export

View File

@@ -1,9 +1,9 @@
import { BehaviorSubject } from '@umbraco-cms/backoffice/external/rxjs';
import { createObservablePart } from './create-observable-part.function.js';
import { deepFreeze } from './deep-freeze.function.js';
import type { MappingFunction } from './mapping-function.js';
import type { MemoizationFunction } from './memoization-function.js';
import { naiveObjectComparison } from './naive-object-comparison.js';
import { BehaviorSubject } from '@umbraco-cms/backoffice/external/rxjs';
/**
* @export

View File

@@ -1,5 +1,5 @@
import { Observable } from '@umbraco-cms/backoffice/external/rxjs';
import { UmbObserver } from './observer.js';
import { Observable } from '@umbraco-cms/backoffice/external/rxjs';
import { UmbControllerInterface, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
export class UmbObserverController<T = unknown> extends UmbObserver<T> implements UmbControllerInterface {

View File

@@ -78,7 +78,7 @@ export class UmbCollectionElement extends UmbLitElement {
}
this._routes.push({
path: '**',
path: '',
redirectTo: views?.[0]?.meta.pathName ?? '/',
});
}

View File

@@ -1,5 +1,5 @@
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbSectionSidebarMenuElement } from '../section-sidebar-menu/section-sidebar-menu.element.js';
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
import {
ManifestSectionSidebarAppMenuWithEntityActionsKind,
UmbBackofficeManifestKind,

View File

@@ -1,6 +1,6 @@
import { UmbSectionContext, UMB_SECTION_CONTEXT_TOKEN } from '../section.context.js';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { css, html, nothing , customElement, property, state } from '@umbraco-cms/backoffice/external/lit';
import { css, html, nothing, customElement, property, state } from '@umbraco-cms/backoffice/external/lit';
import { map, of } from '@umbraco-cms/backoffice/external/rxjs';
import type { UmbRoute, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router';
import {
@@ -71,7 +71,7 @@ export class UmbSectionViewsElement extends UmbLitElement {
});
const routes = [...dashboardRoutes, ...viewRoutes];
this._routes = routes?.length > 0 ? [...routes, { path: '**', redirectTo: routes?.[0]?.path }] : [];
this._routes = routes?.length > 0 ? [...routes, { path: '', redirectTo: routes?.[0]?.path }] : [];
}
private _observeSectionAlias() {

View File

@@ -1,6 +1,6 @@
import { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.context.js';
import type { UmbDocumentTypeWorkspaceViewEditTabElement } from './document-type-workspace-view-edit-tab.element.js';
import { css, html , customElement, state , repeat } from '@umbraco-cms/backoffice/external/lit';
import { css, html, customElement, state, repeat } from '@umbraco-cms/backoffice/external/lit';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type';
import { encodeFolderName, UmbRouterSlotChangeEvent, UmbRouterSlotInitEvent } from '@umbraco-cms/backoffice/router';
@@ -95,7 +95,7 @@ export class UmbDocumentTypeWorkspaceViewEditElement
if (routes.length !== 0) {
routes.push({
path: '**',
path: '',
redirectTo: routes[0]?.path,
});
}

View File

@@ -97,7 +97,7 @@ export class UmbDocumentWorkspaceEditorElement extends UmbLitElement {
if (routes.length !== 0) {
// Using first single view as the default route for now (hence the math below):
routes.push({
path: '**',
path: '',
redirectTo: routes[this._availableVariants.length * this._availableVariants.length]?.path,
});
}

View File

@@ -1,5 +1,5 @@
import { UmbDocumentWorkspaceContext } from '../../document-workspace.context.js';
import { css, html , customElement, state , repeat } from '@umbraco-cms/backoffice/external/lit';
import { css, html, customElement, state, repeat } from '@umbraco-cms/backoffice/external/lit';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { UmbContentTypeContainerStructureHelper } from '@umbraco-cms/backoffice/content-type';
import {
@@ -97,7 +97,7 @@ export class UmbDocumentWorkspaceViewEditElement
if (routes.length !== 0) {
routes.push({
path: '**',
path: '',
redirectTo: routes[0]?.path,
});
}

View File

@@ -1,4 +1,4 @@
import { html , customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import type { UmbRoute } from '@umbraco-cms/backoffice/router';
import {
ManifestTree,
@@ -52,7 +52,7 @@ export class UmbCreatedPackagesSectionViewElement extends UmbLitElement implemen
});
routes.push({
path: '**',
path: '',
redirectTo: 'overview',
});
this._routes = routes;

View File

@@ -1,7 +1,15 @@
import './components/index.js';
import { UmbLogViewerWorkspaceContext, UMB_APP_LOG_VIEWER_CONTEXT_TOKEN } from '../logviewer.context.js';
import { map } from '@umbraco-cms/backoffice/external/rxjs';
import { PropertyValueMap, css, html, nothing , customElement, state , repeat } from '@umbraco-cms/backoffice/external/lit';
import {
PropertyValueMap,
css,
html,
nothing,
customElement,
state,
repeat,
} from '@umbraco-cms/backoffice/external/lit';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { createExtensionElement } from '@umbraco-cms/backoffice/extension-api';
@@ -90,7 +98,7 @@ export class UmbLogViewerWorkspaceElement extends UmbLitElement {
});
this._routes.push({
path: '**',
path: '',
redirectTo: `${this._workspaceViews[0].meta.pathname}`,
});
}

View File

@@ -1,6 +1,6 @@
import { UmbDictionaryRepository } from '../../dictionary/repository/dictionary.repository.js';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { css, html , customElement, state , when } from '@umbraco-cms/backoffice/external/lit';
import { css, html, customElement, state, when } from '@umbraco-cms/backoffice/external/lit';
import { UmbTableConfig, UmbTableColumn, UmbTableItem } from '@umbraco-cms/backoffice/components';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { DictionaryOverviewResponseModel, LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api';
@@ -80,13 +80,16 @@ export class UmbDashboardTranslationDictionaryElement extends UmbLitElement {
#setTableItems() {
this.#tableItems = this.#dictionaryItems.map((dictionary) => {
// id is set to name to allow filtering on the displayed value
// TODO: Generate URL for editing the dictionary item
const tableItem: UmbTableItem = {
id: dictionary.name ?? '',
icon: 'umb:book-alt',
data: [
{
columnAlias: 'name',
value: html`<a style="font-weight:bold" href="/section/translation/dictionary-item/edit/${dictionary.id}">
value: html`<a
style="font-weight:bold"
href="/section/translation/workspace/dictionary-item/edit/${dictionary.id}">
${dictionary.name}</a
> `,
},

View File

@@ -1,5 +1,5 @@
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { css, html , customElement } from '@umbraco-cms/backoffice/external/lit';
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbRoute } from '@umbraco-cms/backoffice/router';
@@ -16,7 +16,7 @@ export class UmbUserGroupsSectionViewElement extends UmbLitElement {
component: () => import('../workspace/user-group-workspace.element.js'),
},
{
path: '**',
path: '',
redirectTo: 'collection',
},
];

View File

@@ -1,5 +1,5 @@
import { UmbUserCollectionContext } from './user-collection.context.js';
import { css, html , customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import { UMB_COLLECTION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/collection';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
@@ -23,7 +23,7 @@ export class UmbUserCollectionElement extends UmbLitElement {
component: () => import('./views/table/user-collection-table-view.element.js'),
},
{
path: '**',
path: '',
redirectTo: 'grid',
},
];

View File

@@ -1,4 +1,4 @@
import { css, html , customElement } from '@umbraco-cms/backoffice/external/lit';
import { css, html, customElement } from '@umbraco-cms/backoffice/external/lit';
import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui';
import type { UmbRoute } from '@umbraco-cms/backoffice/router';
@@ -19,7 +19,7 @@ export class UmbSectionViewUsersElement extends UmbLitElement {
component: () => import('../workspace/user-workspace.element.js'),
},
{
path: '**',
path: '',
redirectTo: 'collection',
},
];