fix(core): update
This commit is contained in:
parent
6917145b58
commit
03c00919df
1756
package-lock.json
generated
1756
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
12
package.json
12
package.json
@ -14,16 +14,16 @@
|
||||
"author": "Lossless GmbH",
|
||||
"license": "UNLICENSED",
|
||||
"dependencies": {
|
||||
"@designestate/dees-domtools": "^2.0.1",
|
||||
"@designestate/dees-element": "^2.0.4",
|
||||
"@gitzone/tsrun": "^1.2.31",
|
||||
"@designestate/dees-domtools": "^2.0.6",
|
||||
"@designestate/dees-element": "^2.0.6",
|
||||
"@gitzone/tsrun": "^1.2.32",
|
||||
"@pushrocks/smartdelay": "^2.0.13",
|
||||
"@pushrocks/smartexpress": "^4.0.0"
|
||||
"@pushrocks/smartexpress": "^4.0.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@gitzone/tsbuild": "^2.1.61",
|
||||
"@gitzone/tsbundle": "^1.0.101",
|
||||
"@gitzone/tswatch": "^1.0.73",
|
||||
"@gitzone/tsbundle": "^1.0.102",
|
||||
"@gitzone/tswatch": "^1.0.76",
|
||||
"@pushrocks/projectinfo": "^4.0.5",
|
||||
"tslint": "^6.1.3",
|
||||
"tslint-config-prettier": "^1.17.0"
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { DeesElement, property, html, customElement, TemplateResult, queryAsync } from '@designestate/dees-element';
|
||||
import { DeesElement, property, html, customElement, TemplateResult, queryAsync, render, domtools } from '@designestate/dees-element';
|
||||
|
||||
import * as plugins from '../wcctools.plugins.js';
|
||||
|
||||
@ -98,32 +98,6 @@ export class WccDashboard extends DeesElement {
|
||||
}}
|
||||
></wcc-properties>
|
||||
<wcc-frame id="wccFrame" viewport=${this.selectedViewport}>
|
||||
${(() => {
|
||||
if (this.selectedType === 'page' && this.selectedItem) {
|
||||
if (typeof this.selectedItem === 'function') {
|
||||
console.log('slotting page.');
|
||||
return this.selectedItem();
|
||||
} else {
|
||||
console.error('The selected item looks strange:');
|
||||
console.log(this.selectedItem);
|
||||
}
|
||||
} else if (this.selectedType === 'element' && this.selectedItem) {
|
||||
console.log('slotting element.');
|
||||
const anonItem: any = this.selectedItem;
|
||||
if (!anonItem.demo) {
|
||||
this.setWarning(`component ${anonItem.name} does not expose a demo property.`);
|
||||
return;
|
||||
}
|
||||
if (!(typeof anonItem.demo === 'function')) {
|
||||
this.setWarning(
|
||||
`component ${anonItem.name} has demo property, but it is not of type function`
|
||||
);
|
||||
return;
|
||||
}
|
||||
this.setWarning(null);
|
||||
return html`${anonItem.demo()}`;
|
||||
}
|
||||
})()}
|
||||
</wcc-frame>
|
||||
`;
|
||||
}
|
||||
@ -160,24 +134,39 @@ export class WccDashboard extends DeesElement {
|
||||
);
|
||||
}
|
||||
|
||||
private updating = false;
|
||||
public async updated() {
|
||||
if (this.updating) {
|
||||
return;
|
||||
}
|
||||
this.domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
||||
await this.domtools.router._handleRouteState();
|
||||
this.updating = true;
|
||||
const storeElement = this.selectedItem;
|
||||
setTimeout(async () => {
|
||||
this.selectedItem = null;
|
||||
setTimeout(async () => {
|
||||
this.selectedItem = storeElement;
|
||||
setTimeout(() => {
|
||||
this.updating = false;
|
||||
}, 0);
|
||||
});
|
||||
}, 0);
|
||||
const wccFrame: WccFrame = this.shadowRoot.querySelector('wcc-frame');
|
||||
|
||||
if (this.selectedType === 'page' && this.selectedItem) {
|
||||
if (typeof this.selectedItem === 'function') {
|
||||
console.log('slotting page.');
|
||||
const viewport = await wccFrame.getViewportElement();
|
||||
render(this.selectedItem(), viewport);
|
||||
console.log('rendered page.');
|
||||
} else {
|
||||
console.error('The selected item looks strange:');
|
||||
console.log(this.selectedItem);
|
||||
}
|
||||
} else if (this.selectedType === 'element' && this.selectedItem) {
|
||||
console.log('slotting element.');
|
||||
const anonItem: any = this.selectedItem;
|
||||
if (!anonItem.demo) {
|
||||
this.setWarning(`component ${anonItem.name} does not expose a demo property.`);
|
||||
return;
|
||||
}
|
||||
if (!(typeof anonItem.demo === 'function')) {
|
||||
this.setWarning(
|
||||
`component ${anonItem.name} has demo property, but it is not of type function`
|
||||
);
|
||||
return;
|
||||
}
|
||||
this.setWarning(null);
|
||||
const viewport = await wccFrame.getViewportElement();
|
||||
render(anonItem.demo(), viewport);;
|
||||
}
|
||||
}
|
||||
|
||||
public buildUrl() {
|
||||
|
@ -1,25 +1,45 @@
|
||||
import { DeesElement, property, html, customElement, TemplateResult } from '@designestate/dees-element';
|
||||
import { DeesElement, property, html, customElement, TemplateResult, css, cssManager } from '@designestate/dees-element';
|
||||
|
||||
import * as domtools from '@designestate/dees-domtools';
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'wcc-frame': WccFrame;
|
||||
}
|
||||
}
|
||||
|
||||
@customElement('wcc-frame')
|
||||
export class WccFrame extends DeesElement {
|
||||
@property()
|
||||
public viewport: string;
|
||||
|
||||
public static styles = [
|
||||
css`
|
||||
:host {
|
||||
border: 10px solid #ffaeaf;
|
||||
position: absolute;
|
||||
background: ${cssManager.bdTheme('#333', '#000')};
|
||||
left: 200px;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
bottom: 100px;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.viewport {
|
||||
container-type: inline-size;
|
||||
container-name: wccToolsViewport;
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
`,
|
||||
]
|
||||
|
||||
public render(): TemplateResult {
|
||||
return html`
|
||||
<style>
|
||||
:host {
|
||||
border: 10px solid #ffaeaf;
|
||||
position: absolute;
|
||||
background: ${this.goBright ? '#333': '#000'};
|
||||
left: 200px;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
bottom: 100px;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
${(() => {
|
||||
switch (this.viewport) {
|
||||
case 'desktop':
|
||||
@ -45,19 +65,17 @@ export class WccFrame extends DeesElement {
|
||||
}px;
|
||||
`;
|
||||
}
|
||||
})()}
|
||||
})()}
|
||||
}
|
||||
|
||||
|
||||
.viewport {
|
||||
container-type: inline-size;
|
||||
container-name: wccToolsViewport;
|
||||
position: relative;
|
||||
${this.viewport !== 'desktop'
|
||||
? html` border-right: 1px dotted #444; border-left: 1px dotted #444; `
|
||||
: html``}
|
||||
min-height: 100%;
|
||||
? html` border-right: 1px dotted #444; border-left: 1px dotted #444; `
|
||||
: html``
|
||||
}
|
||||
background:
|
||||
${this.goBright ? `
|
||||
${
|
||||
this.goBright ? `
|
||||
radial-gradient(#CCCCCC 3px, transparent 4px),
|
||||
radial-gradient(#CCCCCC 3px, transparent 4px),
|
||||
linear-gradient(#eeeeee 4px, transparent 0),
|
||||
@ -75,11 +93,12 @@ export class WccFrame extends DeesElement {
|
||||
#222222;
|
||||
background-size: 109px 109px, 109px 109px,100% 6px, 109px 109px, 109px 109px;
|
||||
background-position: 54px 55px, 0px 0px, 0px 0px, 0px 0px, 0px 0px;
|
||||
`}
|
||||
`
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<div class="viewport">
|
||||
<slot></slot>
|
||||
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
@ -89,4 +108,8 @@ export class WccFrame extends DeesElement {
|
||||
const slottedContent = this.children;
|
||||
console.log(slottedContent);
|
||||
}
|
||||
|
||||
public async getViewportElement(): Promise<HTMLElement> {
|
||||
return this.shadowRoot.querySelector('.viewport') as HTMLElement;
|
||||
}
|
||||
}
|
||||
|
@ -243,7 +243,7 @@ export class WccProperties extends DeesElement {
|
||||
});
|
||||
return enumValues;
|
||||
};
|
||||
const determinePropertyType = (propertyArg: any): TPropertyType => {
|
||||
const determinePropertyType = async (propertyArg: any): Promise<TPropertyType> => {
|
||||
const typeName: any | undefined = propertyArg.type.name;
|
||||
if (typeName) {
|
||||
return typeName;
|
||||
@ -265,7 +265,7 @@ export class WccProperties extends DeesElement {
|
||||
console.log(anonItem.elementProperties);
|
||||
const wccFrame = await this.dashboardRef.wccFrame;
|
||||
let firstFoundInstantiatedElement: HTMLElement;
|
||||
for (const element of Array.from(wccFrame.children)) {
|
||||
for (const element of Array.from((await wccFrame.getViewportElement()).children)) {
|
||||
if (element instanceof (this.selectedItem as any)) {
|
||||
firstFoundInstantiatedElement = element as HTMLElement;
|
||||
break;
|
||||
@ -287,7 +287,7 @@ export class WccProperties extends DeesElement {
|
||||
continue;
|
||||
}
|
||||
const property = classProperties.get(key);
|
||||
const propertyTypeString = determinePropertyType(property);
|
||||
const propertyTypeString = await determinePropertyType(property);
|
||||
propertyArray.push(
|
||||
html`
|
||||
<div class="property">
|
||||
|
@ -1,16 +0,0 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2017",
|
||||
"module": "es2015",
|
||||
"moduleResolution": "node",
|
||||
"lib": ["es2017", "dom"],
|
||||
"declaration": true,
|
||||
"inlineSources": true,
|
||||
"inlineSourceMap": true,
|
||||
"noUnusedLocals": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"outDir": "dist/",
|
||||
"skipLibCheck": true,
|
||||
"experimentalDecorators": true
|
||||
}
|
||||
}
|
@ -1,7 +1,9 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"experimentalDecorators": true,
|
||||
"target": "ES2017",
|
||||
"moduleResolution": "Node"
|
||||
"useDefineForClassFields": false,
|
||||
"target": "ES2022",
|
||||
"module": "ES2022",
|
||||
"moduleResolution": "nodenext"
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user