fix(core): update
This commit is contained in:
		
							
								
								
									
										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", |   "author": "Lossless GmbH", | ||||||
|   "license": "UNLICENSED", |   "license": "UNLICENSED", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@designestate/dees-domtools": "^2.0.1", |     "@designestate/dees-domtools": "^2.0.6", | ||||||
|     "@designestate/dees-element": "^2.0.4", |     "@designestate/dees-element": "^2.0.6", | ||||||
|     "@gitzone/tsrun": "^1.2.31", |     "@gitzone/tsrun": "^1.2.32", | ||||||
|     "@pushrocks/smartdelay": "^2.0.13", |     "@pushrocks/smartdelay": "^2.0.13", | ||||||
|     "@pushrocks/smartexpress": "^4.0.0" |     "@pushrocks/smartexpress": "^4.0.4" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@gitzone/tsbuild": "^2.1.61", |     "@gitzone/tsbuild": "^2.1.61", | ||||||
|     "@gitzone/tsbundle": "^1.0.101", |     "@gitzone/tsbundle": "^1.0.102", | ||||||
|     "@gitzone/tswatch": "^1.0.73", |     "@gitzone/tswatch": "^1.0.76", | ||||||
|     "@pushrocks/projectinfo": "^4.0.5", |     "@pushrocks/projectinfo": "^4.0.5", | ||||||
|     "tslint": "^6.1.3", |     "tslint": "^6.1.3", | ||||||
|     "tslint-config-prettier": "^1.17.0" |     "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'; | import * as plugins from '../wcctools.plugins.js'; | ||||||
|  |  | ||||||
| @@ -98,32 +98,6 @@ export class WccDashboard extends DeesElement { | |||||||
|         }} |         }} | ||||||
|       ></wcc-properties> |       ></wcc-properties> | ||||||
|       <wcc-frame id="wccFrame" viewport=${this.selectedViewport}> |       <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> |       </wcc-frame> | ||||||
|     `; |     `; | ||||||
|   } |   } | ||||||
| @@ -160,24 +134,39 @@ export class WccDashboard extends DeesElement { | |||||||
|     ); |     ); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   private updating = false; |  | ||||||
|   public async updated() { |   public async updated() { | ||||||
|     if (this.updating) { |  | ||||||
|       return; |  | ||||||
|     } |  | ||||||
|     this.domtools = await plugins.deesDomtools.DomTools.setupDomTools(); |     this.domtools = await plugins.deesDomtools.DomTools.setupDomTools(); | ||||||
|     await this.domtools.router._handleRouteState(); |     await this.domtools.router._handleRouteState(); | ||||||
|     this.updating = true; |  | ||||||
|     const storeElement = this.selectedItem; |     const storeElement = this.selectedItem; | ||||||
|     setTimeout(async () => { |     const wccFrame: WccFrame = this.shadowRoot.querySelector('wcc-frame'); | ||||||
|       this.selectedItem = null; |  | ||||||
|       setTimeout(async () => { |     if (this.selectedType === 'page' && this.selectedItem) { | ||||||
|         this.selectedItem = storeElement; |       if (typeof this.selectedItem === 'function') { | ||||||
|         setTimeout(() => { |         console.log('slotting page.'); | ||||||
|           this.updating = false; |         const viewport = await wccFrame.getViewportElement(); | ||||||
|         }, 0); |         render(this.selectedItem(), viewport); | ||||||
|       }); |         console.log('rendered page.'); | ||||||
|     }, 0); |       } 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() { |   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'; | import * as domtools from '@designestate/dees-domtools'; | ||||||
|  |  | ||||||
|  | declare global { | ||||||
|  |   interface HTMLElementTagNameMap { | ||||||
|  |     'wcc-frame': WccFrame; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
| @customElement('wcc-frame') | @customElement('wcc-frame') | ||||||
| export class WccFrame extends DeesElement { | export class WccFrame extends DeesElement { | ||||||
|   @property() |   @property() | ||||||
|   public viewport: string; |   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 { |   public render(): TemplateResult { | ||||||
|     return html` |     return html` | ||||||
|       <style> |       <style> | ||||||
|         :host { |         :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) { |           switch (this.viewport) { | ||||||
|             case 'desktop': |             case 'desktop': | ||||||
| @@ -45,19 +65,17 @@ export class WccFrame extends DeesElement { | |||||||
|                   }px; |                   }px; | ||||||
|                 `; |                 `; | ||||||
|           } |           } | ||||||
|         })()} |           })()} | ||||||
|         } |         } | ||||||
|          |  | ||||||
|         .viewport { |         .viewport { | ||||||
|           container-type: inline-size; |  | ||||||
|           container-name: wccToolsViewport; |  | ||||||
|           position: relative; |  | ||||||
|           ${this.viewport !== 'desktop' |           ${this.viewport !== 'desktop' | ||||||
|           ? html` border-right: 1px dotted #444; border-left: 1px dotted #444; ` |             ? html` border-right: 1px dotted #444; border-left: 1px dotted #444; ` | ||||||
|           : html``} |             : html`` | ||||||
|           min-height: 100%; |           } | ||||||
|           background: |           background: | ||||||
|             ${this.goBright ? ` |           ${ | ||||||
|  |             this.goBright ? ` | ||||||
|               radial-gradient(#CCCCCC 3px, transparent 4px), |               radial-gradient(#CCCCCC 3px, transparent 4px), | ||||||
|               radial-gradient(#CCCCCC 3px, transparent 4px), |               radial-gradient(#CCCCCC 3px, transparent 4px), | ||||||
|               linear-gradient(#eeeeee 4px, transparent 0), |               linear-gradient(#eeeeee 4px, transparent 0), | ||||||
| @@ -75,11 +93,12 @@ export class WccFrame extends DeesElement { | |||||||
|               #222222; |               #222222; | ||||||
|               background-size: 109px 109px, 109px 109px,100% 6px, 109px 109px, 109px 109px; |               background-size: 109px 109px, 109px 109px,100% 6px, 109px 109px, 109px 109px; | ||||||
|               background-position: 54px 55px, 0px 0px, 0px 0px, 0px 0px, 0px 0px; |               background-position: 54px 55px, 0px 0px, 0px 0px, 0px 0px, 0px 0px; | ||||||
|             `} |             ` | ||||||
|  |           } | ||||||
|         } |         } | ||||||
|       </style> |       </style> | ||||||
|       <div class="viewport"> |       <div class="viewport"> | ||||||
|         <slot></slot> |          | ||||||
|       </div> |       </div> | ||||||
|     `; |     `; | ||||||
|   } |   } | ||||||
| @@ -89,4 +108,8 @@ export class WccFrame extends DeesElement { | |||||||
|     const slottedContent = this.children; |     const slottedContent = this.children; | ||||||
|     console.log(slottedContent); |     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; |       return enumValues; | ||||||
|     }; |     }; | ||||||
|     const determinePropertyType = (propertyArg: any): TPropertyType => { |     const determinePropertyType = async (propertyArg: any): Promise<TPropertyType> => { | ||||||
|       const typeName: any | undefined = propertyArg.type.name; |       const typeName: any | undefined = propertyArg.type.name; | ||||||
|       if (typeName) { |       if (typeName) { | ||||||
|         return typeName; |         return typeName; | ||||||
| @@ -265,7 +265,7 @@ export class WccProperties extends DeesElement { | |||||||
|       console.log(anonItem.elementProperties); |       console.log(anonItem.elementProperties); | ||||||
|       const wccFrame = await this.dashboardRef.wccFrame; |       const wccFrame = await this.dashboardRef.wccFrame; | ||||||
|       let firstFoundInstantiatedElement: HTMLElement; |       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)) { |         if (element instanceof (this.selectedItem as any)) { | ||||||
|           firstFoundInstantiatedElement = element as HTMLElement; |           firstFoundInstantiatedElement = element as HTMLElement; | ||||||
|           break; |           break; | ||||||
| @@ -287,7 +287,7 @@ export class WccProperties extends DeesElement { | |||||||
|           continue; |           continue; | ||||||
|         } |         } | ||||||
|         const property = classProperties.get(key); |         const property = classProperties.get(key); | ||||||
|         const propertyTypeString = determinePropertyType(property); |         const propertyTypeString = await determinePropertyType(property); | ||||||
|         propertyArray.push( |         propertyArray.push( | ||||||
|           html` |           html` | ||||||
|             <div class="property"> |             <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": { |   "compilerOptions": { | ||||||
|     "experimentalDecorators": true, |     "experimentalDecorators": true, | ||||||
|     "target": "ES2017", |     "useDefineForClassFields": false, | ||||||
|     "moduleResolution": "Node" |     "target": "ES2022", | ||||||
|  |     "module": "ES2022", | ||||||
|  |     "moduleResolution": "nodenext" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user