sdk-window
Version:
Resizable and movable (Angular) modal window.
1 lines • 48.8 kB
Source Map (JSON)
{"version":3,"file":"sdk-window.mjs","sources":["../../../projects/sdk-window/src/lib/utils/windows.ts","../../../projects/sdk-window/src/lib/sdk-window.component.ts","../../../projects/sdk-window/src/lib/sdk-window.component.html","../../../projects/sdk-window/src/lib/sdk-window.module.ts","../../../projects/sdk-window/src/public-api.ts","../../../projects/sdk-window/src/sdk-window.ts"],"sourcesContent":["export class SDKWindows {\n public static adjustIndex(parent: string = \"webspace\", windowID: string = \"\", highlight: boolean = true) {\n let ws = document.getElementById(parent);\n let childArray: any = [];\n let childrenArray: any = [];\n\n if (ws) {\n let children = ws.getElementsByTagName(\"SDK-WINDOW\");\n\n for (let c = 0; c < children.length; c++) {\n if (children[c].children[0].getAttribute(\"_parent\") === parent) {\n childrenArray.push(children[c].children[0]);\n }\n }\n\n childrenArray = childrenArray.sort((a: any, b: any) => parseInt(b.style.zIndex) - parseInt(a.style.zIndex));\n\n for (let c = 0; c < childrenArray.length; c++) {\n let child = document.getElementById(childrenArray[c].id);\n\n if (child) {\n if (child.className.indexOf(\"show\") > -1) {\n if (child.id === windowID) {\n childArray = childArray.filter((c: any) => c.id !== child!.id);\n childArray.unshift(child);\n SDKWindows.highlight(child.id, \"on\", highlight);\n } else {\n childArray.push(child);\n SDKWindows.highlight(child.id, \"off\", highlight);\n }\n } else {\n childArray.push(child);\n }\n }\n }\n }\n\n for (let c = 0; c < childArray.length; c++) {\n childArray[c].style.zIndex = (999 - c).toString();\n }\n }\n\n public static toggleVisibility(windowID: string, oo: string, highlight: boolean = true) {\n let win = document.getElementById(windowID);\n\n if (win) {\n if (oo === \"show\") {\n SDKWindows.highlight(windowID, \"on\", highlight);\n win.className = win.className.replace(\"sdk-window-hide\", \"sdk-window-show\");\n } else {\n win.className = win.className.replace(\"sdk-window-show\", \"sdk-window-hide\");\n SDKWindows.highlight(windowID, \"off\", highlight);\n }\n }\n }\n\n public static highlight(windowID: string, oo: string, highlight: boolean) {\n let win = document.getElementById(windowID);\n\n if (win) {\n if (oo === \"on\" || !highlight) {\n win.className = win.className.replace(\"sdk-window-inactive\", \"sdk-window-active\");\n\n let bgs = win.getElementsByClassName(\"sdk-window-inactive\");\n\n for (let b = 0; b < bgs.length; b++) {\n bgs[b].className = bgs[b].className.replace(\"sdk-window-inactive\", \"sdk-window-active\");\n }\n } else {\n win.className = win.className.replace(\"sdk-window-active\", \"sdk-window-inactive\");\n\n let bgs = win.getElementsByClassName(\"sdk-window-active\");\n\n for (let b = 0; b < bgs.length; b++) {\n bgs[b].className = bgs[b].className.replace(\"sdk-window-active\", \"sdk-window-inactive\");\n }\n }\n }\n }\n\n public static isActive(windowID: string): boolean {\n let win = document.getElementById(windowID);\n\n if (win) {\n if (win.className.indexOf(\"show\") > -1) {\n return true;\n }\n }\n\n return false;\n }\n\n public static isTop(windowID: string): boolean {\n let win = document.getElementById(windowID);\n\n if (win) {\n if (win.className.indexOf(\"sdk-window-active\") > -1) {\n return true;\n }\n }\n\n return false;\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DynamicModule } from 'ng-dynamic-component';\n\nimport { SDKWindows } from './utils/windows';\n\n@Component({\n\tselector: 'sdk-window',\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tDynamicModule,\n\t],\n\ttemplateUrl: './sdk-window.component.html',\n\tstyleUrls: ['./sdk-window.component.scss']\n})\n\nexport class SDKWindowComponent {\n\t/**************************************************************************\n\t* Input/Output Parameters\n\t**************************************************************************/\n\t@Input() parent: string = \"webspace\";\n\t@Input() windowID: string = \"\";\n\t@Input() windowTitle: string = \"\";\n\t@Input() windowColor: string = \"rgb(36, 144, 201)\";\n\t@Input() windowTitleColor: string = \"white\";\n\t@Input() windowContent: TemplateRef<any> | undefined;\n\t@Input() windowContentData: any | undefined;\n\t@Input() windowActions: TemplateRef<any> | undefined;\n\t@Input() windowActionsData: any | undefined;\n\t@Input() zIndex: number = 0;\n\t@Input() top: string = \"0\";\n\t@Input() left: string = \"0\";\n\t@Input() height: string = \"500\";\n\t@Input() width: string = \"600\";\n\t@Input() minHeight: string = \"300\";\n\t@Input() minWidth: string = \"300\";\n\t@Input() overflow: string = \"auto\";\n\t@Input() init: boolean = false;\n\t@Input() fullscreen: boolean = false;\n\t@Input() centered: boolean = true;\n\t@Input() resizable: boolean = true;\n\t@Input() closeable: boolean = true;\n\t@Input() maximize: boolean = true;\n\t@Input() highlight: boolean = true;\n\n\t@Output() adjustmentEvent: EventEmitter<any> = new EventEmitter();\n\t@Output() closeEvent: EventEmitter<any> = new EventEmitter();\n\n\t/**************************************************************************\n\t* Component Variables\n\t**************************************************************************/\n\tprotected mobile: boolean = false;\n\n\t//******************************************************************************\n\t// Component Life-cycle Methods\n\t//******************************************************************************\n\tprotected ngOnInit() {\n\t\tsetTimeout(() => {\n\t\t\tthis.calculateMobile(this.windowID);\n\t\t\tthis.calculateStyle(this.windowID);\n\t\t\tthis.setStyle(this.windowID);\n\t\t}, 1);\n\t}\n\n\tprotected ngAfterViewInit() {\n\t\tSDKWindows.adjustIndex(this.parent, this.windowID, this.highlight);\n\n\t\tsetTimeout(() => {\n\t\t\tthis.setProperties(this.windowID, {\n\t\t\t\t_parent: this.parent,\n\t\t\t\t_minHeight: this.minHeight,\n\t\t\t\t_minWidth: this.minWidth,\n\t\t\t\tzIndex: this.zIndex\n\t\t\t})\n\n\t\t\tif (this.init) {\n\t\t\t\tSDKWindows.toggleVisibility(this.windowID, \"show\", this.highlight);\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\t//*************************************************************************\n\t// Protected Methods\n\t//*************************************************************************\n\tprotected setFocus(_event: any, windowID: string) {\n\t\tSDKWindows.adjustIndex(this.parent, windowID, this.highlight);\n\t}\n\n\tprotected close(_event: any, windowID: string) {\n\t\tSDKWindows.toggleVisibility(windowID, \"hide\", this.highlight);\n\n\t\tif (this.closeEvent.observed) {\n\t\t\tthis.closeEvent.emit(windowID);\n\t\t}\n\t}\n\n\tprotected maxsize(_event: any, windowID: string) {\n\t\tlet element = document.getElementById(windowID);\n\n\t\tif (element) {\n\t\t\tif (this.resizable && this.maximize) {\n\t\t\t\tthis.fullscreen = !this.fullscreen;\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.setStyle(windowID);\n\t\t\t\t}, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected resize(_event: any, windowID: string, area: string) {\n\t\t_event.preventDefault();\n\n\t\tlet ws = document.getElementById(this.parent);\n\t\tlet element = document.getElementById(windowID);\n\n\t\tif (element) {\n\t\t\tlet t = parseInt(element.style.top);\n\t\t\tlet l = parseInt(element.style.left);\n\n\t\t\tthis.setProperties(windowID, {\n\t\t\t\t_top: t.toString() + \"px\",\n\t\t\t\t_left: l.toString() + \"px\",\n\t\t\t\t_right: (l + element.clientWidth).toString() + \"px\",\n\t\t\t\t_bottom: (t + element.clientHeight).toString() + \"px\",\n\t\t\t\t_height: element.clientHeight.toString() + \"px\",\n\t\t\t\t_width: element.clientWidth.toString() + \"px\"\n\t\t\t});\n\t\t}\n\n\t\tif (ws) {\n\t\t\tws.setAttribute(\"_object\", windowID);\n\t\t\tws.setAttribute(\"_area\", area);\n\t\t}\n\n\t\tdocument.body.setAttribute(\"parent\", this.parent);\n\n\t\tdocument.onmousemove = (...props) => {\n\t\t\tthis.sizing(...props);\n\t\t\tthis.adjustmentData(...props);\n\t\t};\n\n\t\tdocument.onmouseup = this.stopAdjustment;\n\t}\n\n\tprotected move(_event: any, windowID: string) {\n\t\t_event.preventDefault();\n\n\t\tif (!this.fullscreen) {\n\t\t\tlet ws = document.getElementById(this.parent);\n\t\t\tlet element = document.getElementById(windowID);\n\n\t\t\tif (element) {\n\t\t\t\tlet ev = { y: _event.y, x: _event.x };\n\n\t\t\t\tthis.setProperties(windowID, {\n\t\t\t\t\t_top: ev.y.toString() + \"px\",\n\t\t\t\t\t_left: ev.x.toString() + \"px\"\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (ws) {\n\t\t\t\tws.setAttribute(\"_object\", windowID);\n\t\t\t}\n\n\t\t\tdocument.body.setAttribute(\"parent\", this.parent);\n\n\t\t\tdocument.onmousemove = (...props) => {\n\t\t\t\tthis.drag(...props);\n\t\t\t\tthis.adjustmentData(...props);\n\t\t\t};\n\n\t\t\tdocument.onmouseup = this.stopAdjustment;\n\t\t}\n\t}\n\n\t//*************************************************************************\n\t// Private Methods\n\t//*************************************************************************\n\tprivate sizing(_event: any) {\n\t\t_event.preventDefault();\n\n\t\tlet parent = document.body.getAttribute(\"parent\") ?? \"\";\n\t\tlet ws = document.getElementById(parent);\n\t\tlet object = ws!.getAttribute(\"_object\") ?? \"\";\n\t\tlet area = ws!.getAttribute(\"_area\") ?? \"\";\n\t\tlet element = document.getElementById(object);\n\n\t\tif (element) {\n\t\t\tlet wsRect = ws!.getBoundingClientRect();\n\t\t\tlet ev = { t: _event.y, l: _event.x };\n\t\t\tlet pr = {\n\t\t\t\tt: parseInt(element.getAttribute(\"_top\") ?? \"0\"),\n\t\t\t\tl: parseInt(element.getAttribute(\"_left\") ?? \"0\"),\n\t\t\t\tr: parseInt(element.getAttribute(\"_right\") ?? \"0\"),\n\t\t\t\tb: parseInt(element.getAttribute(\"_bottom\") ?? \"0\"),\n\t\t\t\th: parseInt(element.getAttribute(\"_height\") ?? \"0\"),\n\t\t\t\tw: parseInt(element.getAttribute(\"_width\") ?? \"0\")\n\t\t\t};\n\n\t\t\tev.t = ev.t - wsRect.top;\n\t\t\tev.l = ev.l - wsRect.left;\n\n\t\t\tif (area == 'top') {\n\t\t\t\telement.style.top = ev.t + 'px';\n\t\t\t\telement.style.bottom = pr.b + 'px';\n\t\t\t\telement.style.height = (pr.b - ev.t) + 'px';\n\t\t\t}\n\t\t\tif (area == 'left') {\n\t\t\t\telement.style.left = ev.l + 'px';\n\t\t\t\telement.style.right = pr.r + 'px';\n\t\t\t\telement.style.width = (pr.r - ev.l) + 'px';\n\t\t\t}\n\t\t\tif (area == 'right') {\n\t\t\t\telement.style.left = pr.l + 'px';\n\t\t\t\telement.style.right = (ev.l - pr.r) + pr.r + 'px';\n\t\t\t\telement.style.width = (ev.l - pr.l) + 'px';\n\t\t\t}\n\t\t\tif (area == 'bottom') {\n\t\t\t\telement.style.top = pr.t + 'px';\n\t\t\t\telement.style.bottom = (ev.t - pr.b) + pr.b + 'px';\n\t\t\t\telement.style.height = (ev.t - pr.t) + 'px';\n\t\t\t}\n\n\t\t\tif (area == 'top-left') {\n\t\t\t\telement.style.top = ev.t + 'px';\n\t\t\t\telement.style.left = ev.l + 'px';\n\t\t\t\telement.style.right = pr.r + 'px';\n\t\t\t\telement.style.bottom = pr.b + 'px';\n\t\t\t\telement.style.height = (pr.b - ev.t) + 'px';\n\t\t\t\telement.style.width = (pr.r - ev.l) + 'px';\n\t\t\t}\n\n\t\t\tif (area == 'top-right') {\n\t\t\t\telement.style.top = ev.t + 'px';\n\t\t\t\telement.style.left = pr.l + 'px';\n\t\t\t\telement.style.right = ev.l + 'px';\n\t\t\t\telement.style.bottom = pr.b + 'px';\n\t\t\t\telement.style.height = (pr.b - ev.t) + 'px';\n\t\t\t\telement.style.width = (ev.l - pr.l) + 'px';\n\t\t\t}\n\n\t\t\tif (area == 'bottom-left') {\n\t\t\t\telement.style.top = pr.t + 'px';\n\t\t\t\telement.style.left = ev.l + 'px';\n\t\t\t\telement.style.right = pr.r + 'px';\n\t\t\t\telement.style.bottom = ev.t + 'px';\n\t\t\t\telement.style.height = (ev.t - pr.t) + 'px';\n\t\t\t\telement.style.width = (pr.r - ev.l) + 'px';\n\t\t\t}\n\n\t\t\tif (area == 'bottom-right') {\n\t\t\t\telement.style.top = pr.t + 'px';\n\t\t\t\telement.style.left = pr.l + 'px';\n\t\t\t\telement.style.right = ev.l + 'px';\n\t\t\t\telement.style.bottom = ev.t + 'px';\n\t\t\t\telement.style.height = (ev.t - pr.t) + 'px';\n\t\t\t\telement.style.width = (ev.l - pr.l) + 'px';\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate drag(_event: any) {\n\t\t_event.preventDefault();\n\n\t\tlet parent = document.body.getAttribute(\"parent\") ?? \"\";\n\t\tlet ws = document.getElementById(parent);\n\t\tlet object = ws!.getAttribute(\"_object\") ?? \"\";\n\t\tlet element = document.getElementById(object);\n\n\t\tif (element) {\n\t\t\tlet ev = { y: _event.y, x: _event.x };\n\t\t\tlet pr = { y: parseInt(element.getAttribute(\"_top\") ?? \"0\"), x: parseInt(element.getAttribute(\"_left\") ?? \"0\") };\n\n\t\t\tlet t = parseInt(element.style.top);\n\t\t\tlet l = parseInt(element.style.left);\n\n\t\t\telement.style.top = (t + (ev.y - pr.y)) + 'px';\n\t\t\telement.style.left = (l + (ev.x - pr.x)) + 'px';\n\n\t\t\telement.setAttribute(\"_top\", ev.y.toString());\n\t\t\telement.setAttribute(\"_left\", ev.x.toString());\n\t\t}\n\t}\n\n\tprivate adjustmentData(_event: any) {\n\t\tlet parent = document.body.getAttribute(\"parent\") ?? \"\";\n\t\tlet ws = document.getElementById(parent);\n\t\tlet object = ws!.getAttribute(\"_object\") ?? \"\";\n\t\tlet element = document.getElementById(object);\n\t\tlet data = null;\n\n\t\tif (element) {\n\t\t\tdata = {\n\t\t\t\twindow: object,\n\t\t\t\ttop: parseInt(element.style.top),\n\t\t\t\tleft: parseInt(element.style.left),\n\t\t\t\theight: parseInt(element.style.height),\n\t\t\t\twidth: parseInt(element.style.width)\n\t\t\t};\n\t\t}\n\n\t\tthis.adjustmentEvent.emit(data);\n\t}\n\n\tprivate stopAdjustment(_event: any) {\n\t\t_event.preventDefault();\n\n\t\tlet parent = document.body.getAttribute(\"parent\") ?? \"\";\n\t\tlet ws = document.getElementById(parent);\n\t\tlet object = ws!.getAttribute(\"_object\") ?? \"\";\n\t\tlet element = document.getElementById(object);\n\n\t\tif (element) {\n\t\t\tlet wsRect = ws!.getBoundingClientRect();\n\t\t\tlet objRect = element.getBoundingClientRect();\n\t\t\tlet maxHeight = parseInt(element.getAttribute(\"_minHeight\") ?? \"0\");\n\t\t\tlet maxWidth = parseInt(element.getAttribute(\"_minWidth\") ?? \"0\");\n\n\t\t\t// Height\n\t\t\tif (objRect.height < maxHeight) {\n\t\t\t\telement.style.height = `${maxHeight}px`;\n\t\t\t}\n\n\t\t\t// Width\n\t\t\tif (objRect.width < maxWidth) {\n\t\t\t\telement.style.width = `${maxWidth}px`;\n\t\t\t}\n\n\t\t\t// Top\n\t\t\tif (objRect.top < wsRect.top) {\n\t\t\t\telement.style.top = '0px';\n\t\t\t}\n\n\t\t\t// Bottom\n\t\t\tif ((objRect.top + 40) > wsRect.bottom) {\n\t\t\t\telement.style.top = (wsRect.height - 40) + 'px';\n\t\t\t}\n\n\t\t\t// Left\n\t\t\tif ((objRect.left + objRect.width - 50) < wsRect.left) {\n\t\t\t\telement.style.left = ((objRect.width * -1) + 50) + 'px';\n\t\t\t}\n\n\t\t\t// Right\n\t\t\tif ((objRect.left + 50) > wsRect.right) {\n\t\t\t\telement.style.left = (wsRect.right - wsRect.left - 50) + 'px';\n\t\t\t}\n\n\t\t\telement.setAttribute(\"_top\", element.style.top);\n\t\t\telement.setAttribute(\"_left\", element.style.left);\n\t\t\telement.setAttribute(\"_right\", element.style.right);\n\t\t\telement.setAttribute(\"_bottom\", element.style.bottom);\n\t\t\telement.setAttribute(\"_height\", element.style.height);\n\t\t\telement.setAttribute(\"_width\", element.style.width);\n\t\t}\n\n\t\tif (ws) {\n\t\t\tws.removeAttribute(\"_object\");\n\t\t\tws.removeAttribute(\"_area\");\n\t\t}\n\n\t\tdocument.body.removeAttribute(\"parent\");\n\n\t\tdocument.onmousemove = null;\n\t\tdocument.onmouseup = null;\n\t}\n\n\tprivate calculateMobile(windowID: string) {\n\t\tlet hasTouchScreen = false;\n\n\t\tif (\"maxTouchPoints\" in navigator) {\n\t\t\thasTouchScreen = navigator.maxTouchPoints > 0;\n\t\t}\n\n\t\tif (hasTouchScreen && document.documentElement.clientWidth <= 750) {\n\t\t\tthis.mobile = true;\n\t\t\tthis.fullscreen = true;\n\t\t\tthis.overflow = \"auto\";\n\t\t}\n\n\t\tthis.setProperties(windowID, {\n\t\t\toverflow: this.overflow\n\t\t})\n\t}\n\n\tprivate calculateStyle(windowID: string) {\n\t\tlet ws = document.getElementById(this.parent);\n\t\tlet wsRect = ws!.getBoundingClientRect();\n\n\t\tlet dh = wsRect.height;\n\t\tlet dw = wsRect.width;\n\n\t\tlet height = parseInt(this.height);\n\t\tlet width = parseInt(this.width);\n\n\t\tif (this.height.indexOf(\"%\") > -1) {\n\t\t\theight = (dh * (height / 100));\n\t\t} else {\n\t\t\theight += 2;\n\t\t}\n\n\t\tif (this.width.indexOf(\"%\") > -1) {\n\t\t\twidth = (dw * (width / 100));\n\t\t} else {\n\t\t\twidth += 2;\n\t\t}\n\n\t\tif (this.fullscreen || this.mobile) {\n\t\t\tif (this.mobile) {\n\t\t\t\tthis.setProperties(windowID, {\n\t\t\t\t\t_top: \"0\",\n\t\t\t\t\t_left: \"0\",\n\t\t\t\t\t_right: \"0\",\n\t\t\t\t\t_bottom: \"0\",\n\t\t\t\t\t_height: `${dh}px`,\n\t\t\t\t\t_width: `${dw}px`\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setProperties(windowID, {\n\t\t\t\t\t_top: \"0\",\n\t\t\t\t\t_left: \"0\",\n\t\t\t\t\t_right: \"0\",\n\t\t\t\t\t_bottom: \"0\",\n\t\t\t\t\t_height: `${dh}px`,\n\t\t\t\t\t_width: `${dw}px`\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tif (height > (dh - 5)) {\n\t\t\t\theight = dh - 5;\n\t\t\t}\n\n\t\t\tif (width > dw) {\n\t\t\t\twidth = dw;\n\t\t\t}\n\n\t\t\tif (this.centered) {\n\t\t\t\tlet top = ((dh - 5) - height) / 2;\n\t\t\t\tlet left = (dw - width) / 2;\n\t\t\t\tlet right = left + width;\n\t\t\t\tlet bottom = top + height;\n\n\t\t\t\tthis.setProperties(windowID, {\n\t\t\t\t\t_top: `${top}px`,\n\t\t\t\t\t_left: `${left}px`,\n\t\t\t\t\t_right: `${right}px`,\n\t\t\t\t\t_bottom: `${bottom}px`,\n\t\t\t\t\t_height: `${height}px`,\n\t\t\t\t\t_width: `${width}px`\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tlet right = parseInt(this.left) + width;\n\t\t\t\tlet bottom = parseInt(this.top) + height;\n\n\t\t\t\tthis.setProperties(windowID, {\n\t\t\t\t\t_top: `${parseInt(this.top)}px`,\n\t\t\t\t\t_left: `${parseInt(this.left)}px`,\n\t\t\t\t\t_right: `${right}px`,\n\t\t\t\t\t_bottom: `${bottom}px`,\n\t\t\t\t\t_height: `${height}px`,\n\t\t\t\t\t_width: `${width}px`\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setStyle(windowID: string) {\n\t\tlet element = document.getElementById(windowID);\n\n\t\tif (element) {\n\t\t\telement.style.setProperty(\"--window-color\", this.windowColor);\n\t\t\telement.style.setProperty(\"--window-title-color\", this.windowTitleColor);\n\n\t\t\tif (this.fullscreen || this.mobile) {\n\t\t\t\tlet ws = document.getElementById(this.parent);\n\t\t\t\tlet wsRect = ws!.getBoundingClientRect();\n\n\t\t\t\tlet dh = wsRect.height;\n\t\t\t\tlet dw = wsRect.width;\n\n\t\t\t\tlet height = `${dh - 5}px`;\n\t\t\t\tlet width = `${dw - 5}px`;\n\n\t\t\t\tif (this.mobile) {\n\t\t\t\t\theight = `${dh}px`;\n\t\t\t\t\twidth = `${dw}px`;\n\t\t\t\t}\n\n\t\t\t\tthis.setProperties(windowID, {\n\t\t\t\t\ttop: \"0\",\n\t\t\t\t\tleft: \"0\",\n\t\t\t\t\tright: \"0\",\n\t\t\t\t\tbottom: \"0\",\n\t\t\t\t\theight: height,\n\t\t\t\t\twidth: width\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setProperties(windowID, {\n\t\t\t\t\ttop: element.getAttribute(\"_top\")!.toString(),\n\t\t\t\t\tleft: element.getAttribute(\"_left\")!.toString(),\n\t\t\t\t\tright: element.getAttribute(\"_right\")!.toString(),\n\t\t\t\t\tbottom: element.getAttribute(\"_bottom\")!.toString(),\n\t\t\t\t\theight: element.getAttribute(\"_height\")!.toString(),\n\t\t\t\t\twidth: element.getAttribute(\"_width\")!.toString()\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setProperties(windowID: string, props: any) {\n\t\tlet element = document.getElementById(windowID);\n\n\t\tif (element) {\n\t\t\t// Styles\n\t\t\telement.style.position = \"absolute\";\n\n\t\t\tif (props.top) element.style.top = props.top.toString();\n\t\t\tif (props.left) element.style.left = props.left.toString();\n\t\t\tif (props.right) element.style.right = props.right.toString();\n\t\t\tif (props.bottom) element.style.bottom = props.bottom.toString();\n\t\t\tif (props.height) element.style.height = props.height.toString();\n\t\t\tif (props.width) element.style.width = props.width.toString();\n\t\t\tif (props.overflow) element.style.overflow = props.overflow;\n\t\t\tif (props.zIndex) element.style.zIndex = props.zIndex;\n\n\t\t\t// Attributes\n\t\t\tif (props._parent !== undefined) element.setAttribute(\"_parent\", props._parent);\n\t\t\tif (props._minHeight !== undefined) element.setAttribute(\"_minHeight\", props._minHeight);\n\t\t\tif (props._minWidth !== undefined) element.setAttribute(\"_minWidth\", props._minWidth);\n\n\t\t\tif (props._top !== undefined) element.setAttribute(\"_top\", props._top);\n\t\t\tif (props._left !== undefined) element.setAttribute(\"_left\", props._left);\n\t\t\tif (props._right !== undefined) element.setAttribute(\"_right\", props._right);\n\t\t\tif (props._bottom !== undefined) element.setAttribute(\"_bottom\", props._bottom);\n\t\t\tif (props._height !== undefined) element.setAttribute(\"_height\", props._height);\n\t\t\tif (props._width !== undefined) element.setAttribute(\"_width\", props._width);\n\t\t}\n\t}\n}\n","<div (mousedown)=\"setFocus($event, windowID)\" [id]=\"windowID\" class=\"sdk-window sdk-window-inactive sdk-window-hide\">\n <ng-container *ngIf=\"resizable\">\n <div class=\"top no-mobile\" (mousedown)=\"resize($event, windowID, 'top')\"></div>\n <div class=\"left no-mobile\" (mousedown)=\"resize($event, windowID, 'left')\"></div>\n <div class=\"right no-mobile\" (mousedown)=\"resize($event, windowID, 'right')\"></div>\n <div class=\"bottom no-mobile\" (mousedown)=\"resize($event, windowID, 'bottom')\"></div>\n\n <div class=\"top-left no-mobile\" (mousedown)=\"resize($event, windowID, 'top-left')\"></div>\n <div class=\"top-right no-mobile\" (mousedown)=\"resize($event, windowID, 'top-right')\"></div>\n <div class=\"bottom-left no-mobile\" (mousedown)=\"resize($event, windowID, 'bottom-left')\"></div>\n <div class=\"bottom-right no-mobile\" (mousedown)=\"resize($event, windowID, 'bottom-right')\"></div>\n </ng-container>\n\n <div class=\"sdk-window-center\" [ngClass]=\"{ 'fixed': !resizable || fullscreen }\">\n <div class=\"sdk-window-header noselect sdk-window-inactive\">\n <div *ngIf=\"height !== '0' && width !== '0' && maximize\" class=\"sdk-window-size no-mobile\">\n <div *ngIf=\"resizable && !fullscreen\" (click)=\"maxsize($event, windowID)\" class=\"sdk-icon\">settings_overscan</div>\n <div *ngIf=\"resizable && fullscreen\" (click)=\"maxsize($event, windowID)\" class=\"sdk-icon\">branding_watermark</div>\n </div>\n <div class=\"sdk-window-title\" (dblclick)=\"maxsize($event, windowID)\" (mousedown)=\"move($event, windowID)\">\n <div [title]=\"windowTitle\" class=\"label\">{{ windowTitle }}</div>\n </div>\n <div *ngIf=\"closeable\" class=\"sdk-window-close\">\n <div class=\"sdk-icon\" (click)=\"close($event, windowID)\">cancel_presentation</div>\n </div>\n <div *ngIf=\"windowActions\" class=\"sdk-window-actions\">\n <ng-container [ngTemplateOutlet]=\"windowActions\" [ngTemplateOutletContext]=\"windowActionsData\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"windowContent\" [id]=\"windowID + '_content'\" class=\"sdk-window-content\" [ngStyle]=\"{ overflow: mobile ? 'auto' : overflow }\">\n <ng-container [ngTemplateOutlet]=\"windowContent\" [ngTemplateOutletContext]=\"windowContentData\"></ng-container>\n </div>\n </div>\n</div>\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\n\nimport { SDKWindowComponent } from './sdk-window.component';\n\n@NgModule({\n imports: [\n SDKWindowComponent\n ],\n exports: [\n SDKWindowComponent\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class SDKWindowModule { }\n","/*\n * Public API Surface of sdk-loading\n */\n\nexport { SDKWindowModule } from './lib/sdk-window.module';\nexport { SDKWindowComponent } from './lib/sdk-window.component';\n\nexport { SDKWindows } from './lib/utils/windows'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}