Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
357320d40a | |||
08d92d9d3e | |||
0ce9a96b90 | |||
959a4cae89 | |||
c8d6986aff | |||
53ff02c490 | |||
ba83aad026 | |||
2531126935 | |||
00a2de6560 | |||
b357bc67fa | |||
0665f85d49 | |||
c222a66ead |
0
assets/elements/elementone.ts
Normal file
0
assets/elements/elementone.ts
Normal file
4970
package-lock.json
generated
4970
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
20
package.json
20
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@designestate/dees-wcctools",
|
"name": "@designestate/dees-wcctools",
|
||||||
"version": "1.0.30",
|
"version": "1.0.36",
|
||||||
"private": false,
|
"private": false,
|
||||||
"description": "wcc tools for creating element catalogues",
|
"description": "wcc tools for creating element catalogues",
|
||||||
"main": "dist_ts_web/index.js",
|
"main": "dist_ts_web/index.js",
|
||||||
@ -13,19 +13,19 @@
|
|||||||
"author": "Lossless GmbH",
|
"author": "Lossless GmbH",
|
||||||
"license": "UNLICENSED",
|
"license": "UNLICENSED",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@designestate/dees-domtools": "^1.0.26",
|
"@designestate/dees-domtools": "^1.0.38",
|
||||||
"@gitzone/tsrun": "^1.1.17",
|
"@gitzone/tsrun": "^1.2.12",
|
||||||
"@pushrocks/smartdelay": "^2.0.9",
|
"@pushrocks/smartdelay": "^2.0.10",
|
||||||
"@pushrocks/smartexpress": "^3.0.10",
|
"@pushrocks/smartexpress": "^3.0.73",
|
||||||
"lit-element": "^2.0.0-rc.5",
|
"lit-element": "^2.0.0-rc.5",
|
||||||
"lit-html": "^1.0.0-rc.2",
|
"lit-html": "^1.0.0-rc.2",
|
||||||
"typescript": "^3.9.3"
|
"typescript": "^3.9.6"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gitzone/tsbuild": "^2.1.24",
|
"@gitzone/tsbuild": "^2.1.24",
|
||||||
"@gitzone/tsbundle": "^1.0.69",
|
"@gitzone/tsbundle": "^1.0.72",
|
||||||
"@gitzone/tswatch": "^1.0.46",
|
"@gitzone/tswatch": "^1.0.50",
|
||||||
"@pushrocks/projectinfo": "^4.0.2",
|
"@pushrocks/projectinfo": "^4.0.5",
|
||||||
"tslint": "^6.1.2",
|
"tslint": "^6.1.2",
|
||||||
"tslint-config-prettier": "^1.17.0"
|
"tslint-config-prettier": "^1.17.0"
|
||||||
},
|
},
|
||||||
@ -42,6 +42,6 @@
|
|||||||
"readme.md"
|
"readme.md"
|
||||||
],
|
],
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"last 2 Chrome versions"
|
"last 1 Chrome versions"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
22
readme.md
22
readme.md
@ -8,13 +8,20 @@ wcc tools for creating element catalogues
|
|||||||
* [docs (typedoc)](https://designestate.gitlab.io/dees-wcctools/)
|
* [docs (typedoc)](https://designestate.gitlab.io/dees-wcctools/)
|
||||||
|
|
||||||
## Status for master
|
## Status for master
|
||||||
[](https://gitlab.com/designestate/dees-wcctools/commits/master)
|
|
||||||
[](https://gitlab.com/designestate/dees-wcctools/commits/master)
|
Status Category | Status Badge
|
||||||
[](https://www.npmjs.com/package/@designestate/dees-wcctools)
|
-- | --
|
||||||
[](https://snyk.io/test/npm/@designestate/dees-wcctools)
|
GitLab Pipelines | [](https://lossless.cloud)
|
||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
GitLab Pipline Test Coverage | [](https://lossless.cloud)
|
||||||
[](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
npm | [](https://lossless.cloud)
|
||||||
[](https://prettier.io/)
|
Snyk | [](https://lossless.cloud)
|
||||||
|
TypeScript Support | [](https://lossless.cloud)
|
||||||
|
node Support | [](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||||
|
Code Style | [](https://lossless.cloud)
|
||||||
|
PackagePhobia (total standalone install weight) | [](https://lossless.cloud)
|
||||||
|
PackagePhobia (package size on registry) | [](https://lossless.cloud)
|
||||||
|
BundlePhobia (total size when bundled) | [](https://lossless.cloud)
|
||||||
|
Platform support | [](https://lossless.cloud) [](https://lossless.cloud)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -22,7 +29,6 @@ wcc tools for creating element catalogues
|
|||||||
|
|
||||||
We are always happy for code contributions. If you are not the code contributing type that is ok. Still, maintaining Open Source repositories takes considerable time and thought. If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)
|
We are always happy for code contributions. If you are not the code contributing type that is ok. Still, maintaining Open Source repositories takes considerable time and thought. If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)
|
||||||
|
|
||||||
|
|
||||||
## Contribution
|
## Contribution
|
||||||
|
|
||||||
We are always happy for code contributions. If you are not the code contributing type that is ok. Still, maintaining Open Source repositories takes considerable time and thought. If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)
|
We are always happy for code contributions. If you are not the code contributing type that is ok. Still, maintaining Open Source repositories takes considerable time and thought. If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)
|
||||||
|
@ -11,6 +11,8 @@ import './wcc-properties';
|
|||||||
|
|
||||||
@customElement('wcc-dashboard')
|
@customElement('wcc-dashboard')
|
||||||
export class WccDashboard extends LitElement {
|
export class WccDashboard extends LitElement {
|
||||||
|
public domtools: plugins.deesDomtools.DomTools;
|
||||||
|
|
||||||
@property()
|
@property()
|
||||||
public selectedItem: TemplateResult | LitElement;
|
public selectedItem: TemplateResult | LitElement;
|
||||||
|
|
||||||
@ -51,7 +53,7 @@ export class WccDashboard extends LitElement {
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<wcc-sidebar .pages=${this.pages} .elements=${this.elements} @selectedItem=${eventArg => {
|
<wcc-sidebar .dashboardRef=${this} @selectedItem=${eventArg => {
|
||||||
this.selectedItem = eventArg.detail;
|
this.selectedItem = eventArg.detail;
|
||||||
}}></wcc-sidebar>
|
}}></wcc-sidebar>
|
||||||
<wcc-properties .warning="${this.warning}" .selectedItem=${this.selectedItem} @selectedViewport=${eventArg => {this.selectedViewport = eventArg.detail; this.updateSlot();}}></wcc-properties>
|
<wcc-properties .warning="${this.warning}" .selectedItem=${this.selectedItem} @selectedViewport=${eventArg => {this.selectedViewport = eventArg.detail; this.updateSlot();}}></wcc-properties>
|
||||||
@ -73,7 +75,6 @@ export class WccDashboard extends LitElement {
|
|||||||
this.setWarning(null);
|
this.setWarning(null);
|
||||||
return html`${anonItem.demo()}`;
|
return html`${anonItem.demo()}`;
|
||||||
} else {
|
} else {
|
||||||
this.selectedItem = WccDefaultElement as any;
|
|
||||||
this.updateSlot();
|
this.updateSlot();
|
||||||
}
|
}
|
||||||
})()}
|
})()}
|
||||||
@ -81,12 +82,22 @@ export class WccDashboard extends LitElement {
|
|||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private currentlyUpdating: boolean = false;
|
||||||
public async updateSlot() {
|
public async updateSlot() {
|
||||||
|
if (this.currentlyUpdating) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.currentlyUpdating = true;
|
||||||
|
!this.selectedItem ? this.selectedItem = WccDefaultElement as any : null;
|
||||||
|
const localSelectedItem = this.selectedItem;
|
||||||
|
this.selectedItem = null;
|
||||||
console.log('updateSlot');
|
console.log('updateSlot');
|
||||||
const domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
this.domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
||||||
domtools.setVirtualViewport(this.selectedViewport);
|
this.domtools.setVirtualViewport(this.selectedViewport);
|
||||||
await plugins.smartdelay.delayFor(0);
|
// await super.performUpdate();
|
||||||
super.performUpdate();
|
this.selectedItem = localSelectedItem;
|
||||||
|
await super.performUpdate();
|
||||||
|
this.currentlyUpdating = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setWarning(warningTextArg: string) {
|
public setWarning(warningTextArg: string) {
|
||||||
@ -98,4 +109,16 @@ export class WccDashboard extends LitElement {
|
|||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async firstUpdated() {
|
||||||
|
this.domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
||||||
|
this.domtools.router.on('/elements/:elementName', async routeInfo => {
|
||||||
|
this.selectedItem = this.elements[routeInfo.params.elementName];
|
||||||
|
});
|
||||||
|
|
||||||
|
this.domtools.router.on('/pages/:pageName', async routeInfo => {
|
||||||
|
this.selectedItem = this.pages[routeInfo.params.pageName];
|
||||||
|
});
|
||||||
|
this.domtools.router._handleRouteState();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,19 +1,18 @@
|
|||||||
|
import * as plugins from '../wcctools.plugins';
|
||||||
import { LitElement, property, html, customElement, TemplateResult } from 'lit-element';
|
import { LitElement, property, html, customElement, TemplateResult } from 'lit-element';
|
||||||
|
import { WccDashboard } from './wcc-dashboard';
|
||||||
|
|
||||||
@customElement('wcc-sidebar')
|
@customElement('wcc-sidebar')
|
||||||
export class WccSidebar extends LitElement {
|
export class WccSidebar extends LitElement {
|
||||||
@property({type: Array})
|
@property({type: Array})
|
||||||
public websites: string[] = [];
|
public websites: string[] = [];
|
||||||
|
|
||||||
@property()
|
|
||||||
public pages: { [key: string]: TemplateResult } = {};
|
|
||||||
|
|
||||||
@property()
|
|
||||||
public elements: { [key: string]: LitElement } = {};
|
|
||||||
|
|
||||||
@property({ attribute: false })
|
@property({ attribute: false })
|
||||||
public selectedItem: LitElement | TemplateResult;
|
public selectedItem: LitElement | TemplateResult;
|
||||||
|
|
||||||
|
@property()
|
||||||
|
public dashboardRef: WccDashboard;
|
||||||
|
|
||||||
public render(): TemplateResult {
|
public render(): TemplateResult {
|
||||||
return html`
|
return html`
|
||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
|
||||||
@ -100,14 +99,16 @@ export class WccSidebar extends LitElement {
|
|||||||
})}
|
})}
|
||||||
<h3>Pages</h3>
|
<h3>Pages</h3>
|
||||||
${(() => {
|
${(() => {
|
||||||
const pages = Object.keys(this.pages);
|
const pages = Object.keys(this.dashboardRef.pages);
|
||||||
return pages.map(pageName => {
|
return pages.map(pageName => {
|
||||||
const item = this.pages[pageName];
|
const item = this.dashboardRef.pages[pageName];
|
||||||
return html`
|
return html`
|
||||||
<div
|
<div
|
||||||
class="selectOption ${this.selectedItem === item ? 'selected' : console.log('hi')}"
|
class="selectOption ${this.selectedItem === item ? 'selected' : console.log('hi')}"
|
||||||
@click=${() => {
|
@click=${async () => {
|
||||||
|
const domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
||||||
this.selectItem(item);
|
this.selectItem(item);
|
||||||
|
domtools.router.pushUrl(`/pages/${pageName}`);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<i class="material-icons">insert_drive_file</i>
|
<i class="material-icons">insert_drive_file</i>
|
||||||
@ -118,14 +119,16 @@ export class WccSidebar extends LitElement {
|
|||||||
})()}
|
})()}
|
||||||
<h3>Elements</h3>
|
<h3>Elements</h3>
|
||||||
${(() => {
|
${(() => {
|
||||||
const elements = Object.keys(this.elements);
|
const elements = Object.keys(this.dashboardRef.elements);
|
||||||
return elements.map(elementName => {
|
return elements.map(elementName => {
|
||||||
const item = this.elements[elementName];
|
const item = this.dashboardRef.elements[elementName];
|
||||||
return html`
|
return html`
|
||||||
<div
|
<div
|
||||||
class="selectOption ${this.selectedItem === item ? 'selected' : console.log('hi')}"
|
class="selectOption ${this.selectedItem === item ? 'selected' : console.log('hi')}"
|
||||||
@click=${() => {
|
@click=${async () => {
|
||||||
|
const domtools = await plugins.deesDomtools.DomTools.setupDomTools();
|
||||||
this.selectItem(item);
|
this.selectItem(item);
|
||||||
|
domtools.router.pushUrl(`/elements/${elementName}`);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<i class="material-icons">featured_video</i>
|
<i class="material-icons">featured_video</i>
|
||||||
|
Reference in New Issue
Block a user