fix(core): update
This commit is contained in:
		| @@ -8,7 +8,10 @@ export const phone = 400; | ||||
| export type TViewport = 'native' | 'desktop' | 'tablet' | 'phablet' | 'phone'; | ||||
|  | ||||
| export const getEnvironment = (): TViewport => { | ||||
|   if (globalThis.deesDomTools && globalThis.deesDomTools.domToolsStatePart.getState().virtualViewport) { | ||||
|   if ( | ||||
|     globalThis.deesDomTools && | ||||
|     globalThis.deesDomTools.domToolsStatePart.getState().virtualViewport | ||||
|   ) { | ||||
|     return globalThis.deesDomTools.domToolsStatePart.getState().virtualViewport; | ||||
|   } else { | ||||
|     return 'native'; | ||||
|   | ||||
| @@ -39,13 +39,22 @@ export class DomTools { | ||||
|   // ======== | ||||
|   // INSTANCE | ||||
|   // ======== | ||||
|   // elements | ||||
|   public elements: { | ||||
|     headElement: HTMLElement; | ||||
|     bodyElement: HTMLElement; | ||||
|   } = { | ||||
|     headElement: null, | ||||
|     bodyElement: null, | ||||
|   }; | ||||
|  | ||||
|   public smartstate = new plugins.smartstate.Smartstate(); | ||||
|   public domToolsStatePart = this.smartstate.getStatePart<IDomToolsState>('domtools', { | ||||
|     virtualViewport: 'native', | ||||
|   }); | ||||
|  | ||||
|   public router = new plugins.smartrouter.SmartRouter({ | ||||
|     debug: false | ||||
|     debug: false, | ||||
|   }); | ||||
|  | ||||
|   private actionSetVirtualViewport = this.domToolsStatePart.createAction<TViewport>( | ||||
| @@ -60,31 +69,21 @@ export class DomTools { | ||||
|   public domReady = plugins.smartpromise.defer(); | ||||
|   public globalStylesReady = plugins.smartpromise.defer(); | ||||
|  | ||||
|   // elements | ||||
|   public elements: { | ||||
|     headElement: HTMLElement; | ||||
|     bodyElement: HTMLElement; | ||||
|   } = { | ||||
|     headElement: null, | ||||
|     bodyElement: null, | ||||
|   }; | ||||
|  | ||||
|   constructor() {} | ||||
|  | ||||
|   public async setGlobalStyles(stylesText: string) { | ||||
|     await this.domReady.promise; | ||||
|     const styleElement = document.createElement('style'); | ||||
|     styleElement.type = 'text/css'; | ||||
|     styleElement.appendChild(document.createTextNode(stylesText)); | ||||
|     this.elements.headElement.appendChild(styleElement); | ||||
|   constructor() { | ||||
|     // lets care about third party stuff | ||||
|     this.domToolsReady.promise.then(() => { | ||||
|       const scroller = new plugins.sweetscroll({ | ||||
|         /* some options */ | ||||
|       }); | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   private runOnceTrackerStringMap = new Stringmap(); | ||||
|   private runOnceResultMap = new FastMap(); | ||||
|   /** | ||||
|    * run a function once and always get the Promise of the first execution | ||||
|    * @param identifierArg | ||||
|    * @param funcArg | ||||
|    * @param identifierArg the indentifier arg identifies functions. functions with the same identifier are considered equal | ||||
|    * @param funcArg the actual func arg to run | ||||
|    */ | ||||
|   public async runOnce<T>(identifierArg: string, funcArg: () => Promise<T>) { | ||||
|     const runningId = `${identifierArg}+runningCheck`; | ||||
| @@ -105,7 +104,22 @@ export class DomTools { | ||||
|     ); | ||||
|   } | ||||
|  | ||||
|   setVirtualViewport(environmentArg: TViewport) { | ||||
|   // setStuff | ||||
|  | ||||
|   public async setGlobalStyles(stylesText: string) { | ||||
|     await this.domReady.promise; | ||||
|     const styleElement = document.createElement('style'); | ||||
|     styleElement.type = 'text/css'; | ||||
|     styleElement.appendChild(document.createTextNode(stylesText)); | ||||
|     this.elements.headElement.appendChild(styleElement); | ||||
|   } | ||||
|  | ||||
|   public setVirtualViewport(environmentArg: TViewport) { | ||||
|     this.domToolsStatePart.dispatchAction(this.actionSetVirtualViewport, environmentArg); | ||||
|   } | ||||
|  | ||||
|   public async setWebsiteInfo(optionsArg: plugins.websetup.IWebSetupConstructorOptions) { | ||||
|     const websetup = new plugins.websetup.WebSetup(optionsArg); | ||||
|     await websetup.setup(); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,8 +1,9 @@ | ||||
| export const cssGridColumns = (amountOfColumnsArg: number, gapSizeArg: number) => { | ||||
|   let returnString = ``; | ||||
|   for (let i = 0; i < amountOfColumnsArg; i++) { | ||||
|     returnString += ` calc((100%/${amountOfColumnsArg}) - (${gapSizeArg * | ||||
|       (amountOfColumnsArg - 1)}px/${amountOfColumnsArg}))`; | ||||
|     returnString += ` calc((100%/${amountOfColumnsArg}) - (${ | ||||
|       gapSizeArg * (amountOfColumnsArg - 1) | ||||
|     }px/${amountOfColumnsArg}))`; | ||||
|   } | ||||
|   return returnString; | ||||
| }; | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| import * as plugins from './domtools.plugins'; | ||||
| import * as plugins from './domtools.plugins'; | ||||
|   | ||||
| @@ -2,5 +2,12 @@ | ||||
| import * as smartpromise from '@pushrocks/smartpromise'; | ||||
| import * as smartrouter from '@pushrocks/smartrouter'; | ||||
| import * as smartstate from '@pushrocks/smartstate'; | ||||
| import * as webrequest from '@pushrocks/webrequest'; | ||||
| import * as websetup from '@pushrocks/websetup'; | ||||
|  | ||||
| export { smartpromise, smartrouter, smartstate }; | ||||
| export { smartpromise, smartrouter, smartstate, webrequest, websetup }; | ||||
|  | ||||
| // third party scope | ||||
| import sweetscroll from 'sweet-scroll'; | ||||
|  | ||||
| export { sweetscroll }; | ||||
|   | ||||
| @@ -7,4 +7,3 @@ import * as css from './domtools.css'; | ||||
| export { css, breakpoints, elementBasic }; | ||||
| export { DomTools } from './domtools.classes.domtools'; | ||||
| export { TypedRequest } from '@apiglobal/typedrequest'; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user