@things-factory/integration-ui 9.0.0-beta.24 → 9.0.0-beta.27

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.
Files changed (120) hide show
  1. package/package.json +6 -6
  2. package/dist-client/analysis/graph-data.d.ts +0 -36
  3. package/dist-client/analysis/graph-data.js +0 -2
  4. package/dist-client/analysis/graph-data.js.map +0 -1
  5. package/dist-client/analysis/graph-viewer-style.d.ts +0 -1
  6. package/dist-client/analysis/graph-viewer-style.js +0 -121
  7. package/dist-client/analysis/graph-viewer-style.js.map +0 -1
  8. package/dist-client/analysis/graph-viewer.d.ts +0 -36
  9. package/dist-client/analysis/graph-viewer.js +0 -294
  10. package/dist-client/analysis/graph-viewer.js.map +0 -1
  11. package/dist-client/analysis/node.d.ts +0 -4
  12. package/dist-client/analysis/node.js +0 -59
  13. package/dist-client/analysis/node.js.map +0 -1
  14. package/dist-client/analysis/relationship.d.ts +0 -4
  15. package/dist-client/analysis/relationship.js +0 -13
  16. package/dist-client/analysis/relationship.js.map +0 -1
  17. package/dist-client/analysis/utils.d.ts +0 -20
  18. package/dist-client/analysis/utils.js +0 -31
  19. package/dist-client/analysis/utils.js.map +0 -1
  20. package/dist-client/bootstrap.d.ts +0 -3
  21. package/dist-client/bootstrap.js +0 -30
  22. package/dist-client/bootstrap.js.map +0 -1
  23. package/dist-client/editors/entity-editor.d.ts +0 -10
  24. package/dist-client/editors/entity-editor.js +0 -46
  25. package/dist-client/editors/entity-editor.js.map +0 -1
  26. package/dist-client/editors/entity-selector.d.ts +0 -31
  27. package/dist-client/editors/entity-selector.js +0 -301
  28. package/dist-client/editors/entity-selector.js.map +0 -1
  29. package/dist-client/editors/property-editor.d.ts +0 -30
  30. package/dist-client/editors/property-editor.js +0 -105
  31. package/dist-client/editors/property-editor.js.map +0 -1
  32. package/dist-client/editors/things-editor-db-procedure.d.ts +0 -52
  33. package/dist-client/editors/things-editor-db-procedure.js +0 -495
  34. package/dist-client/editors/things-editor-db-procedure.js.map +0 -1
  35. package/dist-client/editors/things-editor-entity-selector.d.ts +0 -15
  36. package/dist-client/editors/things-editor-entity-selector.js +0 -94
  37. package/dist-client/editors/things-editor-entity-selector.js.map +0 -1
  38. package/dist-client/editors/things-editor-http-body.d.ts +0 -22
  39. package/dist-client/editors/things-editor-http-body.js +0 -137
  40. package/dist-client/editors/things-editor-http-body.js.map +0 -1
  41. package/dist-client/editors/things-editor-http-headers.d.ts +0 -29
  42. package/dist-client/editors/things-editor-http-headers.js +0 -167
  43. package/dist-client/editors/things-editor-http-headers.js.map +0 -1
  44. package/dist-client/editors/things-editor-http-parameters.d.ts +0 -29
  45. package/dist-client/editors/things-editor-http-parameters.js +0 -167
  46. package/dist-client/editors/things-editor-http-parameters.js.map +0 -1
  47. package/dist-client/editors/things-editor-tag-scenarios.d.ts +0 -32
  48. package/dist-client/editors/things-editor-tag-scenarios.js +0 -226
  49. package/dist-client/editors/things-editor-tag-scenarios.js.map +0 -1
  50. package/dist-client/grist/connection-selector.d.ts +0 -4
  51. package/dist-client/grist/connection-selector.js +0 -30
  52. package/dist-client/grist/connection-selector.js.map +0 -1
  53. package/dist-client/grist/connector-selector.d.ts +0 -4
  54. package/dist-client/grist/connector-selector.js +0 -30
  55. package/dist-client/grist/connector-selector.js.map +0 -1
  56. package/dist-client/grist/dynamic-selector.d.ts +0 -10
  57. package/dist-client/grist/dynamic-selector.js +0 -32
  58. package/dist-client/grist/dynamic-selector.js.map +0 -1
  59. package/dist-client/grist/task-type-selector.d.ts +0 -7
  60. package/dist-client/grist/task-type-selector.js +0 -58
  61. package/dist-client/grist/task-type-selector.js.map +0 -1
  62. package/dist-client/index.d.ts +0 -2
  63. package/dist-client/index.js +0 -3
  64. package/dist-client/index.js.map +0 -1
  65. package/dist-client/pages/connection-importer.d.ts +0 -10
  66. package/dist-client/pages/connection-importer.js +0 -102
  67. package/dist-client/pages/connection-importer.js.map +0 -1
  68. package/dist-client/pages/connection.d.ts +0 -64
  69. package/dist-client/pages/connection.js +0 -478
  70. package/dist-client/pages/connection.js.map +0 -1
  71. package/dist-client/pages/integration-analysis.d.ts +0 -24
  72. package/dist-client/pages/integration-analysis.js +0 -238
  73. package/dist-client/pages/integration-analysis.js.map +0 -1
  74. package/dist-client/pages/integration-monitor.d.ts +0 -28
  75. package/dist-client/pages/integration-monitor.js +0 -343
  76. package/dist-client/pages/integration-monitor.js.map +0 -1
  77. package/dist-client/pages/scenario-detail.d.ts +0 -2
  78. package/dist-client/pages/scenario-detail.js +0 -298
  79. package/dist-client/pages/scenario-detail.js.map +0 -1
  80. package/dist-client/pages/scenario-importer.d.ts +0 -10
  81. package/dist-client/pages/scenario-importer.js +0 -108
  82. package/dist-client/pages/scenario-importer.js.map +0 -1
  83. package/dist-client/pages/scenario.d.ts +0 -69
  84. package/dist-client/pages/scenario.js +0 -632
  85. package/dist-client/pages/scenario.js.map +0 -1
  86. package/dist-client/pages/state-register.d.ts +0 -50
  87. package/dist-client/pages/state-register.js +0 -278
  88. package/dist-client/pages/state-register.js.map +0 -1
  89. package/dist-client/route.d.ts +0 -1
  90. package/dist-client/route.js +0 -20
  91. package/dist-client/route.js.map +0 -1
  92. package/dist-client/tsconfig.tsbuildinfo +0 -1
  93. package/dist-client/viewparts/connections-monitor.d.ts +0 -10
  94. package/dist-client/viewparts/connections-monitor.js +0 -172
  95. package/dist-client/viewparts/connections-monitor.js.map +0 -1
  96. package/dist-client/viewparts/monitoring-summary.d.ts +0 -13
  97. package/dist-client/viewparts/monitoring-summary.js +0 -142
  98. package/dist-client/viewparts/monitoring-summary.js.map +0 -1
  99. package/dist-client/viewparts/pending-q-monitor.d.ts +0 -18
  100. package/dist-client/viewparts/pending-q-monitor.js +0 -248
  101. package/dist-client/viewparts/pending-q-monitor.js.map +0 -1
  102. package/dist-client/viewparts/scenario-instance-log-view.d.ts +0 -24
  103. package/dist-client/viewparts/scenario-instance-log-view.js +0 -141
  104. package/dist-client/viewparts/scenario-instance-log-view.js.map +0 -1
  105. package/dist-client/viewparts/scenario-instance-monitor.d.ts +0 -15
  106. package/dist-client/viewparts/scenario-instance-monitor.js +0 -173
  107. package/dist-client/viewparts/scenario-instance-monitor.js.map +0 -1
  108. package/dist-client/viewparts/scenario-instance-view.d.ts +0 -29
  109. package/dist-client/viewparts/scenario-instance-view.js +0 -263
  110. package/dist-client/viewparts/scenario-instance-view.js.map +0 -1
  111. package/dist-client/viewparts/scenario-monitor.d.ts +0 -16
  112. package/dist-client/viewparts/scenario-monitor.js +0 -285
  113. package/dist-client/viewparts/scenario-monitor.js.map +0 -1
  114. package/dist-client/viewparts/scenarios-monitor.d.ts +0 -16
  115. package/dist-client/viewparts/scenarios-monitor.js +0 -170
  116. package/dist-client/viewparts/scenarios-monitor.js.map +0 -1
  117. package/dist-server/index.d.ts +0 -0
  118. package/dist-server/index.js +0 -1
  119. package/dist-server/index.js.map +0 -1
  120. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../client/analysis/node.ts"],"names":[],"mappings":"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","sourcesContent":["import { Node } from './graph-data.js'\nimport * as d3 from 'd3'\nimport { class2color, class2darkenColor } from './utils.js'\n\nexport function appendNodeToGraph(\n svgNodes: d3.Selection<SVGGElement, unknown, HTMLElement, any>, // 타입 지정\n nodes: Node[],\n options: any\n) {\n const nodeEnter = svgNodes\n .selectAll<SVGGElement, Node>('.node')\n .data(nodes, d => d.id)\n .enter()\n .append('g')\n .attr('class', d => {\n let classes = 'node'\n if (d.icon) classes += ' node-icon'\n if (d.image) classes += ' node-image'\n if (options.highlight) {\n options.highlight.forEach((highlight: any) => {\n if (d.labels[0] === highlight.class && d.properties[highlight.property] === highlight.value) {\n classes += ' node-highlighted'\n }\n })\n }\n return classes\n })\n .call(\n d3\n .drag<SVGGElement, Node>() // 제네릭 타입 지정\n .on('start', (event, d) => dragStarted(event, d, options.simulation))\n .on('drag', (event, d) => dragged(event, d))\n .on('end', (event, d) => dragEnded(event, d, options.simulation))\n )\n\n nodeEnter\n .append('circle')\n .attr('r', options.nodeRadius)\n .style('fill', d => class2color(options.classes2colors, d.labels[0], options.colors, options.numClasses))\n .style('stroke', d =>\n class2darkenColor(class2color(options.classes2colors, d.labels[0], options.colors, options.numClasses))\n )\n .style('stroke-width', 2)\n\n nodeEnter\n .append('text')\n .attr('dy', 4)\n .attr('text-anchor', 'middle')\n .text(d => d.properties.name || d.id)\n\n return nodeEnter\n}\n\nfunction dragStarted(\n event: d3.D3DragEvent<SVGGElement, Node, any>,\n d: Node,\n simulation: d3.Simulation<Node, undefined>\n) {\n if (!event.active) simulation.alphaTarget(0.3).restart()\n d.fx = d.x\n d.fy = d.y\n}\n\nfunction dragged(event: d3.D3DragEvent<SVGGElement, Node, any>, d: Node) {\n d.fx = event.x\n d.fy = event.y\n}\n\nfunction dragEnded(event: d3.D3DragEvent<SVGGElement, Node, any>, d: Node, simulation: d3.Simulation<Node, undefined>) {\n if (!event.active) simulation.alphaTarget(0)\n d.fx = null\n d.fy = null\n}\n"]}
@@ -1,4 +0,0 @@
1
- import { Relationship } from './graph-data.js';
2
- import * as d3 from 'd3';
3
- export declare function appendRelationshipToGraph(svgRelationships: d3.Selection<SVGGElement, unknown, HTMLElement, any>, // 타입 지정
4
- relationships: Relationship[], options: any): any;
@@ -1,13 +0,0 @@
1
- export function appendRelationshipToGraph(svgRelationships, // 타입 지정
2
- relationships, options) {
3
- const relationshipEnter = svgRelationships
4
- .selectAll('.relationship')
5
- .data(relationships, d => d.id)
6
- .enter()
7
- .append('line')
8
- .attr('class', 'relationship')
9
- .style('stroke', '#aaa')
10
- .style('stroke-width', 2);
11
- return relationshipEnter;
12
- }
13
- //# sourceMappingURL=relationship.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relationship.js","sourceRoot":"","sources":["../../client/analysis/relationship.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,yBAAyB,CACvC,gBAAsE,EAAE,QAAQ;AAChF,aAA6B,EAC7B,OAAY;IAEZ,MAAM,iBAAiB,GAAG,gBAAgB;SACvC,SAAS,CAA+B,eAAe,CAAC;SACxD,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,KAAK,EAAE;SACP,MAAM,CAAC,MAAM,CAAC;SACd,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;SAC7B,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;SACvB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;IAE3B,OAAO,iBAAiB,CAAA;AAC1B,CAAC","sourcesContent":["import { Relationship } from './graph-data.js'\nimport * as d3 from 'd3'\n\nexport function appendRelationshipToGraph(\n svgRelationships: d3.Selection<SVGGElement, unknown, HTMLElement, any>, // 타입 지정\n relationships: Relationship[],\n options: any\n) {\n const relationshipEnter = svgRelationships\n .selectAll<SVGLineElement, Relationship>('.relationship')\n .data(relationships, d => d.id)\n .enter()\n .append('line')\n .attr('class', 'relationship')\n .style('stroke', '#aaa')\n .style('stroke-width', 2)\n\n return relationshipEnter\n}\n"]}
@@ -1,20 +0,0 @@
1
- export declare function class2color(classes2colors: Record<string, string>, cls: string, colors: string[], numClasses: number): string;
2
- export declare function class2darkenColor(color: string): string;
3
- export declare function unitaryVector(source: any, target: any, newLength?: number): {
4
- x: number;
5
- y: number;
6
- };
7
- export declare function unitaryNormalVector(source: any, target: any, newLength?: number): {
8
- x: number;
9
- y: number;
10
- };
11
- export declare function rotate(center: {
12
- x: number;
13
- y: number;
14
- }, point: {
15
- x: number;
16
- y: number;
17
- }, angle: number): {
18
- x: number;
19
- y: number;
20
- };
@@ -1,31 +0,0 @@
1
- import * as d3 from 'd3';
2
- export function class2color(classes2colors, cls, colors, numClasses) {
3
- if (!classes2colors[cls]) {
4
- classes2colors[cls] = colors[numClasses % colors.length];
5
- }
6
- return classes2colors[cls];
7
- }
8
- export function class2darkenColor(color) {
9
- return d3.rgb(color).darker(1).toString();
10
- }
11
- export function unitaryVector(source, target, newLength) {
12
- const length = Math.sqrt(Math.pow(target.x - source.x, 2) + Math.pow(target.y - source.y, 2)) / Math.sqrt(newLength || 1);
13
- return {
14
- x: (target.x - source.x) / length,
15
- y: (target.y - source.y) / length
16
- };
17
- }
18
- export function unitaryNormalVector(source, target, newLength) {
19
- const vector = unitaryVector(source, target, newLength);
20
- return rotate({ x: 0, y: 0 }, vector, 90);
21
- }
22
- export function rotate(center, point, angle) {
23
- const radians = (Math.PI / 180) * angle;
24
- const cos = Math.cos(radians);
25
- const sin = Math.sin(radians);
26
- return {
27
- x: cos * (point.x - center.x) + sin * (point.y - center.y) + center.x,
28
- y: cos * (point.y - center.y) - sin * (point.x - center.x) + center.y
29
- };
30
- }
31
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../client/analysis/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AAExB,MAAM,UAAU,WAAW,CACzB,cAAsC,EACtC,GAAW,EACX,MAAgB,EAChB,UAAkB;IAElB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAW,EAAE,MAAW,EAAE,SAAkB;IACxE,MAAM,MAAM,GACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAA;IAC5G,OAAO;QACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;QACjC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM;KAClC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAW,EAAE,MAAW,EAAE,SAAkB;IAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IACvD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAgC,EAAE,KAA+B,EAAE,KAAa;IACrG,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,CAAA;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7B,OAAO;QACL,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QACrE,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;KACtE,CAAA;AACH,CAAC","sourcesContent":["import * as d3 from 'd3'\n\nexport function class2color(\n classes2colors: Record<string, string>,\n cls: string,\n colors: string[],\n numClasses: number\n): string {\n if (!classes2colors[cls]) {\n classes2colors[cls] = colors[numClasses % colors.length]\n }\n return classes2colors[cls]\n}\n\nexport function class2darkenColor(color: string): string {\n return d3.rgb(color).darker(1).toString()\n}\n\nexport function unitaryVector(source: any, target: any, newLength?: number) {\n const length =\n Math.sqrt(Math.pow(target.x - source.x, 2) + Math.pow(target.y - source.y, 2)) / Math.sqrt(newLength || 1)\n return {\n x: (target.x - source.x) / length,\n y: (target.y - source.y) / length\n }\n}\n\nexport function unitaryNormalVector(source: any, target: any, newLength?: number) {\n const vector = unitaryVector(source, target, newLength)\n return rotate({ x: 0, y: 0 }, vector, 90)\n}\n\nexport function rotate(center: { x: number; y: number }, point: { x: number; y: number }, angle: number) {\n const radians = (Math.PI / 180) * angle\n const cos = Math.cos(radians)\n const sin = Math.sin(radians)\n return {\n x: cos * (point.x - center.x) + sin * (point.y - center.y) + center.x,\n y: cos * (point.y - center.y) - sin * (point.x - center.x) + center.y\n }\n}\n"]}
@@ -1,3 +0,0 @@
1
- import './editors/entity-editor.js';
2
- import './editors/property-editor.js';
3
- export default function bootstrap(): void;
@@ -1,30 +0,0 @@
1
- import './editors/entity-editor.js';
2
- import './editors/property-editor.js';
3
- import { OxGristEditorJson } from '@operato/app/grist-editor/ox-grist-editor-json.js';
4
- import { OxGristRendererCrontab } from '@operato/app/grist-editor/ox-grist-renderer-crontab.js';
5
- import { registerEditor as registerGristEditor, registerRenderer as registerGristRenderer } from '@operato/data-grist';
6
- import { OxGristEditorCrontab } from '@operato/grist-editor/ox-grist-editor-crontab.js';
7
- import { OxGristEditorParameters } from '@operato/grist-editor/ox-grist-editor-parameters.js';
8
- import { OxPropertyEditor } from '@operato/property-editor';
9
- import { ConnectionSelector } from './grist/connection-selector.js';
10
- import { ConnectorSelector } from './grist/connector-selector.js';
11
- import { TaskTypeSelector } from './grist/task-type-selector.js';
12
- export default function bootstrap() {
13
- registerGristEditor('task-type', TaskTypeSelector);
14
- registerGristEditor('connector', ConnectorSelector);
15
- registerGristEditor('connection', ConnectionSelector);
16
- registerGristEditor('json', OxGristEditorJson);
17
- registerGristEditor('parameters', OxGristEditorParameters);
18
- registerGristEditor('crontab', OxGristEditorCrontab);
19
- registerGristRenderer('crontab', OxGristRendererCrontab);
20
- OxPropertyEditor.register({
21
- 'http-headers': 'property-editor-http-headers',
22
- 'http-parameters': 'property-editor-http-parameters',
23
- 'http-body': 'property-editor-http-body',
24
- 'entity-selector': 'property-editor-entity-selector',
25
- 'scenario-step-input': 'property-editor-scenario-step-input',
26
- 'tag-scenarios': 'property-editor-tag-scenarios',
27
- 'procedure-parameters': 'property-editor-procedure-parameters'
28
- });
29
- }
30
- //# sourceMappingURL=bootstrap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,8BAA8B,CAAA;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAA;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAA;AAC/F,OAAO,EACL,cAAc,IAAI,mBAAmB,EACrC,gBAAgB,IAAI,qBAAqB,EAE1C,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAA;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAA;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAEhE,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;IAClD,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;IACnD,mBAAmB,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAA;IACrD,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC9C,mBAAmB,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAA;IAC1D,mBAAmB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;IAEpD,qBAAqB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;IAExD,gBAAgB,CAAC,QAAQ,CAAC;QACxB,cAAc,EAAE,8BAA8B;QAC9C,iBAAiB,EAAE,iCAAiC;QACpD,WAAW,EAAE,2BAA2B;QACxC,iBAAiB,EAAE,iCAAiC;QACpD,qBAAqB,EAAE,qCAAqC;QAC5D,eAAe,EAAE,+BAA+B;QAChD,sBAAsB,EAAE,sCAAsC;KAC/D,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import './editors/entity-editor.js'\nimport './editors/property-editor.js'\n\nimport { OxGristEditorJson } from '@operato/app/grist-editor/ox-grist-editor-json.js'\nimport { OxGristRendererCrontab } from '@operato/app/grist-editor/ox-grist-renderer-crontab.js'\nimport {\n registerEditor as registerGristEditor,\n registerRenderer as registerGristRenderer,\n OxGristRendererJson5\n} from '@operato/data-grist'\nimport { OxGristEditorCrontab } from '@operato/grist-editor/ox-grist-editor-crontab.js'\nimport { OxGristEditorPrivilege } from '@operato/app/grist-editor/ox-grist-editor-privilege.js'\nimport { OxGristEditorParameters } from '@operato/grist-editor/ox-grist-editor-parameters.js'\nimport { OxPropertyEditor } from '@operato/property-editor'\n\nimport { ConnectionSelector } from './grist/connection-selector.js'\nimport { ConnectorSelector } from './grist/connector-selector.js'\nimport { TaskTypeSelector } from './grist/task-type-selector.js'\n\nexport default function bootstrap() {\n registerGristEditor('task-type', TaskTypeSelector)\n registerGristEditor('connector', ConnectorSelector)\n registerGristEditor('connection', ConnectionSelector)\n registerGristEditor('json', OxGristEditorJson)\n registerGristEditor('parameters', OxGristEditorParameters)\n registerGristEditor('crontab', OxGristEditorCrontab)\n\n registerGristRenderer('crontab', OxGristRendererCrontab)\n\n OxPropertyEditor.register({\n 'http-headers': 'property-editor-http-headers',\n 'http-parameters': 'property-editor-http-parameters',\n 'http-body': 'property-editor-http-body',\n 'entity-selector': 'property-editor-entity-selector',\n 'scenario-step-input': 'property-editor-scenario-step-input',\n 'tag-scenarios': 'property-editor-tag-scenarios',\n 'procedure-parameters': 'property-editor-procedure-parameters'\n })\n}\n"]}
@@ -1,10 +0,0 @@
1
- import './things-editor-entity-selector.js';
2
- import { OxPropertyEditor } from '@operato/property-editor';
3
- export declare class PropertyEditorEntitySelector extends OxPropertyEditor {
4
- static get styles(): import("lit").CSSResult[];
5
- editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
6
- shouldUpdate(changedProperties: any): boolean;
7
- get valueProperty(): string;
8
- _computeLabelId(label: any): any;
9
- _valueChanged(e: any): void;
10
- }
@@ -1,46 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import { __decorate } from "tslib";
5
- import './things-editor-entity-selector.js';
6
- import { html } from 'lit';
7
- import { customElement } from 'lit/decorators.js';
8
- import cloneDeep from 'lodash-es/cloneDeep.js';
9
- import { OxPropertyEditor } from '@operato/property-editor';
10
- let PropertyEditorEntitySelector = class PropertyEditorEntitySelector extends OxPropertyEditor {
11
- static get styles() {
12
- return [...OxPropertyEditor.styles];
13
- }
14
- editorTemplate(value, spec) {
15
- return html `
16
- <things-editor-entity-selector
17
- id="editor"
18
- .value=${value}
19
- .properties=${spec.property}
20
- ></things-editor-entity-selector>
21
- `;
22
- }
23
- shouldUpdate(changedProperties) {
24
- return true;
25
- }
26
- get valueProperty() {
27
- return 'value';
28
- }
29
- _computeLabelId(label) {
30
- if (label.indexOf('label.') >= 0)
31
- return label;
32
- return 'label.' + label;
33
- }
34
- _valueChanged(e) {
35
- var _a;
36
- e.stopPropagation();
37
- this.value = cloneDeep(e.target[this.valueProperty]);
38
- this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }));
39
- (_a = this.observe) === null || _a === void 0 ? void 0 : _a.call(this, this.value);
40
- }
41
- };
42
- PropertyEditorEntitySelector = __decorate([
43
- customElement('property-editor-entity-selector')
44
- ], PropertyEditorEntitySelector);
45
- export { PropertyEditorEntitySelector };
46
- //# sourceMappingURL=entity-editor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-editor.js","sourceRoot":"","sources":["../../client/editors/entity-editor.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,oCAAoC,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,SAAS,MAAM,wBAAwB,CAAA;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAGpD,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,gBAAgB;IAChE,MAAM,KAAK,MAAM;QACf,OAAO,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,cAAc,CAAC,KAAK,EAAE,IAAI;QACxB,OAAO,IAAI,CAAA;;;iBAGE,KAAK;sBACA,IAAI,CAAC,QAAQ;;KAE9B,CAAA;IACH,CAAC;IAED,YAAY,CAAC,iBAAiB;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,aAAa;QACf,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,eAAe,CAAC,KAAK;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QAE9C,OAAO,QAAQ,GAAG,KAAK,CAAA;IACzB,CAAC;IAED,aAAa,CAAC,CAAC;;QACb,CAAC,CAAC,eAAe,EAAE,CAAA;QAEnB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAA;QAEpD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAEhF,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;CACF,CAAA;AAtCY,4BAA4B;IADxC,aAAa,CAAC,iCAAiC,CAAC;GACpC,4BAA4B,CAsCxC","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport './things-editor-entity-selector.js'\n\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport cloneDeep from 'lodash-es/cloneDeep.js'\n\nimport { OxPropertyEditor } from '@operato/property-editor'\n\n@customElement('property-editor-entity-selector')\nexport class PropertyEditorEntitySelector extends OxPropertyEditor {\n static get styles() {\n return [...OxPropertyEditor.styles]\n }\n\n editorTemplate(value, spec) {\n return html`\n <things-editor-entity-selector\n id=\"editor\"\n .value=${value}\n .properties=${spec.property}\n ></things-editor-entity-selector>\n `\n }\n\n shouldUpdate(changedProperties) {\n return true\n }\n\n get valueProperty() {\n return 'value'\n }\n\n _computeLabelId(label) {\n if (label.indexOf('label.') >= 0) return label\n\n return 'label.' + label\n }\n\n _valueChanged(e) {\n e.stopPropagation()\n\n this.value = cloneDeep(e.target[this.valueProperty])\n\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true }))\n\n this.observe?.call(this, this.value)\n }\n}\n"]}
@@ -1,31 +0,0 @@
1
- import '@operato/data-grist';
2
- import { LitElement } from 'lit';
3
- import { DataGrist } from '@operato/data-grist/ox-grist.js';
4
- import { FetchOption } from '@operato/data-grist';
5
- export declare class EntitySelector extends LitElement {
6
- static styles: import("lit").CSSResult[];
7
- value?: string;
8
- searchFields: any;
9
- config: any;
10
- data: any;
11
- queryName: string;
12
- select: any;
13
- list: any;
14
- basicArgs: any;
15
- selectedRecords: any;
16
- grist: DataGrist;
17
- searchForm: HTMLFormElement;
18
- render(): import("lit-html").TemplateResult<1>;
19
- onCancel(): void;
20
- onConfirm(): void;
21
- fetchHandler({ page, limit, sorters }: FetchOption): Promise<{
22
- records: any;
23
- total: any;
24
- limit: number | undefined;
25
- page: number | undefined;
26
- } | undefined>;
27
- firstUpdated(): Promise<void>;
28
- getSelectFields(): string;
29
- _buildConditions(page: any, limit: any, sorters: any): Promise<any>;
30
- get selected(): import("@operato/data-grist").GristRecord | undefined;
31
- }
@@ -1,301 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@operato/data-grist';
3
- import gql from 'graphql-tag';
4
- import { css, html, LitElement } from 'lit';
5
- import { customElement, property, query } from 'lit/decorators.js';
6
- import { DataGrist } from '@operato/data-grist/ox-grist.js';
7
- import { buildArgs, client } from '@operato/graphql';
8
- import { i18next } from '@operato/i18n';
9
- import { isMobileDevice } from '@operato/utils';
10
- import { MultiColumnFormStyles } from '@operato/form';
11
- import { CommonHeaderStyles } from '@operato/styles';
12
- let EntitySelector = class EntitySelector extends LitElement {
13
- render() {
14
- return html `
15
- <search-form
16
- id="search-form"
17
- @keypress="${async (e) => {
18
- if (e.keyCode === 13) {
19
- this.data = await this.grist.fetch();
20
- }
21
- }}"
22
- @submit="${async (e) => (this.data = await this.grist.fetch())}"
23
- .fields="${this.searchFields}"
24
- ></search-form>
25
-
26
- <ox-grist
27
- .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
28
- .config=${this.config}
29
- .data=${this.data}
30
- .fetchHandler=${this.fetchHandler.bind(this)}
31
- ></ox-grist>
32
-
33
- <div class="footer">
34
- <div filler></div>
35
- <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
36
- <button @click=${this.onConfirm.bind(this)} done><md-icon>check</md-icon>${i18next.t('button.confirm')}</button>
37
- </div>
38
- `;
39
- }
40
- onCancel() {
41
- history.back();
42
- }
43
- onConfirm() {
44
- this.dispatchEvent(new CustomEvent('entity-selected', {
45
- detail: {
46
- entity: this.selected
47
- }
48
- }));
49
- }
50
- async fetchHandler({ page, limit, sorters = [] }) {
51
- const response = await client.query({
52
- query: gql `
53
- query {
54
- ${this.queryName} (${buildArgs(await this._buildConditions(page, limit, sorters))}) {
55
- ${this.getSelectFields()}
56
- }
57
- }
58
- `
59
- });
60
- if (!response.errors) {
61
- const records = response.data[this.queryName].items.map(item => {
62
- if (this.value === item.id) {
63
- this.selectedRecords = [item];
64
- item['__selected__'] = true;
65
- }
66
- return item;
67
- });
68
- const total = response.data[this.queryName].total;
69
- return {
70
- records,
71
- total,
72
- limit,
73
- page
74
- };
75
- }
76
- }
77
- async firstUpdated() {
78
- this.config = {
79
- columns: [
80
- {
81
- type: 'gutter',
82
- gutterName: 'sequence'
83
- },
84
- {
85
- type: 'gutter',
86
- gutterName: 'row-selector',
87
- multiple: false
88
- }
89
- ],
90
- rows: {
91
- selectable: {
92
- multiple: false
93
- },
94
- handlers: {
95
- click: 'select-row',
96
- dblclick: (columns, data, column, record, rowIndex, field) => {
97
- this.onConfirm();
98
- }
99
- },
100
- appendable: false
101
- }
102
- };
103
- if (this.select && this.select.length > 0) {
104
- let _searchFields = this.select.filter(selectField => !selectField.hidden);
105
- if (this.list && this.list.fields && this.list.fields.length > 0) {
106
- _searchFields = _searchFields.filter(searchField => this.list.fields.indexOf(searchField.name) >= 0);
107
- }
108
- else {
109
- _searchFields = _searchFields.slice(0, 4);
110
- }
111
- this.searchFields = _searchFields.map(selectField => {
112
- const fieldType = (selectField.type && selectField.type.toLowerCase()) || 'string';
113
- const numberTypes = ['integer', 'float'];
114
- return {
115
- label: selectField.header || i18next.t(`field.${selectField.name}`),
116
- name: selectField.name,
117
- type: fieldType === 'string'
118
- ? 'text'
119
- : numberTypes.indexOf(fieldType) >= 0
120
- ? 'number'
121
- : fieldType === 'boolean'
122
- ? 'checkbox'
123
- : fieldType,
124
- queryName: selectField.queryName,
125
- props: fieldType === 'string'
126
- ? { searchOper: 'i_like' }
127
- : fieldType === 'object'
128
- ? { searchOper: 'in' }
129
- : { searchOper: 'eq' },
130
- attrs: fieldType === 'boolean' ? ['indeterminated'] : []
131
- };
132
- });
133
- this.config = Object.assign(Object.assign({}, this.config), { columns: [
134
- ...this.config.columns,
135
- ...this.select.map(selectField => {
136
- return Object.assign(Object.assign({}, selectField), { type: selectField.type || 'string', width: selectField.width || 160, header: selectField.header || i18next.t(`field.${selectField.name}`) });
137
- })
138
- ] });
139
- }
140
- else {
141
- this.searchFields = [
142
- {
143
- label: i18next.t('field.name'),
144
- name: 'name',
145
- type: 'text',
146
- props: { searchOper: 'i_like' }
147
- },
148
- {
149
- label: i18next.t('field.description'),
150
- name: 'description',
151
- type: 'text',
152
- props: { searchOper: 'i_like' }
153
- }
154
- ];
155
- this.config = Object.assign(Object.assign({}, this.config), { columns: [
156
- ...this.config.columns,
157
- {
158
- type: 'string',
159
- name: 'id',
160
- header: i18next.t('field.id'),
161
- hidden: true
162
- },
163
- {
164
- type: 'string',
165
- name: 'name',
166
- header: i18next.t('field.name'),
167
- record: {
168
- align: 'left'
169
- },
170
- sortable: true,
171
- width: 160
172
- },
173
- {
174
- type: 'string',
175
- name: 'description',
176
- header: i18next.t('field.description'),
177
- record: {
178
- align: 'left'
179
- },
180
- sortable: true,
181
- width: 300
182
- }
183
- ] });
184
- }
185
- this.config = Object.assign(Object.assign({}, this.config), { list: Object.assign(Object.assign({}, this.list), { fields: this.list && this.list.fields && this.list.fields.length > 0
186
- ? this.list.fields
187
- : this.config.columns
188
- .filter(column => column.type !== 'gutter')
189
- .slice(0, 3)
190
- .map(column => column.name) }) });
191
- await this.updateComplete;
192
- this.grist && this.grist.focus();
193
- }
194
- getSelectFields() {
195
- if (this.select && this.select.length > 0) {
196
- return `items {
197
- ${this.select.map(selectField => {
198
- return selectField.type === 'object'
199
- ? `${selectField.name} { ${selectField.subFields && selectField.subFields.length > 0 ? selectField.subFields.join(' ') : `id name description`} }`
200
- : `${selectField.name}`;
201
- })}
202
- }
203
- total`;
204
- }
205
- else {
206
- return `
207
- items {
208
- id
209
- name
210
- description
211
- }
212
- total
213
- `;
214
- }
215
- }
216
- async _buildConditions(page, limit, sorters) {
217
- const queryConditions = Object.assign({ filters: [] }, this.basicArgs);
218
- queryConditions.filters = [...queryConditions.filters, ...(await this.searchForm.getQueryFilters())];
219
- queryConditions.pagination = { page, limit };
220
- queryConditions.sortings = sorters;
221
- return queryConditions;
222
- }
223
- get selected() {
224
- var selected = this.grist.selected;
225
- return selected && selected.length > 0 ? selected[0] : undefined;
226
- }
227
- };
228
- EntitySelector.styles = [
229
- CommonHeaderStyles,
230
- MultiColumnFormStyles,
231
- css `
232
- :host {
233
- display: flex;
234
- flex-direction: column;
235
-
236
- background-color: var(--md-sys-color-surface);
237
- }
238
-
239
- ox-grist {
240
- flex: 1;
241
- }
242
-
243
- form {
244
- position: relative;
245
- }
246
-
247
- [search] {
248
- position: absolute;
249
- right: 0;
250
- }
251
- `
252
- ];
253
- __decorate([
254
- property({ type: String }),
255
- __metadata("design:type", String)
256
- ], EntitySelector.prototype, "value", void 0);
257
- __decorate([
258
- property({ type: Array }),
259
- __metadata("design:type", Object)
260
- ], EntitySelector.prototype, "searchFields", void 0);
261
- __decorate([
262
- property({ type: Object }),
263
- __metadata("design:type", Object)
264
- ], EntitySelector.prototype, "config", void 0);
265
- __decorate([
266
- property({ type: Object }),
267
- __metadata("design:type", Object)
268
- ], EntitySelector.prototype, "data", void 0);
269
- __decorate([
270
- property({ type: String }),
271
- __metadata("design:type", String)
272
- ], EntitySelector.prototype, "queryName", void 0);
273
- __decorate([
274
- property({ type: Array }),
275
- __metadata("design:type", Object)
276
- ], EntitySelector.prototype, "select", void 0);
277
- __decorate([
278
- property({ type: Object }),
279
- __metadata("design:type", Object)
280
- ], EntitySelector.prototype, "list", void 0);
281
- __decorate([
282
- property({ type: Object }),
283
- __metadata("design:type", Object)
284
- ], EntitySelector.prototype, "basicArgs", void 0);
285
- __decorate([
286
- property({ type: Array }),
287
- __metadata("design:type", Object)
288
- ], EntitySelector.prototype, "selectedRecords", void 0);
289
- __decorate([
290
- query('ox-grist'),
291
- __metadata("design:type", DataGrist)
292
- ], EntitySelector.prototype, "grist", void 0);
293
- __decorate([
294
- query('search-form'),
295
- __metadata("design:type", HTMLFormElement)
296
- ], EntitySelector.prototype, "searchForm", void 0);
297
- EntitySelector = __decorate([
298
- customElement('entity-selector')
299
- ], EntitySelector);
300
- export { EntitySelector };
301
- //# sourceMappingURL=entity-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-selector.js","sourceRoot":"","sources":["../../client/editors/entity-selector.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { DataGrist } from '@operato/data-grist/ox-grist.js'\nimport { buildArgs, client } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\nimport { isMobileDevice } from '@operato/utils'\nimport { MultiColumnFormStyles } from '@operato/form'\nimport { CommonHeaderStyles } from '@operato/styles'\nimport { FetchOption } from '@operato/data-grist'\n\n@customElement('entity-selector')\nexport class EntitySelector extends LitElement {\n static styles = [\n CommonHeaderStyles,\n MultiColumnFormStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n ox-grist {\n flex: 1;\n }\n\n form {\n position: relative;\n }\n\n [search] {\n position: absolute;\n right: 0;\n }\n `\n ]\n\n @property({ type: String }) value?: string\n @property({ type: Array }) searchFields: any\n @property({ type: Object }) config: any\n @property({ type: Object }) data: any\n @property({ type: String }) queryName!: string\n @property({ type: Array }) select: any\n @property({ type: Object }) list: any\n @property({ type: Object }) basicArgs: any\n @property({ type: Array }) selectedRecords: any\n\n @query('ox-grist') grist!: DataGrist\n @query('search-form') searchForm!: HTMLFormElement\n\n render() {\n return html`\n <search-form\n id=\"search-form\"\n @keypress=\"${async e => {\n if (e.keyCode === 13) {\n this.data = await this.grist.fetch()\n }\n }}\"\n @submit=\"${async e => (this.data = await this.grist.fetch())}\"\n .fields=\"${this.searchFields}\"\n ></search-form>\n\n <ox-grist\n .mode=${isMobileDevice() ? 'LIST' : 'GRID'}\n .config=${this.config}\n .data=${this.data}\n .fetchHandler=${this.fetchHandler.bind(this)}\n ></ox-grist>\n\n <div class=\"footer\">\n <div filler></div>\n <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>\n <button @click=${this.onConfirm.bind(this)} done><md-icon>check</md-icon>${i18next.t('button.confirm')}</button>\n </div>\n `\n }\n\n onCancel() {\n history.back()\n }\n\n onConfirm() {\n this.dispatchEvent(\n new CustomEvent('entity-selected', {\n detail: {\n entity: this.selected\n }\n })\n )\n }\n\n async fetchHandler({ page, limit, sorters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query {\n ${this.queryName} (${buildArgs(await this._buildConditions(page, limit, sorters))}) {\n ${this.getSelectFields()}\n }\n }\n `\n })\n\n if (!response.errors) {\n const records = response.data[this.queryName].items.map(item => {\n if (this.value === item.id) {\n this.selectedRecords = [item]\n item['__selected__'] = true\n }\n\n return item\n })\n const total = response.data[this.queryName].total\n\n return {\n records,\n total,\n limit,\n page\n }\n }\n }\n\n async firstUpdated() {\n this.config = {\n columns: [\n {\n type: 'gutter',\n gutterName: 'sequence'\n },\n {\n type: 'gutter',\n gutterName: 'row-selector',\n multiple: false\n }\n ],\n rows: {\n selectable: {\n multiple: false\n },\n handlers: {\n click: 'select-row',\n dblclick: (columns, data, column, record, rowIndex, field) => {\n this.onConfirm()\n }\n },\n appendable: false\n }\n }\n\n if (this.select && this.select.length > 0) {\n let _searchFields = this.select.filter(selectField => !selectField.hidden)\n if (this.list && this.list.fields && this.list.fields.length > 0) {\n _searchFields = _searchFields.filter(searchField => this.list.fields.indexOf(searchField.name) >= 0)\n } else {\n _searchFields = _searchFields.slice(0, 4)\n }\n\n this.searchFields = _searchFields.map(selectField => {\n const fieldType = (selectField.type && selectField.type.toLowerCase()) || 'string'\n const numberTypes = ['integer', 'float']\n return {\n label: selectField.header || i18next.t(`field.${selectField.name}`),\n name: selectField.name,\n type:\n fieldType === 'string'\n ? 'text'\n : numberTypes.indexOf(fieldType) >= 0\n ? 'number'\n : fieldType === 'boolean'\n ? 'checkbox'\n : fieldType,\n queryName: selectField.queryName,\n props:\n fieldType === 'string'\n ? { searchOper: 'i_like' }\n : fieldType === 'object'\n ? { searchOper: 'in' }\n : { searchOper: 'eq' },\n attrs: fieldType === 'boolean' ? ['indeterminated'] : []\n }\n })\n this.config = {\n ...this.config,\n columns: [\n ...this.config.columns,\n ...this.select.map(selectField => {\n return {\n ...selectField,\n type: selectField.type || 'string',\n width: selectField.width || 160,\n header: selectField.header || i18next.t(`field.${selectField.name}`)\n }\n })\n ]\n }\n } else {\n this.searchFields = [\n {\n label: i18next.t('field.name'),\n name: 'name',\n type: 'text',\n props: { searchOper: 'i_like' }\n },\n {\n label: i18next.t('field.description'),\n name: 'description',\n type: 'text',\n props: { searchOper: 'i_like' }\n }\n ]\n\n this.config = {\n ...this.config,\n columns: [\n ...this.config.columns,\n {\n type: 'string',\n name: 'id',\n header: i18next.t('field.id'),\n hidden: true\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n align: 'left'\n },\n sortable: true,\n width: 160\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: {\n align: 'left'\n },\n sortable: true,\n width: 300\n }\n ]\n }\n }\n\n this.config = {\n ...this.config,\n list: {\n ...this.list,\n fields:\n this.list && this.list.fields && this.list.fields.length > 0\n ? this.list.fields\n : this.config.columns\n .filter(column => column.type !== 'gutter')\n .slice(0, 3)\n .map(column => column.name)\n }\n }\n\n await this.updateComplete\n this.grist && this.grist.focus()\n }\n\n getSelectFields() {\n if (this.select && this.select.length > 0) {\n return `items {\n ${this.select.map(selectField => {\n return selectField.type === 'object'\n ? `${selectField.name} { ${selectField.subFields && selectField.subFields.length > 0 ? selectField.subFields.join(' ') : `id name description`} }`\n : `${selectField.name}`\n })}\n }\n total`\n } else {\n return `\n items {\n id\n name\n description\n }\n total\n `\n }\n }\n\n async _buildConditions(page, limit, sorters) {\n const queryConditions = {\n filters: [],\n ...this.basicArgs\n }\n\n queryConditions.filters = [...queryConditions.filters, ...(await this.searchForm.getQueryFilters())]\n queryConditions.pagination = { page, limit }\n queryConditions.sortings = sorters\n return queryConditions\n }\n\n get selected() {\n var selected = this.grist.selected\n\n return selected && selected.length > 0 ? selected[0] : undefined\n }\n}\n"]}
@@ -1,30 +0,0 @@
1
- import './things-editor-http-headers.js';
2
- import './things-editor-http-parameters.js';
3
- import './things-editor-http-body.js';
4
- import './things-editor-db-procedure.js';
5
- import './things-editor-tag-scenarios.js';
6
- import { OxPropertyEditor } from '@operato/property-editor';
7
- export declare class PropertyEditorScenarioStepInput extends OxPropertyEditor {
8
- static get styles(): import("lit").CSSResult[];
9
- editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
10
- }
11
- export declare class PropertyEditorHttpHeaders extends OxPropertyEditor {
12
- static get styles(): import("lit").CSSResult[];
13
- editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
14
- }
15
- export declare class PropertyEditorHttpParameters extends OxPropertyEditor {
16
- static get styles(): import("lit").CSSResult[];
17
- editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
18
- }
19
- export declare class PropertyEditorHttpBody extends OxPropertyEditor {
20
- static get styles(): import("lit").CSSResult[];
21
- editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
22
- }
23
- export declare class PropertyEditorProcedureParameters extends OxPropertyEditor {
24
- static get styles(): import("lit").CSSResult[];
25
- editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
26
- }
27
- export declare class PropertyEditorTagScenarios extends OxPropertyEditor {
28
- static get styles(): import("lit").CSSResult[];
29
- editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
30
- }