@things-factory/meta-ui 7.0.1 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,7 +48,7 @@ export class CodeInputEditorPopup extends LitElement {
48
48
 
49
49
  render() {
50
50
  return html`
51
- <ox-input-code mode="javascript" value=${this.codeVlaue} tab-size="2" tab-as-space="true"></ox-input-code>
51
+ <ox-input-code mode="javascript" value=${this.codeVlaue}></ox-input-code>
52
52
 
53
53
  <div class="button-container" style="margin-left:unset;">
54
54
  <button @click=${this.clickEmpty.bind(this)}>
@@ -65,7 +65,7 @@ class DynamicMenuTemplate extends localize(i18next)(LitElement) {
65
65
 
66
66
  render() {
67
67
  return html` <legend>${this.title}</legend>
68
- <ox-input-code mode="javascript" value=${this.codeValueNew} tab-size="2" tab-as-space="true"></ox-input-code>
68
+ <ox-input-code mode="javascript" value=${this.codeValueNew}></ox-input-code>
69
69
  <div class="button-container"></div>`
70
70
  }
71
71
 
@@ -23,7 +23,7 @@ export class CodeInputEditorPopup extends LitElement {
23
23
  }
24
24
  render() {
25
25
  return html `
26
- <ox-input-code mode="javascript" value=${this.codeVlaue} tab-size="2" tab-as-space="true"></ox-input-code>
26
+ <ox-input-code mode="javascript" value=${this.codeVlaue}></ox-input-code>
27
27
 
28
28
  <div class="button-container" style="margin-left:unset;">
29
29
  <button @click=${this.clickEmpty.bind(this)}>
@@ -1 +1 @@
1
- {"version":3,"file":"code-input-editor-popup.js","sourceRoot":"","sources":["../../../client/component/popup/code-input-editor-popup.js"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,iCAAiC,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAsBlD,KAAK,CAAC,iBAAiB;QACrB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;QAC7B,CAAC;QAED,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;+CACgC,IAAI,CAAC,SAAS;;;yBAGpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;sDACG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;;;yBAGvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;yBACnF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;;KAEvG,CAAA;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,CAAC;QAChB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAClD,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC7C,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAC7D,OAAM;QACR,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAAK;QACtB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACnD,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;;AA5FM,2BAAM,GAAG;IACd,qBAAqB;IACrB,GAAG,CAAA;;;;;;;;;;;;;;;;KAgBF;CACF,CAAA;AA4EH,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAA","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { ButtonContainerStyles } from '@operato/styles'\nimport { TermsUtil } from '../../utils/terms-util'\nimport { MetaApi } from '../../utils/meta-api'\nimport '@operato/input/ox-input-code.js'\nimport { closePopup } from '@operato/popup'\n\n/**\n * 코드 편집기 팝업\n */\nexport class CodeInputEditorPopup extends LitElement {\n static styles = [\n ButtonContainerStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n\n width: var(--overlay-center-normal-width, 50%);\n height: var(--overlay-center-normal-height, 50%);\n }\n\n ox-input-code {\n margin: 10px;\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n async connectedCallback() {\n if (typeof this.value === 'object') {\n this.codeVlaue = JSON.stringify(this.value, 0, 2)\n } else {\n this.codeVlaue = this.value\n }\n\n await super.connectedCallback()\n }\n\n async firstUpdated() {\n await super.firstUpdated()\n }\n\n render() {\n return html`\n <ox-input-code mode=\"javascript\" value=${this.codeVlaue} tab-size=\"2\" tab-as-space=\"true\"></ox-input-code>\n\n <div class=\"button-container\" style=\"margin-left:unset;\">\n <button @click=${this.clickEmpty.bind(this)}>\n <md-icon>check_box_outline_blank</md-icon>${TermsUtil.tButton('empty')}\n </button>\n <div filler></div>\n <button @click=${this.clickCancel.bind(this)}><md-icon>cancel</md-icon>${TermsUtil.tButton('cancel')}</button>\n <button @click=${this.clickConfirm.bind(this)}><md-icon>done</md-icon>${TermsUtil.tButton('confirm')}</button>\n </div>\n `\n }\n\n get codeEditor() {\n return this.shadowRoot.querySelector('ox-input-code')\n }\n\n /**\n * @description 비우기\n ***************************\n * @returns\n */\n async clickEmpty(e) {\n this.confirmCallback && this.confirmCallback(null)\n closePopup(this)\n }\n /**\n * @description 취소\n ***************************\n * @returns\n */\n async clickCancel(e) {\n closePopup(this)\n }\n /**\n * @description 확인\n ***************************\n * @returns\n */\n async clickConfirm(e) {\n if (this.codeVlaue === this.codeEditor.value) {\n MetaApi.showToast('info', TermsUtil.tText('NOTHING_CHANGED'))\n return\n }\n this.changedValue(this.codeEditor.value)\n }\n\n /**\n * @description 확정\n ***************************\n * @param {*} record\n */\n async changedValue(value) {\n this.confirmCallback && this.confirmCallback(value)\n closePopup(this)\n }\n}\n\ncustomElements.define('code-input-editor-popup', CodeInputEditorPopup)\n"]}
1
+ {"version":3,"file":"code-input-editor-popup.js","sourceRoot":"","sources":["../../../client/component/popup/code-input-editor-popup.js"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAA;AAEnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,iCAAiC,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAsBlD,KAAK,CAAC,iBAAiB;QACrB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAA;QAC7B,CAAC;QAED,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;+CACgC,IAAI,CAAC,SAAS;;;yBAGpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;sDACG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;;;yBAGvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;yBACnF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;;KAEvG,CAAA;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,CAAC;QAChB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAClD,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC7C,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;YAC7D,OAAM;QACR,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAAK;QACtB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QACnD,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;;AA5FM,2BAAM,GAAG;IACd,qBAAqB;IACrB,GAAG,CAAA;;;;;;;;;;;;;;;;KAgBF;CACF,CAAA;AA4EH,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAA","sourcesContent":["import '@material/web/icon/icon.js'\n\nimport { css, html, LitElement } from 'lit'\nimport { ButtonContainerStyles } from '@operato/styles'\nimport { TermsUtil } from '../../utils/terms-util'\nimport { MetaApi } from '../../utils/meta-api'\nimport '@operato/input/ox-input-code.js'\nimport { closePopup } from '@operato/popup'\n\n/**\n * 코드 편집기 팝업\n */\nexport class CodeInputEditorPopup extends LitElement {\n static styles = [\n ButtonContainerStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n\n width: var(--overlay-center-normal-width, 50%);\n height: var(--overlay-center-normal-height, 50%);\n }\n\n ox-input-code {\n margin: 10px;\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n async connectedCallback() {\n if (typeof this.value === 'object') {\n this.codeVlaue = JSON.stringify(this.value, 0, 2)\n } else {\n this.codeVlaue = this.value\n }\n\n await super.connectedCallback()\n }\n\n async firstUpdated() {\n await super.firstUpdated()\n }\n\n render() {\n return html`\n <ox-input-code mode=\"javascript\" value=${this.codeVlaue}></ox-input-code>\n\n <div class=\"button-container\" style=\"margin-left:unset;\">\n <button @click=${this.clickEmpty.bind(this)}>\n <md-icon>check_box_outline_blank</md-icon>${TermsUtil.tButton('empty')}\n </button>\n <div filler></div>\n <button @click=${this.clickCancel.bind(this)}><md-icon>cancel</md-icon>${TermsUtil.tButton('cancel')}</button>\n <button @click=${this.clickConfirm.bind(this)}><md-icon>done</md-icon>${TermsUtil.tButton('confirm')}</button>\n </div>\n `\n }\n\n get codeEditor() {\n return this.shadowRoot.querySelector('ox-input-code')\n }\n\n /**\n * @description 비우기\n ***************************\n * @returns\n */\n async clickEmpty(e) {\n this.confirmCallback && this.confirmCallback(null)\n closePopup(this)\n }\n /**\n * @description 취소\n ***************************\n * @returns\n */\n async clickCancel(e) {\n closePopup(this)\n }\n /**\n * @description 확인\n ***************************\n * @returns\n */\n async clickConfirm(e) {\n if (this.codeVlaue === this.codeEditor.value) {\n MetaApi.showToast('info', TermsUtil.tText('NOTHING_CHANGED'))\n return\n }\n this.changedValue(this.codeEditor.value)\n }\n\n /**\n * @description 확정\n ***************************\n * @param {*} record\n */\n async changedValue(value) {\n this.confirmCallback && this.confirmCallback(value)\n closePopup(this)\n }\n}\n\ncustomElements.define('code-input-editor-popup', CodeInputEditorPopup)\n"]}
@@ -57,7 +57,7 @@ class DynamicMenuTemplate extends localize(i18next)(LitElement) {
57
57
  }
58
58
  render() {
59
59
  return html ` <legend>${this.title}</legend>
60
- <ox-input-code mode="javascript" value=${this.codeValueNew} tab-size="2" tab-as-space="true"></ox-input-code>
60
+ <ox-input-code mode="javascript" value=${this.codeValueNew}></ox-input-code>
61
61
  <div class="button-container"></div>`;
62
62
  }
63
63
  get codeEditor() {
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-menu-template.js","sourceRoot":"","sources":["../../../client/pages/menu/dynamic-menu-template.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,iCAAiC,CAAA;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,MAAM,mBAAoB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAC7D,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,MAAM;SACjB,CAAA;IACH,CAAC;IAED,MAAM,KAAK,MAAM;QACf,IAAI,MAAM,GAAG;YACX,eAAe;YACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BF;SACF,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;QAC5B,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QACnE,IAAI,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAA;QAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAA;IAClD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,YAAY,IAAI,CAAC,KAAK;+CACU,IAAI,CAAC,YAAY;2CACrB,CAAA;IACzC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtD,OAAO,CAAC,cAAc,CAAC,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAClG,OAAM;QACR,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAA;QAEpC,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QACtE,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;QACxE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;CACF;AAED,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\nimport '@operato/input/ox-input-code.js'\n\nimport { MetaApi } from '../../utils/meta-api'\n\nclass DynamicMenuTemplate extends localize(i18next)(LitElement) {\n static get properties() {\n return {\n title: String,\n recordId: String\n }\n }\n\n static get styles() {\n let styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n overflow-x: overlay;\n background-color: var(--md-sys-color-background);\n }\n legend {\n margin: 10px;\n text-transform: capitalize;\n padding: var(--legend-padding);\n font: var(--legend-font);\n color: var(--legend-text-color);\n border-bottom: var(--legend-border-bottom);\n }\n ox-input-code {\n margin: 10px;\n overflow-y: auto;\n flex: 1;\n }\n .button-container {\n padding: var(--button-container-padding);\n margin: var(--button-container-margin);\n text-align: var(--button-container-align);\n background-color: var(--button-container-background);\n height: var(--button-container-height);\n text-align: right;\n padding-right: 12px;\n }\n `\n ]\n\n return styles\n }\n\n async firstUpdated() {\n if (super.firstUpdated) {\n await super.firstUpdated()\n }\n\n let menu = await MetaApi.findOne('menu', this.recordId, 'template')\n let codeData = menu ? menu.template || '' : ''\n this.codeEditor.value = codeData\n this.codeEditor.orgValue = this.codeEditor.value\n }\n\n render() {\n return html` <legend>${this.title}</legend>\n <ox-input-code mode=\"javascript\" value=${this.codeValueNew} tab-size=\"2\" tab-as-space=\"true\"></ox-input-code>\n <div class=\"button-container\"></div>`\n }\n\n get codeEditor() {\n return this.shadowRoot.querySelector('ox-input-code')\n }\n\n async save() {\n if (this.codeEditor.orgValue == this.codeEditor.value) {\n MetaApi.showAlertPopup('text.nothing_changed', 'text.there_is_nothing_to_save', 'info', 'confirm')\n return\n }\n\n let template = this.codeEditor.value\n\n let patches = [{ id: this.recordId, template: template, cuFlag: 'M' }]\n let result = await MetaApi.updateMultiple('updateMultipleMenu', patches)\n if (result) {\n history.back()\n }\n }\n}\n\ncustomElements.define('dynamic-menu-template', DynamicMenuTemplate)\n"]}
1
+ {"version":3,"file":"dynamic-menu-template.js","sourceRoot":"","sources":["../../../client/pages/menu/dynamic-menu-template.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,iCAAiC,CAAA;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,MAAM,mBAAoB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAC7D,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,MAAM;SACjB,CAAA;IACH,CAAC;IAED,MAAM,KAAK,MAAM;QACf,IAAI,MAAM,GAAG;YACX,eAAe;YACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BF;SACF,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;QAC5B,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QACnE,IAAI,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAA;QAChC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAA;IAClD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,YAAY,IAAI,CAAC,KAAK;+CACU,IAAI,CAAC,YAAY;2CACrB,CAAA;IACzC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtD,OAAO,CAAC,cAAc,CAAC,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAClG,OAAM;QACR,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAA;QAEpC,IAAI,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QACtE,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;QACxE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;CACF;AAED,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAA","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\nimport '@operato/input/ox-input-code.js'\n\nimport { MetaApi } from '../../utils/meta-api'\n\nclass DynamicMenuTemplate extends localize(i18next)(LitElement) {\n static get properties() {\n return {\n title: String,\n recordId: String\n }\n }\n\n static get styles() {\n let styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n overflow-x: overlay;\n background-color: var(--md-sys-color-background);\n }\n legend {\n margin: 10px;\n text-transform: capitalize;\n padding: var(--legend-padding);\n font: var(--legend-font);\n color: var(--legend-text-color);\n border-bottom: var(--legend-border-bottom);\n }\n ox-input-code {\n margin: 10px;\n overflow-y: auto;\n flex: 1;\n }\n .button-container {\n padding: var(--button-container-padding);\n margin: var(--button-container-margin);\n text-align: var(--button-container-align);\n background-color: var(--button-container-background);\n height: var(--button-container-height);\n text-align: right;\n padding-right: 12px;\n }\n `\n ]\n\n return styles\n }\n\n async firstUpdated() {\n if (super.firstUpdated) {\n await super.firstUpdated()\n }\n\n let menu = await MetaApi.findOne('menu', this.recordId, 'template')\n let codeData = menu ? menu.template || '' : ''\n this.codeEditor.value = codeData\n this.codeEditor.orgValue = this.codeEditor.value\n }\n\n render() {\n return html` <legend>${this.title}</legend>\n <ox-input-code mode=\"javascript\" value=${this.codeValueNew}></ox-input-code>\n <div class=\"button-container\"></div>`\n }\n\n get codeEditor() {\n return this.shadowRoot.querySelector('ox-input-code')\n }\n\n async save() {\n if (this.codeEditor.orgValue == this.codeEditor.value) {\n MetaApi.showAlertPopup('text.nothing_changed', 'text.there_is_nothing_to_save', 'info', 'confirm')\n return\n }\n\n let template = this.codeEditor.value\n\n let patches = [{ id: this.recordId, template: template, cuFlag: 'M' }]\n let result = await MetaApi.updateMultiple('updateMultipleMenu', patches)\n if (result) {\n history.back()\n }\n }\n}\n\ncustomElements.define('dynamic-menu-template', DynamicMenuTemplate)\n"]}