@ticatec/uniface-element 0.1.71 → 0.2.1

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 (129) hide show
  1. package/README.md +273 -1
  2. package/README_CN.md +341 -0
  3. package/dist/common/MouseClickHandler.d.ts +1 -1
  4. package/dist/data-table/UniDataTable.js +6 -0
  5. package/dist/data-table/lib/DataColumn.d.ts +4 -0
  6. package/dist/dialog/CommonDialog.svelte +6 -3
  7. package/dist/dialog/CommonDialog.svelte.d.ts +2 -1
  8. package/dist/dialog/Dialog.svelte +36 -10
  9. package/dist/dialog/Dialog.svelte.d.ts +4 -3
  10. package/dist/dialog/DialogBoard.svelte +11 -8
  11. package/dist/dialog/DialogWrapper.svelte +10 -0
  12. package/dist/dialog/DialogWrapper.svelte.d.ts +22 -0
  13. package/dist/dialog/Dialogs.js +1 -1
  14. package/dist/dialog/ModalResult.d.ts +5 -0
  15. package/dist/dialog/ModalResult.js +5 -0
  16. package/dist/ticatec-uniface-web.css +7 -0
  17. package/docs/buttons/cn/ActionBar.md +459 -0
  18. package/docs/buttons/cn/Button.md +228 -0
  19. package/docs/buttons/cn/IconButton.md +294 -0
  20. package/docs/buttons/cn/README.md +600 -0
  21. package/docs/buttons/cn/TextButton.md +163 -0
  22. package/docs/buttons/en/ActionBar.md +459 -0
  23. package/docs/buttons/en/Button.md +228 -0
  24. package/docs/buttons/en/IconButton.md +294 -0
  25. package/docs/buttons/en/README.md +600 -0
  26. package/docs/buttons/en/TextButton.md +163 -0
  27. package/docs/containers/cn/accordion.md +622 -0
  28. package/docs/containers/cn/box.md +445 -0
  29. package/docs/containers/cn/card.md +404 -0
  30. package/docs/containers/cn/page.md +576 -0
  31. package/docs/containers/cn/tabs.md +686 -0
  32. package/docs/containers/en/accordion.md +622 -0
  33. package/docs/containers/en/box.md +445 -0
  34. package/docs/containers/en/card.md +404 -0
  35. package/docs/containers/en/page.md +576 -0
  36. package/docs/containers/en/tabs.md +686 -0
  37. package/docs/data-display/cn/concise-data-table.md +731 -0
  38. package/docs/data-display/cn/listbox.md +786 -0
  39. package/docs/data-display/cn/treeview.md +863 -0
  40. package/docs/data-display/en/concise-data-table.md +732 -0
  41. package/docs/data-display/en/listbox.md +786 -0
  42. package/docs/data-display/en/treeview.md +863 -0
  43. package/docs/data-table/cn/README.md +596 -0
  44. package/docs/data-table/en/README.md +596 -0
  45. package/docs/dialog/cn/README.md +767 -0
  46. package/docs/dialog/en/README.md +767 -0
  47. package/docs/form/cn/README.md +847 -0
  48. package/docs/form/en/README.md +847 -0
  49. package/docs/form-components/cn/README.md +495 -0
  50. package/docs/form-components/cn/attachmentfilesfield.md +757 -0
  51. package/docs/form-components/cn/cascade-options-select.md +374 -0
  52. package/docs/form-components/cn/checkbox.md +58 -0
  53. package/docs/form-components/cn/date-picker.md +138 -0
  54. package/docs/form-components/cn/datetime-picker.md +228 -0
  55. package/docs/form-components/cn/group-checkbox.md +405 -0
  56. package/docs/form-components/cn/group-radiobox.md +525 -0
  57. package/docs/form-components/cn/imagefilesfield.md +651 -0
  58. package/docs/form-components/cn/input-options-select.md +250 -0
  59. package/docs/form-components/cn/lookup-editor.md +406 -0
  60. package/docs/form-components/cn/memoeditor.md +409 -0
  61. package/docs/form-components/cn/number-editor.md +261 -0
  62. package/docs/form-components/cn/options-multi-select.md +177 -0
  63. package/docs/form-components/cn/options-select.md +83 -0
  64. package/docs/form-components/cn/passwordeditor.md +538 -0
  65. package/docs/form-components/cn/prompts-text-editor.md +241 -0
  66. package/docs/form-components/cn/radiobutton.md +84 -0
  67. package/docs/form-components/cn/switch.md +178 -0
  68. package/docs/form-components/cn/text-editor.md +142 -0
  69. package/docs/form-components/cn/time-editor.md +159 -0
  70. package/docs/form-components/cn/unit-number-editor.md +164 -0
  71. package/docs/form-components/en/README.md +463 -0
  72. package/docs/form-components/en/attachmentfilesfield.md +757 -0
  73. package/docs/form-components/en/cascade-options-select.md +358 -0
  74. package/docs/form-components/en/checkbox.md +59 -0
  75. package/docs/form-components/en/date-picker.md +138 -0
  76. package/docs/form-components/en/datetime-picker.md +228 -0
  77. package/docs/form-components/en/group-checkbox.md +395 -0
  78. package/docs/form-components/en/group-radiobox.md +498 -0
  79. package/docs/form-components/en/imagefilesfield.md +651 -0
  80. package/docs/form-components/en/input-options-select.md +239 -0
  81. package/docs/form-components/en/lookup-editor.md +389 -0
  82. package/docs/form-components/en/memoeditor.md +409 -0
  83. package/docs/form-components/en/number-editor.md +249 -0
  84. package/docs/form-components/en/options-multi-select.md +177 -0
  85. package/docs/form-components/en/options-select.md +83 -0
  86. package/docs/form-components/en/passwordeditor.md +538 -0
  87. package/docs/form-components/en/prompts-text-editor.md +241 -0
  88. package/docs/form-components/en/radiobutton.md +84 -0
  89. package/docs/form-components/en/switch.md +180 -0
  90. package/docs/form-components/en/text-editor.md +142 -0
  91. package/docs/form-components/en/time-editor.md +159 -0
  92. package/docs/form-components/en/unit-number-editor.md +164 -0
  93. package/docs/form-layout/cn/criteria-field.md +652 -0
  94. package/docs/form-layout/cn/flex-form.md +454 -0
  95. package/docs/form-layout/cn/flex-row-form.md +542 -0
  96. package/docs/form-layout/cn/form-field.md +923 -0
  97. package/docs/form-layout/cn/grid-form.md +676 -0
  98. package/docs/form-layout/en/criteria-field.md +652 -0
  99. package/docs/form-layout/en/flex-form.md +454 -0
  100. package/docs/form-layout/en/flex-row-form.md +542 -0
  101. package/docs/form-layout/en/form-field.md +923 -0
  102. package/docs/form-layout/en/grid-form.md +676 -0
  103. package/docs/global/cn/README.md +534 -0
  104. package/docs/global/en/README.md +534 -0
  105. package/docs/layout/cn/classiclayout.md +460 -0
  106. package/docs/layout/cn/headerlayout.md +524 -0
  107. package/docs/layout/cn/sidebarlayout.md +263 -0
  108. package/docs/layout/en/classiclayout.md +951 -0
  109. package/docs/layout/en/headerlayout.md +524 -0
  110. package/docs/layout/en/sidebarlayout.md +262 -0
  111. package/docs/misc/cn/README.md +1217 -0
  112. package/docs/misc/en/README.md +1217 -0
  113. package/docs/navigation/cn/breadcrumb.md +291 -0
  114. package/docs/navigation/cn/navigator.md +322 -0
  115. package/docs/navigation/cn/navigatormenu.md +512 -0
  116. package/docs/navigation/cn/progressbar.md +199 -0
  117. package/docs/navigation/cn/progressstepbar.md +299 -0
  118. package/docs/navigation/en/breadcrumb.md +291 -0
  119. package/docs/navigation/en/navigator.md +322 -0
  120. package/docs/navigation/en/navigatormenu.md +512 -0
  121. package/docs/navigation/en/progressbar.md +199 -0
  122. package/docs/navigation/en/progressstepbar.md +299 -0
  123. package/docs/search-filters/cn/daterange.md +1156 -0
  124. package/docs/search-filters/cn/numberrange.md +688 -0
  125. package/docs/search-filters/cn/searchbox.md +1582 -0
  126. package/docs/search-filters/en/daterange.md +1156 -0
  127. package/docs/search-filters/en/numberrange.md +688 -0
  128. package/docs/search-filters/en/searchbox.md +1582 -0
  129. package/package.json +38 -5
@@ -1,4 +1,5 @@
1
1
  import type { DialogCloseConfirm } from "./DialogCloseConfirm";
2
+ import { type OnClose } from "./ModalResult";
2
3
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
4
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
5
  $$bindings?: Bindings;
@@ -23,10 +24,10 @@ declare const CommonDialog: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_Pr
23
24
  height?: string;
24
25
  closeConfirm?: DialogCloseConfirm | null;
25
26
  content$style?: string;
26
- closeHandler: () => void;
27
27
  enableConfirm?: boolean;
28
28
  confirmHandler?: (() => Promise<any>) | null;
29
29
  confirmText?: string | null;
30
+ onClose?: OnClose | null;
30
31
  }, {
31
32
  default: {};
32
33
  }>, {
@@ -1,27 +1,31 @@
1
1
  <script lang="ts">
2
-
3
2
  import {fade} from "svelte/transition";
4
3
  import type {DialogCloseConfirm} from "./DialogCloseConfirm";
5
4
  import ActionBar, {type ButtonAction, type ButtonActions} from "../action-bar";
6
5
  import i18n from "@ticatec/i18n";
7
- import {onMount} from "svelte";
6
+ import {getContext, onMount} from "svelte";
7
+ import {ModalResult, type OnClose} from "./ModalResult";
8
8
 
9
9
  export let title: string;
10
-
11
10
  export let width: string = 'unset';
12
11
  export let height: string = 'unset';
13
12
  export let actions: ButtonActions | null = null;
14
13
  export let closeConfirm: DialogCloseConfirm | null = null;
15
14
  export let content$style: string = '';
16
- export let closeHandler: () => void;
15
+
17
16
  export let closeAction: ButtonAction | null = null;
17
+ export let onClose: OnClose | null = null;
18
18
 
19
19
  export let dialog$style: string = "";
20
20
 
21
- export const close = async () => {
22
- let confirm = closeConfirm ? await closeConfirm() : true;
21
+ const closeDialog = getContext<() => void>('closeDialog');
22
+
23
+ export const close = async (result: ModalResult) => {
24
+ let confirm = closeConfirm && result == ModalResult.Cancel ? await closeConfirm() : true;
23
25
  if (confirm) {
24
- closeHandler?.();
26
+ console.log('关闭窗口')
27
+ closeDialog();
28
+ onClose?.(result);
25
29
  }
26
30
  }
27
31
 
@@ -52,10 +56,32 @@
52
56
  label: i18n.getText('uniface.btnClose', 'Close'),
53
57
  type: 'secondary'
54
58
  };
55
- closeAction.handler = close;
59
+ closeAction.handler = () => close(ModalResult.Cancel);
56
60
  })
57
61
 
58
- $: dialogActions = actions ? [...actions, closeAction] : [closeAction];
62
+ const wrapActions = () => {
63
+ let wa: ButtonActions = [];
64
+ if (actions) {
65
+ actions.forEach(action => {
66
+ if (action == null) {
67
+ wa.push(null)
68
+ } else {
69
+ wa.push({
70
+ ...action, handler: async (event: MouseEvent) => {
71
+ let result = await action.handler?.(event);
72
+ if (result) {
73
+ await close(ModalResult.Ok)
74
+ }
75
+ }
76
+ })
77
+ }
78
+ })
79
+ }
80
+ wa.push(closeAction);
81
+ return wa;
82
+ }
83
+
84
+ $: dialogActions = actions ? wrapActions() : [closeAction];
59
85
 
60
86
 
61
87
  </script>
@@ -67,7 +93,7 @@
67
93
  <div class="title-bar" on:mousedown={handleMouseDown} on:mouseup={handleMouseUp} aria-hidden="true">
68
94
  <div style="flex: 1 1 auto"><span>{title ?? 'New window'}</span></div>
69
95
  <div style="flex: 0 0 auto; padding-left: 12px">
70
- <i class="icon_google_clear dialog-action-button" aria-hidden="true" on:click={close}></i>
96
+ <i class="icon_google_clear dialog-action-button" aria-hidden="true" on:click={()=>close(ModalResult.Cancel)}></i>
71
97
  </div>
72
98
  </div>
73
99
  <div class="dialog-content" style={content$style}>
@@ -1,5 +1,6 @@
1
1
  import type { DialogCloseConfirm } from "./DialogCloseConfirm";
2
2
  import { type ButtonAction, type ButtonActions } from "../action-bar";
3
+ import { ModalResult, type OnClose } from "./ModalResult";
3
4
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
5
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
6
  $$bindings?: Bindings;
@@ -25,10 +26,10 @@ declare const Dialog: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWit
25
26
  actions?: ButtonActions | null;
26
27
  closeConfirm?: DialogCloseConfirm | null;
27
28
  content$style?: string;
28
- closeHandler: () => void;
29
29
  closeAction?: ButtonAction | null;
30
+ onClose?: OnClose | null;
30
31
  dialog$style?: string;
31
- close?: () => Promise<void>;
32
+ close?: (result: ModalResult) => Promise<void>;
32
33
  }, {
33
34
  default: {};
34
35
  }>, {
@@ -36,7 +37,7 @@ declare const Dialog: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWit
36
37
  }, {
37
38
  default: {};
38
39
  }, {
39
- close: () => Promise<void>;
40
+ close: (result: ModalResult) => Promise<void>;
40
41
  }, string>;
41
42
  type Dialog = InstanceType<typeof Dialog>;
42
43
  export default Dialog;
@@ -1,16 +1,13 @@
1
1
  <script lang="ts">
2
2
 
3
-
4
3
  import {onDestroy, onMount} from "svelte";
5
4
  import {initialize} from "./IDialog";
6
5
 
7
6
  import {dialogs} from "./Dialogs";
7
+ import DialogWrapper from "./DialogWrapper.svelte";
8
8
 
9
9
  export const open = (component: any, params: any) => {
10
- let dialog = {id: (new Date().getTime()).toString(36), component, params};
11
- params.closeHandler = () => {
12
- dialogs.removeDialog(dialog.id);
13
- }
10
+ let dialog = {component, params, id: crypto.randomUUID()};
14
11
  dialogs.showDialog(dialog);
15
12
  }
16
13
 
@@ -28,13 +25,19 @@
28
25
  board && board.remove();
29
26
  });
30
27
 
31
-
32
28
  </script>
33
29
 
34
30
  <div bind:this={board} class="uniface-dialog-board" style="display: {$dialogs.length > 0 ? 'block' : 'none'}">
35
31
  <div style="width: 100%; height: 100%; position: relative">
36
- {#each $dialogs as dialog}
37
- <svelte:component this={dialog.component} {...dialog.params}></svelte:component>
32
+ <!--{#each $dialogs as dialog (dialog)}-->
33
+ <!-- <svelte:component bind:this={dialog.instance} this={dialog.component} {...dialog.params}></svelte:component>-->
34
+ <!--{/each}-->
35
+ {#each $dialogs as dialog (dialog.id)}
36
+ <DialogWrapper
37
+ component={dialog.component}
38
+ params={dialog.params}
39
+ closeDialog={() => dialogs.removeDialog(dialog.id)}
40
+ />
38
41
  {/each}
39
42
  </div>
40
43
  </div>
@@ -0,0 +1,10 @@
1
+ <script lang="ts">
2
+ import { setContext } from 'svelte';
3
+ export let component;
4
+ export let params;
5
+ export let closeDialog;
6
+
7
+ setContext('closeDialog', closeDialog);
8
+ </script>
9
+
10
+ <svelte:component this={component} {...params} />
@@ -0,0 +1,22 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: Props & {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const DialogWrapper: $$__sveltets_2_IsomorphicComponent<{
15
+ component: any;
16
+ params: any;
17
+ closeDialog: any;
18
+ }, {
19
+ [evt: string]: CustomEvent<any>;
20
+ }, {}, {}, string>;
21
+ type DialogWrapper = InstanceType<typeof DialogWrapper>;
22
+ export default DialogWrapper;
@@ -11,7 +11,7 @@ function createDialogStore() {
11
11
  });
12
12
  },
13
13
  removeDialog(id) {
14
- update(dialogs => dialogs.filter(dialog => dialog.id !== id));
14
+ update(dialogs => dialogs.filter(d => d.id !== id));
15
15
  },
16
16
  clear() {
17
17
  set([]);
@@ -0,0 +1,5 @@
1
+ export declare enum ModalResult {
2
+ Cancel = 0,//放弃操作,关闭窗口
3
+ Ok = 1
4
+ }
5
+ export type OnClose = (result: ModalResult) => void;
@@ -0,0 +1,5 @@
1
+ export var ModalResult;
2
+ (function (ModalResult) {
3
+ ModalResult[ModalResult["Cancel"] = 0] = "Cancel";
4
+ ModalResult[ModalResult["Ok"] = 1] = "Ok"; //操作完成,正常关闭
5
+ })(ModalResult || (ModalResult = {}));
@@ -3828,6 +3828,7 @@ root {
3828
3828
  border-right: 1px solid transparent;
3829
3829
  padding: var(--uniface-data-table-cell-padding, 3px 4px);
3830
3830
  position: relative;
3831
+ overflow: hidden;
3831
3832
  }
3832
3833
  .uniface-data-table .data-cell .sortable {
3833
3834
  cursor: pointer;
@@ -3850,6 +3851,12 @@ root {
3850
3851
  .uniface-data-table .data-row.alternative {
3851
3852
  background-color: var(--uniface-data-table-alter-row-bg, #f7f7f7);
3852
3853
  }
3854
+ .uniface-data-table .data-row .data-cell > div {
3855
+ width: 100%;
3856
+ overflow: hidden;
3857
+ white-space: nowrap;
3858
+ text-overflow: ellipsis;
3859
+ }
3853
3860
  .uniface-data-table.row-border .header-row, .uniface-data-table.row-border .data-row {
3854
3861
  border-bottom: 1px solid var(--uniface-data-table-inline-border-color, #CBD5E1);
3855
3862
  }