Your IP : 3.17.145.23
{"version":3,"file":"messagecard.bundle.js","sources":["../src/basecard.js","../src/messagecard.js"],"sourcesContent":["import {Cache, Dom, Tag, Text, Type, Event} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\n\nexport class BaseCard extends EventEmitter\n{\n\tconstructor(options = {})\n\t{\n\t\tsuper();\n\t\tthis.cache = new Cache.MemoryCache();\n\n\t\tthis.data = {...options};\n\t\tthis.options = this.data;\n\t\tthis.id = Type.isStringFilled(this.options.id) ? this.options.id : Text.getRandom();\n\t\tthis.hidden = Text.toBoolean(this.options.hidden);\n\t\tthis.onClickHandler = Type.isFunction(this.options.onClick) ? this.options.onClick : () => {};\n\n\t\tthis.onClick = this.onClick.bind(this);\n\n\t\tthis.layout = this.getLayout();\n\t\tthis.header = this.getHeader();\n\t\tthis.body = this.getBody();\n\n\t\tthis.setTitle(this.options.title || '');\n\t\tthis.setHidden(this.options.hidden);\n\n\t\tif (Type.isStringFilled(this.options.className))\n\t\t{\n\t\t\tDom.addClass(this.layout, this.options.className);\n\t\t}\n\n\t\tif (Type.isObject(this.options.attrs))\n\t\t{\n\t\t\tDom.adjust(this.layout, {attrs: this.options.attrs});\n\t\t}\n\n\t\tEvent.bind(this.layout, 'click', this.onClick);\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-card\">\n\t\t\t\t\t${this.getHeader()}\n\t\t\t\t\t${this.getBody()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetHeader(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('header', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-card-header\"></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetBody(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('body', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-card-body\"></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tsetTitle(title: string)\n\t{\n\t\tthis.getHeader().textContent = title;\n\t}\n\n\tsetHidden(hidden: boolean)\n\t{\n\t\tDom.attr(this.getLayout(), 'hidden', hidden || null);\n\t}\n\n\tonClick()\n\t{\n\t\tthis.onClickHandler(this);\n\t\tthis.emit('onClick');\n\t}\n\n\tshow()\n\t{\n\t\tthis.setHidden(false);\n\t}\n\n\tisShown()\n\t{\n\t\treturn Dom.attr(this.getLayout(), 'hidden') === null;\n\t}\n\n\thide()\n\t{\n\t\tthis.setHidden(true);\n\t}\n\n\tgetNode(): HTMLDivElement\n\t{\n\t\treturn this.getLayout();\n\t}\n}","import {Cache, Dom, Tag, Type} from 'main.core';\nimport {BaseCard} from './basecard';\n\nimport 'ui.design-tokens';\nimport 'ui.fonts.opensans';\nimport './css/messagecard.css';\n\nexport class MessageCard extends BaseCard\n{\n\tstatic cache = new Cache.MemoryCache();\n\n\tconstructor(\n\t\toptions: {\n\t\t\tid?: string,\n\t\t\theader?: string,\n\t\t\tdescription?: string,\n\t\t\ticon?: string,\n\t\t\tangle?: boolean,\n\t\t\tcloseable?: boolean,\n\t\t\thideActions?: boolean,\n\t\t\trestoreState?: boolean,\n\t\t\tactionElements: Array<HTMLElement>\n\t\t},\n\t)\n\t{\n\t\tsuper(options);\n\t\tDom.addClass(this.getLayout(), 'ui-card-message');\n\n\t\tthis.onCloseClick = this.onCloseClick.bind(this);\n\n\t\tif (this.options.angle === false)\n\t\t{\n\t\t\tDom.addClass(this.getLayout(), 'ui-card-message-without-angle');\n\t\t}\n\n\t\tif (Type.isStringFilled(this.options.icon))\n\t\t{\n\t\t\tDom.append(this.getIcon(), this.getHeader());\n\t\t}\n\n\t\tif (!Type.isArray(this.options.actionElements))\n\t\t{\n\t\t\tthis.options.actionElements = [];\n\t\t}\n\n\t\tDom.append(this.getTitle(), this.getHeader());\n\t\tDom.append(this.getDescription(), this.getBody());\n\n\t\tif (this.options.closeable !== false)\n\t\t{\n\t\t\tDom.append(this.getCloseButton(), this.getLayout());\n\t\t}\n\n\t\tif (this.options.hideActions !== true || this.options.more)\n\t\t{\n\t\t\tDom.append(this.getActionsContainer(), this.getLayout());\n\t\t}\n\n\t\tif (this.isAllowRestoreState())\n\t\t{\n\t\t\tconst state = MessageCard.cache.get(this.options.id, {shown: true});\n\t\t\tif (state.shown)\n\t\t\t{\n\t\t\t\tthis.show();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t}\n\t}\n\n\tisAllowRestoreState(): boolean\n\t{\n\t\treturn this.options.restoreState && this.options.id;\n\t}\n\n\tgetIcon(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('icon', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-card-message-icon\" style=\"background-image: url(${this.options.icon})\"></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetTitle(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('title', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-card-message-title\">${this.options.header}</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetDescription(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('description', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-card-message-description\">${this.options.description}</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetCloseButton(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('closeButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div \n\t\t\t\t\tclass=\"ui-card-message-close-button\" \n\t\t\t\t\tonclick=\"${this.onCloseClick}\"\n\t\t\t\t></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonCloseClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\t\tthis.hide();\n\t\tthis.emit('onClose');\n\t\tMessageCard.cache.set(this.options.id, {shown: false});\n\t}\n\n\tgetActionsContainer(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('actionsContainer', () => {\n\t\t\tconst actionWrapper = Tag.render`\n\t\t\t\t<div class=\"ui-card-message-actions\"></div>\n\t\t\t`;\n\n\t\t\tthis.options.actionElements.forEach((element: HTMLElement) => {\n\t\t\t\tactionWrapper.appendChild(element);\n\t\t\t});\n\n\t\t\treturn actionWrapper;\n\t\t});\n\t}\n\n\tonClick()\n\t{\n\t\tthis.onClickHandler(this);\n\t\tthis.emit('onClick');\n\t}\n}"],"names":["BaseCard","EventEmitter","constructor","options","cache","Cache","MemoryCache","data","id","Type","isStringFilled","Text","getRandom","hidden","toBoolean","onClickHandler","isFunction","onClick","bind","layout","getLayout","header","getHeader","body","getBody","setTitle","title","setHidden","className","Dom","addClass","isObject","attrs","adjust","Event","remember","Tag","render","textContent","attr","emit","show","isShown","hide","getNode","MessageCard","onCloseClick","angle","icon","append","getIcon","isArray","actionElements","getTitle","getDescription","closeable","getCloseButton","hideActions","more","getActionsContainer","isAllowRestoreState","state","get","shown","restoreState","description","event","preventDefault","set","actionWrapper","forEach","element","appendChild"],"mappings":"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"}