fix(core): update

This commit is contained in:
2020-11-27 15:59:18 +00:00
parent 67a037c511
commit 847733286c
6 changed files with 43 additions and 23 deletions

View File

@ -20,7 +20,10 @@ export class WccDashboard extends LitElement {
public selectedType: TElementType;
@property()
public selectedItem: TemplateResult | LitElement;
public selectedItemName: string;
@property()
public selectedItem: (() => TemplateResult) | LitElement;
@property()
public selectedViewport: plugins.deesDomtools.breakpoints.TViewport = 'desktop';
@ -29,7 +32,7 @@ export class WccDashboard extends LitElement {
public selectedTheme: TTheme = 'dark';
@property()
public pages: { [key: string]: TemplateResult } = {};
public pages: { [key: string]: () => TemplateResult } = {};
@property()
public elements: { [key: string]: LitElement } = {};
@ -39,7 +42,7 @@ export class WccDashboard extends LitElement {
constructor(
elementsArg?: { [key: string]: LitElement },
pagesArg?: { [key: string]: TemplateResult }
pagesArg?: { [key: string]: () => TemplateResult }
) {
super();
if (elementsArg) {
@ -56,7 +59,6 @@ export class WccDashboard extends LitElement {
public render(): TemplateResult {
return html`
<style>
@import url('https://fonts.googleapis.com/css?family=Roboto');
:host {
font-family: 'Roboto', sans-serif;
background: #fcfcfc;
@ -70,12 +72,15 @@ export class WccDashboard extends LitElement {
<wcc-sidebar
.dashboardRef=${this}
.selectedItem=${this.selectedItem}
@selectedItem=${(eventArg) => {
this.selectedItem = eventArg.detail;
}}
@selectedType=${(eventArg) => {
this.selectedType = eventArg.detail;
}}
@selectedItemName=${(eventArg) => {
this.selectedItemName = eventArg.detail;
}}
@selectedItem=${(eventArg) => {
this.selectedItem = eventArg.detail;
}}
></wcc-sidebar>
<wcc-properties
.dashboardRef=${this}
@ -93,8 +98,8 @@ export class WccDashboard extends LitElement {
></wcc-properties>
<wcc-frame id="wccFrame" viewport=${this.selectedViewport}>
${(() => {
if (this.selectedItem instanceof TemplateResult) {
return this.selectedItem;
if (this.selectedType === 'page') {
return this.selectedItem();
} else if (this.selectedItem) {
// console.log(this.selectedItem);
const anonItem: any = this.selectedItem;
@ -166,7 +171,7 @@ export class WccDashboard extends LitElement {
public buildUrl() {
this.domtools.router.pushUrl(
`/${this.selectedType}/${(this.selectedItem as any).name}/${this.selectedViewport}/${
`/${this.selectedType}/${this.selectedItemName}/${this.selectedViewport}/${
this.selectedTheme
}`,
0