polymatica-widget-component-legacy 2.1.21 → 2.1.22
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.
- package/esm/polymatica-widget-component-legacy.js +71 -63
- package/esm/polymatica-widget-component-legacy.js.map +1 -1
- package/package.json +1 -1
- package/polymatica-widget-component-legacy.js +1 -1
- package/toolkit/esm/load-widget-config.js +52 -44
- package/toolkit/esm/load-widget-config.js.map +1 -1
- package/toolkit/load-widget-config.d.ts +2 -2
- package/toolkit/load-widget-config.js +52 -44
- package/toolkit/load-widget-config.js.map +1 -1
|
@@ -62,75 +62,83 @@ export class PolymaticaWidgetLegacy extends HTMLElement {
|
|
|
62
62
|
if (!data)
|
|
63
63
|
return;
|
|
64
64
|
let isMulti = false;
|
|
65
|
-
let datasets;
|
|
66
|
-
if ('
|
|
67
|
-
datasets = data.
|
|
65
|
+
let datasets = {};
|
|
66
|
+
if ('dataset' in data) {
|
|
67
|
+
datasets['default'] = [data.dataset];
|
|
68
|
+
}
|
|
69
|
+
if ('datasets' in data && Array.isArray(data.datasets)) {
|
|
70
|
+
datasets['default'] = data.datasets;
|
|
68
71
|
isMulti = true;
|
|
69
72
|
}
|
|
70
|
-
|
|
71
|
-
datasets
|
|
73
|
+
if ('datasets' in data && !Array.isArray(data.datasets)) {
|
|
74
|
+
Object.entries(data.datasets).forEach(([key, value]) => {
|
|
75
|
+
datasets[key] = Array.isArray(value) ? value : [value];
|
|
76
|
+
});
|
|
77
|
+
isMulti = true;
|
|
72
78
|
}
|
|
73
79
|
const dataOptionsMap = {};
|
|
74
|
-
datasets.forEach((
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
key,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
column_id
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
dataset: {
|
|
80
|
+
Object.entries(datasets).forEach(([datasetKey, datasets]) => {
|
|
81
|
+
datasets.forEach((dataset, index) => {
|
|
82
|
+
if (this.uid) {
|
|
83
|
+
this.initFormatterToWindow(dataset, this.uid);
|
|
84
|
+
}
|
|
85
|
+
const optionSort = options.sort[index];
|
|
86
|
+
const optionFilter = options.filters[index];
|
|
87
|
+
const blocks = Object.entries(dataset.columnsByBlock).map(([key, columnIds]) => ({
|
|
88
|
+
key,
|
|
89
|
+
block_type: ConfigDataBlockType_Server.Column,
|
|
90
|
+
function: DataQueryFunction.Group,
|
|
91
|
+
columns: columnIds.map((column_id) => ({
|
|
92
|
+
column_id,
|
|
93
|
+
})),
|
|
94
|
+
}));
|
|
95
|
+
if (optionSort.length) {
|
|
96
|
+
const sortBlock = {
|
|
97
|
+
key: blockSortKey,
|
|
98
|
+
block_type: ConfigDataBlockType_Server.Sort,
|
|
99
|
+
function: null,
|
|
100
|
+
columns: optionSort.map(({ column_id, direction }) => {
|
|
101
|
+
return { column_id, value: direction };
|
|
102
|
+
}),
|
|
103
|
+
};
|
|
104
|
+
blocks.push(sortBlock);
|
|
105
|
+
}
|
|
106
|
+
if (optionFilter) {
|
|
107
|
+
const filterBlock = {
|
|
108
|
+
key: blockFilterKey,
|
|
109
|
+
block_type: ConfigDataBlockType_Server.Filter,
|
|
110
|
+
function: null,
|
|
111
|
+
columns: optionFilter.map(({ column_id, action, value }) => {
|
|
112
|
+
return { column_id, action, value };
|
|
113
|
+
}),
|
|
114
|
+
};
|
|
115
|
+
blocks.push(filterBlock);
|
|
116
|
+
}
|
|
117
|
+
const columns = dataset.columns.map((column) => ({
|
|
118
|
+
id: column.id,
|
|
119
|
+
name: column.name,
|
|
120
|
+
path: column.path,
|
|
121
|
+
base_type: column.type,
|
|
122
|
+
}));
|
|
123
|
+
const key = isMulti ? `${datasetKey}--${index}` : widgetDefaultKey;
|
|
124
|
+
dataOptionsMap[key] = {
|
|
125
|
+
data_option: {
|
|
126
|
+
key: key,
|
|
122
127
|
id: 0,
|
|
123
|
-
|
|
124
|
-
|
|
128
|
+
dataset: {
|
|
129
|
+
id: 0,
|
|
130
|
+
name: '',
|
|
131
|
+
columns_id: columns,
|
|
132
|
+
},
|
|
133
|
+
method: DataQueryMethod.Aggregate,
|
|
134
|
+
limit_rows: -1,
|
|
135
|
+
offset: 0,
|
|
136
|
+
blocks,
|
|
125
137
|
},
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
},
|
|
131
|
-
rows: dataset.rows,
|
|
132
|
-
total: dataset.rows.length,
|
|
133
|
-
};
|
|
138
|
+
rows: dataset.rows,
|
|
139
|
+
total: dataset.rows.length,
|
|
140
|
+
};
|
|
141
|
+
});
|
|
134
142
|
});
|
|
135
143
|
change(this, {
|
|
136
144
|
uid: this.uid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polymatica-widget-component-legacy.js","sourceRoot":"","sources":["../../src/polymatica-widget-component-legacy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"polymatica-widget-component-legacy.js","sourceRoot":"","sources":["../../src/polymatica-widget-component-legacy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see polymatica-widget-component-legacy.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PolymaticaWidgetComponentLegacy=t():e.PolymaticaWidgetComponentLegacy=t()}(self,(()=>(()=>{var __webpack_modules__={10:e=>{function t(e){return!e}e.exports=Object.defineProperties(t,{default:{value:t},not:{value:t},__esModule:{value:!0}})},771:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.encodeDrilldownData=t.decodeDrilldownData=t.blockColorizeKey=t.blockSortKey=t.blockFilterKey=t.configDataBlock_Server=t.ConfigDataBlockType_Server=void 0,(n=t.ConfigDataBlockType_Server||(t.ConfigDataBlockType_Server={})).Column="column",n.Filter="filter",n.Sort="sort",n.Colorizer="colorizer",n.Drilldown="drilldown",t.configDataBlock_Server="8316067a-d04b-4b21-bd4d-35529846617b",t.blockFilterKey="34642664-dbd1-4e35-b0ea-2eaabe796b48",t.blockSortKey="2c849ed6-6105-4aa2-a961-9f95135dfe3b",t.blockColorizeKey="badd51f7-82ce-45b2-a67e-37d52df88c5c",t.decodeDrilldownData=function(e,t){const n=[a(e.length),e];return t.forEach((e=>n.push(a(e.length),e))),n.join("");function a(e){if(e>255)throw new RangeError;return e>15?`0x${e.toString(16)}`:`0x0${e.toString(16)}`}},t.encodeDrilldownData=function(e){const t=[];!function n(a=0){const r=a+4,o=r+parseInt(e.slice(a,r));t.push(e.slice(r,o)),o<e.length&&n(o)}();const[n,...a]=t;return{source:n,additionalFilterSources:a}}},949:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DatasetColumnType_Server=t.ColumnFieldType_Server=void 0;var a,r=n(52);Object.defineProperty(t,"ColumnFieldType_Server",{enumerable:!0,get:function(){return r.ColumnType}}),(a=t.DatasetColumnType_Server||(t.DatasetColumnType_Server={})).Dimension="dimension",a.Fact="fact",a.Any="any"},992:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createColorizeColors=t.colorizeClassName=t.provideCssVariables=t.themeProjectKeys=t.themeKeys=void 0;const a=n(10);t.themeKeys=["background","backgroundBright","backgroundTint","text","textTint"],t.themeProjectKeys=["colors"];const r=document.querySelector("head"),o=document.querySelector("body"),s={};let i="",_="";function c(e,t){return`plmt-colorize-${e}-${t}`}t.provideCssVariables=function({theme:e,themeKey:n,themeProjectKey:r}){const o=`plmt-theme-${h(n)}`;if((0,a.not)(o in s)){const n=[];Object.entries(e).forEach((([e,a])=>{if(t.themeKeys.includes(e)){const t=h(e);Array.isArray(a)?a.forEach(((e,a)=>n.push({name:`--${t}-${a}`,value:e}))):n.push({name:`--${t}`,value:a})}})),p(o,[{className:o,cssProperties:n}])}i=m(i,o);const l=`plmt-project-${r}`;if((0,a.not)(l in s)&&p(l,[{className:l,cssProperties:e.colors.map(((e,t)=>({name:`--plmt-color-${t}`,value:e})))}]),_=m(_,l),(0,a.not)("colorize"in s)){const t=[];e.colorize.forEach(((e,n)=>{e.forEach(((e,a)=>t.push({className:c(n,a),cssProperties:[{name:"background-color",value:e}]})))})),p("colorize",t)}},t.colorizeClassName=c;const l=[...Array(10)].map(((e,t)=>t));t.createColorizeColors=function(e){return e.map((e=>{const[t,n,a]=function(e){const[,t,n,a]=e.match(d)||e.match(u)||[,"0","0","0"];return[parseInt(t,16),parseInt(n,16),parseInt(a,16)]}(e);return l.map((e=>`rgba(${t},${n},${a},${++e>9?"1":`0.${e}`})`))}))};const d=/([0-9abcdef]{2})([0-9abcdef]{2})([0-9abcdef]{2})/i,u=/([0-9abcdef])([0-9abcdef])([0-9abcdef])/i;function p(e,t){const n=document.createElement("style");s[e]=n;const a=[];t.forEach((({className:e,cssProperties:t})=>{a.push(".",e,"{\n"),t.forEach((({name:e,value:t})=>a.push(" ",e,": ",t,";\n"))),a.push("}\n")})),n.innerHTML=a.join(""),r.append(n)}function m(e,t){return e&&o.classList.remove(e),o.classList.add(t),t}function h(e){const t=Array(e.length);for(let n=0,a=e.length;n<a;n++){const a=e.charAt(n),r=a.toLowerCase();t[n]=a===r?a:"-"+r}return t.join("")}},40:(e,t)=>{"use strict";var n;function a(e,t){switch(e){case n.Input:case n.Radio:case n.Select:case n.ColorPicker:case n.TextArea:return t?String(t):"";case n.Checkbox:return Boolean(t);default:return""}}Object.defineProperty(t,"__esModule",{value:!0}),t.valueConversion=t.viewSettingsExtract=t.viewSettingsItemValue=t.ViewSettingsItemType=void 0,function(e){e.Input="text",e.Checkbox="checkbox",e.Radio="radio",e.Select="select",e.ColorPicker="color-picker",e.Title="title",e.TextArea="textArea"}(n=t.ViewSettingsItemType||(t.ViewSettingsItemType={})),t.viewSettingsItemValue="418d9556-a046-4623-be0b-4f4f69ccb783",t.viewSettingsExtract=function(e){return e.map((e=>e[t.viewSettingsItemValue])).map((e=>{return{type:e.type,key:e.key,label:e.label,defaultValue:a(e.type,e.defaultValue),options:e.options||[],span:(t=e.span,(t|=0)>24?24:t<0?0:t)};var t}))},t.valueConversion=a},35:(e,t)=>{"use strict";var n,a;Object.defineProperty(t,"__esModule",{value:!0}),t.Output=t.Input=void 0,(a=t.Input||(t.Input={})).Change="ptnl.input.change",a.ChangeLang="ptnl.input.changeLang",a.ChangeTheme="ptnl.input.changeTheme",a.ChangeOtherFilters="ptnl.input.ChangeOtherFilters",a.ChangeWidgetRenderEnv="ptnl.input.changeWidgetRenderEnv",(n=t.Output||(t.Output={})).Init="ptnl.output.init",n.Ready="ptnl.output.ready",n.SetFilter="ptnl.output.setFilter",n.RemoveFilterAt="ptnl.output.RemoveFilterAt",n.SetSort="ptnl.output.setSort",n.RemoveSortAt="ptnl.output.RemoveSortAt",n.Interact="ptnl.output.interact"},476:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.provideDataTo=void 0;const a=n(771),r=n(382),o={setFilter(){},removeFilterAt(){},setSort(){},removeSortAt(){},interact(){}};function s(e,t){const n=t===r.widgetDefaultKey?e.dataSettings:e.dataSettings?.hasOwnProperty(t)?e.dataSettings[t]:e.dataSettings;return n?{events:n.events}:{events:{}}}t.provideDataTo=function(e,{dataOptionsMap:t,viewOptions:n},i=o){const _={},c={},l=window.parent.format?.[e.uid]||{};e.viewSettings={},Object.values(t).forEach((({data_option:t,rows:n,total:o})=>{_[t.key]=n;const d=t.dataset.columns_id.map((e=>({type:e.base_type,id:e.id,path:e.path,format:l[e.path]||(e=>e),name:e.name}))),u={},p=[],m=[],h=[];t.blocks.forEach((t=>{if(t.block_type!==a.ConfigDataBlockType_Server.Drilldown)switch(t.key){case a.blockFilterKey:t.columns.forEach((({column_id:e,action:t,value:n})=>{const a=d.find((({id:t})=>e===t));p.push({column:a,method:t,value:n})}));break;case a.blockSortKey:t.columns.forEach((({column_id:e,value:t})=>{const n=d.find((({id:t})=>e===t));m.push({column:n,direction:t})}));break;case a.blockColorizeKey:t.columns.forEach((({value:t})=>{const n=t,a=d.find((({id:e})=>n.columnId===e));h.push((0,r.createColorizeItem)(e,a,n))}));break;default:u[t.key]=t.columns.map((({column_id:e})=>d.find((t=>t.id===e))))}}));const g={columns:d,columnsByBlock:u,filters:p,sort:m,colorize:h,total:o,limit:t.limit_rows,offset:t.offset,...{...i,interact:i.interact.bind(t)},...s(e,t.key)};c[t.key]=g})),r.widgetDefaultKey in c?Object.assign(e,{data:_[r.widgetDefaultKey],dataSettings:c[r.widgetDefaultKey]}):Object.assign(e,{data:_,dataSettings:c}),e.viewSettings={},n.forEach((({key:t,value:n})=>e.viewSettings[t]=n))}},382:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dispatchChangeOtherFilters=t.createColorizeItem=t.widgetDefaultKey=void 0;const a=n(52);function r(e){return e||"transparent"}t.widgetDefaultKey="ffed0a4d-4a9d-417f-b502-eb50142c6956",t.createColorizeItem=function(e,t,n){const a=+n.max||0,o=+n.min||0,s=+n.threshold||0,i=n.colorAbove,_=n.colorBelow,c=a-s,l=s-o;return{column:t,getColor(t){if((t=+t||0)>a||t<o)return r();if(t>=s){const n=e.theme.colorize[i]||[];return r(t===a?n[n.length-1]:n[Math.floor((t-s)/c*n.length)])}{const n=e.theme.colorize[_]||[];return r(t===o?n[n.length-1]:n[Math.floor((s-t)/l*n.length)])}}}},t.dispatchChangeOtherFilters=function(e,t){t.forEach((({column_id:t,value:n})=>{const r=function(e,t){if(Array.isArray(e.data))return e.dataSettings;for(let n of Object.values(e.dataSettings))if(n.columns.find((({id:e})=>e===t)))return n;return null}(e,t);if(r&&"function"==typeof r.events.onOtherFilterChange){const e=r.columns.find((({id:e})=>e===t));e&&r.events.onOtherFilterChange({column:e,method:a.FilterMethod.InList,value:n})}}))}},439:(e,t,n)=>{"use strict";t.wD=t.y8=t.JG=void 0;n(52),n(771),n(949),n(40);var a,r;(r=t.JG||(t.JG={})).Table="table",r.Aggregate="aggregate",(a=t.y8||(t.y8={})).Group="group",a.Sum="sum",a.Average="avg",a.Min="min",a.Max="max",a.First="first",a.Last="last",function(e){e.AxisX="sys:axis-x",e.AxisY="sys:axis-y",e.Value="sys:value-column"}(t.wD||(t.wD={}));Symbol()},52:(e,t)=>{"use strict";var n,a,r,o;Object.defineProperty(t,"__esModule",{value:!0}),t.Target=t.SortDirection=t.FilterMethod=t.ColumnType=void 0,(o=t.ColumnType||(t.ColumnType={})).String="string",o.Number="number",o.Boolean="boolean",o.Date="date",o.Array="array",o.Object="object",(r=t.FilterMethod||(t.FilterMethod={})).Equal="equally",r.NotEqual="not_equal",r.GreaterThen="gt",r.LessThen="lt",r.GreaterThenOrEqual="gte",r.LessThenOrEqual="lte",r.Period="period",r.DateList="date_list",r.InList="in_list",r.NotInList="nin_list",r.StartsOnIndex="starts_on_i",r.StartsOn="starts_on",r.EndsOnIndex="ends_on_i",r.EndsOn="ends_on",r.ContainsIndex="contains_i",r.Contains="contains",r.NotContainIndex="not_contain_i",r.NotContain="not_contain",(a=t.SortDirection||(t.SortDirection={})).Asc="ASC",a.Desc="DESC",(n=t.Target||(t.Target={})).Self="self",n.Other="other",n.All="all"},724:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Declare=void 0;const a=n(10),r=n(52),o=n(35),s=n(476),i=n(992),_=n(382);function c(e,t){window.addEventListener("message",(({data:n})=>{n.type===e&&t(n.payload)}))}function l(e,t,n){const a={type:t,token:e,payload:n};window.parent.postMessage(a,"*")}function d(e){const t=e+"=",n=window.location.search.split(/[?&]/).find((e=>e.startsWith(t)));return n?n.slice(t.length):""}t.Declare=function(e){return(0,a.not)(e)&&(e={provideCssVariables:!1}),t=>{const n=new t,u=d("token"),p=d("uid");p&&(n.uid=p),Object.assign(n,{viewSettings:{},ready(){l(u,o.Output.Ready)}});const m={setFilter(e,t,n=r.Target.Self){(e={...e}).column={...e.column},delete e.column.format,l(u,o.Output.SetFilter,{filter:e,target:n,rowIndex:t})},removeFilterAt(e){l(u,o.Output.RemoveFilterAt,{index:e})},setSort(e,t=r.Target.Self){e&&((e={...e}).column={...e.column},delete e.column.format),l(u,o.Output.SetSort,{sort:e,target:t})},removeSortAt(e){l(u,o.Output.RemoveSortAt,{index:e})},interact(e){l(u,o.Output.Interact,{dataOptionId:this.id,dataIndex:e})}};let h=!1;return c(o.Input.Change,(e=>{(0,s.provideDataTo)(n,e,m),(0,a.not)(h)&&(h=!0,"function"==typeof n.onInit&&n.onInit()),"function"==typeof n.onChange&&n.onChange()})),c(o.Input.ChangeLang,(e=>{n.lang=e,n.onLangChange&&h&&n.onLangChange()})),c(o.Input.ChangeTheme,(t=>{n.theme=t.theme,e.provideCssVariables&&(0,i.provideCssVariables)(t),n.onThemeChange&&h&&n.onThemeChange()})),c(o.Input.ChangeOtherFilters,(e=>(0,_.dispatchChangeOtherFilters)(n,e))),c(o.Input.ChangeWidgetRenderEnv,(e=>{n.renderEnv=e})),l(u,o.Output.Init),t}}},127:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||a(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(724),t),r(n(529),t)},529:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.WidgetRenderEnv=t.Widget=void 0,t.Widget=class{constructor(){this.renderEnv=n.Default}ready(){}onInit(){}onThemeChange(){}onLangChange(){}},function(e){e.Default="default",e.Print="print"}(n=t.WidgetRenderEnv||(t.WidgetRenderEnv={}))},279:module=>{var factory;self,factory=()=>(()=>{var __webpack_modules__={"./node_modules/logical-not/index.js":module=>{eval("/**\n * @param {any} value\n * @returns {boolean}\n */\nfunction not(value) {\n return !value;\n}\n\nmodule.exports = Object.defineProperties(not, {\n default: { value: not },\n not: { value: not },\n __esModule: { value: true },\n});\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/logical-not/index.js?")},"./node_modules/polymatica-jsx/core/jsx-element-type.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.JsxElementType = void 0;\nvar JsxElementType;\n(function (JsxElementType) {\n JsxElementType["Component"] = "component";\n JsxElementType["Primitive"] = "primitive";\n})(JsxElementType = exports.JsxElementType || (exports.JsxElementType = {}));\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/polymatica-jsx/core/jsx-element-type.js?')},"./node_modules/polymatica-jsx/internal/tokens.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.listeners = exports.elementBindings = void 0;\nexports.elementBindings = "⇠ element bindings";\nexports.listeners = "⇠ listeners";\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/polymatica-jsx/internal/tokens.js?')},"./node_modules/polymatica-jsx/renderer/index.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./renderer */ "./node_modules/polymatica-jsx/renderer/renderer.js"), exports);\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/polymatica-jsx/renderer/index.js?')},"./node_modules/polymatica-jsx/renderer/renderer.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Renderer = void 0;\nconst logical_not_1 = __webpack_require__(/*! logical-not */ "./node_modules/logical-not/index.js");\nconst jsx_element_type_1 = __webpack_require__(/*! ../core/jsx-element-type */ "./node_modules/polymatica-jsx/core/jsx-element-type.js");\nconst tokens_1 = __webpack_require__(/*! ../internal/tokens */ "./node_modules/polymatica-jsx/internal/tokens.js");\nclass Renderer {\n #renderTarget;\n #component;\n #baseUrl;\n constructor(renderRoot, component, baseUrl) {\n renderRoot.innerHTML = `<div style="display: contents;"></div>`;\n this.#renderTarget = renderRoot.querySelector("div");\n this.#component = component;\n this.#baseUrl = baseUrl;\n this.#addListeners(component);\n }\n renderHead(element) {\n const html = render(element, {\n target: RenderTarget.Head,\n baseUrl: this.#baseUrl,\n });\n this.#renderTarget.insertAdjacentHTML("beforebegin", html);\n }\n render(element) {\n this.#renderTarget.innerHTML = render(element, {\n target: RenderTarget.Body,\n baseUrl: this.#baseUrl,\n });\n this.#updateBindingElements();\n }\n #addListeners(component) {\n const source = component.constructor?.[tokens_1.listeners];\n if (Array.isArray(source)) {\n const root = this.#renderTarget;\n source.forEach(({ eventName, selector, callbackName }) => {\n const callback = component[callbackName];\n if (typeof callback !== "function")\n return;\n root.addEventListener(eventName, (event) => {\n if ((0, logical_not_1.not)(selector))\n callback.call(component, event);\n if ((0, logical_not_1.not)(event.target))\n return;\n let node = event.target;\n while (node) {\n if (node === root)\n break;\n const matched = node instanceof HTMLElement &&\n node.matches(selector);\n if (matched) {\n callback.call(component, node, event);\n break;\n }\n if (node.parentElement)\n node = node.parentElement;\n else\n break;\n }\n });\n });\n }\n }\n #updateBindingElements() {\n const component = this.#component;\n const source = component.constructor?.[tokens_1.elementBindings];\n if (Array.isArray(source)) {\n const renderTarget = this.#renderTarget;\n source.forEach(({ propertyName, selector, multi }) => {\n component[propertyName] = multi\n ? renderTarget.querySelectorAll(selector)\n : renderTarget.querySelector(selector) || void 0;\n });\n }\n }\n}\nexports.Renderer = Renderer;\nvar RenderTarget;\n(function (RenderTarget) {\n RenderTarget[RenderTarget["Head"] = 0] = "Head";\n RenderTarget[RenderTarget["Body"] = 1] = "Body";\n})(RenderTarget || (RenderTarget = {}));\nfunction render(element, env) {\n switch (element.type) {\n case jsx_element_type_1.JsxElementType.Component:\n return renderJsxElement(element, env);\n case jsx_element_type_1.JsxElementType.Primitive:\n return element.value;\n }\n}\nfunction renderJsxElement(element, env) {\n const { tagName: tag } = element;\n if ((0, logical_not_1.not)(tag))\n return renderChildren(element.children, env);\n switch (tag) {\n case "link":\n if (env.target !== RenderTarget.Head)\n return "";\n fixLink(element.attributes, "href", env.baseUrl);\n case "script":\n if (env.target !== RenderTarget.Head)\n return "";\n fixLink(element.attributes, "src", env.baseUrl);\n }\n const attrubutes = renderAttributes(element.attributes);\n switch (tag) {\n case "input":\n return `<${tag} ${attrubutes} />`;\n }\n const children = renderChildren(element.children, env);\n return `<${tag} ${attrubutes}>${children}</${tag}>`;\n}\nfunction fixLink(target, propertyName, baseUrl) {\n if ((0, logical_not_1.not)(propertyName in target))\n return;\n try {\n const url = new URL(target[propertyName], baseUrl);\n target[propertyName] = url.toString();\n }\n catch (_) {\n delete target[propertyName];\n }\n}\nfunction renderAttributes(attributes) {\n const strings = Object.entries(attributes).map(([name, value]) => {\n if (name === "data")\n return renderDataAttributes(value);\n if (name === "style" && value instanceof Object)\n value = renderCss(value);\n return `${name}="${value}"`;\n });\n return strings.join("");\n}\nfunction renderChildren(children, env) {\n const strings = children.map(child => {\n switch (child.type) {\n case jsx_element_type_1.JsxElementType.Component:\n return renderJsxElement(child, env);\n case jsx_element_type_1.JsxElementType.Primitive:\n return child.value;\n }\n });\n return strings.join("");\n}\nfunction renderCss(source) {\n const strings = Object.entries(source).map(([name, value]) => {\n return `${toKebabCase(name)}: ${value};`;\n });\n return strings.join("");\n}\nfunction toKebabCase(source) {\n return source.replace(/[A-Z]/g, char => `-${char.toLowerCase()}`);\n}\nfunction renderDataAttributes(map) {\n const strings = Object.entries(map).map(([name, value]) => `data-${name}="${value}"`);\n return strings.join(" ");\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/polymatica-jsx/renderer/renderer.js?')},"./src/events.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EventType": () => (/* binding */ EventType)\n/* harmony export */ });\nvar EventType;\n(function (EventType) {\n EventType["Ready"] = "plmt-ready";\n EventType["Interact"] = "plmt-interact";\n EventType["Effect"] = "plmt-effect";\n})(EventType || (EventType = {}));\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/events.ts?')},"./src/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EventType": () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.EventType),\n/* harmony export */ "PolymaticaWidget": () => (/* reexport safe */ _polymatica_widget_component__WEBPACK_IMPORTED_MODULE_1__.PolymaticaWidget)\n/* harmony export */ });\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ "./src/events.ts");\n/* harmony import */ var _polymatica_widget_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./polymatica-widget-component */ "./src/polymatica-widget-component.ts");\n/* harmony import */ var _interfaces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./interfaces */ "./src/interfaces/index.ts");\n\n\n\n\n\ncustomElements.define("polymatica-widget", _polymatica_widget_component__WEBPACK_IMPORTED_MODULE_1__.PolymaticaWidget);\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/index.ts?')},"./src/interfaces/data.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/interfaces/data.ts?")},"./src/interfaces/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./data */ "./src/interfaces/data.ts");\n\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/interfaces/index.ts?')},"./src/polymatica-widget-component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PolymaticaWidget": () => (/* binding */ PolymaticaWidget)\n/* harmony export */ });\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ "./src/events.ts");\n/* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tools */ "./src/tools/index.ts");\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");\n return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _PolymaticaWidget_shadowRoot, _PolymaticaWidget_eventEmitter, _PolymaticaWidget_widgetManager;\n\n\nclass PolymaticaWidget extends HTMLElement {\n set renderEnv(renderEnv) {\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").renderEnv = renderEnv;\n }\n set widgetBasePath(value) {\n // TODO\n }\n set locale(value) {\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").locale = value;\n }\n constructor() {\n super();\n _PolymaticaWidget_shadowRoot.set(this, this.attachShadow({ mode: "open" }));\n _PolymaticaWidget_eventEmitter.set(this, new _tools__WEBPACK_IMPORTED_MODULE_1__.EventEmitter(this));\n _PolymaticaWidget_widgetManager.set(this, new _tools__WEBPACK_IMPORTED_MODULE_1__.WidgetManager(__classPrivateFieldGet(this, _PolymaticaWidget_shadowRoot, "f"), {\n onReady: () => {\n __classPrivateFieldGet(this, _PolymaticaWidget_eventEmitter, "f").dispatch(_events__WEBPACK_IMPORTED_MODULE_0__.EventType.Ready, null);\n },\n onInteract: event => {\n __classPrivateFieldGet(this, _PolymaticaWidget_eventEmitter, "f").dispatch(_events__WEBPACK_IMPORTED_MODULE_0__.EventType.Interact, event);\n },\n }));\n (0,_tools__WEBPACK_IMPORTED_MODULE_1__.attributesWatcher)(this);\n }\n provide(data, options) {\n if (data || options)\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").state = { ...data, options };\n }\n provideTheme(theme) {\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").theme = theme;\n }\n highlight(datasetRef, rowIndexArray) {\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").highlight(datasetRef, rowIndexArray);\n }\n}\n_PolymaticaWidget_shadowRoot = new WeakMap(), _PolymaticaWidget_eventEmitter = new WeakMap(), _PolymaticaWidget_widgetManager = new WeakMap();\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/polymatica-widget-component.ts?')},"./src/tools/attributes-watcher.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "attributesWatcher": () => (/* binding */ attributesWatcher)\n/* harmony export */ });\nfunction attributesWatcher(widget) {\n const observer = new MutationObserver(onAttributeChange);\n observer.observe(widget, { attributes: true });\n}\nfunction onAttributeChange(mutations) {\n for (const mutation of mutations) {\n const component = mutation.target;\n const { attributeName } = mutation;\n switch (attributeName) {\n case "render-env":\n component.renderEnv = valueOf(component, "render-env");\n break;\n case "widget-base-path":\n component.widgetBasePath = valueOf(component, "widget-base-path");\n break;\n case "locale":\n component.locale = valueOf(component, "locale");\n break;\n }\n }\n}\nfunction valueOf(component, name) {\n return component.getAttribute(name) || "";\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/attributes-watcher.ts?')},"./src/tools/event-emitter.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EventEmitter": () => (/* binding */ EventEmitter)\n/* harmony export */ });\nclass EventEmitter {\n constructor(component) {\n this.component = component;\n }\n dispatch(type, detail) {\n const event = new CustomEvent(type, { detail, bubbles: true });\n this.component.dispatchEvent(event);\n }\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/event-emitter.ts?')},"./src/tools/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EventEmitter": () => (/* reexport safe */ _event_emitter__WEBPACK_IMPORTED_MODULE_1__.EventEmitter),\n/* harmony export */ "WidgetManager": () => (/* reexport safe */ _widget_manager__WEBPACK_IMPORTED_MODULE_2__.WidgetManager),\n/* harmony export */ "WidgetStateManager": () => (/* reexport safe */ _widget_state_manager__WEBPACK_IMPORTED_MODULE_3__.WidgetStateManager),\n/* harmony export */ "attributesWatcher": () => (/* reexport safe */ _attributes_watcher__WEBPACK_IMPORTED_MODULE_0__.attributesWatcher)\n/* harmony export */ });\n/* harmony import */ var _attributes_watcher__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./attributes-watcher */ "./src/tools/attributes-watcher.ts");\n/* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./event-emitter */ "./src/tools/event-emitter.ts");\n/* harmony import */ var _widget_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./widget-manager */ "./src/tools/widget-manager.ts");\n/* harmony import */ var _widget_state_manager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./widget-state-manager */ "./src/tools/widget-state-manager.ts");\n\n\n\n\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/index.ts?')},"./src/tools/translations-loader.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "TranslationsLoader": () => (/* binding */ TranslationsLoader)\n/* harmony export */ });\nclass TranslationsLoader {\n constructor() {\n this.cache = Object.create(null);\n }\n load(widgetBasePath, locale) {\n const url = `${widgetBasePath}/assets/i18n/${locale}.json`;\n if (this.cache[url])\n return Promise.resolve(this.cache[url]);\n return fetch(url)\n .then(response => {\n return response.json();\n })\n .then(translations => {\n this.cache[url] = translations;\n return translations;\n });\n }\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/translations-loader.ts?')},"./src/tools/widget-manager.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "WidgetManager": () => (/* binding */ WidgetManager)\n/* harmony export */ });\n/* harmony import */ var logical_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! logical-not */ "./node_modules/logical-not/index.js");\n/* harmony import */ var logical_not__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(logical_not__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var polymatica_jsx_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! polymatica-jsx/renderer */ "./node_modules/polymatica-jsx/renderer/index.js");\n/* harmony import */ var polymatica_jsx_renderer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(polymatica_jsx_renderer__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _translations_loader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./translations-loader */ "./src/tools/translations-loader.ts");\n/* harmony import */ var _widget_state_manager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./widget-state-manager */ "./src/tools/widget-state-manager.ts");\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nclass WidgetManager {\n set renderEnv(_) { }\n set theme(theme) {\n this.instance.theme = theme;\n this.instance.onThemeChange();\n }\n set locale(locale) {\n this.loadTranslations(locale);\n }\n set state(state) {\n this.clearState();\n this.stateManager.apply(this.instance, state);\n this.instance.onChange();\n }\n constructor(shadowRoot, events) {\n this.shadowRoot = shadowRoot;\n this.events = events;\n this.context = {\n translations: createTranslations(),\n };\n this.stateManager = new _widget_state_manager__WEBPACK_IMPORTED_MODULE_3__.WidgetStateManager({\n onInteract: this.events.onInteract,\n });\n this.asyncCallbackMap = {\n state: false,\n theme: false,\n };\n this.translationsLoader = new _translations_loader__WEBPACK_IMPORTED_MODULE_2__.TranslationsLoader();\n }\n provideWidgetEntity(entity, widgetBasePath) {\n this.context.entity = entity;\n this.context.widgetBasePath = widgetBasePath;\n this.instantiate();\n }\n highlight(datasetRef, rowIndexArray) {\n const dataset = this.stateManager.getDatasetByRef(datasetRef);\n dataset?.events.onHighlight(rowIndexArray);\n }\n async instantiate() {\n const { entity, renderEnv, theme, locale, state, widgetBasePath } = this.context;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(entity))\n return;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(renderEnv))\n return;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(theme))\n return;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(locale))\n return;\n const instance = new entity.Widget();\n this.disposePrevious();\n this.instance = instance;\n instance.renderEnv = renderEnv;\n instance.theme = theme;\n instance.ready = () => {\n this.events.onReady();\n };\n const renderer = new polymatica_jsx_renderer__WEBPACK_IMPORTED_MODULE_1__.Renderer(this.shadowRoot, instance, widgetBasePath);\n const headJsx = instance.renderHead();\n if (headJsx)\n renderer.renderHead(headJsx);\n const render = instance.render;\n instance.render = () => {\n const element = render.call(instance);\n renderer.render(element);\n return element;\n };\n instance.init();\n if (entity.config.useTranslations)\n this.loadTranslations(locale);\n if (state)\n this.state = state;\n }\n async loadTranslations(locale) {\n const { widgetBasePath } = this.context;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(widgetBasePath))\n return;\n const { instance } = this;\n this.context.translations.loading = true;\n const translations = await this.translationsLoader.load(widgetBasePath, locale);\n if (this.context.locale !== locale)\n return;\n if (this.instance !== instance)\n return;\n if (this.instance)\n this.instance.translate = (key, interpolate) => {\n const translation = translations[key];\n if (typeof translation !== "string")\n return "";\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(interpolate))\n return translation;\n return translation.replace(/\\{\\{(.+?)\\}\\}/g, (_, key) => {\n if (interpolate[key] === 0)\n return "0";\n return interpolate[key] || "";\n });\n };\n this.context.translations.loading = false;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(this.context.translations.first))\n this.instance?.onLangChange();\n this.context.translations.first = false;\n this.runAsyncCallback();\n }\n runAsyncCallback() {\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(this.instance))\n return;\n const { state, theme } = this.asyncCallbackMap;\n this.clearAsyncCallbackMap();\n if (theme && this.context.theme)\n this.theme = this.context.theme;\n if (state && this.context.state)\n this.state = this.context.state;\n }\n disposePrevious() {\n if (this.instance)\n this.delete("render");\n this.context.entity = void 0;\n this.context.state = void 0;\n this.context.translations = createTranslations();\n this.clearAsyncCallbackMap();\n }\n delete(key) {\n delete this.instance[key];\n }\n clearState() {\n const instance = this.instance;\n delete instance.dataset;\n delete instance.datasets;\n delete instance.options;\n }\n clearAsyncCallbackMap() {\n this.asyncCallbackMap.state = false;\n this.asyncCallbackMap.theme = false;\n }\n}\n__decorate([\n InstanceSetter()\n], WidgetManager.prototype, "renderEnv", null);\n__decorate([\n InstanceSetter()\n], WidgetManager.prototype, "theme", null);\n__decorate([\n InstanceSetter()\n], WidgetManager.prototype, "locale", null);\n__decorate([\n InstanceSetter()\n], WidgetManager.prototype, "state", null);\nfunction InstanceSetter() {\n return (target, propertyName) => {\n const { set } = Object.getOwnPropertyDescriptor(target, propertyName);\n const key = propertyName;\n return {\n set(value) {\n this.context[key] = value;\n if (this.context.translations.loading)\n switch (key) {\n case "state":\n this.asyncCallbackMap.state = true;\n return;\n case "theme":\n this.asyncCallbackMap.theme = true;\n return;\n }\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(this.instance))\n this.instantiate();\n else\n set.call(this, value);\n },\n };\n };\n}\nfunction createTranslations() {\n return {\n loading: false,\n first: true,\n };\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/widget-manager.ts?')},"./src/tools/widget-state-manager.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "WidgetStateManager": () => (/* binding */ WidgetStateManager)\n/* harmony export */ });\n/* harmony import */ var logical_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! logical-not */ "./node_modules/logical-not/index.js");\n/* harmony import */ var logical_not__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(logical_not__WEBPACK_IMPORTED_MODULE_0__);\n\nclass WidgetStateManager {\n constructor(events) {\n this.events = events;\n this.datasetsByRef = Object.create(null);\n }\n apply(instance, state) {\n if (isWidgetSingleData(state))\n instance.dataset = this.createWidgetDataset(state.dataset, {\n key: "default",\n index: 0,\n });\n else if (isWidgetRepeatableData(state)) {\n instance.datasets = state.datasets.map((source, index) => this.createWidgetDataset(source, {\n key: "default",\n index,\n }));\n }\n else if (isWidgetMultiData(state)) {\n instance.datasets = {};\n Object.entries(state.datasets).forEach(([key, source]) => {\n const value = Array.isArray(source)\n ? source.map((source, index) => this.createWidgetDataset(source, { key, index }))\n : this.createWidgetDataset(source, { key, index: 0 });\n instance.datasets[key] = value;\n });\n }\n if (state.options)\n instance.options = state.options;\n }\n getDatasetByRef({ key, index }) {\n return this.datasetsByRef[key]?.[index];\n }\n reset() {\n this.datasetsByRef = Object.create(null);\n }\n createWidgetDataset(source, datasetRef) {\n const { events } = this;\n const { name, rows } = source;\n const columnsById = {};\n const columns = source.columns.map(source => {\n const columnId = source.id;\n const column = {\n ...exclude(source, "id"),\n interact(rowIndex) {\n events.onInteract({\n datasetRef,\n columnId,\n rowIndex,\n });\n },\n };\n columnsById[columnId] = column;\n return column;\n });\n const columnsByBlock = {};\n Object.entries(source.columnsByBlock).forEach(([blockName, columnIds]) => {\n columnsByBlock[blockName] = [];\n columnIds.forEach(columnId => {\n const column = columnsById[columnId];\n if (column)\n columnsByBlock[blockName].push(column);\n });\n });\n const dataset = {\n name,\n columns,\n columnsByBlock,\n rows,\n heatmap: {},\n events: {\n onHighlight() { },\n },\n };\n setDataset: {\n const { datasetsByRef } = this;\n const { key, index } = datasetRef;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(datasetsByRef[key]))\n datasetsByRef[key] = [];\n datasetsByRef[key][index] = dataset;\n }\n return dataset;\n }\n}\nfunction isWidgetSingleData(source) {\n return source.dataset;\n}\nfunction isWidgetRepeatableData(source) {\n return Array.isArray(source.datasets);\n}\nfunction isWidgetMultiData(source) {\n return source.datasets && (0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(isWidgetRepeatableData(source));\n}\nfunction exclude(source, key) {\n const target = {};\n Object.entries(source).forEach(([property, value]) => {\n if (property !== key)\n target[property] = value;\n });\n return target;\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/widget-state-manager.ts?')}},__webpack_module_cache__={};function __nested_webpack_require_35735__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__nested_webpack_require_35735__),n.exports}__nested_webpack_require_35735__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __nested_webpack_require_35735__.d(t,{a:t}),t},__nested_webpack_require_35735__.d=(e,t)=>{for(var n in t)__nested_webpack_require_35735__.o(t,n)&&!__nested_webpack_require_35735__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__nested_webpack_require_35735__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__nested_webpack_require_35735__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__nested_webpack_require_35735__("./src/index.ts");return __webpack_exports__})(),module.exports=factory()}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};return(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{PolymaticaWidgetLegacy:()=>u});var e=__webpack_require__(10),t=__webpack_require__(127),n=__webpack_require__(439),a=__webpack_require__(52),r=__webpack_require__(771),o=__webpack_require__(382),s=__webpack_require__(35);function i(e){for(const t of e){const e=t.target;switch(t.attributeName){case"render-env":e.renderEnv=e.getAttribute("render-env");break;case"widget-base-path":e.widgetBasePath=e.getAttribute("widget-base-path");break;case"locale":e.locale=e.getAttribute("locale")}}}var _=__webpack_require__(279);const c=(e,t,n)=>{const a=new CustomEvent(t,{detail:n,bubbles:!0});e.dispatchEvent(a)};class l{get context(){return l.widgetContextMap.get(this.widget)}constructor(e){this.widget=e,this.token=this.createToken(),this.isReady=!1,window.addEventListener("message",(({data:e})=>{e.token===this.token&&this.process(e)}))}send(e,t){this.context.iframe.contentWindow?.postMessage({type:e,payload:t},"*")}process(e){switch(e.type){case s.Output.Init:{if(this.isReady)break;this.isReady=!0;const{context:e}=this;this.send(s.Input.ChangeWidgetRenderEnv,e.widgetRenderEnv||t.WidgetRenderEnv.Default),this.send(s.Input.ChangeTheme,e.theme),this.send(s.Input.ChangeLang,e.locale),this.send(s.Input.Change,e.widgetRepresent);break}case s.Output.Ready:c(this.widget,_.EventType.Ready,{});break;case s.Output.SetFilter:{const{filter:t,target:n,rowIndex:r}=e.payload;if(n===a.Target.Other){this.context.otherFilterColumnId=t.column.id;const e={datasetRef:{key:"default",index:0},columnId:t.column.id,rowIndex:r};c(this.widget,_.EventType.Interact,e)}break}case s.Output.Interact:c(this.widget,_.EventType.Effect,e.payload)}}createToken(){return Math.random().toString(16).slice(2)}}const d=new WeakMap;l.widgetContextMap=d;class u extends HTMLElement{set renderEnv(e){e===t.WidgetRenderEnv.Print&&m(this,{widgetRenderEnv:e})}set widgetBasePath(e){m(this,{widgetBasePath:e})}set locale(e){m(this,{locale:e})}set uid(e){this._uid=e}get uid(){return this._uid}constructor(){super();const e=this.attachShadow({mode:"closed"}),t=document.createElement("iframe"),n=document.createElement("style");n.textContent="\n:host {\n display: block;\n}\n\niframe {\n border: none;\n width: 100%;\n height: 100%;\n}\n",e.append(n);const a={iframe:t,inited:!1,shadowRoot:e,connector:new l(this),otherFilterColumnId:0};d.set(this,a),function(e){new MutationObserver(i).observe(e,{attributes:!0})}(this)}initFormatterToWindow(e,t){const n=window.format||{};n[t]=n[t]||{},e.columns.forEach((e=>{n[t][e.path]=e.format})),window.format=n}setDataConfig(e){m(this,{dataConfig:e})}provide(e,t){if(!e)return;let a,s=!1;"datasets"in e?(a=e.datasets,s=!0):a=[e.dataset];const i={};a.forEach(((e,a)=>{this.uid&&this.initFormatterToWindow(e,this.uid);const _=t.sort[a],c=t.filters[a],l=Object.entries(e.columnsByBlock).map((([e,t])=>({key:e,block_type:r.ConfigDataBlockType_Server.Column,function:n.y8.Group,columns:t.map((e=>({column_id:e})))})));if(_.length){const e={key:r.blockSortKey,block_type:r.ConfigDataBlockType_Server.Sort,function:null,columns:_.map((({column_id:e,direction:t})=>({column_id:e,value:t})))};l.push(e)}if(c){const e={key:r.blockFilterKey,block_type:r.ConfigDataBlockType_Server.Filter,function:null,columns:c.map((({column_id:e,action:t,value:n})=>({column_id:e,action:t,value:n})))};l.push(e)}const d=e.columns.map((e=>({id:e.id,name:e.name,path:e.path,base_type:e.type}))),u=s?`default--${a}`:o.widgetDefaultKey;i[u]={data_option:{key:u,id:0,dataset:{id:0,name:"",columns_id:d},method:n.JG.Aggregate,limit_rows:-1,offset:0,blocks:l},rows:e.rows,total:e.rows.length}})),m(this,{uid:this.uid,widgetRepresent:{dataOptionsMap:i,viewOptions:Object.entries(t||{}).map((([e,t])=>({key:e,value:t})))}})}provideTheme(e){m(this,{theme:{theme:{background:"rgb(241, 241, 242)",backgroundBright:"rgb(32, 33, 39)",backgroundTint:["rgb(230, 230, 234)","rgb(208, 208, 213)","rgb(163, 163, 172)","rgb(118, 118, 133)","rgb(64, 64, 83)","rgb(32, 33, 39)"],text:"rgb(0, 175, 215)",textTint:["#0d131e","#111827","#1f2937","#374151","#4b5563"],colors:e.palette,colorize:e.heatmap??[]},themeKey:"polymatica",themeProjectKey:"polymatica"}})}highlight(e,t){const{connector:n,otherFilterColumnId:r,widgetRepresent:i}=p(this),_=[],c=i?.dataOptionsMap[o.widgetDefaultKey];if(c){const e=c.data_option.dataset.columns_id.find((({id:e})=>e===r));e&&t.forEach((t=>{t in c.rows&&_.push(c.rows[t][e.path])}))}n.send(s.Input.ChangeOtherFilters,[{column_id:r,value:_,action:a.FilterMethod.InList}])}setInteractColumnId(e){p(this).otherFilterColumnId=e}}function p(e){return d.get(e)}function m(t,n){const a=p(t);Object.assign(a,n);const{iframe:r,inited:o,widgetRepresent:i,locale:_,theme:c,widgetBasePath:l}=a;if(!((0,e.not)(i)||(0,e.not)(_)||(0,e.not)(c)||(0,e.not)(l)))if((0,e.not)(o)){a.inited=!0;let t=l;(0,e.not)(t.endsWith("/"))&&(t+="/"),t+=`index.html?token=${a.connector.token}`,a.uid&&(t+=`&uid=${a.uid}`),r.src=t,a.shadowRoot.append(r)}else{const{connector:e}=a;n.theme&&e.send(s.Input.ChangeTheme,c),n.locale&&e.send(s.Input.ChangeLang,_),n.widgetRepresent&&e.send(s.Input.Change,i)}}customElements.define("polymatica-widget-legacy",u)})(),__webpack_exports__})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PolymaticaWidgetComponentLegacy=t():e.PolymaticaWidgetComponentLegacy=t()}(self,(()=>(()=>{var __webpack_modules__={10:e=>{function t(e){return!e}e.exports=Object.defineProperties(t,{default:{value:t},not:{value:t},__esModule:{value:!0}})},771:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.encodeDrilldownData=t.decodeDrilldownData=t.blockColorizeKey=t.blockSortKey=t.blockFilterKey=t.configDataBlock_Server=t.ConfigDataBlockType_Server=void 0,(n=t.ConfigDataBlockType_Server||(t.ConfigDataBlockType_Server={})).Column="column",n.Filter="filter",n.Sort="sort",n.Colorizer="colorizer",n.Drilldown="drilldown",t.configDataBlock_Server="8316067a-d04b-4b21-bd4d-35529846617b",t.blockFilterKey="34642664-dbd1-4e35-b0ea-2eaabe796b48",t.blockSortKey="2c849ed6-6105-4aa2-a961-9f95135dfe3b",t.blockColorizeKey="badd51f7-82ce-45b2-a67e-37d52df88c5c",t.decodeDrilldownData=function(e,t){const n=[a(e.length),e];return t.forEach((e=>n.push(a(e.length),e))),n.join("");function a(e){if(e>255)throw new RangeError;return e>15?`0x${e.toString(16)}`:`0x0${e.toString(16)}`}},t.encodeDrilldownData=function(e){const t=[];!function n(a=0){const r=a+4,o=r+parseInt(e.slice(a,r));t.push(e.slice(r,o)),o<e.length&&n(o)}();const[n,...a]=t;return{source:n,additionalFilterSources:a}}},949:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DatasetColumnType_Server=t.ColumnFieldType_Server=void 0;var a,r=n(52);Object.defineProperty(t,"ColumnFieldType_Server",{enumerable:!0,get:function(){return r.ColumnType}}),(a=t.DatasetColumnType_Server||(t.DatasetColumnType_Server={})).Dimension="dimension",a.Fact="fact",a.Any="any"},992:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createColorizeColors=t.colorizeClassName=t.provideCssVariables=t.themeProjectKeys=t.themeKeys=void 0;const a=n(10);t.themeKeys=["background","backgroundBright","backgroundTint","text","textTint"],t.themeProjectKeys=["colors"];const r=document.querySelector("head"),o=document.querySelector("body"),s={};let i="",_="";function c(e,t){return`plmt-colorize-${e}-${t}`}t.provideCssVariables=function({theme:e,themeKey:n,themeProjectKey:r}){const o=`plmt-theme-${h(n)}`;if((0,a.not)(o in s)){const n=[];Object.entries(e).forEach((([e,a])=>{if(t.themeKeys.includes(e)){const t=h(e);Array.isArray(a)?a.forEach(((e,a)=>n.push({name:`--${t}-${a}`,value:e}))):n.push({name:`--${t}`,value:a})}})),p(o,[{className:o,cssProperties:n}])}i=m(i,o);const l=`plmt-project-${r}`;if((0,a.not)(l in s)&&p(l,[{className:l,cssProperties:e.colors.map(((e,t)=>({name:`--plmt-color-${t}`,value:e})))}]),_=m(_,l),(0,a.not)("colorize"in s)){const t=[];e.colorize.forEach(((e,n)=>{e.forEach(((e,a)=>t.push({className:c(n,a),cssProperties:[{name:"background-color",value:e}]})))})),p("colorize",t)}},t.colorizeClassName=c;const l=[...Array(10)].map(((e,t)=>t));t.createColorizeColors=function(e){return e.map((e=>{const[t,n,a]=function(e){const[,t,n,a]=e.match(d)||e.match(u)||[,"0","0","0"];return[parseInt(t,16),parseInt(n,16),parseInt(a,16)]}(e);return l.map((e=>`rgba(${t},${n},${a},${++e>9?"1":`0.${e}`})`))}))};const d=/([0-9abcdef]{2})([0-9abcdef]{2})([0-9abcdef]{2})/i,u=/([0-9abcdef])([0-9abcdef])([0-9abcdef])/i;function p(e,t){const n=document.createElement("style");s[e]=n;const a=[];t.forEach((({className:e,cssProperties:t})=>{a.push(".",e,"{\n"),t.forEach((({name:e,value:t})=>a.push(" ",e,": ",t,";\n"))),a.push("}\n")})),n.innerHTML=a.join(""),r.append(n)}function m(e,t){return e&&o.classList.remove(e),o.classList.add(t),t}function h(e){const t=Array(e.length);for(let n=0,a=e.length;n<a;n++){const a=e.charAt(n),r=a.toLowerCase();t[n]=a===r?a:"-"+r}return t.join("")}},40:(e,t)=>{"use strict";var n;function a(e,t){switch(e){case n.Input:case n.Radio:case n.Select:case n.ColorPicker:case n.TextArea:return t?String(t):"";case n.Checkbox:return Boolean(t);default:return""}}Object.defineProperty(t,"__esModule",{value:!0}),t.valueConversion=t.viewSettingsExtract=t.viewSettingsItemValue=t.ViewSettingsItemType=void 0,function(e){e.Input="text",e.Checkbox="checkbox",e.Radio="radio",e.Select="select",e.ColorPicker="color-picker",e.Title="title",e.TextArea="textArea"}(n=t.ViewSettingsItemType||(t.ViewSettingsItemType={})),t.viewSettingsItemValue="418d9556-a046-4623-be0b-4f4f69ccb783",t.viewSettingsExtract=function(e){return e.map((e=>e[t.viewSettingsItemValue])).map((e=>{return{type:e.type,key:e.key,label:e.label,defaultValue:a(e.type,e.defaultValue),options:e.options||[],span:(t=e.span,(t|=0)>24?24:t<0?0:t)};var t}))},t.valueConversion=a},35:(e,t)=>{"use strict";var n,a;Object.defineProperty(t,"__esModule",{value:!0}),t.Output=t.Input=void 0,(a=t.Input||(t.Input={})).Change="ptnl.input.change",a.ChangeLang="ptnl.input.changeLang",a.ChangeTheme="ptnl.input.changeTheme",a.ChangeOtherFilters="ptnl.input.ChangeOtherFilters",a.ChangeWidgetRenderEnv="ptnl.input.changeWidgetRenderEnv",(n=t.Output||(t.Output={})).Init="ptnl.output.init",n.Ready="ptnl.output.ready",n.SetFilter="ptnl.output.setFilter",n.RemoveFilterAt="ptnl.output.RemoveFilterAt",n.SetSort="ptnl.output.setSort",n.RemoveSortAt="ptnl.output.RemoveSortAt",n.Interact="ptnl.output.interact"},476:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.provideDataTo=void 0;const a=n(771),r=n(382),o={setFilter(){},removeFilterAt(){},setSort(){},removeSortAt(){},interact(){}};function s(e,t){const n=t===r.widgetDefaultKey?e.dataSettings:e.dataSettings[t];return n?{events:n.events}:{events:{}}}t.provideDataTo=function(e,{dataOptionsMap:t,viewOptions:n},i=o){const _={},c={},l=window.parent.format?.[e.uid]||{};e.viewSettings={},Object.values(t).forEach((({data_option:t,rows:n,total:o})=>{_[t.key]=n;const d=t.dataset.columns_id.map((e=>({type:e.base_type,id:e.id,path:e.path,format:l[e.path]||(e=>e),name:e.name}))),u={},p=[],m=[],h=[];t.blocks.forEach((t=>{if(t.block_type!==a.ConfigDataBlockType_Server.Drilldown)switch(t.key){case a.blockFilterKey:t.columns.forEach((({column_id:e,action:t,value:n})=>{const a=d.find((({id:t})=>e===t));p.push({column:a,method:t,value:n})}));break;case a.blockSortKey:t.columns.forEach((({column_id:e,value:t})=>{const n=d.find((({id:t})=>e===t));m.push({column:n,direction:t})}));break;case a.blockColorizeKey:t.columns.forEach((({value:t})=>{const n=t,a=d.find((({id:e})=>n.columnId===e));h.push((0,r.createColorizeItem)(e,a,n))}));break;default:u[t.key]=t.columns.map((({column_id:e})=>d.find((t=>t.id===e))))}}));const g={columns:d,columnsByBlock:u,filters:p,sort:m,colorize:h,total:o,limit:t.limit_rows,offset:t.offset,...{...i,interact:i.interact.bind(t)},...s(e,t.key)};c[t.key]=g})),r.widgetDefaultKey in c?Object.assign(e,{data:_[r.widgetDefaultKey],dataSettings:c[r.widgetDefaultKey]}):Object.assign(e,{data:_,dataSettings:c}),e.viewSettings={},n.forEach((({key:t,value:n})=>e.viewSettings[t]=n))}},382:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dispatchChangeOtherFilters=t.createColorizeItem=t.widgetDefaultKey=void 0;const a=n(52);function r(e){return e||"transparent"}t.widgetDefaultKey="ffed0a4d-4a9d-417f-b502-eb50142c6956",t.createColorizeItem=function(e,t,n){const a=+n.max||0,o=+n.min||0,s=+n.threshold||0,i=n.colorAbove,_=n.colorBelow,c=a-s,l=s-o;return{column:t,getColor(t){if((t=+t||0)>a||t<o)return r();if(t>=s){const n=e.theme.colorize[i]||[];return r(t===a?n[n.length-1]:n[Math.floor((t-s)/c*n.length)])}{const n=e.theme.colorize[_]||[];return r(t===o?n[n.length-1]:n[Math.floor((s-t)/l*n.length)])}}}},t.dispatchChangeOtherFilters=function(e,t){t.forEach((({column_id:t,value:n})=>{const r=function(e,t){if(Array.isArray(e.data))return e.dataSettings;for(let n of Object.values(e.dataSettings))if(n.columns.find((({id:e})=>e===t)))return n;return null}(e,t);if(r&&"function"==typeof r.events.onOtherFilterChange){const e=r.columns.find((({id:e})=>e===t));e&&r.events.onOtherFilterChange({column:e,method:a.FilterMethod.InList,value:n})}}))}},439:(e,t,n)=>{"use strict";t.wD=t.y8=t.JG=void 0;n(52),n(771),n(949),n(40);var a,r;(r=t.JG||(t.JG={})).Table="table",r.Aggregate="aggregate",(a=t.y8||(t.y8={})).Group="group",a.Sum="sum",a.Average="avg",a.Min="min",a.Max="max",a.First="first",a.Last="last",function(e){e.AxisX="sys:axis-x",e.AxisY="sys:axis-y",e.Value="sys:value-column"}(t.wD||(t.wD={}));Symbol()},52:(e,t)=>{"use strict";var n,a,r,o;Object.defineProperty(t,"__esModule",{value:!0}),t.Target=t.SortDirection=t.FilterMethod=t.ColumnType=void 0,(o=t.ColumnType||(t.ColumnType={})).String="string",o.Number="number",o.Boolean="boolean",o.Date="date",o.Array="array",o.Object="object",(r=t.FilterMethod||(t.FilterMethod={})).Equal="equally",r.NotEqual="not_equal",r.GreaterThen="gt",r.LessThen="lt",r.GreaterThenOrEqual="gte",r.LessThenOrEqual="lte",r.Period="period",r.DateList="date_list",r.InList="in_list",r.NotInList="nin_list",r.StartsOnIndex="starts_on_i",r.StartsOn="starts_on",r.EndsOnIndex="ends_on_i",r.EndsOn="ends_on",r.ContainsIndex="contains_i",r.Contains="contains",r.NotContainIndex="not_contain_i",r.NotContain="not_contain",(a=t.SortDirection||(t.SortDirection={})).Asc="ASC",a.Desc="DESC",(n=t.Target||(t.Target={})).Self="self",n.Other="other",n.All="all"},724:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Declare=void 0;const a=n(10),r=n(52),o=n(35),s=n(476),i=n(992),_=n(382);function c(e,t){window.addEventListener("message",(({data:n})=>{n.type===e&&t(n.payload)}))}function l(e,t,n){const a={type:t,token:e,payload:n};window.parent.postMessage(a,"*")}function d(e){const t=e+"=",n=window.location.search.split(/[?&]/).find((e=>e.startsWith(t)));return n?n.slice(t.length):""}t.Declare=function(e){return(0,a.not)(e)&&(e={provideCssVariables:!1}),t=>{const n=new t,u=d("token"),p=d("uid");p&&(n.uid=p),Object.assign(n,{viewSettings:{},ready(){l(u,o.Output.Ready)}});const m={setFilter(e,t,n=r.Target.Self){(e={...e}).column={...e.column},delete e.column.format,l(u,o.Output.SetFilter,{filter:e,target:n,rowIndex:t})},removeFilterAt(e){l(u,o.Output.RemoveFilterAt,{index:e})},setSort(e,t=r.Target.Self){e&&((e={...e}).column={...e.column},delete e.column.format),l(u,o.Output.SetSort,{sort:e,target:t})},removeSortAt(e){l(u,o.Output.RemoveSortAt,{index:e})},interact(e){l(u,o.Output.Interact,{dataOptionId:this.id,dataIndex:e})}};let h=!1;return c(o.Input.Change,(e=>{(0,s.provideDataTo)(n,e,m),(0,a.not)(h)&&(h=!0,"function"==typeof n.onInit&&n.onInit()),"function"==typeof n.onChange&&n.onChange()})),c(o.Input.ChangeLang,(e=>{n.lang=e,n.onLangChange&&h&&n.onLangChange()})),c(o.Input.ChangeTheme,(t=>{n.theme=t.theme,e.provideCssVariables&&(0,i.provideCssVariables)(t),n.onThemeChange&&h&&n.onThemeChange()})),c(o.Input.ChangeOtherFilters,(e=>(0,_.dispatchChangeOtherFilters)(n,e))),c(o.Input.ChangeWidgetRenderEnv,(e=>{n.renderEnv=e})),l(u,o.Output.Init),t}}},127:function(e,t,n){"use strict";var a=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 0===a&&(a=n),e[a]=t[n]}),r=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||a(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),r(n(724),t),r(n(529),t)},529:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.WidgetRenderEnv=t.Widget=void 0,t.Widget=class{constructor(){this.renderEnv=n.Default}ready(){}onInit(){}onThemeChange(){}onLangChange(){}},function(e){e.Default="default",e.Print="print"}(n=t.WidgetRenderEnv||(t.WidgetRenderEnv={}))},279:module=>{var factory;self,factory=()=>(()=>{var __webpack_modules__={"./node_modules/logical-not/index.js":module=>{eval("/**\n * @param {any} value\n * @returns {boolean}\n */\nfunction not(value) {\n return !value;\n}\n\nmodule.exports = Object.defineProperties(not, {\n default: { value: not },\n not: { value: not },\n __esModule: { value: true },\n});\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/logical-not/index.js?")},"./node_modules/polymatica-jsx/core/jsx-element-type.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.JsxElementType = void 0;\nvar JsxElementType;\n(function (JsxElementType) {\n JsxElementType["Component"] = "component";\n JsxElementType["Primitive"] = "primitive";\n})(JsxElementType = exports.JsxElementType || (exports.JsxElementType = {}));\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/polymatica-jsx/core/jsx-element-type.js?')},"./node_modules/polymatica-jsx/internal/tokens.js":(__unused_webpack_module,exports)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.listeners = exports.elementBindings = void 0;\nexports.elementBindings = "⇠ element bindings";\nexports.listeners = "⇠ listeners";\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/polymatica-jsx/internal/tokens.js?')},"./node_modules/polymatica-jsx/renderer/index.js":function(__unused_webpack_module,exports,__webpack_require__){"use strict";eval('\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, "__esModule", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./renderer */ "./node_modules/polymatica-jsx/renderer/renderer.js"), exports);\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/polymatica-jsx/renderer/index.js?')},"./node_modules/polymatica-jsx/renderer/renderer.js":(__unused_webpack_module,exports,__webpack_require__)=>{"use strict";eval('\nObject.defineProperty(exports, "__esModule", ({ value: true }));\nexports.Renderer = void 0;\nconst logical_not_1 = __webpack_require__(/*! logical-not */ "./node_modules/logical-not/index.js");\nconst jsx_element_type_1 = __webpack_require__(/*! ../core/jsx-element-type */ "./node_modules/polymatica-jsx/core/jsx-element-type.js");\nconst tokens_1 = __webpack_require__(/*! ../internal/tokens */ "./node_modules/polymatica-jsx/internal/tokens.js");\nclass Renderer {\n #renderTarget;\n #component;\n #baseUrl;\n constructor(renderRoot, component, baseUrl) {\n renderRoot.innerHTML = `<div style="display: contents;"></div>`;\n this.#renderTarget = renderRoot.querySelector("div");\n this.#component = component;\n this.#baseUrl = baseUrl;\n this.#addListeners(component);\n }\n renderHead(element) {\n const html = render(element, {\n target: RenderTarget.Head,\n baseUrl: this.#baseUrl,\n });\n this.#renderTarget.insertAdjacentHTML("beforebegin", html);\n }\n render(element) {\n this.#renderTarget.innerHTML = render(element, {\n target: RenderTarget.Body,\n baseUrl: this.#baseUrl,\n });\n this.#updateBindingElements();\n }\n #addListeners(component) {\n const source = component.constructor?.[tokens_1.listeners];\n if (Array.isArray(source)) {\n const root = this.#renderTarget;\n source.forEach(({ eventName, selector, callbackName }) => {\n const callback = component[callbackName];\n if (typeof callback !== "function")\n return;\n root.addEventListener(eventName, (event) => {\n if ((0, logical_not_1.not)(selector))\n callback.call(component, event);\n if ((0, logical_not_1.not)(event.target))\n return;\n let node = event.target;\n while (node) {\n if (node === root)\n break;\n const matched = node instanceof HTMLElement &&\n node.matches(selector);\n if (matched) {\n callback.call(component, node, event);\n break;\n }\n if (node.parentElement)\n node = node.parentElement;\n else\n break;\n }\n });\n });\n }\n }\n #updateBindingElements() {\n const component = this.#component;\n const source = component.constructor?.[tokens_1.elementBindings];\n if (Array.isArray(source)) {\n const renderTarget = this.#renderTarget;\n source.forEach(({ propertyName, selector, multi }) => {\n component[propertyName] = multi\n ? renderTarget.querySelectorAll(selector)\n : renderTarget.querySelector(selector) || void 0;\n });\n }\n }\n}\nexports.Renderer = Renderer;\nvar RenderTarget;\n(function (RenderTarget) {\n RenderTarget[RenderTarget["Head"] = 0] = "Head";\n RenderTarget[RenderTarget["Body"] = 1] = "Body";\n})(RenderTarget || (RenderTarget = {}));\nfunction render(element, env) {\n switch (element.type) {\n case jsx_element_type_1.JsxElementType.Component:\n return renderJsxElement(element, env);\n case jsx_element_type_1.JsxElementType.Primitive:\n return element.value;\n }\n}\nfunction renderJsxElement(element, env) {\n const { tagName: tag } = element;\n if ((0, logical_not_1.not)(tag))\n return renderChildren(element.children, env);\n switch (tag) {\n case "link":\n if (env.target !== RenderTarget.Head)\n return "";\n fixLink(element.attributes, "href", env.baseUrl);\n case "script":\n if (env.target !== RenderTarget.Head)\n return "";\n fixLink(element.attributes, "src", env.baseUrl);\n }\n const attrubutes = renderAttributes(element.attributes);\n switch (tag) {\n case "input":\n return `<${tag} ${attrubutes} />`;\n }\n const children = renderChildren(element.children, env);\n return `<${tag} ${attrubutes}>${children}</${tag}>`;\n}\nfunction fixLink(target, propertyName, baseUrl) {\n if ((0, logical_not_1.not)(propertyName in target))\n return;\n try {\n const url = new URL(target[propertyName], baseUrl);\n target[propertyName] = url.toString();\n }\n catch (_) {\n delete target[propertyName];\n }\n}\nfunction renderAttributes(attributes) {\n const strings = Object.entries(attributes).map(([name, value]) => {\n if (name === "data")\n return renderDataAttributes(value);\n if (name === "style" && value instanceof Object)\n value = renderCss(value);\n return `${name}="${value}"`;\n });\n return strings.join("");\n}\nfunction renderChildren(children, env) {\n const strings = children.map(child => {\n switch (child.type) {\n case jsx_element_type_1.JsxElementType.Component:\n return renderJsxElement(child, env);\n case jsx_element_type_1.JsxElementType.Primitive:\n return child.value;\n }\n });\n return strings.join("");\n}\nfunction renderCss(source) {\n const strings = Object.entries(source).map(([name, value]) => {\n return `${toKebabCase(name)}: ${value};`;\n });\n return strings.join("");\n}\nfunction toKebabCase(source) {\n return source.replace(/[A-Z]/g, char => `-${char.toLowerCase()}`);\n}\nfunction renderDataAttributes(map) {\n const strings = Object.entries(map).map(([name, value]) => `data-${name}="${value}"`);\n return strings.join(" ");\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./node_modules/polymatica-jsx/renderer/renderer.js?')},"./src/events.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EventType": () => (/* binding */ EventType)\n/* harmony export */ });\nvar EventType;\n(function (EventType) {\n EventType["Ready"] = "plmt-ready";\n EventType["Interact"] = "plmt-interact";\n EventType["Effect"] = "plmt-effect";\n})(EventType || (EventType = {}));\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/events.ts?')},"./src/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EventType": () => (/* reexport safe */ _events__WEBPACK_IMPORTED_MODULE_0__.EventType),\n/* harmony export */ "PolymaticaWidget": () => (/* reexport safe */ _polymatica_widget_component__WEBPACK_IMPORTED_MODULE_1__.PolymaticaWidget)\n/* harmony export */ });\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ "./src/events.ts");\n/* harmony import */ var _polymatica_widget_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./polymatica-widget-component */ "./src/polymatica-widget-component.ts");\n/* harmony import */ var _interfaces__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./interfaces */ "./src/interfaces/index.ts");\n\n\n\n\n\ncustomElements.define("polymatica-widget", _polymatica_widget_component__WEBPACK_IMPORTED_MODULE_1__.PolymaticaWidget);\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/index.ts?')},"./src/interfaces/data.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval("__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/interfaces/data.ts?")},"./src/interfaces/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./data */ "./src/interfaces/data.ts");\n\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/interfaces/index.ts?')},"./src/polymatica-widget-component.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "PolymaticaWidget": () => (/* binding */ PolymaticaWidget)\n/* harmony export */ });\n/* harmony import */ var _events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./events */ "./src/events.ts");\n/* harmony import */ var _tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tools */ "./src/tools/index.ts");\nvar __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");\n if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");\n return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _PolymaticaWidget_shadowRoot, _PolymaticaWidget_eventEmitter, _PolymaticaWidget_widgetManager;\n\n\nclass PolymaticaWidget extends HTMLElement {\n set renderEnv(renderEnv) {\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").renderEnv = renderEnv;\n }\n set widgetBasePath(value) {\n // TODO\n }\n set locale(value) {\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").locale = value;\n }\n constructor() {\n super();\n _PolymaticaWidget_shadowRoot.set(this, this.attachShadow({ mode: "open" }));\n _PolymaticaWidget_eventEmitter.set(this, new _tools__WEBPACK_IMPORTED_MODULE_1__.EventEmitter(this));\n _PolymaticaWidget_widgetManager.set(this, new _tools__WEBPACK_IMPORTED_MODULE_1__.WidgetManager(__classPrivateFieldGet(this, _PolymaticaWidget_shadowRoot, "f"), {\n onReady: () => {\n __classPrivateFieldGet(this, _PolymaticaWidget_eventEmitter, "f").dispatch(_events__WEBPACK_IMPORTED_MODULE_0__.EventType.Ready, null);\n },\n onInteract: event => {\n __classPrivateFieldGet(this, _PolymaticaWidget_eventEmitter, "f").dispatch(_events__WEBPACK_IMPORTED_MODULE_0__.EventType.Interact, event);\n },\n }));\n (0,_tools__WEBPACK_IMPORTED_MODULE_1__.attributesWatcher)(this);\n }\n provide(data, options) {\n if (data || options)\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").state = { ...data, options };\n }\n provideTheme(theme) {\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").theme = theme;\n }\n highlight(datasetRef, rowIndexArray) {\n __classPrivateFieldGet(this, _PolymaticaWidget_widgetManager, "f").highlight(datasetRef, rowIndexArray);\n }\n}\n_PolymaticaWidget_shadowRoot = new WeakMap(), _PolymaticaWidget_eventEmitter = new WeakMap(), _PolymaticaWidget_widgetManager = new WeakMap();\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/polymatica-widget-component.ts?')},"./src/tools/attributes-watcher.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "attributesWatcher": () => (/* binding */ attributesWatcher)\n/* harmony export */ });\nfunction attributesWatcher(widget) {\n const observer = new MutationObserver(onAttributeChange);\n observer.observe(widget, { attributes: true });\n}\nfunction onAttributeChange(mutations) {\n for (const mutation of mutations) {\n const component = mutation.target;\n const { attributeName } = mutation;\n switch (attributeName) {\n case "render-env":\n component.renderEnv = valueOf(component, "render-env");\n break;\n case "widget-base-path":\n component.widgetBasePath = valueOf(component, "widget-base-path");\n break;\n case "locale":\n component.locale = valueOf(component, "locale");\n break;\n }\n }\n}\nfunction valueOf(component, name) {\n return component.getAttribute(name) || "";\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/attributes-watcher.ts?')},"./src/tools/event-emitter.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EventEmitter": () => (/* binding */ EventEmitter)\n/* harmony export */ });\nclass EventEmitter {\n constructor(component) {\n this.component = component;\n }\n dispatch(type, detail) {\n const event = new CustomEvent(type, { detail, bubbles: true });\n this.component.dispatchEvent(event);\n }\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/event-emitter.ts?')},"./src/tools/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "EventEmitter": () => (/* reexport safe */ _event_emitter__WEBPACK_IMPORTED_MODULE_1__.EventEmitter),\n/* harmony export */ "WidgetManager": () => (/* reexport safe */ _widget_manager__WEBPACK_IMPORTED_MODULE_2__.WidgetManager),\n/* harmony export */ "WidgetStateManager": () => (/* reexport safe */ _widget_state_manager__WEBPACK_IMPORTED_MODULE_3__.WidgetStateManager),\n/* harmony export */ "attributesWatcher": () => (/* reexport safe */ _attributes_watcher__WEBPACK_IMPORTED_MODULE_0__.attributesWatcher)\n/* harmony export */ });\n/* harmony import */ var _attributes_watcher__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./attributes-watcher */ "./src/tools/attributes-watcher.ts");\n/* harmony import */ var _event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./event-emitter */ "./src/tools/event-emitter.ts");\n/* harmony import */ var _widget_manager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./widget-manager */ "./src/tools/widget-manager.ts");\n/* harmony import */ var _widget_state_manager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./widget-state-manager */ "./src/tools/widget-state-manager.ts");\n\n\n\n\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/index.ts?')},"./src/tools/translations-loader.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "TranslationsLoader": () => (/* binding */ TranslationsLoader)\n/* harmony export */ });\nclass TranslationsLoader {\n constructor() {\n this.cache = Object.create(null);\n }\n load(widgetBasePath, locale) {\n const url = `${widgetBasePath}/assets/i18n/${locale}.json`;\n if (this.cache[url])\n return Promise.resolve(this.cache[url]);\n return fetch(url)\n .then(response => {\n return response.json();\n })\n .then(translations => {\n this.cache[url] = translations;\n return translations;\n });\n }\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/translations-loader.ts?')},"./src/tools/widget-manager.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "WidgetManager": () => (/* binding */ WidgetManager)\n/* harmony export */ });\n/* harmony import */ var logical_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! logical-not */ "./node_modules/logical-not/index.js");\n/* harmony import */ var logical_not__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(logical_not__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var polymatica_jsx_renderer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! polymatica-jsx/renderer */ "./node_modules/polymatica-jsx/renderer/index.js");\n/* harmony import */ var polymatica_jsx_renderer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(polymatica_jsx_renderer__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _translations_loader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./translations-loader */ "./src/tools/translations-loader.ts");\n/* harmony import */ var _widget_state_manager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./widget-state-manager */ "./src/tools/widget-state-manager.ts");\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\nclass WidgetManager {\n set renderEnv(_) { }\n set theme(theme) {\n this.instance.theme = theme;\n this.instance.onThemeChange();\n }\n set locale(locale) {\n this.loadTranslations(locale);\n }\n set state(state) {\n this.clearState();\n this.stateManager.apply(this.instance, state);\n this.instance.onChange();\n }\n constructor(shadowRoot, events) {\n this.shadowRoot = shadowRoot;\n this.events = events;\n this.context = {\n translations: createTranslations(),\n };\n this.stateManager = new _widget_state_manager__WEBPACK_IMPORTED_MODULE_3__.WidgetStateManager({\n onInteract: this.events.onInteract,\n });\n this.asyncCallbackMap = {\n state: false,\n theme: false,\n };\n this.translationsLoader = new _translations_loader__WEBPACK_IMPORTED_MODULE_2__.TranslationsLoader();\n }\n provideWidgetEntity(entity, widgetBasePath) {\n this.context.entity = entity;\n this.context.widgetBasePath = widgetBasePath;\n this.instantiate();\n }\n highlight(datasetRef, rowIndexArray) {\n const dataset = this.stateManager.getDatasetByRef(datasetRef);\n dataset?.events.onHighlight(rowIndexArray);\n }\n async instantiate() {\n const { entity, renderEnv, theme, locale, state, widgetBasePath } = this.context;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(entity))\n return;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(renderEnv))\n return;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(theme))\n return;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(locale))\n return;\n const instance = new entity.Widget();\n this.disposePrevious();\n this.instance = instance;\n instance.renderEnv = renderEnv;\n instance.theme = theme;\n instance.ready = () => {\n this.events.onReady();\n };\n const renderer = new polymatica_jsx_renderer__WEBPACK_IMPORTED_MODULE_1__.Renderer(this.shadowRoot, instance, widgetBasePath);\n const headJsx = instance.renderHead();\n if (headJsx)\n renderer.renderHead(headJsx);\n const render = instance.render;\n instance.render = () => {\n const element = render.call(instance);\n renderer.render(element);\n return element;\n };\n instance.init();\n if (entity.config.useTranslations)\n this.loadTranslations(locale);\n if (state)\n this.state = state;\n }\n async loadTranslations(locale) {\n const { widgetBasePath } = this.context;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(widgetBasePath))\n return;\n const { instance } = this;\n this.context.translations.loading = true;\n const translations = await this.translationsLoader.load(widgetBasePath, locale);\n if (this.context.locale !== locale)\n return;\n if (this.instance !== instance)\n return;\n if (this.instance)\n this.instance.translate = (key, interpolate) => {\n const translation = translations[key];\n if (typeof translation !== "string")\n return "";\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(interpolate))\n return translation;\n return translation.replace(/\\{\\{(.+?)\\}\\}/g, (_, key) => {\n if (interpolate[key] === 0)\n return "0";\n return interpolate[key] || "";\n });\n };\n this.context.translations.loading = false;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(this.context.translations.first))\n this.instance?.onLangChange();\n this.context.translations.first = false;\n this.runAsyncCallback();\n }\n runAsyncCallback() {\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(this.instance))\n return;\n const { state, theme } = this.asyncCallbackMap;\n this.clearAsyncCallbackMap();\n if (theme && this.context.theme)\n this.theme = this.context.theme;\n if (state && this.context.state)\n this.state = this.context.state;\n }\n disposePrevious() {\n if (this.instance)\n this.delete("render");\n this.context.entity = void 0;\n this.context.state = void 0;\n this.context.translations = createTranslations();\n this.clearAsyncCallbackMap();\n }\n delete(key) {\n delete this.instance[key];\n }\n clearState() {\n const instance = this.instance;\n delete instance.dataset;\n delete instance.datasets;\n delete instance.options;\n }\n clearAsyncCallbackMap() {\n this.asyncCallbackMap.state = false;\n this.asyncCallbackMap.theme = false;\n }\n}\n__decorate([\n InstanceSetter()\n], WidgetManager.prototype, "renderEnv", null);\n__decorate([\n InstanceSetter()\n], WidgetManager.prototype, "theme", null);\n__decorate([\n InstanceSetter()\n], WidgetManager.prototype, "locale", null);\n__decorate([\n InstanceSetter()\n], WidgetManager.prototype, "state", null);\nfunction InstanceSetter() {\n return (target, propertyName) => {\n const { set } = Object.getOwnPropertyDescriptor(target, propertyName);\n const key = propertyName;\n return {\n set(value) {\n this.context[key] = value;\n if (this.context.translations.loading)\n switch (key) {\n case "state":\n this.asyncCallbackMap.state = true;\n return;\n case "theme":\n this.asyncCallbackMap.theme = true;\n return;\n }\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(this.instance))\n this.instantiate();\n else\n set.call(this, value);\n },\n };\n };\n}\nfunction createTranslations() {\n return {\n loading: false,\n first: true,\n };\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/widget-manager.ts?')},"./src/tools/widget-state-manager.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ "WidgetStateManager": () => (/* binding */ WidgetStateManager)\n/* harmony export */ });\n/* harmony import */ var logical_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! logical-not */ "./node_modules/logical-not/index.js");\n/* harmony import */ var logical_not__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(logical_not__WEBPACK_IMPORTED_MODULE_0__);\n\nclass WidgetStateManager {\n constructor(events) {\n this.events = events;\n this.datasetsByRef = Object.create(null);\n }\n apply(instance, state) {\n if (isWidgetSingleData(state))\n instance.dataset = this.createWidgetDataset(state.dataset, {\n key: "default",\n index: 0,\n });\n else if (isWidgetRepeatableData(state)) {\n instance.datasets = state.datasets.map((source, index) => this.createWidgetDataset(source, {\n key: "default",\n index,\n }));\n }\n else if (isWidgetMultiData(state)) {\n instance.datasets = {};\n Object.entries(state.datasets).forEach(([key, source]) => {\n const value = Array.isArray(source)\n ? source.map((source, index) => this.createWidgetDataset(source, { key, index }))\n : this.createWidgetDataset(source, { key, index: 0 });\n instance.datasets[key] = value;\n });\n }\n if (state.options)\n instance.options = state.options;\n }\n getDatasetByRef({ key, index }) {\n return this.datasetsByRef[key]?.[index];\n }\n reset() {\n this.datasetsByRef = Object.create(null);\n }\n createWidgetDataset(source, datasetRef) {\n const { events } = this;\n const { name, rows } = source;\n const columnsById = {};\n const columns = source.columns.map(source => {\n const columnId = source.id;\n const column = {\n ...exclude(source, "id"),\n interact(rowIndex) {\n events.onInteract({\n datasetRef,\n columnId,\n rowIndex,\n });\n },\n };\n columnsById[columnId] = column;\n return column;\n });\n const columnsByBlock = {};\n Object.entries(source.columnsByBlock).forEach(([blockName, columnIds]) => {\n columnsByBlock[blockName] = [];\n columnIds.forEach(columnId => {\n const column = columnsById[columnId];\n if (column)\n columnsByBlock[blockName].push(column);\n });\n });\n const dataset = {\n name,\n columns,\n columnsByBlock,\n rows,\n heatmap: {},\n events: {\n onHighlight() { },\n },\n };\n setDataset: {\n const { datasetsByRef } = this;\n const { key, index } = datasetRef;\n if ((0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(datasetsByRef[key]))\n datasetsByRef[key] = [];\n datasetsByRef[key][index] = dataset;\n }\n return dataset;\n }\n}\nfunction isWidgetSingleData(source) {\n return source.dataset;\n}\nfunction isWidgetRepeatableData(source) {\n return Array.isArray(source.datasets);\n}\nfunction isWidgetMultiData(source) {\n return source.datasets && (0,logical_not__WEBPACK_IMPORTED_MODULE_0__.not)(isWidgetRepeatableData(source));\n}\nfunction exclude(source, key) {\n const target = {};\n Object.entries(source).forEach(([property, value]) => {\n if (property !== key)\n target[property] = value;\n });\n return target;\n}\n\n\n//# sourceURL=webpack://PolymaticaWidgetComponent/./src/tools/widget-state-manager.ts?')}},__webpack_module_cache__={};function __nested_webpack_require_35735__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__nested_webpack_require_35735__),n.exports}__nested_webpack_require_35735__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __nested_webpack_require_35735__.d(t,{a:t}),t},__nested_webpack_require_35735__.d=(e,t)=>{for(var n in t)__nested_webpack_require_35735__.o(t,n)&&!__nested_webpack_require_35735__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__nested_webpack_require_35735__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__nested_webpack_require_35735__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__nested_webpack_require_35735__("./src/index.ts");return __webpack_exports__})(),module.exports=factory()}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};return(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{PolymaticaWidgetLegacy:()=>u});var e=__webpack_require__(10),t=__webpack_require__(127),n=__webpack_require__(439),a=__webpack_require__(52),r=__webpack_require__(771),o=__webpack_require__(382),s=__webpack_require__(35);function i(e){for(const t of e){const e=t.target;switch(t.attributeName){case"render-env":e.renderEnv=e.getAttribute("render-env");break;case"widget-base-path":e.widgetBasePath=e.getAttribute("widget-base-path");break;case"locale":e.locale=e.getAttribute("locale")}}}var _=__webpack_require__(279);const c=(e,t,n)=>{const a=new CustomEvent(t,{detail:n,bubbles:!0});e.dispatchEvent(a)};class l{get context(){return l.widgetContextMap.get(this.widget)}constructor(e){this.widget=e,this.token=this.createToken(),this.isReady=!1,window.addEventListener("message",(({data:e})=>{e.token===this.token&&this.process(e)}))}send(e,t){this.context.iframe.contentWindow?.postMessage({type:e,payload:t},"*")}process(e){switch(e.type){case s.Output.Init:{if(this.isReady)break;this.isReady=!0;const{context:e}=this;this.send(s.Input.ChangeWidgetRenderEnv,e.widgetRenderEnv||t.WidgetRenderEnv.Default),this.send(s.Input.ChangeTheme,e.theme),this.send(s.Input.ChangeLang,e.locale),this.send(s.Input.Change,e.widgetRepresent);break}case s.Output.Ready:c(this.widget,_.EventType.Ready,{});break;case s.Output.SetFilter:{const{filter:t,target:n,rowIndex:r}=e.payload;if(n===a.Target.Other){this.context.otherFilterColumnId=t.column.id;const e={datasetRef:{key:"default",index:0},columnId:t.column.id,rowIndex:r};c(this.widget,_.EventType.Interact,e)}break}case s.Output.Interact:c(this.widget,_.EventType.Effect,e.payload)}}createToken(){return Math.random().toString(16).slice(2)}}const d=new WeakMap;l.widgetContextMap=d;class u extends HTMLElement{set renderEnv(e){e===t.WidgetRenderEnv.Print&&m(this,{widgetRenderEnv:e})}set widgetBasePath(e){m(this,{widgetBasePath:e})}set locale(e){m(this,{locale:e})}set uid(e){this._uid=e}get uid(){return this._uid}constructor(){super();const e=this.attachShadow({mode:"closed"}),t=document.createElement("iframe"),n=document.createElement("style");n.textContent="\n:host {\n display: block;\n}\n\niframe {\n border: none;\n width: 100%;\n height: 100%;\n}\n",e.append(n);const a={iframe:t,inited:!1,shadowRoot:e,connector:new l(this),otherFilterColumnId:0};d.set(this,a),function(e){new MutationObserver(i).observe(e,{attributes:!0})}(this)}initFormatterToWindow(e,t){const n=window.format||{};n[t]=n[t]||{},e.columns.forEach((e=>{n[t][e.path]=e.format})),window.format=n}setDataConfig(e){m(this,{dataConfig:e})}provide(e,t){if(!e)return;let a=!1,s={};"dataset"in e&&(s.default=[e.dataset]),"datasets"in e&&Array.isArray(e.datasets)&&(s.default=e.datasets,a=!0),"datasets"in e&&!Array.isArray(e.datasets)&&(Object.entries(e.datasets).forEach((([e,t])=>{s[e]=Array.isArray(t)?t:[t]})),a=!0);const i={};Object.entries(s).forEach((([e,s])=>{s.forEach(((s,_)=>{this.uid&&this.initFormatterToWindow(s,this.uid);const c=t.sort[_],l=t.filters[_],d=Object.entries(s.columnsByBlock).map((([e,t])=>({key:e,block_type:r.ConfigDataBlockType_Server.Column,function:n.y8.Group,columns:t.map((e=>({column_id:e})))})));if(c.length){const e={key:r.blockSortKey,block_type:r.ConfigDataBlockType_Server.Sort,function:null,columns:c.map((({column_id:e,direction:t})=>({column_id:e,value:t})))};d.push(e)}if(l){const e={key:r.blockFilterKey,block_type:r.ConfigDataBlockType_Server.Filter,function:null,columns:l.map((({column_id:e,action:t,value:n})=>({column_id:e,action:t,value:n})))};d.push(e)}const u=s.columns.map((e=>({id:e.id,name:e.name,path:e.path,base_type:e.type}))),p=a?`${e}--${_}`:o.widgetDefaultKey;i[p]={data_option:{key:p,id:0,dataset:{id:0,name:"",columns_id:u},method:n.JG.Aggregate,limit_rows:-1,offset:0,blocks:d},rows:s.rows,total:s.rows.length}}))})),m(this,{uid:this.uid,widgetRepresent:{dataOptionsMap:i,viewOptions:Object.entries(t||{}).map((([e,t])=>({key:e,value:t})))}})}provideTheme(e){m(this,{theme:{theme:{background:"rgb(241, 241, 242)",backgroundBright:"rgb(32, 33, 39)",backgroundTint:["rgb(230, 230, 234)","rgb(208, 208, 213)","rgb(163, 163, 172)","rgb(118, 118, 133)","rgb(64, 64, 83)","rgb(32, 33, 39)"],text:"rgb(0, 175, 215)",textTint:["#0d131e","#111827","#1f2937","#374151","#4b5563"],colors:e.palette,colorize:e.heatmap??[]},themeKey:"polymatica",themeProjectKey:"polymatica"}})}highlight(e,t){const{connector:n,otherFilterColumnId:r,widgetRepresent:i}=p(this),_=[],c=i?.dataOptionsMap[o.widgetDefaultKey];if(c){const e=c.data_option.dataset.columns_id.find((({id:e})=>e===r));e&&t.forEach((t=>{t in c.rows&&_.push(c.rows[t][e.path])}))}n.send(s.Input.ChangeOtherFilters,[{column_id:r,value:_,action:a.FilterMethod.InList}])}setInteractColumnId(e){p(this).otherFilterColumnId=e}}function p(e){return d.get(e)}function m(t,n){const a=p(t);Object.assign(a,n);const{iframe:r,inited:o,widgetRepresent:i,locale:_,theme:c,widgetBasePath:l}=a;if(!((0,e.not)(i)||(0,e.not)(_)||(0,e.not)(c)||(0,e.not)(l)))if((0,e.not)(o)){a.inited=!0;let t=l;(0,e.not)(t.endsWith("/"))&&(t+="/"),t+=`index.html?token=${a.connector.token}`,a.uid&&(t+=`&uid=${a.uid}`),r.src=t,a.shadowRoot.append(r)}else{const{connector:e}=a;n.theme&&e.send(s.Input.ChangeTheme,c),n.locale&&e.send(s.Input.ChangeLang,_),n.widgetRepresent&&e.send(s.Input.Change,i)}}customElements.define("polymatica-widget-legacy",u)})(),__webpack_exports__})()));
|
|
@@ -9,52 +9,60 @@ export async function loadWidgetDataConfig(basePath) {
|
|
|
9
9
|
return createDataConfig(config);
|
|
10
10
|
}
|
|
11
11
|
function createDataConfig({ data_options, type, repeatable, }) {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
block.function
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
12
|
+
const data = { data: {} };
|
|
13
|
+
data_options.forEach(dataConfig => {
|
|
14
|
+
if (not(dataConfig))
|
|
15
|
+
return;
|
|
16
|
+
const config = {
|
|
17
|
+
method: dataConfig.method,
|
|
18
|
+
blocks: [],
|
|
19
|
+
};
|
|
20
|
+
dataConfig.blocks.forEach((block) => {
|
|
21
|
+
switch (block.type) {
|
|
22
|
+
case ConfigDataBlockType_Server.Column:
|
|
23
|
+
config.blocks.push({
|
|
24
|
+
key: block.key,
|
|
25
|
+
label: block.label,
|
|
26
|
+
icon: block.icon,
|
|
27
|
+
aggregation: Boolean(block.function) &&
|
|
28
|
+
block.function !== DataQueryFunction.Group,
|
|
29
|
+
max: block.max,
|
|
30
|
+
});
|
|
31
|
+
break;
|
|
32
|
+
case ConfigDataBlockType_Server.Drilldown:
|
|
33
|
+
config.drilldown = {
|
|
34
|
+
sources: [encodeDrilldownData(block.key).source],
|
|
35
|
+
};
|
|
36
|
+
break;
|
|
37
|
+
case ConfigDataBlockType_Server.Colorizer:
|
|
38
|
+
config.heatmap = {
|
|
39
|
+
targets: [],
|
|
40
|
+
};
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
config.validation = {
|
|
45
|
+
requiredSome: dataConfig.validation?.required_some,
|
|
46
|
+
requiredEvery: dataConfig.validation?.required_every,
|
|
47
|
+
};
|
|
48
|
+
if (type) {
|
|
49
|
+
config.type = type;
|
|
50
|
+
}
|
|
51
|
+
if ('hideSort' in dataConfig)
|
|
52
|
+
config.hideSort = dataConfig.hideSort;
|
|
53
|
+
if ('hideCounter' in dataConfig) {
|
|
54
|
+
config.hideCounter = dataConfig.hideCounter;
|
|
41
55
|
}
|
|
56
|
+
if (repeatable) {
|
|
57
|
+
config.repeatable = repeatable;
|
|
58
|
+
}
|
|
59
|
+
data.data[dataConfig.key ?? 'defaultKey'] = config;
|
|
42
60
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
config.type = type;
|
|
49
|
-
}
|
|
50
|
-
if ('hideSort' in dataConfig)
|
|
51
|
-
config.hideSort = dataConfig.hideSort;
|
|
52
|
-
if ('hideCounter' in dataConfig) {
|
|
53
|
-
config.hideCounter = dataConfig.hideCounter;
|
|
54
|
-
}
|
|
55
|
-
const data = { data: config };
|
|
56
|
-
if (repeatable) {
|
|
57
|
-
data.data.repeatable = repeatable;
|
|
61
|
+
const configValues = Object.values(data.data);
|
|
62
|
+
if (data_options.length === 1) {
|
|
63
|
+
return {
|
|
64
|
+
data: configValues[0]
|
|
65
|
+
};
|
|
58
66
|
}
|
|
59
67
|
return data;
|
|
60
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-widget-config.js","sourceRoot":"","sources":["../../../src-toolkit/load-widget-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EACH,QAAQ,EACR,WAAW,EAGX,KAAK,EAEL,MAAM,
|
|
1
|
+
{"version":3,"file":"load-widget-config.js","sourceRoot":"","sources":["../../../src-toolkit/load-widget-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OptionsConfig, SingleData } from 'polymatica-widget/config';
|
|
1
|
+
import { OptionsConfig, SingleData, MultiData } from 'polymatica-widget/config';
|
|
2
2
|
import { DataSettings } from 'plmt-constructor-sdk/widget';
|
|
3
|
-
export declare function loadWidgetDataConfig(basePath: string): Promise<SingleData | undefined>;
|
|
3
|
+
export declare function loadWidgetDataConfig(basePath: string): Promise<SingleData | MultiData<any> | undefined>;
|
|
4
4
|
export declare function loadWidgetOptionsConfig(widgetBasePath: string, dataSettings: DataSettings): Promise<OptionsConfig>;
|
|
@@ -13,52 +13,60 @@ async function loadWidgetDataConfig(basePath) {
|
|
|
13
13
|
}
|
|
14
14
|
exports.loadWidgetDataConfig = loadWidgetDataConfig;
|
|
15
15
|
function createDataConfig({ data_options, type, repeatable, }) {
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
block.function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
16
|
+
const data = { data: {} };
|
|
17
|
+
data_options.forEach(dataConfig => {
|
|
18
|
+
if ((0, logical_not_1.not)(dataConfig))
|
|
19
|
+
return;
|
|
20
|
+
const config = {
|
|
21
|
+
method: dataConfig.method,
|
|
22
|
+
blocks: [],
|
|
23
|
+
};
|
|
24
|
+
dataConfig.blocks.forEach((block) => {
|
|
25
|
+
switch (block.type) {
|
|
26
|
+
case config_3.ConfigDataBlockType_Server.Column:
|
|
27
|
+
config.blocks.push({
|
|
28
|
+
key: block.key,
|
|
29
|
+
label: block.label,
|
|
30
|
+
icon: block.icon,
|
|
31
|
+
aggregation: Boolean(block.function) &&
|
|
32
|
+
block.function !== config_2.DataQueryFunction.Group,
|
|
33
|
+
max: block.max,
|
|
34
|
+
});
|
|
35
|
+
break;
|
|
36
|
+
case config_3.ConfigDataBlockType_Server.Drilldown:
|
|
37
|
+
config.drilldown = {
|
|
38
|
+
sources: [(0, config_3.encodeDrilldownData)(block.key).source],
|
|
39
|
+
};
|
|
40
|
+
break;
|
|
41
|
+
case config_3.ConfigDataBlockType_Server.Colorizer:
|
|
42
|
+
config.heatmap = {
|
|
43
|
+
targets: [],
|
|
44
|
+
};
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
config.validation = {
|
|
49
|
+
requiredSome: dataConfig.validation?.required_some,
|
|
50
|
+
requiredEvery: dataConfig.validation?.required_every,
|
|
51
|
+
};
|
|
52
|
+
if (type) {
|
|
53
|
+
config.type = type;
|
|
54
|
+
}
|
|
55
|
+
if ('hideSort' in dataConfig)
|
|
56
|
+
config.hideSort = dataConfig.hideSort;
|
|
57
|
+
if ('hideCounter' in dataConfig) {
|
|
58
|
+
config.hideCounter = dataConfig.hideCounter;
|
|
45
59
|
}
|
|
60
|
+
if (repeatable) {
|
|
61
|
+
config.repeatable = repeatable;
|
|
62
|
+
}
|
|
63
|
+
data.data[dataConfig.key ?? 'defaultKey'] = config;
|
|
46
64
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
config.type = type;
|
|
53
|
-
}
|
|
54
|
-
if ('hideSort' in dataConfig)
|
|
55
|
-
config.hideSort = dataConfig.hideSort;
|
|
56
|
-
if ('hideCounter' in dataConfig) {
|
|
57
|
-
config.hideCounter = dataConfig.hideCounter;
|
|
58
|
-
}
|
|
59
|
-
const data = { data: config };
|
|
60
|
-
if (repeatable) {
|
|
61
|
-
data.data.repeatable = repeatable;
|
|
65
|
+
const configValues = Object.values(data.data);
|
|
66
|
+
if (data_options.length === 1) {
|
|
67
|
+
return {
|
|
68
|
+
data: configValues[0]
|
|
69
|
+
};
|
|
62
70
|
}
|
|
63
71
|
return data;
|
|
64
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-widget-config.js","sourceRoot":"","sources":["../../src-toolkit/load-widget-config.ts"],"names":[],"mappings":";;;AAAA,6CAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"load-widget-config.js","sourceRoot":"","sources":["../../src-toolkit/load-widget-config.ts"],"names":[],"mappings":"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"}
|