@things-factory/integration-ui 7.0.55 → 7.0.61
Sign up to get free protection for your applications and to get access to all the features.
- package/client/editors/entity-selector.ts +8 -6
- package/client/pages/connection-importer.ts +5 -4
- package/client/pages/scenario-detail.ts +5 -4
- package/client/pages/scenario-importer.ts +5 -4
- package/client/pages/scenario.ts +2 -20
- package/dist-client/editors/entity-editor.d.ts +1 -1
- package/dist-client/editors/entity-selector.d.ts +5 -8
- package/dist-client/editors/entity-selector.js +6 -5
- package/dist-client/editors/entity-selector.js.map +1 -1
- package/dist-client/editors/property-editor.d.ts +6 -6
- package/dist-client/editors/things-editor-db-procedure.d.ts +1 -1
- package/dist-client/editors/things-editor-entity-selector.d.ts +1 -1
- package/dist-client/editors/things-editor-http-body.d.ts +2 -2
- package/dist-client/editors/things-editor-http-headers.d.ts +1 -1
- package/dist-client/editors/things-editor-http-parameters.d.ts +1 -1
- package/dist-client/editors/things-editor-tag-scenarios.d.ts +1 -1
- package/dist-client/grist/dynamic-selector.d.ts +1 -1
- package/dist-client/grist/task-type-selector.d.ts +1 -1
- package/dist-client/pages/connection-importer.d.ts +1 -1
- package/dist-client/pages/connection-importer.js +5 -4
- package/dist-client/pages/connection-importer.js.map +1 -1
- package/dist-client/pages/connection.d.ts +1 -1
- package/dist-client/pages/integration-analysis.d.ts +1 -1
- package/dist-client/pages/integration-monitor.d.ts +1 -1
- package/dist-client/pages/scenario-detail.js +5 -4
- package/dist-client/pages/scenario-detail.js.map +1 -1
- package/dist-client/pages/scenario-importer.d.ts +1 -1
- package/dist-client/pages/scenario-importer.js +5 -4
- package/dist-client/pages/scenario-importer.js.map +1 -1
- package/dist-client/pages/scenario.d.ts +1 -1
- package/dist-client/pages/scenario.js +2 -18
- package/dist-client/pages/scenario.js.map +1 -1
- package/dist-client/pages/state-register.d.ts +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/viewparts/connections-monitor.d.ts +2 -2
- package/dist-client/viewparts/monitoring-summary.d.ts +2 -2
- package/dist-client/viewparts/pending-q-monitor.d.ts +2 -2
- package/dist-client/viewparts/scenario-instance-log-view.d.ts +1 -1
- package/dist-client/viewparts/scenario-instance-monitor.d.ts +1 -1
- package/dist-client/viewparts/scenario-instance-view.d.ts +3 -3
- package/dist-client/viewparts/scenario-monitor.d.ts +2 -2
- package/dist-client/viewparts/scenarios-monitor.d.ts +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
@@ -9,12 +9,13 @@ import { buildArgs, client } from '@operato/graphql'
|
|
9
9
|
import { i18next } from '@operato/i18n'
|
10
10
|
import { isMobileDevice } from '@operato/utils'
|
11
11
|
import { MultiColumnFormStyles } from '@operato/form'
|
12
|
-
import {
|
12
|
+
import { CommonHeaderStyles } from '@operato/styles'
|
13
|
+
import { FetchOption } from '@operato/data-grist'
|
13
14
|
|
14
15
|
@customElement('entity-selector')
|
15
16
|
export class EntitySelector extends LitElement {
|
16
17
|
static styles = [
|
17
|
-
|
18
|
+
CommonHeaderStyles,
|
18
19
|
MultiColumnFormStyles,
|
19
20
|
css`
|
20
21
|
:host {
|
@@ -69,12 +70,13 @@ export class EntitySelector extends LitElement {
|
|
69
70
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
70
71
|
.config=${this.config}
|
71
72
|
.data=${this.data}
|
72
|
-
.fetchHandler
|
73
|
+
.fetchHandler=${this.fetchHandler.bind(this)}
|
73
74
|
></ox-grist>
|
74
75
|
|
75
|
-
<div class="
|
76
|
+
<div class="footer">
|
77
|
+
<div filler></div>
|
76
78
|
<button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
|
77
|
-
<button @click=${this.onConfirm.bind(this)}><md-icon>check</md-icon>${i18next.t('button.confirm')}</button>
|
79
|
+
<button @click=${this.onConfirm.bind(this)} done><md-icon>check</md-icon>${i18next.t('button.confirm')}</button>
|
78
80
|
</div>
|
79
81
|
`
|
80
82
|
}
|
@@ -93,7 +95,7 @@ export class EntitySelector extends LitElement {
|
|
93
95
|
)
|
94
96
|
}
|
95
97
|
|
96
|
-
async fetchHandler({ page, limit, sorters = [] }) {
|
98
|
+
async fetchHandler({ page, limit, sorters = [] }: FetchOption) {
|
97
99
|
const response = await client.query({
|
98
100
|
query: gql`
|
99
101
|
query {
|
@@ -8,12 +8,12 @@ import { customElement, property, query, state } from 'lit/decorators.js'
|
|
8
8
|
import { client } from '@operato/graphql'
|
9
9
|
import { i18next } from '@operato/i18n'
|
10
10
|
import { isMobileDevice } from '@operato/utils'
|
11
|
-
import {
|
11
|
+
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'
|
12
12
|
|
13
13
|
@customElement('connection-importer')
|
14
14
|
export class ConnectionImporter extends LitElement {
|
15
15
|
static styles = [
|
16
|
-
|
16
|
+
CommonHeaderStyles,
|
17
17
|
CommonGristStyles,
|
18
18
|
css`
|
19
19
|
:host {
|
@@ -69,8 +69,9 @@ export class ConnectionImporter extends LitElement {
|
|
69
69
|
.data=${{ records: this.connections }}
|
70
70
|
></ox-grist>
|
71
71
|
|
72
|
-
<div class="
|
73
|
-
<
|
72
|
+
<div class="footer">
|
73
|
+
<div filler></div>
|
74
|
+
<button @click=${this.save.bind(this)} done><md-icon>save</md-icon>${i18next.t('button.save')}</button>
|
74
75
|
</div>
|
75
76
|
`
|
76
77
|
}
|
@@ -10,7 +10,7 @@ import { client } from '@operato/graphql'
|
|
10
10
|
import { HelpDecoratedRenderer } from '@operato/help/help-decorated-renderer.js'
|
11
11
|
import { i18next, localize } from '@operato/i18n'
|
12
12
|
import { isMobileDevice } from '@operato/utils'
|
13
|
-
import {
|
13
|
+
import { CommonHeaderStyles } from '@operato/styles'
|
14
14
|
import { FetchOption } from '@operato/data-grist'
|
15
15
|
|
16
16
|
const SelectFields = ['name', 'description', 'sequence', 'task', 'connection', 'params', 'result', 'skip', 'log']
|
@@ -18,7 +18,7 @@ const SelectFields = ['name', 'description', 'sequence', 'task', 'connection', '
|
|
18
18
|
@customElement('scenario-detail')
|
19
19
|
class ScenarioDetail extends localize(i18next)(LitElement) {
|
20
20
|
static styles = [
|
21
|
-
|
21
|
+
CommonHeaderStyles,
|
22
22
|
css`
|
23
23
|
:host {
|
24
24
|
display: flex;
|
@@ -46,11 +46,12 @@ class ScenarioDetail extends localize(i18next)(LitElement) {
|
|
46
46
|
.config=${this.gristConfig}
|
47
47
|
.fetchHandler=${this.fetchHandler.bind(this)}
|
48
48
|
></ox-grist>
|
49
|
-
<div class="
|
49
|
+
<div class="footer">
|
50
|
+
<div filler></div>
|
50
51
|
<button danger @click=${this._deleteSteps.bind(this)}>
|
51
52
|
<md-icon>delete</md-icon>${i18next.t('button.delete')}
|
52
53
|
</button>
|
53
|
-
<button @click=${this._updateSteps.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>
|
54
|
+
<button @click=${this._updateSteps.bind(this)} done><md-icon>save</md-icon>${i18next.t('button.save')}</button>
|
54
55
|
</div>
|
55
56
|
`
|
56
57
|
}
|
@@ -8,12 +8,12 @@ import { customElement, property, query, state } from 'lit/decorators.js'
|
|
8
8
|
import { client } from '@operato/graphql'
|
9
9
|
import { i18next } from '@operato/i18n'
|
10
10
|
import { isMobileDevice } from '@operato/utils'
|
11
|
-
import {
|
11
|
+
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'
|
12
12
|
|
13
13
|
@customElement('scenario-importer')
|
14
14
|
export class ScenarioImporter extends LitElement {
|
15
15
|
static styles = [
|
16
|
-
|
16
|
+
CommonHeaderStyles,
|
17
17
|
CommonGristStyles,
|
18
18
|
css`
|
19
19
|
:host {
|
@@ -75,8 +75,9 @@ export class ScenarioImporter extends LitElement {
|
|
75
75
|
.data=${{ records: this.scenarios }}
|
76
76
|
></ox-grist>
|
77
77
|
|
78
|
-
<div class="
|
79
|
-
<
|
78
|
+
<div class="footer">
|
79
|
+
<div filler></div>
|
80
|
+
<button @click=${this.save.bind(this)} done><md-icon>save</md-icon>${i18next.t('button.save')}</button>
|
80
81
|
</div>
|
81
82
|
`
|
82
83
|
}
|
package/client/pages/scenario.ts
CHANGED
@@ -128,26 +128,8 @@ export class Scenario extends connect(store)(p13n(localize(i18next)(PageView)))
|
|
128
128
|
{
|
129
129
|
type: 'gutter',
|
130
130
|
gutterName: 'button',
|
131
|
-
|
132
|
-
|
133
|
-
icon: record =>
|
134
|
-
!record
|
135
|
-
? 'calendar_add_on'
|
136
|
-
: !record.id || !record.schedule
|
137
|
-
? ''
|
138
|
-
: record.scheduleId
|
139
|
-
? 'event_available'
|
140
|
-
: 'calendar_add_on',
|
141
|
-
iconOnly: false,
|
142
|
-
title: record =>
|
143
|
-
!record
|
144
|
-
? i18next.t('button.schedule-task')
|
145
|
-
: !record.id || !record.schedule
|
146
|
-
? ''
|
147
|
-
: record.scheduleId
|
148
|
-
? i18next.t('button.unschedule-task')
|
149
|
-
: i18next.t('button.schedule-task'),
|
150
|
-
width: 110,
|
131
|
+
icon: record => (!record ? 'calendar_add_on' : !record.id || !record.scheduleId ? '' : 'event_available'),
|
132
|
+
title: i18next.t('button.schedule-task'),
|
151
133
|
handlers: {
|
152
134
|
click: (columns, data, column, record, rowIndex) => {
|
153
135
|
if (!record || !record.name) {
|
@@ -2,7 +2,7 @@ import './things-editor-entity-selector';
|
|
2
2
|
import { OxPropertyEditor } from '@operato/property-editor';
|
3
3
|
export declare class PropertyEditorEntitySelector extends OxPropertyEditor {
|
4
4
|
static get styles(): import("lit").CSSResult[];
|
5
|
-
editorTemplate(value: any, spec: any): import("lit").TemplateResult<1>;
|
5
|
+
editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
|
6
6
|
shouldUpdate(changedProperties: any): boolean;
|
7
7
|
get valueProperty(): string;
|
8
8
|
_computeLabelId(label: any): any;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import '@operato/data-grist';
|
2
2
|
import { LitElement } from 'lit';
|
3
3
|
import { DataGrist } from '@operato/data-grist/ox-grist.js';
|
4
|
+
import { FetchOption } from '@operato/data-grist';
|
4
5
|
export declare class EntitySelector extends LitElement {
|
5
6
|
static styles: import("lit").CSSResult[];
|
6
7
|
value?: string;
|
@@ -14,18 +15,14 @@ export declare class EntitySelector extends LitElement {
|
|
14
15
|
selectedRecords: any;
|
15
16
|
grist: DataGrist;
|
16
17
|
searchForm: HTMLFormElement;
|
17
|
-
render(): import("lit").TemplateResult<1>;
|
18
|
+
render(): import("lit-html").TemplateResult<1>;
|
18
19
|
onCancel(): void;
|
19
20
|
onConfirm(): void;
|
20
|
-
fetchHandler({ page, limit, sorters }: {
|
21
|
-
page: any;
|
22
|
-
limit: any;
|
23
|
-
sorters?: never[] | undefined;
|
24
|
-
}): Promise<{
|
21
|
+
fetchHandler({ page, limit, sorters }: FetchOption): Promise<{
|
25
22
|
records: any;
|
26
23
|
total: any;
|
27
|
-
limit:
|
28
|
-
page:
|
24
|
+
limit: number | undefined;
|
25
|
+
page: number | undefined;
|
29
26
|
} | undefined>;
|
30
27
|
firstUpdated(): Promise<void>;
|
31
28
|
getSelectFields(): string;
|
@@ -8,7 +8,7 @@ import { buildArgs, client } from '@operato/graphql';
|
|
8
8
|
import { i18next } from '@operato/i18n';
|
9
9
|
import { isMobileDevice } from '@operato/utils';
|
10
10
|
import { MultiColumnFormStyles } from '@operato/form';
|
11
|
-
import {
|
11
|
+
import { CommonHeaderStyles } from '@operato/styles';
|
12
12
|
let EntitySelector = class EntitySelector extends LitElement {
|
13
13
|
render() {
|
14
14
|
return html `
|
@@ -27,12 +27,13 @@ let EntitySelector = class EntitySelector extends LitElement {
|
|
27
27
|
.mode=${isMobileDevice() ? 'LIST' : 'GRID'}
|
28
28
|
.config=${this.config}
|
29
29
|
.data=${this.data}
|
30
|
-
.fetchHandler
|
30
|
+
.fetchHandler=${this.fetchHandler.bind(this)}
|
31
31
|
></ox-grist>
|
32
32
|
|
33
|
-
<div class="
|
33
|
+
<div class="footer">
|
34
|
+
<div filler></div>
|
34
35
|
<button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
|
35
|
-
<button @click=${this.onConfirm.bind(this)}><md-icon>check</md-icon>${i18next.t('button.confirm')}</button>
|
36
|
+
<button @click=${this.onConfirm.bind(this)} done><md-icon>check</md-icon>${i18next.t('button.confirm')}</button>
|
36
37
|
</div>
|
37
38
|
`;
|
38
39
|
}
|
@@ -225,7 +226,7 @@ let EntitySelector = class EntitySelector extends LitElement {
|
|
225
226
|
}
|
226
227
|
};
|
227
228
|
EntitySelector.styles = [
|
228
|
-
|
229
|
+
CommonHeaderStyles,
|
229
230
|
MultiColumnFormStyles,
|
230
231
|
css `
|
231
232
|
:host {
|
@@ -1 +1 @@
|
|
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 { ButtonContainerStyles } from '@operato/styles'\n\n@customElement('entity-selector')\nexport class EntitySelector extends LitElement {\n static styles = [\n ButtonContainerStyles,\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=\"button-container\">\n <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>\n <button @click=${this.onConfirm.bind(this)}><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 = [] }) {\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
|
+
{"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"]}
|
@@ -6,25 +6,25 @@ import './things-editor-tag-scenarios';
|
|
6
6
|
import { OxPropertyEditor } from '@operato/property-editor';
|
7
7
|
export declare class PropertyEditorScenarioStepInput extends OxPropertyEditor {
|
8
8
|
static get styles(): import("lit").CSSResult[];
|
9
|
-
editorTemplate(value: any, spec: any): import("lit").TemplateResult<1>;
|
9
|
+
editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
|
10
10
|
}
|
11
11
|
export declare class PropertyEditorHttpHeaders extends OxPropertyEditor {
|
12
12
|
static get styles(): import("lit").CSSResult[];
|
13
|
-
editorTemplate(value: any, spec: any): import("lit").TemplateResult<1>;
|
13
|
+
editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
|
14
14
|
}
|
15
15
|
export declare class PropertyEditorHttpParameters extends OxPropertyEditor {
|
16
16
|
static get styles(): import("lit").CSSResult[];
|
17
|
-
editorTemplate(value: any, spec: any): import("lit").TemplateResult<1>;
|
17
|
+
editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
|
18
18
|
}
|
19
19
|
export declare class PropertyEditorHttpBody extends OxPropertyEditor {
|
20
20
|
static get styles(): import("lit").CSSResult[];
|
21
|
-
editorTemplate(value: any, spec: any): import("lit").TemplateResult<1>;
|
21
|
+
editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
|
22
22
|
}
|
23
23
|
export declare class PropertyEditorProcedureParameters extends OxPropertyEditor {
|
24
24
|
static get styles(): import("lit").CSSResult[];
|
25
|
-
editorTemplate(value: any, spec: any): import("lit").TemplateResult<1>;
|
25
|
+
editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
|
26
26
|
}
|
27
27
|
export declare class PropertyEditorTagScenarios extends OxPropertyEditor {
|
28
28
|
static get styles(): import("lit").CSSResult[];
|
29
|
-
editorTemplate(value: any, spec: any): import("lit").TemplateResult<1>;
|
29
|
+
editorTemplate(value: any, spec: any): import("lit-html").TemplateResult<1>;
|
30
30
|
}
|
@@ -36,7 +36,7 @@ export declare class ThingsEditorProcedureParameters extends OxFormField {
|
|
36
36
|
private _changingNow;
|
37
37
|
records: NodeListOf<HTMLElement>;
|
38
38
|
firstUpdated(): void;
|
39
|
-
render(): import("lit").TemplateResult<1>;
|
39
|
+
render(): import("lit-html").TemplateResult<1>;
|
40
40
|
updated(changes: any): void;
|
41
41
|
_onChange(e: Event): void;
|
42
42
|
_adjust({ name, type, dir, maxSize, val, accessor }: ProcedureParameterType): ProcedureParameterType;
|
@@ -9,7 +9,7 @@ export default class ThingsEditorEntitySelector extends LitElement {
|
|
9
9
|
value?: string;
|
10
10
|
properties: any;
|
11
11
|
popup: any;
|
12
|
-
render(): import("lit").TemplateResult<1>;
|
12
|
+
render(): import("lit-html").TemplateResult<1>;
|
13
13
|
_onInputChanged(e: any): void;
|
14
14
|
openSelector(): void;
|
15
15
|
}
|
@@ -16,7 +16,7 @@ export default class ThingsEditorHttpBody extends LitElement {
|
|
16
16
|
[key: string]: string;
|
17
17
|
};
|
18
18
|
firstUpdated(): void;
|
19
|
-
render(): import("lit").TemplateResult<1>;
|
20
|
-
renderContentType(contentType: any): import("lit").TemplateResult<1>;
|
19
|
+
render(): import("lit-html").TemplateResult<1>;
|
20
|
+
renderContentType(contentType: any): import("lit-html").TemplateResult<1>;
|
21
21
|
_onChange(e: any): void;
|
22
22
|
}
|
@@ -17,7 +17,7 @@ export default class ThingsEditorHttpHeaders extends LitElement {
|
|
17
17
|
};
|
18
18
|
_changingNow: boolean;
|
19
19
|
firstUpdated(): void;
|
20
|
-
render(): import("lit").TemplateResult<1>;
|
20
|
+
render(): import("lit-html").TemplateResult<1>;
|
21
21
|
_onChange(e: any): void;
|
22
22
|
_build(includeNewRecord?: any): void;
|
23
23
|
_toArray(map: any): {
|
@@ -17,7 +17,7 @@ export default class ThingsEditorHttpParameters extends LitElement {
|
|
17
17
|
};
|
18
18
|
_changingNow: boolean;
|
19
19
|
firstUpdated(): void;
|
20
|
-
render(): import("lit").TemplateResult<1>;
|
20
|
+
render(): import("lit-html").TemplateResult<1>;
|
21
21
|
_onChange(e: any): void;
|
22
22
|
_build(includeNewRecord?: any): void;
|
23
23
|
_toArray(map: any): {
|
@@ -20,7 +20,7 @@ export default class ThingsEditorTagScenarios extends LitElement {
|
|
20
20
|
private scenarios;
|
21
21
|
firstUpdated(): void;
|
22
22
|
fetchScenarios(): Promise<void>;
|
23
|
-
render(): import("lit").TemplateResult<1>;
|
23
|
+
render(): import("lit-html").TemplateResult<1>;
|
24
24
|
_onChange(e: any): void;
|
25
25
|
_build(includeNewRecord?: any): void;
|
26
26
|
_toArray(map: any): {
|
@@ -7,7 +7,7 @@ import { customElement, property } from 'lit/decorators.js';
|
|
7
7
|
import { client } from '@operato/graphql';
|
8
8
|
import { i18next } from '@operato/i18n';
|
9
9
|
import { isMobileDevice } from '@operato/utils';
|
10
|
-
import {
|
10
|
+
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles';
|
11
11
|
let ConnectionImporter = class ConnectionImporter extends LitElement {
|
12
12
|
constructor() {
|
13
13
|
super(...arguments);
|
@@ -50,8 +50,9 @@ let ConnectionImporter = class ConnectionImporter extends LitElement {
|
|
50
50
|
.data=${{ records: this.connections }}
|
51
51
|
></ox-grist>
|
52
52
|
|
53
|
-
<div class="
|
54
|
-
<
|
53
|
+
<div class="footer">
|
54
|
+
<div filler></div>
|
55
|
+
<button @click=${this.save.bind(this)} done><md-icon>save</md-icon>${i18next.t('button.save')}</button>
|
55
56
|
</div>
|
56
57
|
`;
|
57
58
|
}
|
@@ -71,7 +72,7 @@ let ConnectionImporter = class ConnectionImporter extends LitElement {
|
|
71
72
|
}
|
72
73
|
};
|
73
74
|
ConnectionImporter.styles = [
|
74
|
-
|
75
|
+
CommonHeaderStyles,
|
75
76
|
CommonGristStyles,
|
76
77
|
css `
|
77
78
|
:host {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"connection-importer.js","sourceRoot":"","sources":["../../client/pages/connection-importer.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,qBAAqB,CAAA;AAE5B,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAgB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"connection-importer.js","sourceRoot":"","sources":["../../client/pages/connection-importer.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,qBAAqB,CAAA;AAE5B,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAgB,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGhE,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAA3C;;QAmBuB,YAAO,GAAQ;YACzC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;YACzC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC9B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC/B,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACtC,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC/B,KAAK,EAAE,GAAG;iBACX;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBACnC,KAAK,EAAE,GAAG;iBACX;aACF;SACF,CAAA;IA+BH,CAAC;IA7BC,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;kBAChC,IAAI,CAAC,OAAO;gBACd,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;;;;;yBAKpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;;KAEhG,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;;QACR,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAA;;;;OAIZ;YACD,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;SAC7C,CAAC,CAAA;QAEF,IAAI,MAAA,QAAQ,CAAC,MAAM,0CAAE,MAAM;YAAE,OAAM;QAEnC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;IACjD,CAAC;;AA7EM,yBAAM,GAAG;IACd,kBAAkB;IAClB,iBAAiB;IACjB,GAAG,CAAA;;;;;;;;;;;KAWF;CACF,AAfY,CAeZ;AAE0B;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;uDAAiB;AACf;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDA6B1B;AAhDU,kBAAkB;IAD9B,aAAa,CAAC,qBAAqB,CAAC;GACxB,kBAAkB,CA+E9B","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next } from '@operato/i18n'\nimport { isMobileDevice } from '@operato/utils'\nimport { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'\n\n@customElement('connection-importer')\nexport class ConnectionImporter extends LitElement {\n static styles = [\n CommonHeaderStyles,\n CommonGristStyles,\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 ]\n\n @property({ type: Array }) connections: any\n @property({ type: Object }) columns: any = {\n list: { fields: ['name', 'description'] },\n pagination: { infinite: true },\n columns: [\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n width: 200\n },\n {\n type: 'string',\n name: 'type',\n header: i18next.t('field.type'),\n width: 100\n },\n {\n type: 'string',\n name: 'endpoint',\n header: i18next.t('field.endpoint'),\n width: 120\n }\n ]\n }\n\n render() {\n return html`\n <ox-grist\n .mode=${isMobileDevice() ? 'LIST' : 'GRID'}\n .config=${this.columns}\n .data=${{ records: this.connections }}\n ></ox-grist>\n\n <div class=\"footer\">\n <div filler></div>\n <button @click=${this.save.bind(this)} done><md-icon>save</md-icon>${i18next.t('button.save')}</button>\n </div>\n `\n }\n\n async save() {\n const response = await client.mutate({\n mutation: gql`\n mutation importConnections($connections: [ConnectionPatch!]!) {\n importConnections(connections: $connections)\n }\n `,\n variables: { connections: this.connections }\n })\n\n if (response.errors?.length) return\n\n this.dispatchEvent(new CustomEvent('imported'))\n }\n}\n"]}
|
@@ -47,7 +47,7 @@ export declare class Connection extends Connection_base {
|
|
47
47
|
handler: (records: any) => Promise<void>;
|
48
48
|
};
|
49
49
|
};
|
50
|
-
render(): import("lit").TemplateResult<1>;
|
50
|
+
render(): import("lit-html").TemplateResult<1>;
|
51
51
|
pageInitialized(): Promise<void>;
|
52
52
|
fetchHandler({ page, limit, sortings, filters }: FetchOption): Promise<{
|
53
53
|
total: any;
|
@@ -15,7 +15,7 @@ export declare class IntegrationAnalysis extends IntegrationAnalysis_base {
|
|
15
15
|
};
|
16
16
|
help: string;
|
17
17
|
};
|
18
|
-
render(): import("lit").TemplateResult<1>;
|
18
|
+
render(): import("lit-html").TemplateResult<1>;
|
19
19
|
updated(changes: any): void;
|
20
20
|
pageUpdated(changes: any): Promise<void>;
|
21
21
|
fetchIntegrationAnalysis(): Promise<void>;
|
@@ -18,7 +18,7 @@ export declare class IntegrationMonitor extends IntegrationMonitor_base {
|
|
18
18
|
title: string;
|
19
19
|
help: string;
|
20
20
|
};
|
21
|
-
render(): import("lit").TemplateResult<1>;
|
21
|
+
render(): import("lit-html").TemplateResult<1>;
|
22
22
|
pageUpdated(changes: any): Promise<void>;
|
23
23
|
fetchScenarios(): Promise<void>;
|
24
24
|
fetchConnections(): Promise<void>;
|
@@ -9,7 +9,7 @@ import { client } from '@operato/graphql';
|
|
9
9
|
import { HelpDecoratedRenderer } from '@operato/help/help-decorated-renderer.js';
|
10
10
|
import { i18next, localize } from '@operato/i18n';
|
11
11
|
import { isMobileDevice } from '@operato/utils';
|
12
|
-
import {
|
12
|
+
import { CommonHeaderStyles } from '@operato/styles';
|
13
13
|
const SelectFields = ['name', 'description', 'sequence', 'task', 'connection', 'params', 'result', 'skip', 'log'];
|
14
14
|
let ScenarioDetail = class ScenarioDetail extends localize(i18next)(LitElement) {
|
15
15
|
render() {
|
@@ -19,11 +19,12 @@ let ScenarioDetail = class ScenarioDetail extends localize(i18next)(LitElement)
|
|
19
19
|
.config=${this.gristConfig}
|
20
20
|
.fetchHandler=${this.fetchHandler.bind(this)}
|
21
21
|
></ox-grist>
|
22
|
-
<div class="
|
22
|
+
<div class="footer">
|
23
|
+
<div filler></div>
|
23
24
|
<button danger @click=${this._deleteSteps.bind(this)}>
|
24
25
|
<md-icon>delete</md-icon>${i18next.t('button.delete')}
|
25
26
|
</button>
|
26
|
-
<button @click=${this._updateSteps.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>
|
27
|
+
<button @click=${this._updateSteps.bind(this)} done><md-icon>save</md-icon>${i18next.t('button.save')}</button>
|
27
28
|
</div>
|
28
29
|
`;
|
29
30
|
}
|
@@ -261,7 +262,7 @@ let ScenarioDetail = class ScenarioDetail extends localize(i18next)(LitElement)
|
|
261
262
|
}
|
262
263
|
};
|
263
264
|
ScenarioDetail.styles = [
|
264
|
-
|
265
|
+
CommonHeaderStyles,
|
265
266
|
css `
|
266
267
|
:host {
|
267
268
|
display: flex;
|