@ticatec/uniface-element 0.1.35 → 0.1.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/attachment-files/AttachmentFilesField.svelte +1 -1
- package/dist/attachment-files/FileRender.svelte +2 -2
- package/dist/attachment-files/FileUploadPanel.svelte +1 -1
- package/dist/box/Box.svelte +1 -1
- package/dist/box/Box.svelte.d.ts +2 -2
- package/dist/cascade-options-select/CascadeOptionSelect.svelte +1 -1
- package/dist/criteria-field/CriteriaField.svelte +1 -2
- package/dist/criteria-field/CriteriaField.svelte.d.ts +0 -1
- package/dist/data-table/lib/IndicatorColumn.d.ts +1 -1
- package/dist/data-table/parts/FixedHeaderPanel.svelte +1 -1
- package/dist/data-table/parts/FixedRow.svelte +1 -1
- package/dist/date-picker/ScrollBar.svelte +2 -2
- package/dist/dialog/Dialog.svelte +1 -1
- package/dist/form-field/FormField.svelte +6 -6
- package/dist/form-field/FormField.svelte.d.ts +0 -1
- package/dist/form-panel/flex-form/CellField.svelte +1 -2
- package/dist/form-panel/flex-form/CellField.svelte.d.ts +0 -1
- package/dist/form-panel/flex-form/FlexForm.svelte +3 -1
- package/dist/form-panel/flex-form/FlexForm.svelte.d.ts +1 -0
- package/dist/form-panel/flex-row-form/FormContainer.svelte +2 -1
- package/dist/form-panel/flex-row-form/FormContainer.svelte.d.ts +1 -0
- package/dist/form-panel/grid-form/GridField.svelte +8 -6
- package/dist/form-panel/grid-form/GridField.svelte.d.ts +4 -3
- package/dist/form-panel/grid-form/GridForm.svelte +9 -2
- package/dist/form-panel/grid-form/GridForm.svelte.d.ts +2 -0
- package/dist/image-files/ImageFilesField.svelte +1 -1
- package/dist/image-files/ImagePreview.svelte +3 -3
- package/dist/image-files/ImageRender.svelte +2 -2
- package/dist/list-box/ListBox.svelte +17 -15
- package/dist/lookup-editor/LookupEditor.svelte +1 -1
- package/dist/message-box/MessageBoxBoard.svelte +1 -1
- package/dist/navigator/Navigator.svelte +2 -0
- package/dist/navigator/Navigator.svelte.d.ts +1 -0
- package/dist/search-box/SearchBox.svelte +2 -2
- package/dist/tabs/Tabs.svelte +24 -34
- package/dist/tabs/Tabs.svelte.d.ts +1 -0
- package/dist/tag/Tag.svelte +4 -2
- package/dist/text-editor/PasswordEditor.svelte +3 -3
- package/dist/ticatec-uniface-web.css +80 -75
- package/dist/tree-view/TreeNodeView.svelte +1 -1
- package/dist/tree-view/TreeNodeView.svelte.d.ts +1 -1
- package/dist/tree-view/TreeView.svelte +1 -1
- package/dist/tree-view/TreeView.svelte.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
</div>
|
|
68
68
|
{#if !disabled && !readonly}
|
|
69
69
|
<div class="editor-action-icon">
|
|
70
|
-
<i class="
|
|
70
|
+
<i class="icon_google_file_upload" aria-hidden="true" on:click={showDialog}></i>
|
|
71
71
|
</div>
|
|
72
72
|
{/if}
|
|
73
73
|
</div>
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
<div class="file-icon">
|
|
51
51
|
<img src={icon} width="64px" height="64px"/>
|
|
52
52
|
<div class="action-icon" style="top: 15px;">
|
|
53
|
-
<i class="
|
|
53
|
+
<i class="icon_google_file_download" ></i>
|
|
54
54
|
</div>
|
|
55
55
|
{#if !readonly}
|
|
56
56
|
<div class="action-icon" style="top: 35px;">
|
|
57
|
-
<i class="
|
|
57
|
+
<i class="icon_google_clear" aria-hidden="true" on:click={removeFile}></i>
|
|
58
58
|
</div>
|
|
59
59
|
{/if}
|
|
60
60
|
</div>
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
<input bind:this={fileInput} type="file" {accept} multiple={maxFiles > 1} on:change={handleFilePickup}/>
|
|
118
118
|
</div>
|
|
119
119
|
<div style="margin-bottom: 8px; flex: 0 0 auto; text-align: center">
|
|
120
|
-
<Button type="primary" disabled={files.length >= maxFiles} icon="
|
|
120
|
+
<Button type="primary" disabled={files.length >= maxFiles} icon="icon_google_file_upload" label={btnPickup}
|
|
121
121
|
onClick={showFileDialog}></Button>
|
|
122
122
|
</div>
|
|
123
123
|
<div style="flex: 1 1 auto; overflow: auto; padding: 0 24px">
|
package/dist/box/Box.svelte
CHANGED
package/dist/box/Box.svelte.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ declare const Box: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithCh
|
|
|
23
23
|
content$style?: string | null;
|
|
24
24
|
header$style?: string | null;
|
|
25
25
|
footer$style?: string | null;
|
|
26
|
-
class?:
|
|
26
|
+
class?: string;
|
|
27
27
|
}, {
|
|
28
28
|
header: {};
|
|
29
29
|
default: {};
|
|
@@ -35,7 +35,7 @@ declare const Box: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithCh
|
|
|
35
35
|
default: {};
|
|
36
36
|
footer: {};
|
|
37
37
|
}, {
|
|
38
|
-
class:
|
|
38
|
+
class: string;
|
|
39
39
|
}, string>;
|
|
40
40
|
type Box = InstanceType<typeof Box>;
|
|
41
41
|
export default Box;
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
</script>
|
|
113
113
|
|
|
114
114
|
|
|
115
|
-
<CommonPicker {displayMode} {variant} {style} {compact} className="multiple" dropDownIcon="
|
|
115
|
+
<CommonPicker {displayMode} {variant} {style} {compact} className="multiple" dropDownIcon="icon_google_keyboard_arrow_down"
|
|
116
116
|
bind:showPopup canClean={!mandatory && text!=null} autoFit clean={cleanData} textValue={text??''} {readonly} {disabled}>
|
|
117
117
|
<input style="width: 100%" bind:this={editor} on:click={openPopup} {placeholder}
|
|
118
118
|
class="text-editor" bind:value={text} on:blur on:focus/>
|
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
export let label: string = "Label"
|
|
5
5
|
export let style: string = '';
|
|
6
6
|
export let label$style: string = '';
|
|
7
|
-
export let arrangement: 'vertical' | 'horizontal' = 'vertical' ;
|
|
8
7
|
export let size: '' | 'x15' | 'x20' | 'x25' | 'x30' | 'x35' | 'x40' = '';
|
|
9
8
|
export let labelSuffix: string = ':';
|
|
10
9
|
|
|
11
10
|
let className: string = '';
|
|
12
11
|
|
|
13
12
|
</script>
|
|
14
|
-
<div class="uniface-filter-field {size} {
|
|
13
|
+
<div class="uniface-filter-field {size} {className}" {style} >
|
|
15
14
|
<div class="field-container">
|
|
16
15
|
<div class="field-label" style={label$style}>
|
|
17
16
|
<span>{label}{labelSuffix}</span>
|
|
@@ -21,7 +21,6 @@ declare const CriteriaField: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_P
|
|
|
21
21
|
label?: string;
|
|
22
22
|
style?: string;
|
|
23
23
|
label$style?: string;
|
|
24
|
-
arrangement?: "vertical" | "horizontal";
|
|
25
24
|
size?: "" | "x15" | "x20" | "x25" | "x30" | "x35" | "x40";
|
|
26
25
|
labelSuffix?: string;
|
|
27
26
|
}, {
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
<span>{column.text}</span>
|
|
98
98
|
{#if column === orderColumn}
|
|
99
99
|
<i style="margin-left: 2px; font-size: 12px; position: absolute; top: 0; right: 4px"
|
|
100
|
-
class={orderDirection===OrderDirection.Ascending ? '
|
|
100
|
+
class={orderDirection===OrderDirection.Ascending ? 'icon_google_keyboard_arrow_up' : 'icon_google_keyboard_arrow_down'}></i>
|
|
101
101
|
{/if}
|
|
102
102
|
</div>
|
|
103
103
|
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
{#if expandable}
|
|
48
48
|
<div class="expand-icon" style="">
|
|
49
|
-
<i class={row == expandRow ? '
|
|
49
|
+
<i class={row == expandRow ? 'icon_google_folder' : "icon_google_folder_open"} aria-hidden="true" on:click={showInlineData}></i>
|
|
50
50
|
</div>
|
|
51
51
|
{/if}
|
|
52
52
|
{#if indicatorColumn.displayNo}
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
<div class="scroll-bar" tabindex="1" on:wheel={handleMouseWheel}>
|
|
75
75
|
<div class="action-bar">
|
|
76
76
|
<div class="arrow-up" class:disabled={!enable}>
|
|
77
|
-
<i class="
|
|
77
|
+
<i class="icon_google_keyboard_arrow_up" on:click={decValue} on:dragstart={(e)=>{e.preventDefault()}}
|
|
78
78
|
on:mousedown={handleMouseDown(-1)} on:mouseup={handleMouseUp} on:mouseleave={handleMouseUp}></i>
|
|
79
79
|
</div>
|
|
80
80
|
</div>
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
{/each}
|
|
84
84
|
<div class="action-bar">
|
|
85
85
|
<div class="arrow-down" class:disabled={!enable}>
|
|
86
|
-
<i class="
|
|
86
|
+
<i class="icon_google_keyboard_arrow_downn" on:click={incValue} on:dragstart={(e)=>{e.preventDefault()}}
|
|
87
87
|
on:mousedown={handleMouseDown(1)} on:mouseup={handleMouseUp} on:mouseleave={handleMouseUp}></i>
|
|
88
88
|
</div>
|
|
89
89
|
</div>
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
<div class="title-bar" on:mousedown={handleMouseDown} on:mouseup={handleMouseUp} aria-hidden="true">
|
|
62
62
|
<div style="flex: 1 1 auto"><span>{title ?? 'New window'}</span></div>
|
|
63
63
|
<div style="flex: 0 0 auto; padding-left: 12px">
|
|
64
|
-
<i class="
|
|
64
|
+
<i class="icon_google_clear dialog-action-button" aria-hidden="true" on:click={close}></i>
|
|
65
65
|
</div>
|
|
66
66
|
</div>
|
|
67
67
|
<div class="dialog-content" style={content$style}>
|
|
@@ -8,22 +8,22 @@
|
|
|
8
8
|
export let label$style: string | null = null;
|
|
9
9
|
export let required: boolean = false;
|
|
10
10
|
export let error: string | null = null;
|
|
11
|
-
export let arrangement: 'vertical' | 'horizontal' = 'vertical';
|
|
12
11
|
export let labelSuffix: string = ':';
|
|
13
|
-
export let label$alignment: 'center' | 'top' = 'center'
|
|
12
|
+
export let label$alignment: 'center' | 'top' = 'center';
|
|
13
|
+
|
|
14
14
|
|
|
15
15
|
let className: string = '';
|
|
16
16
|
|
|
17
17
|
</script>
|
|
18
|
-
<div class="uniface-form-field {
|
|
19
|
-
<div class="form-content" style="width: 100
|
|
20
|
-
<div class="field-label" style={label$style} class:vert-top={
|
|
18
|
+
<div class="uniface-form-field {className}" {style}>
|
|
19
|
+
<div class="form-content" style="width: 100%;">
|
|
20
|
+
<div class="field-label" style={label$style} class:vert-top={label$alignment=='top'}>
|
|
21
21
|
{#if required}
|
|
22
22
|
<span class="required-indicator">*</span>
|
|
23
23
|
{/if}
|
|
24
24
|
<span>{label}{labelSuffix}</span>
|
|
25
25
|
</div>
|
|
26
|
-
<div class="field">
|
|
26
|
+
<div class="field" style="">
|
|
27
27
|
<slot/>
|
|
28
28
|
</div>
|
|
29
29
|
{#if !utils.isEmpty(error)}
|
|
@@ -23,7 +23,6 @@ declare const FormField: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_Props
|
|
|
23
23
|
label$style?: string | null;
|
|
24
24
|
required?: boolean;
|
|
25
25
|
error?: string | null;
|
|
26
|
-
arrangement?: "vertical" | "horizontal";
|
|
27
26
|
labelSuffix?: string;
|
|
28
27
|
label$alignment?: "center" | "top";
|
|
29
28
|
}, {
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
export let label$style: string = '';
|
|
9
9
|
export let required: boolean = false;
|
|
10
10
|
export let error: string | null = null;
|
|
11
|
-
export let arrangement: 'vertical' | 'horizontal' = 'vertical' ;
|
|
12
11
|
export let labelSuffix: string = ':';
|
|
13
12
|
|
|
14
13
|
let cellCss: string = '';
|
|
@@ -25,6 +24,6 @@
|
|
|
25
24
|
$: cellCss = generateCss(span);
|
|
26
25
|
|
|
27
26
|
</script>
|
|
28
|
-
<FormField class="cell
|
|
27
|
+
<FormField class="form-cell" {label} {labelSuffix} style="{style}; {cellCss}" {label$style} {required} {error}>
|
|
29
28
|
<slot/>
|
|
30
29
|
</FormField>
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
export let style: string = '';
|
|
3
|
+
export let fieldLayout: 'vertical' | 'horizontal' = 'vertical';
|
|
4
|
+
|
|
3
5
|
</script>
|
|
4
|
-
<div class="flex-form" {style}>
|
|
6
|
+
<div class="flex-form" class:field-layout-horizontal={fieldLayout=='horizontal'} {style}>
|
|
5
7
|
<div>
|
|
6
8
|
<slot/>
|
|
7
9
|
</div>
|
|
@@ -18,6 +18,7 @@ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
|
18
18
|
} : {});
|
|
19
19
|
declare const FlexForm: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
20
20
|
style?: string;
|
|
21
|
+
fieldLayout?: "vertical" | "horizontal";
|
|
21
22
|
}, {
|
|
22
23
|
default: {};
|
|
23
24
|
}>, {
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
export {className as class };
|
|
4
4
|
export let style: string = '';
|
|
5
|
+
export let fieldLayout: 'vertical' | 'horizontal' = 'vertical';
|
|
5
6
|
|
|
6
7
|
let className: string = "";
|
|
7
8
|
|
|
8
9
|
</script>
|
|
9
|
-
<div class="flex-row-form" {style}>
|
|
10
|
+
<div class="flex-row-form" class:field-layout-horizontal={fieldLayout=='horizontal'} {style}>
|
|
10
11
|
<div>
|
|
11
12
|
<slot/>
|
|
12
13
|
</div>
|
|
@@ -19,6 +19,7 @@ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
|
19
19
|
declare const FormContainer: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
20
20
|
class?: string;
|
|
21
21
|
style?: string;
|
|
22
|
+
fieldLayout?: "vertical" | "horizontal";
|
|
22
23
|
}, {
|
|
23
24
|
default: {};
|
|
24
25
|
}>, {
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
export let label: string = "Label:"
|
|
5
5
|
export let label$style: string = '';
|
|
6
6
|
export let required: boolean = false;
|
|
7
|
-
export let error: string = null;
|
|
7
|
+
export let error: string | null = null;
|
|
8
8
|
export let arrangement: 'vertical' | 'horizontal' = 'vertical' ;
|
|
9
9
|
export let rowSpan: number = 1;
|
|
10
10
|
export let colSpan: number = 1;
|
|
11
|
-
export let row: number = null;
|
|
12
|
-
export let col: number = null;
|
|
11
|
+
export let row: number | null = null;
|
|
12
|
+
export let col: number | null = null;
|
|
13
|
+
|
|
14
|
+
export let height: string | undefined = undefined;
|
|
13
15
|
|
|
14
16
|
export let labelSuffix: string = ':';
|
|
15
17
|
|
|
@@ -18,12 +20,12 @@
|
|
|
18
20
|
$: {
|
|
19
21
|
style = rowSpan > 1 ? `grid-row-end: span ${rowSpan};` : '';
|
|
20
22
|
style += colSpan > 1 ? `grid-column-end: span ${colSpan};` : '';
|
|
21
|
-
style += row != null ? `grid-row-start:
|
|
22
|
-
style += col != null ? `grid-column-start:
|
|
23
|
+
style += row != null ? `grid-row-start: ${row};` : '';
|
|
24
|
+
style += col != null ? `grid-column-start: ${col};` : '';
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
|
|
26
28
|
</script>
|
|
27
|
-
<FormField class="cell
|
|
29
|
+
<FormField class="form-cell" {label$style} {labelSuffix} {style} {label} {required} {error} {arrangement} {height}>
|
|
28
30
|
<slot/>
|
|
29
31
|
</FormField>
|
|
@@ -20,12 +20,13 @@ declare const GridField: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_Props
|
|
|
20
20
|
label?: string;
|
|
21
21
|
label$style?: string;
|
|
22
22
|
required?: boolean;
|
|
23
|
-
error?: string;
|
|
23
|
+
error?: string | null;
|
|
24
24
|
arrangement?: "vertical" | "horizontal";
|
|
25
25
|
rowSpan?: number;
|
|
26
26
|
colSpan?: number;
|
|
27
|
-
row?: number;
|
|
28
|
-
col?: number;
|
|
27
|
+
row?: number | null;
|
|
28
|
+
col?: number | null;
|
|
29
|
+
height?: string | undefined;
|
|
29
30
|
labelSuffix?: string;
|
|
30
31
|
}, {
|
|
31
32
|
default: {};
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
|
|
2
3
|
export let style: string = '';
|
|
4
|
+
export let columns: number = 6; //默认6列
|
|
5
|
+
export let fieldLayout: 'vertical' | 'horizontal' = 'vertical';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
$: gridStyle = `grid-template-columns: repeat(${columns}, 1fr)`
|
|
9
|
+
|
|
3
10
|
</script>
|
|
4
|
-
<div class="grid-form" {style}>
|
|
5
|
-
<div>
|
|
11
|
+
<div class="grid-form" class:field-layout-horizontal={fieldLayout=='horizontal'} {style}>
|
|
12
|
+
<div style="{gridStyle}">
|
|
6
13
|
<slot/>
|
|
7
14
|
</div>
|
|
8
15
|
</div>
|
|
@@ -18,6 +18,8 @@ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
|
18
18
|
} : {});
|
|
19
19
|
declare const GridForm: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<{
|
|
20
20
|
style?: string;
|
|
21
|
+
columns?: number;
|
|
22
|
+
fieldLayout?: "vertical" | "horizontal";
|
|
21
23
|
}, {
|
|
22
24
|
default: {};
|
|
23
25
|
}>, {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
</div>
|
|
81
81
|
{#if !disabled && !readonly}
|
|
82
82
|
<div class="editor-action-icon ">
|
|
83
|
-
<i class="
|
|
83
|
+
<i class="icon_google_file_upload" aria-hidden="true" on:click={showDialog}></i>
|
|
84
84
|
</div>
|
|
85
85
|
{/if}
|
|
86
86
|
</div>
|
|
@@ -89,9 +89,9 @@
|
|
|
89
89
|
</div>
|
|
90
90
|
<!-- 顶部工具栏 -->
|
|
91
91
|
<div class="toolbar" on:click|stopPropagation aria-hidden="true">
|
|
92
|
-
<IconButton icon="
|
|
93
|
-
<IconButton icon="
|
|
94
|
-
<IconButton icon="
|
|
92
|
+
<IconButton icon="icon_google_zoom_in" type="default" onClick={zoomIn}></IconButton>
|
|
93
|
+
<IconButton icon="icon_google_zoom_out" type="default" onClick={zoomOut}></IconButton>
|
|
94
|
+
<IconButton icon="icon_google_cancel" type="default" onClick={()=>{visible = false}}></IconButton>
|
|
95
95
|
</div>
|
|
96
96
|
</div>
|
|
97
97
|
</div>
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
<div class="img-overlay">
|
|
22
22
|
<div>
|
|
23
23
|
<div class="action-icon" style="top: 15px;">
|
|
24
|
-
<i class="
|
|
24
|
+
<i class="icon_google_remove_red_eye" aria-hidden="true" on:click={()=>{onPreview?.(file)}}></i>
|
|
25
25
|
</div>
|
|
26
26
|
{#if !readonly}
|
|
27
27
|
<div class="action-icon" style="top: 35px;">
|
|
28
|
-
<i class="
|
|
28
|
+
<i class="icon_google_delete" aria-hidden="true" on:click={removeFile}></i>
|
|
29
29
|
</div>
|
|
30
30
|
{/if}
|
|
31
31
|
</div>
|
|
@@ -68,7 +68,6 @@
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
const lazyLoad = async (clean: boolean = true) => {
|
|
71
|
-
console.log('加载数据...')
|
|
72
71
|
isBusy = true;
|
|
73
72
|
try {
|
|
74
73
|
let result = await lazyLoader?.(filterText, pageNo);
|
|
@@ -81,7 +80,6 @@
|
|
|
81
80
|
selectedItem = null;
|
|
82
81
|
filteredList = list;
|
|
83
82
|
hasMore = result.hasMore;
|
|
84
|
-
console.log('加载数据完成')
|
|
85
83
|
}
|
|
86
84
|
} finally {
|
|
87
85
|
isBusy = false;
|
|
@@ -157,7 +155,7 @@
|
|
|
157
155
|
let searchBox: any;
|
|
158
156
|
|
|
159
157
|
const handleScroll = () => {
|
|
160
|
-
const bottom = scrollElement.scrollHeight - scrollElement.scrollTop
|
|
158
|
+
const bottom = scrollElement.scrollHeight - scrollElement.scrollTop - scrollElement.clientHeight < 2;
|
|
161
159
|
if (bottom && lazyLoader && !isBusy && hasMore) {
|
|
162
160
|
fetchMore();
|
|
163
161
|
}
|
|
@@ -167,18 +165,22 @@
|
|
|
167
165
|
|
|
168
166
|
</script>
|
|
169
167
|
|
|
170
|
-
<div {style} class="uniface-
|
|
171
|
-
{#if title || $$slots['header']}
|
|
172
|
-
<
|
|
173
|
-
|
|
174
|
-
<
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
168
|
+
<div {style} class="uniface-listbox {className}" class:round>
|
|
169
|
+
{#if title || $$slots['header'] || (readonly === false && (filter || lazyLoader))}
|
|
170
|
+
<div class="box-header">
|
|
171
|
+
{#if title || $$slots['header']}
|
|
172
|
+
<slot name="header">
|
|
173
|
+
<div class="title" style={boxHeaderStyle}>
|
|
174
|
+
<span>{title}</span>
|
|
175
|
+
</div>
|
|
176
|
+
</slot>
|
|
177
|
+
{/if}
|
|
178
|
+
{#if readonly === false && (filter || lazyLoader)}
|
|
179
|
+
<div class="header-search">
|
|
180
|
+
<SearchBox bind:this={searchBox} compact variant="plain" disabled={isBusy} style="width: 100%" bind:value={filterText}
|
|
181
|
+
onChange={handleCriteriaChange}/>
|
|
182
|
+
</div>
|
|
183
|
+
{/if}
|
|
182
184
|
</div>
|
|
183
185
|
{/if}
|
|
184
186
|
<div class="listbox-content" class:selectable={selectMode==='single'} bind:this={scrollElement} on:scroll={handleScroll}>
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
</script>
|
|
40
40
|
|
|
41
|
-
<CommonPicker {displayMode} {variant} {style} {compact} className="multiple" dropDownIcon="
|
|
41
|
+
<CommonPicker {displayMode} {variant} {style} {compact} className="multiple" dropDownIcon="icon_google_keyboard_control"
|
|
42
42
|
canClean={!mandatory && value!=null} autoFit {clean} textValue={text} {readonly} {disabled} iconClickHandler={handleActionIconClick}>
|
|
43
43
|
<input style="width: 100%" {placeholder} class="text-editor" readonly value={text??''} {disabled}
|
|
44
44
|
on:keydown on:focus on:click={handleActionIconClick}/>
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
<div style="top: {top}px; left: {left}px">
|
|
115
115
|
<div class="title-bar" aria-hidden="true" on:mousedown={handleMouseDown} on:mouseup={handleMouseUp}>
|
|
116
116
|
<div>
|
|
117
|
-
<i class="
|
|
117
|
+
<i class="icon_google_clear dialog-action-button" aria-hidden="true" on:click={handleCloseClick}></i>
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
120
120
|
<div class="box-content" style="min-height: 40px">
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
export let items: Array<any>;
|
|
9
9
|
export let activeItem: any = null;
|
|
10
10
|
export let style: string = "";
|
|
11
|
+
export let highlights: Array<any> = [];
|
|
11
12
|
export let itemClickHandler: ItemClickHandler;
|
|
12
13
|
export let retrieveStatus: RetrieveItemStatus;
|
|
13
14
|
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
<div class="navigator-content">
|
|
23
24
|
{#each items as item}
|
|
24
25
|
<div class="uniface-navigator-item {retrieveStatus?.(item)??NavItemStatus.Completed}" class:active={activeItem===item}
|
|
26
|
+
class:highlight={highlights.indexOf(item)>-1}
|
|
25
27
|
aria-hidden="true" on:click={handleItemClick(item)}>
|
|
26
28
|
<span>{item.text}</span>
|
|
27
29
|
</div>
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
</script>
|
|
49
49
|
|
|
50
50
|
<CommonEditor {variant} {compact} {style} showActionIcon={value != null && value.length > 0} {clean}>
|
|
51
|
-
<div slot='leading-icon'>
|
|
52
|
-
<i class="
|
|
51
|
+
<div slot='leading-icon' style="line-height: 16px; font-size: 18px">
|
|
52
|
+
<i class="icon_google_search"></i>
|
|
53
53
|
</div>
|
|
54
54
|
<input bind:this={editor} style="width: 100%" bind:value={inputText} {disabled} on:input={handleInput} on:compositionstart={handleCompositionStart}
|
|
55
55
|
on:compositionend={handleCompositionEnd} {placeholder}/>
|
package/dist/tabs/Tabs.svelte
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
|
|
3
|
-
import {onMount, onDestroy} from "svelte";
|
|
3
|
+
import {onMount, onDestroy, tick} from "svelte";
|
|
4
4
|
import {Tween} from 'svelte/motion';
|
|
5
5
|
import {cubicOut} from 'svelte/easing';
|
|
6
6
|
import type {TabActionHandler, TabCloseHandler, TabRender} from "./types";
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
|
|
10
9
|
export {className as class};
|
|
11
10
|
export let simple: boolean = false;
|
|
12
11
|
export let textField: string = 'text';
|
|
13
12
|
export let style: string = '';
|
|
14
13
|
export let tabs: Array<any> = [];
|
|
14
|
+
export let scrollStep = 100;
|
|
15
15
|
export let closable: boolean | TabActionHandler = false;
|
|
16
16
|
export let activeTab: any = null;
|
|
17
17
|
export let tabRender: TabRender = null as unknown as TabRender;
|
|
@@ -30,25 +30,26 @@
|
|
|
30
30
|
if (activeTab == null && tabs.length > 0) {
|
|
31
31
|
activeTab = tabs[0];
|
|
32
32
|
}
|
|
33
|
-
|
|
34
33
|
checkOverflow();
|
|
35
|
-
container.addEventListener('scroll', checkOverflow);
|
|
36
34
|
window.addEventListener('resize', checkOverflow);
|
|
37
|
-
checkOverflow
|
|
35
|
+
container.addEventListener('scroll', checkOverflow);
|
|
38
36
|
});
|
|
39
37
|
|
|
40
38
|
onDestroy(() => {
|
|
41
39
|
window.removeEventListener('resize', checkOverflow);
|
|
40
|
+
container.removeEventListener('scroll', checkOverflow);
|
|
42
41
|
});
|
|
43
42
|
|
|
43
|
+
|
|
44
44
|
const checkOverflow = () => {
|
|
45
45
|
if (container) {
|
|
46
|
-
|
|
46
|
+
console.log(currentLeft, container.clientWidth, container.scrollWidth);
|
|
47
|
+
if (currentLeft + container.clientWidth >= container.scrollWidth) {
|
|
47
48
|
currentLeft = container.scrollWidth - container.clientWidth;
|
|
48
49
|
scrollX.set(currentLeft);
|
|
49
50
|
}
|
|
50
|
-
if (currentLeft > 0 && container.clientWidth
|
|
51
|
-
currentLeft =
|
|
51
|
+
if (currentLeft > 0 && container.clientWidth >= container.scrollWidth) {
|
|
52
|
+
currentLeft = 0;
|
|
52
53
|
scrollX.set(currentLeft);
|
|
53
54
|
}
|
|
54
55
|
showRight = currentLeft + container.clientWidth < container.scrollWidth;
|
|
@@ -56,18 +57,13 @@
|
|
|
56
57
|
}
|
|
57
58
|
};
|
|
58
59
|
|
|
59
|
-
const scroll = (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
currentLeft = container.scrollWidth - container.clientWidth + 1;
|
|
67
|
-
}
|
|
68
|
-
scrollX.set(currentLeft);
|
|
69
|
-
checkOverflow();
|
|
70
|
-
}
|
|
60
|
+
const scroll = (dir: 1 | -1) => {
|
|
61
|
+
const maxScroll = container.scrollWidth - container.clientWidth;
|
|
62
|
+
currentLeft += dir * scrollStep;
|
|
63
|
+
if (currentLeft < 0) currentLeft = 0;
|
|
64
|
+
if (currentLeft > maxScroll) currentLeft = maxScroll;
|
|
65
|
+
scrollX.set(currentLeft);
|
|
66
|
+
checkOverflow();
|
|
71
67
|
};
|
|
72
68
|
|
|
73
69
|
|
|
@@ -85,18 +81,12 @@
|
|
|
85
81
|
tabs.splice(pos, 1);
|
|
86
82
|
tabs = [...tabs];
|
|
87
83
|
if (tab == activeTab) {
|
|
88
|
-
if (tabs.length
|
|
89
|
-
|
|
90
|
-
pos = tabs.length - 1;
|
|
91
|
-
}
|
|
92
|
-
if (pos == -1) {
|
|
93
|
-
pos = 0;
|
|
94
|
-
}
|
|
95
|
-
activeTab = tabs[pos];
|
|
96
|
-
} else {
|
|
97
|
-
activeTab = null;
|
|
84
|
+
if (pos >= tabs.length) {
|
|
85
|
+
pos = tabs.length - 1;
|
|
98
86
|
}
|
|
87
|
+
activeTab = tabs[pos];
|
|
99
88
|
}
|
|
89
|
+
await tick();
|
|
100
90
|
checkOverflow();
|
|
101
91
|
}
|
|
102
92
|
}
|
|
@@ -107,7 +97,7 @@
|
|
|
107
97
|
const reloadTab = (tab: any) => (e: MouseEvent) => {
|
|
108
98
|
reloadHandler?.(tab);
|
|
109
99
|
}
|
|
110
|
-
|
|
100
|
+
//
|
|
111
101
|
|
|
112
102
|
</script>
|
|
113
103
|
<div class="uniface-tab-panel {className}" {style}>
|
|
@@ -123,14 +113,14 @@
|
|
|
123
113
|
{#if tabRender != null}
|
|
124
114
|
<svelte:component this={tabRender} {tab} closeTab={closeHandler != null ? closeTab(tab) : null}
|
|
125
115
|
reloadTab={reloadHandler != null ? reloadTab(tab) : null}
|
|
126
|
-
closable={closable === true || (typeof (closable) == "function" && closable(tab))}
|
|
116
|
+
closable={closable === true || (typeof (closable) == "function" && closable(tab))}/>
|
|
127
117
|
{:else}
|
|
128
118
|
<span>{tab[textField]}</span>
|
|
129
119
|
{#if reloadHandler != null}
|
|
130
120
|
<i class="icon_google_refresh tab-refresh" on:click={reloadTab(tab)} aria-hidden="true"></i>
|
|
131
121
|
{/if}
|
|
132
|
-
{#if closable === true || (typeof (closable) == "function" && closable(tab))}
|
|
133
|
-
<i class="icon_google_clear tab-action" on:click={closeTab(tab)} aria-hidden="true"></i>
|
|
122
|
+
{#if tabs.length > 1 && (closable === true || (typeof (closable) == "function" && closable(tab)))}
|
|
123
|
+
<i class="icon_google_clear tab-action" on:click|stopPropagation={closeTab(tab)} aria-hidden="true"></i>
|
|
134
124
|
{/if}
|
|
135
125
|
{/if}
|
|
136
126
|
</div>
|
package/dist/tag/Tag.svelte
CHANGED
|
@@ -20,8 +20,10 @@
|
|
|
20
20
|
|
|
21
21
|
</script>
|
|
22
22
|
<div class="uniface-tag" {style}>
|
|
23
|
-
<div class="{size} {variant} {className} {colorClass}" class:removable={removable}
|
|
23
|
+
<div class="{size} {variant} {className} {colorClass}" class:removable={removable}>
|
|
24
24
|
<span>{text}</span>
|
|
25
|
-
|
|
25
|
+
{#if removable}
|
|
26
|
+
<Icon name="icon_google_clear" class="uniface-remove-icon" onClick={removeHandler}/>
|
|
27
|
+
{/if}
|
|
26
28
|
</div>
|
|
27
29
|
</div>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
</script>
|
|
31
|
-
<CommonEditor {style} {value}
|
|
31
|
+
<CommonEditor {style} {value} {readonly} {variant} {compact} class={className}>
|
|
32
32
|
{#if type=="password"}
|
|
33
33
|
<input type="password" style="flex: 1 1 auto" bind:value={value} {disabled} {...input$}
|
|
34
34
|
on:blur on:focus />
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
<input type="text" style="flex: 1 1 auto" bind:value={value} {disabled} {...input$}
|
|
37
37
|
on:blur on:focus />
|
|
38
38
|
{/if}
|
|
39
|
-
<div slot="trailing-icon" class="editor-embed-icon
|
|
39
|
+
<div slot="trailing-icon" class="editor-embed-icon">
|
|
40
40
|
{#if (!readonly && !disabled)}
|
|
41
|
-
<i class={type == "password" ? "
|
|
41
|
+
<i class={type == "password" ? "icon_google_remove_red_eye" : "icon_google_visibility_off"} on:click={toggleType}></i>
|
|
42
42
|
{/if}
|
|
43
43
|
</div>
|
|
44
44
|
</CommonEditor>
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
--uniface-box-footer-height: 24px;
|
|
86
86
|
--uniface-box-header-border: none;
|
|
87
87
|
--uniface-box-header-margin: 8px;
|
|
88
|
-
--uniface-box-border-color:
|
|
88
|
+
--uniface-box-border-color: #f0f0f0;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
.uniface-box {
|
|
@@ -137,6 +137,9 @@
|
|
|
137
137
|
--uniface-list-box-hover-bg: #FFFFE1;
|
|
138
138
|
--uniface-list-box-selected-bg: #b1c8f6;
|
|
139
139
|
--uniface-list-box-header-bottom-border: 1px solid #f0f0f0;
|
|
140
|
+
--uniface-list-box-border-color: #f0f0f0;
|
|
141
|
+
--uniface-list-box-header-bg: #F8FAFC;
|
|
142
|
+
--uniface-list-box-footer-bg: #F8FAFC;
|
|
140
143
|
}
|
|
141
144
|
|
|
142
145
|
.uniface-listbox {
|
|
@@ -146,6 +149,7 @@
|
|
|
146
149
|
overflow: hidden;
|
|
147
150
|
box-sizing: border-box;
|
|
148
151
|
user-select: none;
|
|
152
|
+
border: 1px solid var(--uniface-list-box-border-color);
|
|
149
153
|
}
|
|
150
154
|
.uniface-listbox .list-view-mask {
|
|
151
155
|
width: 100%;
|
|
@@ -163,7 +167,8 @@
|
|
|
163
167
|
.uniface-listbox .box-header .title {
|
|
164
168
|
font-weight: 600;
|
|
165
169
|
line-height: 32px;
|
|
166
|
-
|
|
170
|
+
padding: 0 8px;
|
|
171
|
+
background-color: var(--uniface-list-box-header-bg, #F8FAFC);
|
|
167
172
|
}
|
|
168
173
|
.uniface-listbox .box-header .header-search {
|
|
169
174
|
width: 100%;
|
|
@@ -174,6 +179,7 @@
|
|
|
174
179
|
}
|
|
175
180
|
.uniface-listbox .box-footer {
|
|
176
181
|
border-top: var(--uniface-list-box-header-bottom-border);
|
|
182
|
+
background-color: var(--uniface-list-box-footer-bg);
|
|
177
183
|
height: auto;
|
|
178
184
|
}
|
|
179
185
|
.uniface-listbox .listbox-header {
|
|
@@ -731,38 +737,37 @@
|
|
|
731
737
|
display: grid;
|
|
732
738
|
position: relative;
|
|
733
739
|
gap: 4px;
|
|
740
|
+
grid-template-columns: 1fr;
|
|
734
741
|
}
|
|
735
742
|
.uniface-filter-field .field-label {
|
|
736
743
|
color: var(--uniface-criteria-field-label-color);
|
|
737
744
|
font-size: 0.9em;
|
|
738
745
|
font-weight: 500;
|
|
739
746
|
box-sizing: border-box;
|
|
740
|
-
}
|
|
741
|
-
.uniface-filter-field.vertical .field-container {
|
|
742
|
-
grid-template-columns: 1fr;
|
|
743
|
-
}
|
|
744
|
-
.uniface-filter-field.vertical .field-label {
|
|
745
747
|
width: 100%;
|
|
746
748
|
white-space: nowrap;
|
|
747
749
|
overflow: hidden;
|
|
748
750
|
text-overflow: ellipsis;
|
|
749
751
|
}
|
|
750
|
-
.uniface-filter-field
|
|
752
|
+
.uniface-filter-field .field {
|
|
751
753
|
position: relative;
|
|
752
754
|
display: flex;
|
|
753
755
|
flex-direction: row;
|
|
754
756
|
justify-items: center;
|
|
755
757
|
width: 100%;
|
|
756
758
|
}
|
|
757
|
-
|
|
759
|
+
|
|
760
|
+
.field-layout-horizontal .field-container {
|
|
758
761
|
grid-template-columns: auto 1fr;
|
|
759
762
|
align-items: center;
|
|
760
763
|
gap: 8px;
|
|
761
764
|
}
|
|
762
|
-
.
|
|
765
|
+
.field-layout-horizontal .field-label {
|
|
763
766
|
text-align: var(--uniface-criteria-field-label-alignment);
|
|
764
767
|
width: var(--uniface-criteria-field-label-width);
|
|
765
|
-
overflow:
|
|
768
|
+
overflow: unset;
|
|
769
|
+
text-overflow: unset;
|
|
770
|
+
white-space: unset;
|
|
766
771
|
}
|
|
767
772
|
|
|
768
773
|
.switch-box input[type=checkbox] {
|
|
@@ -870,6 +875,7 @@
|
|
|
870
875
|
--uniface-form-field-label-width: 120px;
|
|
871
876
|
--uniface-form-field-label-alignment: right;
|
|
872
877
|
--uniface-form-field-padding: 6px 4px;
|
|
878
|
+
--uniface-field-gap: 4px;
|
|
873
879
|
}
|
|
874
880
|
|
|
875
881
|
.uniface-form-field {
|
|
@@ -877,7 +883,6 @@
|
|
|
877
883
|
display: block;
|
|
878
884
|
position: relative;
|
|
879
885
|
height: auto;
|
|
880
|
-
padding: var(--uniface-form-field-padding);
|
|
881
886
|
}
|
|
882
887
|
.uniface-form-field .required-indicator {
|
|
883
888
|
color: var(--uniface-form-field-required-indicator-color);
|
|
@@ -889,6 +894,7 @@
|
|
|
889
894
|
font-style: italic;
|
|
890
895
|
color: var(--uniface-form-field-invalid-message-color);
|
|
891
896
|
grid-area: hint;
|
|
897
|
+
margin-top: 8px;
|
|
892
898
|
}
|
|
893
899
|
.uniface-form-field .field {
|
|
894
900
|
width: 100%;
|
|
@@ -912,29 +918,35 @@
|
|
|
912
918
|
.uniface-form-field .form-content {
|
|
913
919
|
width: 100%;
|
|
914
920
|
display: grid;
|
|
915
|
-
|
|
916
|
-
}
|
|
917
|
-
.uniface-form-field.vertical .form-content {
|
|
921
|
+
grid-template-rows: auto 1fr auto;
|
|
918
922
|
grid-template-columns: 1fr;
|
|
919
923
|
grid-template-areas: "label" "field" "hint";
|
|
920
924
|
}
|
|
921
|
-
.uniface-form-field
|
|
925
|
+
.uniface-form-field .form-content .field-label {
|
|
922
926
|
width: 100%;
|
|
923
927
|
white-space: nowrap;
|
|
924
928
|
overflow: hidden;
|
|
925
929
|
text-overflow: ellipsis;
|
|
930
|
+
margin-bottom: var(--uniface-field-gap);
|
|
931
|
+
padding: 0 4px;
|
|
926
932
|
}
|
|
927
|
-
.uniface-form-field
|
|
933
|
+
.uniface-form-field .form-content .empty-field {
|
|
928
934
|
display: none;
|
|
929
935
|
}
|
|
930
|
-
|
|
936
|
+
|
|
937
|
+
.field-layout-horizontal .form-content {
|
|
938
|
+
grid-template-rows: 1fr auto;
|
|
931
939
|
grid-template-columns: auto 1fr;
|
|
932
|
-
gap: 8px;
|
|
933
940
|
grid-template-areas: "label field" "empty hint";
|
|
934
941
|
}
|
|
935
|
-
.
|
|
942
|
+
.field-layout-horizontal .form-content .field-label {
|
|
936
943
|
width: var(--uniface-form-field-label-width);
|
|
944
|
+
white-space: wrap;
|
|
945
|
+
overflow: unset;
|
|
946
|
+
text-overflow: unset;
|
|
947
|
+
margin-bottom: unset;
|
|
937
948
|
text-align: var(--uniface-form-field-label-alignment);
|
|
949
|
+
padding-right: 8px;
|
|
938
950
|
}
|
|
939
951
|
|
|
940
952
|
.flex-block {
|
|
@@ -1857,6 +1869,7 @@
|
|
|
1857
1869
|
}
|
|
1858
1870
|
.uniface-tabs-wrap .scroll-right, .uniface-tabs-wrap .scroll-left {
|
|
1859
1871
|
width: 24px;
|
|
1872
|
+
flex: 0 0 auto;
|
|
1860
1873
|
text-align: center;
|
|
1861
1874
|
cursor: pointer;
|
|
1862
1875
|
}
|
|
@@ -2111,6 +2124,12 @@
|
|
|
2111
2124
|
width: 100%;
|
|
2112
2125
|
}
|
|
2113
2126
|
|
|
2127
|
+
root {
|
|
2128
|
+
--uniface-drawer-bg: #ffffff;
|
|
2129
|
+
--uniface-drawer-shadow: rgba(0, 0, 0, 0.16) 0 3px 6px, rgba(0, 0, 0, 0.23) 0 3px 6px;
|
|
2130
|
+
--uniface-drawer-border-color: #e1e1e1;
|
|
2131
|
+
}
|
|
2132
|
+
|
|
2114
2133
|
.uniface-drawer {
|
|
2115
2134
|
position: fixed;
|
|
2116
2135
|
top: 0;
|
|
@@ -2123,8 +2142,8 @@
|
|
|
2123
2142
|
.uniface-drawer > div {
|
|
2124
2143
|
position: absolute;
|
|
2125
2144
|
height: 100%;
|
|
2126
|
-
background-color: var(--
|
|
2127
|
-
box-shadow:
|
|
2145
|
+
background-color: var(--uniface-drawer-bg);
|
|
2146
|
+
box-shadow: var(--uniface-drawer-shadow);
|
|
2128
2147
|
}
|
|
2129
2148
|
.uniface-drawer > div > div {
|
|
2130
2149
|
position: relative;
|
|
@@ -2134,11 +2153,11 @@
|
|
|
2134
2153
|
}
|
|
2135
2154
|
.uniface-drawer > div.left {
|
|
2136
2155
|
left: 0;
|
|
2137
|
-
border-right: 1px solid var(--
|
|
2156
|
+
border-right: 1px solid var(--uniface-drawer-border-color);
|
|
2138
2157
|
}
|
|
2139
2158
|
.uniface-drawer > div.right {
|
|
2140
2159
|
right: 0;
|
|
2141
|
-
border-left: 1px solid var(--
|
|
2160
|
+
border-left: 1px solid var(--uniface-drawer-border-color);
|
|
2142
2161
|
}
|
|
2143
2162
|
|
|
2144
2163
|
.uniface-pagination-panel {
|
|
@@ -2738,56 +2757,51 @@
|
|
|
2738
2757
|
margin: auto 20px;
|
|
2739
2758
|
}
|
|
2740
2759
|
|
|
2741
|
-
|
|
2760
|
+
:root {
|
|
2761
|
+
--uniface-flex-form-row-gap: 12px;
|
|
2762
|
+
--uniface-flex-container-padding: 8px 6px;
|
|
2763
|
+
--uniface-flex-cell-padding: 0 6px;
|
|
2764
|
+
--uniface-flex-form-row-padding: 6px 0;
|
|
2765
|
+
--uniface-grid-cell-padding: 6px;
|
|
2766
|
+
}
|
|
2767
|
+
|
|
2768
|
+
.flex-row-form, .flex-form {
|
|
2742
2769
|
width: 100%;
|
|
2743
|
-
height: 100%;
|
|
2744
|
-
overflow: auto;
|
|
2745
2770
|
position: relative;
|
|
2746
2771
|
box-sizing: border-box;
|
|
2772
|
+
padding: var(--uniface-flex-container-padding);
|
|
2747
2773
|
}
|
|
2748
|
-
.flex-row-form > div {
|
|
2774
|
+
.flex-row-form > div, .flex-form > div {
|
|
2749
2775
|
width: 100%;
|
|
2750
2776
|
height: 100%;
|
|
2751
2777
|
display: flex;
|
|
2752
|
-
flex-direction: column;
|
|
2753
2778
|
position: relative;
|
|
2779
|
+
justify-items: start;
|
|
2754
2780
|
box-sizing: border-box;
|
|
2755
2781
|
}
|
|
2756
|
-
.flex-row-form .form-
|
|
2757
|
-
width: 100%;
|
|
2758
|
-
display: flex;
|
|
2759
|
-
flex-direction: row;
|
|
2760
|
-
justify-items: flex-start;
|
|
2761
|
-
box-sizing: border-box;
|
|
2762
|
-
padding: 3px 0;
|
|
2763
|
-
}
|
|
2764
|
-
.flex-row-form .form-row .cell-field {
|
|
2765
|
-
box-sizing: border-box;
|
|
2766
|
-
padding: 0 4px;
|
|
2767
|
-
}
|
|
2768
|
-
.flex-row-form .form-row .form-cell {
|
|
2782
|
+
.flex-row-form .form-cell, .flex-form .form-cell {
|
|
2769
2783
|
position: relative;
|
|
2770
2784
|
box-sizing: border-box;
|
|
2771
|
-
padding: 0 4px;
|
|
2772
2785
|
flex: 0 0 auto;
|
|
2786
|
+
padding: var(--uniface-flex-cell-padding);
|
|
2773
2787
|
}
|
|
2774
2788
|
|
|
2775
|
-
.flex-form {
|
|
2776
|
-
|
|
2777
|
-
width: 100%;
|
|
2778
|
-
display: block;
|
|
2789
|
+
.flex-row-form > div {
|
|
2790
|
+
flex-direction: column;
|
|
2779
2791
|
}
|
|
2780
|
-
.flex-form
|
|
2781
|
-
position: relative;
|
|
2782
|
-
width: 100%;
|
|
2792
|
+
.flex-row-form .form-row {
|
|
2783
2793
|
display: flex;
|
|
2784
|
-
flex-
|
|
2785
|
-
|
|
2786
|
-
box-sizing: border-box;
|
|
2794
|
+
flex-direction: row;
|
|
2795
|
+
padding: var(--uniface-flex-form-row-padding);
|
|
2787
2796
|
}
|
|
2788
|
-
.flex-form .
|
|
2789
|
-
|
|
2790
|
-
|
|
2797
|
+
.flex-row-form .form-row:last-child {
|
|
2798
|
+
padding-bottom: 0;
|
|
2799
|
+
}
|
|
2800
|
+
|
|
2801
|
+
.flex-form > div {
|
|
2802
|
+
flex-wrap: wrap;
|
|
2803
|
+
flex-direction: row;
|
|
2804
|
+
row-gap: var(--uniface-flex-form-row-gap);
|
|
2791
2805
|
}
|
|
2792
2806
|
.flex-form .row-break {
|
|
2793
2807
|
width: 100%;
|
|
@@ -2798,35 +2812,20 @@
|
|
|
2798
2812
|
position: relative;
|
|
2799
2813
|
width: 100%;
|
|
2800
2814
|
display: block;
|
|
2815
|
+
padding: var(--uniface-flex-container-padding);
|
|
2801
2816
|
}
|
|
2802
2817
|
.grid-form > div {
|
|
2803
2818
|
width: 100%;
|
|
2819
|
+
height: 100%;
|
|
2804
2820
|
position: relative;
|
|
2805
2821
|
display: grid;
|
|
2806
|
-
grid-template-columns: repeat(12, 1fr);
|
|
2807
2822
|
justify-items: start;
|
|
2808
2823
|
box-sizing: border-box;
|
|
2809
|
-
padding: 6px 8px;
|
|
2810
|
-
grid-row-gap: 3px;
|
|
2811
|
-
grid-column-gap: 4px;
|
|
2812
2824
|
}
|
|
2813
|
-
.grid-form .cell
|
|
2825
|
+
.grid-form .form-cell {
|
|
2814
2826
|
width: 100%;
|
|
2815
2827
|
box-sizing: border-box;
|
|
2816
|
-
|
|
2817
|
-
.grid-form .uniface-form-field.vertical .form-content {
|
|
2818
|
-
height: 100%;
|
|
2819
|
-
display: flex;
|
|
2820
|
-
flex-direction: column;
|
|
2821
|
-
}
|
|
2822
|
-
.grid-form .uniface-form-field.vertical .form-content .field-label {
|
|
2823
|
-
flex: 0 0 auto;
|
|
2824
|
-
}
|
|
2825
|
-
.grid-form .uniface-form-field.vertical .form-content .field-hint {
|
|
2826
|
-
flex: 0 0 auto;
|
|
2827
|
-
}
|
|
2828
|
-
.grid-form .uniface-form-field.vertical .form-content .field {
|
|
2829
|
-
flex: 1 1 auto;
|
|
2828
|
+
padding: var(--uniface-grid-cell-padding);
|
|
2830
2829
|
}
|
|
2831
2830
|
|
|
2832
2831
|
.uniface-display-field.images-field > div {
|
|
@@ -3097,6 +3096,7 @@
|
|
|
3097
3096
|
--uniface-navigator-hover-text-color: #298DFF;
|
|
3098
3097
|
--uniface-navigator-active-text-color: #0061FF;
|
|
3099
3098
|
--uniface-navigator-active-text-weight: 600;
|
|
3099
|
+
--uniface-navigator-highlight-text-color: #0061FF;
|
|
3100
3100
|
}
|
|
3101
3101
|
|
|
3102
3102
|
.uniface-navigator-panel {
|
|
@@ -3158,6 +3158,9 @@
|
|
|
3158
3158
|
color: var(--uniface-navigator-hover-text-color);
|
|
3159
3159
|
cursor: pointer;
|
|
3160
3160
|
}
|
|
3161
|
+
.uniface-navigator-panel .navigator-content .uniface-navigator-item.highlight {
|
|
3162
|
+
color: var(--uniface-navigator-highlight-text-color);
|
|
3163
|
+
}
|
|
3161
3164
|
.uniface-navigator-panel .navigator-content .uniface-navigator-item.active {
|
|
3162
3165
|
color: var(--uniface-navigator-active-text-color);
|
|
3163
3166
|
font-weight: var(--uniface-navigator-active-text-weight);
|
|
@@ -3477,6 +3480,7 @@
|
|
|
3477
3480
|
|
|
3478
3481
|
.uniface-tag {
|
|
3479
3482
|
display: inline-block;
|
|
3483
|
+
cursor: default;
|
|
3480
3484
|
}
|
|
3481
3485
|
.uniface-tag > div {
|
|
3482
3486
|
display: block;
|
|
@@ -3507,6 +3511,7 @@
|
|
|
3507
3511
|
height: 14px;
|
|
3508
3512
|
width: 14px;
|
|
3509
3513
|
border-radius: 50%;
|
|
3514
|
+
cursor: pointer;
|
|
3510
3515
|
top: 2px;
|
|
3511
3516
|
right: 1px;
|
|
3512
3517
|
line-height: 12px;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import type {OnContextMenu} from "../context-menu/ContextMenuItem";
|
|
7
7
|
|
|
8
8
|
export let node: TreeNode;
|
|
9
|
-
export let lazyLoader: LazyLoader;
|
|
9
|
+
export let lazyLoader: LazyLoader | null;
|
|
10
10
|
export let activeNode: any;
|
|
11
11
|
export let isVisible: NodeVisibleFun;
|
|
12
12
|
export let level: number = 1;
|
|
@@ -16,7 +16,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
16
16
|
}
|
|
17
17
|
declare const TreeNodeView: $$__sveltets_2_IsomorphicComponent<{
|
|
18
18
|
node: TreeNode;
|
|
19
|
-
lazyLoader: LazyLoader;
|
|
19
|
+
lazyLoader: LazyLoader | null;
|
|
20
20
|
activeNode: any;
|
|
21
21
|
isVisible: NodeVisibleFun;
|
|
22
22
|
level?: number;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
export let nodes: Array<TreeNode>;
|
|
10
10
|
export let style: string = "";
|
|
11
|
-
export let lazyLoader: LazyLoader;
|
|
11
|
+
export let lazyLoader: LazyLoader | null = null;
|
|
12
12
|
export let activeNode: any = null;
|
|
13
13
|
export {className as class};
|
|
14
14
|
export let isVisible: NodeVisibleFun = null as unknown as NodeVisibleFun;
|
|
@@ -17,7 +17,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
17
17
|
declare const TreeView: $$__sveltets_2_IsomorphicComponent<{
|
|
18
18
|
nodes: Array<TreeNode>;
|
|
19
19
|
style?: string;
|
|
20
|
-
lazyLoader
|
|
20
|
+
lazyLoader?: LazyLoader | null;
|
|
21
21
|
activeNode?: any;
|
|
22
22
|
class?: string;
|
|
23
23
|
isVisible?: NodeVisibleFun;
|