Compare commits

..

10 Commits

Author SHA1 Message Date
d51027d4be 1.0.65 2021-11-26 19:16:09 +01:00
2efa465930 fix(core): update 2021-11-26 19:16:09 +01:00
19081caacd 1.0.64 2021-11-26 19:05:05 +01:00
c42e8b8bef fix(core): update 2021-11-26 19:05:04 +01:00
750e8cef32 1.0.63 2021-11-26 18:52:44 +01:00
c0d057949d fix(core): update 2021-11-26 18:52:44 +01:00
82a5283edd 1.0.62 2021-11-26 18:27:29 +01:00
abb20def4b fix(core): update 2021-11-26 18:27:29 +01:00
dd71751864 1.0.61 2021-11-26 17:53:05 +01:00
c4562c797e fix(core): update 2021-11-26 17:53:04 +01:00
5 changed files with 45 additions and 20 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@designestate/dees-wcctools",
"version": "1.0.60",
"version": "1.0.65",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@designestate/dees-wcctools",
"version": "1.0.60",
"version": "1.0.65",
"license": "UNLICENSED",
"dependencies": {
"@designestate/dees-domtools": "^1.0.102",

View File

@ -1,6 +1,6 @@
{
"name": "@designestate/dees-wcctools",
"version": "1.0.60",
"version": "1.0.65",
"private": false,
"description": "wcc tools for creating element catalogues",
"main": "dist_ts_web/index.js",

View File

@ -20,6 +20,17 @@ enum ETestEnum {
export class TestDemoelement extends DeesElement {
public static demo = () => html`<test-demoelement>This is a slot text</test-demoelement>`;
@property()
public notTyped = 'hello';
@property({
type: String,
})
public typedAndNotInitizalized: string;
@property()
public notTypedAndNotInitizalized: string;
@property({
type: Boolean,
})

View File

@ -8,7 +8,7 @@ import './wcc-sidebar';
import './wcc-properties';
import { TTheme } from './wcc-properties';
import { TElementType } from './wcc-sidebar';
import { TViewport } from '@designestate/dees-domtools/dist_ts/domtools.breakpoints';
import { breakpoints } from '@designestate/dees-domtools';
import { WccFrame } from './wcc-frame';
@customElement('wcc-dashboard')
@ -145,7 +145,7 @@ export class WccDashboard extends LitElement {
async (routeInfo) => {
this.selectedType = routeInfo.params.itemType as TElementType;
this.selectedItemName = routeInfo.params.itemName;
this.selectedViewport = routeInfo.params.viewport as TViewport;
this.selectedViewport = routeInfo.params.viewport as breakpoints.TViewport;
this.selectedTheme = routeInfo.params.theme as TTheme;
if (routeInfo.params.itemType === 'element') {
this.selectedItem = this.elements[routeInfo.params.itemName];
@ -153,7 +153,6 @@ export class WccDashboard extends LitElement {
this.selectedItem = this.pages[routeInfo.params.itemName];
}
const domtoolsInstance = await plugins.deesDomtools.elementBasic.setup();
domtoolsInstance.setVirtualViewport(routeInfo.params.viewport as TViewport);
this.selectedTheme === 'bright'
? domtoolsInstance.themeManager.goBright()
: domtoolsInstance.themeManager.goDark();

View File

@ -130,13 +130,14 @@ export class WccProperties extends LitElement {
.warning {
position: absolute;
background: #800000;
background: #222;
color: #CCC;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
right: 520px;
text-align: center;
padding: 20px;
padding: 35px;
font-size: 25px;
}
</style>
@ -255,16 +256,29 @@ export class WccProperties extends LitElement {
if (this.selectedItem && (this.selectedItem as any).demo) {
console.log(`Got Dees-Element for property evaluation.`);
const anonItem: any = this.selectedItem;
if (!anonItem) {
this.warning = 'no element selected';
return;
}
console.log(anonItem.elementProperties);
const wccFrame = await this.dashboardRef.wccFrame;
let selectedElement: HTMLElement;
let firstFoundInstantiatedElement: HTMLElement;
for (const element of Array.from(wccFrame.children)) {
if (element instanceof (this.selectedItem as any)) {
selectedElement = element as HTMLElement;
firstFoundInstantiatedElement = element as HTMLElement;
break;
}
}
if (!firstFoundInstantiatedElement) {
this.warning = `no first instantiated element found for >>${anonItem.name}<<`;
return;
}
const classProperties: Map<string, any> = anonItem.elementProperties;
if (!classProperties) {
this.warning = `selected element >>${anonItem.name}<< does not expose element properties`;
return;
}
this.warning = null;
const propertyArray: TemplateResult[] = [];
for (const key of classProperties.keys()) {
if (key === 'goBright' || key === 'domtools') {
@ -281,38 +295,38 @@ export class WccProperties extends LitElement {
case 'Boolean':
return html`<input
type="checkbox"
?checked=${selectedElement[key]}
?checked=${firstFoundInstantiatedElement[key]}
@input="${(eventArg: any) => {
selectedElement[key] = eventArg.target.checked;
firstFoundInstantiatedElement[key] = eventArg.target.checked;
}}"
/>`;
case 'String':
return html`<input
type="text"
value=${selectedElement[key]}
value=${firstFoundInstantiatedElement[key]}
@input="${(eventArg: any) => {
selectedElement[key] = eventArg.target.value;
firstFoundInstantiatedElement[key] = eventArg.target.value;
}}"
/>`;
case 'Number':
return html`<input
type="number"
value=${selectedElement[key]}
value=${firstFoundInstantiatedElement[key]}
@input="${(eventArg: any) => {
selectedElement[key] = eventArg.target.value;
firstFoundInstantiatedElement[key] = eventArg.target.value;
}}"
/>`;
case 'Enum':
const enumValues: any[] = getEnumValues(property);
return html`<select
@change="${(eventArg: any) => {
selectedElement[key] = eventArg.target.value;
firstFoundInstantiatedElement[key] = eventArg.target.value;
}}"
>
${enumValues.map((valueArg) => {
return html`
<option
?selected=${valueArg === selectedElement[key] ? true : false}
?selected=${valueArg === firstFoundInstantiatedElement[key] ? true : false}
name="${valueArg}"
>
${valueArg}
@ -328,7 +342,8 @@ export class WccProperties extends LitElement {
}
this.propertyContent = propertyArray;
} else {
console.log(`Cannot extract properties of ${(this.selectedItem as any)?.name}`)
console.log(`Cannot extract properties of ${(this.selectedItem as any)?.name}`);
this.warning = `You selected a page.`;
return null;
}
}