{"version":3,"sources":["QueryTemplate.ts"],"names":[],"mappings":"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","file":"../QueryTs.Template.js","sourcesContent":["/// \n/// \n\ntype QueryTemplateTypes = 'state' | 'array' | 'price' | \n'datetime' | 'datetimeshort' | 'date' | 'date-format' | 'time' |\n'preview' | 'get' | 'color' | 'score' | 'input-value' | 'salesUnit';\n\ntype SalesUnits = 'Trolley' | 'Layer' | 'Quantity' | 'Bunch' | 'Piece'\n\ninterface ISalesUnitQuantityInfo {\n code: string;\n quantity: number;\n quantityUnit: number;\n unit: SalesUnits;\n}\n\ninterface IQueryTemplateRenderer\n{\n render(model: any, value: any, path: string, args: any): string;\n}\n\nclass QueryTemplateRendererState\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n let names = '';\n if (args) {\n let splitted = value.split(/(?=[A-Z])/);\n let splittedText = args[0].split(\"|\");\n for (let x = 0; x < splittedText.length; x++) {\n names += '= splitted.length ? 0 : x] + '\">' + splittedText[x] + '';\n }\n }\n return \"\"+ names + \"\";\n }\n}\nclass QueryTemplateRendererColor\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n value = [].concat(value);\n let toReturn = '';\n for (let x = 0; x < value.length; x++) {\n if (value[x])\n toReturn += \"\" + args[0] + \"\";\n }\n toReturn += \"\";\n return toReturn;\n }\n}\nclass QueryTemplateRendererSalesUnit\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n let arr = value as ISalesUnitQuantityInfo[];\n switch (args[0])\n {\n default:\n return arr.filter(a => a.quantity != 0)\n .map(a => `${a.quantity}x${a.quantityUnit}`)\n .join(', ');\n case \"unit\":\n return arr.filter(a => a.unit == args[1])\n .map(a => a.quantityUnit)\n .join(', ');\n case \"quantity\":\n return arr.filter(a => a.unit == args[1])\n .map(a => a.quantity)\n .join(', ');\n case \"quantityBunch\":\n let bunch = arr.find(a => a.unit ==\"Bunch\");\n let quantity = arr.find(a => a.unit ==\"Quantity\");\n\n if (bunch == null && quantity != null)\n return `${quantity?.quantityUnit}`;\n else if (bunch != null && quantity != null && bunch.quantityUnit != 0)\n return `${quantity?.quantityUnit/bunch.quantityUnit}x${bunch.quantityUnit}`\n else\n return \"1\";\n }\n }\n}\n\nclass QueryTemplateRendererSalesUnitAlternative\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n\n let str : string[] = [];\n\n let arr = value as ISalesUnitQuantityInfo[];\n let bunch = arr.find(a => a.unit ==\"Bunch\");\n for(var item of arr.filter(a => a.quantity != 0))\n {\n if (item.unit == \"Quantity\" && bunch != null && bunch.quantityUnit != 0)\n {\n str.push(`${item.quantity}x${item.quantityUnit/bunch.quantityUnit}x${bunch.quantityUnit}`);\n }\n else\n {\n str.push(`${item.quantity}x${item.quantityUnit}`);\n }\n }\n return str.join(\", \");\n }\n}\nclass QueryTemplateRendererArray\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return value.join(args[0] ? args[0] : ', ');\n }\n}\nclass QueryTemplateRendererForEach\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n let [firstArg, ...restArgs] = args;\n let renderer : string[] = [];\n for(var x = 0; x < value.length; x++)\n {\n var eachValue = QueryTemplateRenderers.get(args[0])?.render(model, value[x], path, restArgs);\n if (eachValue != null)\n renderer.push(eachValue);\n }\n return renderer.join('');\n }\n}\nclass QueryTemplateRendererIcon\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return `${value}`;\n }\n}\nclass QueryTemplateRendererPrice\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n if (isFinite(value)) {\n return value.toFixed(args[0] ? args[0] : 4);\n } else {\n return \"∞\";\n }\n }\n}\nclass QueryTemplateRendererPriceSalesUnit\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n if (isFinite(value)) {\n var quantityInfo = QueryTemplate.traverse(model, args[0]) as ISalesUnitQuantityInfo[];\n\n let bunch = quantityInfo.find(a => a.unit == \"Bunch\");\n\n if (bunch != null)\n value *= bunch.quantityUnit;\n \n return value.toFixed(args[1] ? args[1] : 4);\n } else {\n return \"∞\";\n }\n }\n}\nclass QueryTemplateRendererDateTime\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return new QueryDate(value).format(\"dd-mm-yyyy HH:MM:ss\", false);\n }\n}\nclass QueryTemplateRendererDateTimeShort\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return new QueryDate(value).format(\"dd-mm HH:MM\", false);\n }\n}\nclass QueryTemplateRendererDate\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return new QueryDate(value).format(\"dd-mm-yyyy\", true);\n }\n}\nclass QueryTemplateRendererDateFormat\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return new QueryDate(value).format(args[0], false);\n }\n}\nclass QueryTemplateRendererTime\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return new QueryDate(value).format(\"HH:MM:ss\", false);\n }\n}\nclass QueryTemplateRendererTimeAgo\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return new QueryDate(value).timeAgo();\n }\n}\nclass QueryTemplateRendererTimeSpanShort\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return new TimeSpan(value).toStringShort();\n }\n}\nclass QueryTemplateRendererTimeSpan\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return new TimeSpan(value).toString();\n }\n}\nclass QueryTemplateRendererPreview\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n switch(args[0]) {\n case \"48\":\n break;\n default:\n value = value.replace('=48x48/', `=${args[0]}x${args[0]}/`)\n break;\n }\n return \"\";\n }\n}\nclass QueryTemplateRendererGet\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n let innerValue = value[args[0]];\n if (innerValue || innerValue === 0 || innerValue === false) {\n var renderer = QueryTemplateRenderers.get(args[1]);\n if (renderer != null) {\n return renderer.render(model, value[args[0]], path, args.slice(2));\n } else {\n return value[args[0]];\n }\n }\n\n return \"\";\n }\n}\nclass QueryTemplateRendererScore\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n let tresholds = args[0].split(\",\");\n let color = \"Green\";\n if (value && value <= tresholds[0]) {\n color = \"Red\";\n } else if (value <= tresholds[1]) {\n color = \"Orange\";\n }\n\n return \"\";\n }\n}\nclass QueryTemplateRendererInputValue\n implements IQueryTemplateRenderer {\n render(model: any, value: any, path: string, args: any): string {\n return \"\";\n }\n}\nclass QueryTemplateRenderers {\n private static _renderers: {[key:string]: IQueryTemplateRenderer} = \n {\n 'state': new QueryTemplateRendererState(),\n 'salesUnit': new QueryTemplateRendererSalesUnit(),\n 'array': new QueryTemplateRendererArray(),\n 'forEach': new QueryTemplateRendererForEach(),\n 'icon': new QueryTemplateRendererIcon(),\n 'price': new QueryTemplateRendererPrice(),\n 'priceSalesUnit': new QueryTemplateRendererPriceSalesUnit(),\n 'datetime': new QueryTemplateRendererDateTime(),\n 'datetimeshort': new QueryTemplateRendererDateTimeShort(),\n 'date': new QueryTemplateRendererDate(),\n 'date-format': new QueryTemplateRendererDateFormat(),\n 'time': new QueryTemplateRendererTime(),\n 'time-ago': new QueryTemplateRendererTimeAgo(),\n 'preview': new QueryTemplateRendererPreview(),\n 'get': new QueryTemplateRendererGet(),\n 'color': new QueryTemplateRendererColor(),\n 'score': new QueryTemplateRendererScore(),\n 'timeSpan': new QueryTemplateRendererTimeSpan(),\n 'timeSpan-short': new QueryTemplateRendererTimeSpanShort(),\n 'input-value': new QueryTemplateRendererInputValue()\n }\n \n static get(type: QueryTemplateTypes) : IQueryTemplateRenderer | null {\n if (this._renderers.hasOwnProperty(type)) {\n return this._renderers[type];\n }\n\n return null;\n }\n static appendOrOverwrite(type: QueryTemplateTypes, sort: IQueryTemplateRenderer)\n {\n this._renderers[type] = sort;\n }\n}\nclass QueryTemplate {\n\n private readonly _renderer: Function;\n\n constructor(template: string) {\n let matcher = new RegExp(/\\{(.+?)\\}|$/g, \"g\");\n\n let escapes: any = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n let escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n let escapeChar = function (match: string) {\n return '\\\\' + escapes[match];\n };\n\n // Compile the template source, escaping string literals appropriately.\n let index = 0;\n let source = \"var __p='\";\n template.replace(matcher, function (match, escape, offset) {\n source += template.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n let found = escape.split(\":\");\n source += \"'+\\n(__f.call(this, obj, '\" + found[0] + \"', '\" + found[1] + \"', ['\" + found.slice(2).join(\"','\") + \"']))+\\n'\";\n }\n\n return match;\n });\n source += \"';\\nreturn __p;\\n\";\n\n try {\n this._renderer = new Function('obj', '__f', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n }\n render(data: any): string {\n return this._renderer.call(this, data, this.format);\n }\n static traverse(model:any, path: string) {\n var pathArr = QueryJSON.toCamelCase(path).split(\".\");\n for(var subPath of pathArr) {\n model = model[subPath];\n if (model == null)\n return null;\n }\n return model;\n }\n format (model: any, path: string, type: QueryTemplateTypes, args: any): any {\n var value = QueryTemplate.traverse(model, path);\n\n if (value || value === 0 || value === false) {\n let renderer = QueryTemplateRenderers.get(type);\n if (renderer != null) {\n return renderer.render(model, value, path, args);\n }\n else {\n return value;\n }\n }\n switch (type) {\n default:\n return '';\n }\n }\n}"],"sourceRoot":"../../src/ts/QueryTs.Template/"}