@oinone/kunlun-vue-admin-base 6.2.9 → 6.2.11

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 (163) hide show
  1. package/dist/oinone-kunlun-vue-admin-base.css +1 -1
  2. package/dist/oinone-kunlun-vue-admin-base.esm.js +9641 -9263
  3. package/dist/oinone-kunlun-vue-admin-base.scss +1 -1
  4. package/dist/types/src/action/component/action/ActionWidget.d.ts +10 -1
  5. package/dist/types/src/action/server-actions/ServerActionWidget.d.ts +1 -5
  6. package/dist/types/src/action/url-actions/UrlActionWidget.d.ts +1 -3
  7. package/dist/types/src/basic/field/complex/select/FormSelectComplexFieldWidget.d.ts +8 -2
  8. package/dist/types/src/basic/table-column/BaseTableColumnWidget.d.ts +3 -0
  9. package/dist/types/src/components/upload/File.vue.d.ts +0 -9
  10. package/dist/types/src/field/detail/enum/multi/DetailEnumMultiFieldWidget.d.ts +2 -1
  11. package/dist/types/src/field/detail/enum/single/DetailEnumFieldWidget.d.ts +2 -1
  12. package/dist/types/src/field/detail/index.d.ts +0 -1
  13. package/dist/types/src/field/detail/m2m/select/DetailM2MSelectFieldWidget.d.ts +1 -1
  14. package/dist/types/src/field/detail/o2m/index.d.ts +1 -0
  15. package/dist/types/src/field/detail/o2m/{DetailO2MSelectFieldWidget.d.ts → select/DetailO2MSelectFieldWidget.d.ts} +1 -1
  16. package/dist/types/src/field/form/abstract/FormInputAbstractFieldWidget.d.ts +22 -18
  17. package/dist/types/src/field/form/abstract/checkbox/FormCheckboxWidget.d.ts +1 -1
  18. package/dist/types/src/field/form/{enum/radio → boolean}/FormBooleanRadioFieldWidget.d.ts +4 -2
  19. package/dist/types/src/field/form/{enum/select/bool → boolean}/FormBooleanSelectFieldWidget.d.ts +2 -2
  20. package/dist/types/src/field/form/boolean/index.d.ts +2 -0
  21. package/dist/types/src/field/form/enum/FormEnumFieldAbstractWidget.d.ts +17 -5
  22. package/dist/types/src/field/form/enum/checkbox/FormEnumMultiCheckboxFieldWidget.d.ts +1 -0
  23. package/dist/types/src/field/form/enum/index.d.ts +1 -0
  24. package/dist/types/src/field/form/enum/radio/FormEnumRadioWidget.d.ts +4 -1
  25. package/dist/types/src/field/form/enum/radio/index.d.ts +0 -1
  26. package/dist/types/src/field/form/enum/select/index.d.ts +0 -1
  27. package/dist/types/src/field/form/enum/select/multi/FormEnumMultiSelectFieldWidget.d.ts +2 -1
  28. package/dist/types/src/field/form/enum/select/single/FormEnumFieldWidget.d.ts +2 -1
  29. package/dist/types/src/field/form/float/Plat.vue.d.ts +2 -2
  30. package/dist/types/src/field/form/index.d.ts +1 -2
  31. package/dist/types/src/field/form/integer/FormIntegerFieldWidget.d.ts +0 -1
  32. package/dist/types/src/field/form/m2o/upload/FormM2OUploadFieldWidget.d.ts +0 -1
  33. package/dist/types/src/field/form/o2o/index.d.ts +1 -0
  34. package/dist/types/src/field/form/o2o/upload/AbstractFormO2OUploadFieldWidget.d.ts +5 -0
  35. package/dist/types/src/field/form/o2o/upload/FormO2OUploadDraggableFieldWidget.d.ts +8 -0
  36. package/dist/types/src/field/form/o2o/upload/FormO2OUploadFieldWidget.d.ts +7 -0
  37. package/dist/types/src/field/form/o2o/upload/FormO2OUploadImgFieldWidget.d.ts +8 -0
  38. package/dist/types/src/field/form/o2o/upload/index.d.ts +4 -0
  39. package/dist/types/src/field/form/string/FormStringFieldWidget.d.ts +12 -3
  40. package/dist/types/src/field/form/string/iframe/FormStringIframeFieldWidget.d.ts +1 -0
  41. package/dist/types/src/field/form/string/media/FormStringMediaPlayerFieldWidget.d.ts +1 -0
  42. package/dist/types/src/field/form/string/tag/Tag.vue.d.ts +6 -6
  43. package/dist/types/src/field/form/string/upload/FormStringUploadFieldWidget.d.ts +11 -2
  44. package/dist/types/src/field/form/text/DefaultTextarea.vue.d.ts +4 -6
  45. package/dist/types/src/field/form/text/FormTextFieldWidget.d.ts +3 -1
  46. package/dist/types/src/field/form/text/index.d.ts +1 -0
  47. package/dist/types/src/field/form/text/typing.d.ts +4 -0
  48. package/dist/types/src/field/table/boolean/TableBooleanRadioFieldWidget.d.ts +3 -0
  49. package/dist/types/src/field/table/boolean/index.d.ts +1 -0
  50. package/dist/types/src/field/table/string/upload/TableStringMultiUploadWidget.d.ts +1 -1
  51. package/dist/types/src/provider/RootWidget.d.ts +2 -2
  52. package/dist/types/src/typing/widget-names.d.ts +1 -0
  53. package/package.json +8 -8
  54. package/src/action/component/action/ActionWidget.ts +203 -28
  55. package/src/action/server-actions/ServerActionWidget.ts +6 -104
  56. package/src/action/url-actions/UrlActionWidget.ts +2 -37
  57. package/src/basic/field/complex/select/FormSelectComplexFieldWidget.ts +24 -32
  58. package/src/basic/form-item/BaseFormItemWidget.ts +4 -0
  59. package/src/basic/gallery-item/DefaultGalleryItem.vue +6 -1
  60. package/src/basic/table-column/BaseTableColumnWidget.ts +5 -2
  61. package/src/components/upload/File.vue +0 -45
  62. package/src/field/detail/boolean/Boolean.vue +2 -3
  63. package/src/field/detail/boolean/DetailBooleanFieldWidget.ts +1 -1
  64. package/src/field/detail/boolean/DetailBooleanSelectFieldWidget.ts +1 -1
  65. package/src/field/detail/enum/multi/DetailEnumMultiFieldWidget.ts +9 -5
  66. package/src/field/detail/enum/single/DetailEnumFieldWidget.ts +8 -2
  67. package/src/field/detail/html/DetailHtmlFieldWidget.ts +1 -1
  68. package/src/field/detail/index.ts +0 -1
  69. package/src/field/detail/m2m/select/DetailM2MSelectFieldWidget.ts +3 -5
  70. package/src/field/detail/m2m/table/DetailM2MTableFieldWidget.ts +3 -1
  71. package/src/field/detail/m2o/DetailM2OSelectFieldWidget.ts +1 -1
  72. package/src/field/detail/m2o/upload/DetailM2OUploadWidget.ts +2 -3
  73. package/src/field/detail/number/DetailNumberWidget.ts +1 -1
  74. package/src/field/detail/o2m/index.ts +1 -0
  75. package/src/field/detail/o2m/{DetailO2MSelectFieldWidget.ts → select/DetailO2MSelectFieldWidget.ts} +4 -5
  76. package/src/field/detail/o2m/{Select.vue → select/Select.vue} +1 -1
  77. package/src/field/detail/o2m/table/DetailO2MTableFieldWidget.ts +3 -1
  78. package/src/field/detail/o2o/DetailO2OSelectFieldWidget.ts +1 -1
  79. package/src/field/detail/string/hyperlinks/DetailStringHyperlinksFieldWidget.ts +1 -1
  80. package/src/field/detail/string/iframe/DetailStringIframeFieldWidget.ts +2 -2
  81. package/src/field/detail/string/media/DetailStringMediaPlayerFieldWidget.ts +1 -1
  82. package/src/field/detail/string/string-with-copy/DetailStringWithCopyFieldWidget.ts +1 -1
  83. package/src/field/detail/string/tag/DetailStringTagFieldWidget.ts +1 -1
  84. package/src/field/detail/string/upload/DetailStringUploadFieldWidget.ts +1 -1
  85. package/src/field/detail/string/upload/DetailStringUploadImgFieldWidget.ts +1 -1
  86. package/src/field/form/abstract/FormInputAbstractFieldWidget.ts +54 -50
  87. package/src/field/form/abstract/checkbox/FormCheckboxWidget.ts +1 -3
  88. package/src/field/form/{enum/radio → boolean}/FormBooleanRadioFieldWidget.ts +22 -4
  89. package/src/field/form/{enum/select/bool → boolean}/FormBooleanSelectFieldWidget.ts +4 -5
  90. package/src/field/form/boolean/index.ts +2 -0
  91. package/src/field/form/enum/FormEnumFieldAbstractWidget.ts +42 -33
  92. package/src/field/form/enum/checkbox/FormEnumMultiCheckboxFieldWidget.ts +9 -1
  93. package/src/field/form/enum/index.ts +2 -1
  94. package/src/field/form/enum/radio/FormEnumRadioWidget.ts +21 -8
  95. package/src/field/form/enum/radio/index.ts +0 -1
  96. package/src/field/form/enum/select/index.ts +0 -1
  97. package/src/field/form/enum/select/multi/FormEnumMultiSelectFieldWidget.ts +2 -1
  98. package/src/field/form/enum/select/single/FormEnumFieldWidget.ts +2 -1
  99. package/src/field/form/index.ts +1 -3
  100. package/src/field/form/integer/FormIntegerFieldWidget.ts +0 -5
  101. package/src/field/form/integer/FormIntegerSliderFieldWidget.ts +1 -1
  102. package/src/field/form/integer/FormIntegerTagFieldWidget.ts +1 -0
  103. package/src/field/form/m2m/select/FormM2MFieldSelectWidget.ts +2 -2
  104. package/src/field/form/m2m/table/FormM2MTableFieldWidget.ts +2 -0
  105. package/src/field/form/m2m/upload/FormM2MUploadFieldWidget.ts +3 -3
  106. package/src/field/form/m2m/upload/FormM2MUploadImgFieldWidget.ts +1 -1
  107. package/src/field/form/m2o/form/FormM2OFormFieldWidget.ts +1 -1
  108. package/src/field/form/m2o/upload/FormM2OUploadFieldWidget.ts +2 -9
  109. package/src/field/form/m2o/upload/FormM2OUploadImgFieldWidget.ts +1 -1
  110. package/src/field/form/o2m/table/FormO2MTableFieldWidget.ts +2 -0
  111. package/src/field/form/o2m/upload/FormO2MUploadImgFieldWidget.ts +1 -1
  112. package/src/field/form/o2o/index.ts +1 -0
  113. package/src/field/form/o2o/upload/AbstractFormO2OUploadFieldWidget.ts +18 -0
  114. package/src/field/form/o2o/upload/FormO2OUploadDraggableFieldWidget.ts +47 -0
  115. package/src/field/form/o2o/upload/FormO2OUploadFieldWidget.ts +42 -0
  116. package/src/field/form/o2o/upload/FormO2OUploadImgFieldWidget.ts +62 -0
  117. package/src/field/form/o2o/upload/index.ts +4 -0
  118. package/src/field/form/string/DefaultString.vue +2 -2
  119. package/src/field/form/string/FormStringFieldWidget.ts +36 -27
  120. package/src/field/form/string/download/DefaultDownload.vue +1 -0
  121. package/src/field/form/string/iframe/FormStringIframeFieldWidget.ts +8 -1
  122. package/src/field/form/string/input/FormStringInputFieldWidget.ts +0 -4
  123. package/src/field/form/string/media/FormStringMediaPlayerFieldWidget.ts +7 -2
  124. package/src/field/form/string/media/FormStringMultiMediaPlayerFieldWidget.ts +1 -1
  125. package/src/field/form/string/tag/Tag.vue +0 -3
  126. package/src/field/form/string/upload/FormStringUploadFieldWidget.ts +24 -17
  127. package/src/field/form/string/upload/FormStringUploadImgFieldWidget.ts +1 -1
  128. package/src/field/form/text/DefaultTextarea.vue +11 -5
  129. package/src/field/form/text/FormTextFieldWidget.ts +32 -5
  130. package/src/field/form/text/index.ts +1 -0
  131. package/src/field/form/text/typing.ts +1 -0
  132. package/src/field/gallery/boolean/GalleryBooleanFieldWidget.ts +7 -3
  133. package/src/field/gallery/boolean/GalleryBooleanSelectFieldWidget.ts +1 -1
  134. package/src/field/gallery/common/GalleryCommonField.vue +7 -1
  135. package/src/field/gallery/common/GalleryCommonFieldWidget.ts +2 -8
  136. package/src/field/gallery/enum/single/GalleryEnumTagFieldWidget.ts +1 -1
  137. package/src/field/gallery/html/GalleryHtmlFieldWidget.ts +2 -2
  138. package/src/field/gallery/m2m/GalleryM2MSelectFieldWidget.ts +1 -1
  139. package/src/field/gallery/m2o/GalleryM2OSelectFieldWidget.ts +1 -1
  140. package/src/field/gallery/o2m/GalleryO2MSelectFieldWidget.ts +1 -1
  141. package/src/field/gallery/o2o/GalleryO2OSelectFieldWidget.ts +1 -1
  142. package/src/field/gallery/string/default/GalleryStringFieldWidget.ts +1 -2
  143. package/src/field/gallery/string/hyperlinks/GalleryStringHyperlinksFieldWidget.ts +1 -1
  144. package/src/field/gallery/string/iframe/GalleryStringIframeFieldWidget.ts +2 -2
  145. package/src/field/gallery/string/media-player/GalleryStringMediaPlayerWidget.ts +1 -1
  146. package/src/field/gallery/string/string-tag/GalleryStringTagStringFieldWidget.ts +1 -1
  147. package/src/field/gallery/string/tag/GalleryStringTagFieldWidget.ts +1 -1
  148. package/src/field/gallery/text-content/number/GalleryNumberTextContentWidget.ts +1 -1
  149. package/src/field/gallery/text-content/string/GalleryStringTextContentWidget.ts +1 -1
  150. package/src/field/table/boolean/TableBooleanFieldWidget.ts +7 -2
  151. package/src/field/table/boolean/TableBooleanRadioFieldWidget.ts +13 -0
  152. package/src/field/table/boolean/TableBooleanSelectFieldWidget.ts +1 -1
  153. package/src/field/table/boolean/index.ts +1 -0
  154. package/src/field/table/string/upload/TableStringMultiUploadWidget.ts +3 -3
  155. package/src/typing/widget-names.ts +2 -0
  156. package/src/util/utils.ts +2 -1
  157. package/src/view/application-screen/gallery/AppsGalleryWidget.ts +2 -2
  158. package/src/view/card/CardWidget.ts +4 -4
  159. package/src/view/gallery/GalleryWidget.ts +9 -3
  160. package/src/view/popup/drawer/style/index.scss +3 -1
  161. package/dist/types/src/field/form/enum/select/bool/index.d.ts +0 -1
  162. package/src/field/form/enum/select/bool/index.ts +0 -1
  163. /package/dist/types/src/field/detail/o2m/{Select.vue.d.ts → select/Select.vue.d.ts} +0 -0
@@ -51,33 +51,6 @@ export class FormStringFieldWidget extends FormInputAbstractFieldWidget<string,
51
51
  return false;
52
52
  }
53
53
 
54
- @Widget.Reactive()
55
- protected get patternType() {
56
- const _patternType = this.getDsl().patternType;
57
- if (_patternType) {
58
- return this.executeExpression(_patternType);
59
- }
60
- return undefined;
61
- }
62
-
63
- @Widget.Reactive()
64
- protected get pattern() {
65
- const _pattern = this.getDsl().pattern;
66
- if (_pattern) {
67
- return _pattern;
68
- }
69
- return undefined;
70
- }
71
-
72
- @Widget.Reactive()
73
- protected get clearSetEmpty() {
74
- const _clearSetEmpty = this.getDsl().clearSetEmpty;
75
- if (isNil(_clearSetEmpty)) {
76
- return true;
77
- }
78
- return _clearSetEmpty || false;
79
- }
80
-
81
54
  @Widget.Reactive()
82
55
  protected get crypto() {
83
56
  return this.getDsl().crypto || false;
@@ -145,4 +118,40 @@ export class FormStringFieldWidget extends FormInputAbstractFieldWidget<string,
145
118
 
146
119
  super.change(val);
147
120
  }
121
+
122
+ /**
123
+ * @deprecated invalid prop
124
+ */
125
+ @Widget.Reactive()
126
+ protected get patternType() {
127
+ const _patternType = this.getDsl().patternType;
128
+ if (_patternType) {
129
+ return this.executeExpression(_patternType);
130
+ }
131
+ return undefined;
132
+ }
133
+
134
+ /**
135
+ * @deprecated invalid prop
136
+ */
137
+ @Widget.Reactive()
138
+ protected get pattern() {
139
+ const _pattern = this.getDsl().pattern;
140
+ if (_pattern) {
141
+ return _pattern;
142
+ }
143
+ return undefined;
144
+ }
145
+
146
+ /**
147
+ * @deprecated invalid prop
148
+ */
149
+ @Widget.Reactive()
150
+ protected get clearSetEmpty() {
151
+ const _clearSetEmpty = this.getDsl().clearSetEmpty;
152
+ if (isNil(_clearSetEmpty)) {
153
+ return true;
154
+ }
155
+ return _clearSetEmpty || false;
156
+ }
148
157
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  <script lang="ts">
9
9
  import { defineComponent, PropType } from 'vue';
10
+
10
11
  export default defineComponent({
11
12
  name: 'DefaultDownload',
12
13
  props: {
@@ -1,5 +1,7 @@
1
1
  import { ModelFieldType, ViewType } from '@oinone/kunlun-meta';
2
2
  import { SPI } from '@oinone/kunlun-spi';
3
+ import { InputMediaMode } from '@oinone/kunlun-vue-ui-common';
4
+ import { Widget } from '@oinone/kunlun-vue-widget';
3
5
  import { FormFieldWidget } from '../../../../basic';
4
6
  import { FormStringInputFieldWidget } from '../input';
5
7
  import DefaultFormIframe from './DefaultFormIframe.vue';
@@ -8,7 +10,7 @@ import DefaultFormIframe from './DefaultFormIframe.vue';
8
10
  FormFieldWidget.Token({
9
11
  viewType: ViewType.Form,
10
12
  ttype: ModelFieldType.String,
11
- widget: ['Iframe']
13
+ widget: 'Iframe'
12
14
  })
13
15
  )
14
16
  export class FormStringIframeFieldWidget extends FormStringInputFieldWidget {
@@ -17,6 +19,11 @@ export class FormStringIframeFieldWidget extends FormStringInputFieldWidget {
17
19
  this.setComponent(DefaultFormIframe);
18
20
  return this;
19
21
  }
22
+
23
+ @Widget.Reactive()
24
+ protected get mode() {
25
+ return this.getDsl().mode || InputMediaMode.DYNAMIC;
26
+ }
20
27
  }
21
28
 
22
29
  /**
@@ -18,10 +18,6 @@ import { FormStringFieldWidget } from '../FormStringFieldWidget';
18
18
  )
19
19
  export class FormStringInputFieldWidget extends FormStringFieldWidget {
20
20
  public submit(submitValue: SubmitValue) {
21
- // const finalValue = this.addPrefixSuffix(this.inputRealValue);
22
- // if (!finalValue && this.inputRealValue === undefined) {
23
- // return undefined;
24
- // }
25
21
  let finalValue = this.value;
26
22
  /**
27
23
  * 数据提交的时候,如果判断当前字段是否需要加密
@@ -1,7 +1,7 @@
1
1
  import { translateValueByKey } from '@oinone/kunlun-engine';
2
2
  import { ModelFieldType, ViewType } from '@oinone/kunlun-meta';
3
3
  import { SPI } from '@oinone/kunlun-spi';
4
- import { defaultMultiPartConfig, ValidateTrigger, WidgetTrigger } from '@oinone/kunlun-vue-ui-common';
4
+ import { defaultMultiPartConfig, InputMediaMode, ValidateTrigger, WidgetTrigger } from '@oinone/kunlun-vue-ui-common';
5
5
  import { Widget } from '@oinone/kunlun-vue-widget';
6
6
  import { isArray, isNumber } from 'lodash-es';
7
7
  import { FormFieldWidget } from '../../../../basic';
@@ -18,7 +18,7 @@ enum FileSource {
18
18
  FormFieldWidget.Token({
19
19
  viewType: ViewType.Form,
20
20
  ttype: ModelFieldType.String,
21
- widget: ['MediaPlayer']
21
+ widget: 'MediaPlayer'
22
22
  })
23
23
  )
24
24
  export class FormStringMediaPlayerFieldWidget extends FormStringInputFieldWidget {
@@ -28,6 +28,11 @@ export class FormStringMediaPlayerFieldWidget extends FormStringInputFieldWidget
28
28
  return this;
29
29
  }
30
30
 
31
+ @Widget.Reactive()
32
+ protected get mode() {
33
+ return this.getDsl().mode || InputMediaMode.DYNAMIC;
34
+ }
35
+
31
36
  @Widget.Reactive()
32
37
  protected get fileSource() {
33
38
  return this.getDsl().fileSource;
@@ -10,7 +10,7 @@ import Media from './Media.vue';
10
10
  viewType: [ViewType.Form, ViewType.Detail, ViewType.Table],
11
11
  ttype: ModelFieldType.String,
12
12
  multi: true,
13
- widget: ['MediaPlayer']
13
+ widget: 'MediaPlayer'
14
14
  })
15
15
  )
16
16
  export class FormStringMultiMediaPlayerFieldWidget extends FormStringFieldWidget {
@@ -44,9 +44,6 @@ export default defineComponent({
44
44
  tagChange: {
45
45
  type: Function
46
46
  },
47
- blur: {
48
- type: Function
49
- },
50
47
  placeholder: {
51
48
  type: String
52
49
  },
@@ -128,11 +128,6 @@ export class FormStringUploadFieldWidget extends FormFieldWidget<string[], Runti
128
128
  return -1;
129
129
  }
130
130
 
131
- @Widget.Reactive()
132
- protected get allLimitSize() {
133
- return this.getDsl().allLimitSize || '';
134
- }
135
-
136
131
  @Widget.Reactive()
137
132
  protected get multiple(): boolean {
138
133
  const _multiple = this.getDsl().multi;
@@ -154,18 +149,6 @@ export class FormStringUploadFieldWidget extends FormFieldWidget<string[], Runti
154
149
  return BooleanHelper.toBoolean(this.getDsl().privateLink);
155
150
  }
156
151
 
157
- // 文件展示的前缀文本
158
- @Widget.Reactive()
159
- protected get fileDisplayPrefixText() {
160
- return this.getDsl().displayPrefixText || 'prefix:';
161
- }
162
-
163
- // 文件展示的占位文本
164
- @Widget.Reactive()
165
- protected get fileDisplayText() {
166
- return this.getDsl().fileDisplayText || 'fileDisplayText';
167
- }
168
-
169
152
  public async validator(): Promise<ValidatorInfo> {
170
153
  const res = await super.validator();
171
154
  if (!isValidatorSuccess(res)) {
@@ -187,4 +170,28 @@ export class FormStringUploadFieldWidget extends FormFieldWidget<string[], Runti
187
170
  }
188
171
  return this.validatorSuccess();
189
172
  }
173
+
174
+ /**
175
+ * @deprecated invalid prop
176
+ */
177
+ @Widget.Reactive()
178
+ protected get allLimitSize() {
179
+ return this.getDsl().allLimitSize || '';
180
+ }
181
+
182
+ /**
183
+ * @deprecated invalid code
184
+ */
185
+ @Widget.Reactive()
186
+ protected get fileDisplayPrefixText() {
187
+ return this.getDsl().displayPrefixText || 'prefix:';
188
+ }
189
+
190
+ /**
191
+ * @deprecated invalid code
192
+ */
193
+ @Widget.Reactive()
194
+ protected get fileDisplayText() {
195
+ return this.getDsl().fileDisplayText || 'fileDisplayText';
196
+ }
190
197
  }
@@ -8,7 +8,7 @@ import { FormStringUploadFieldWidget } from './FormStringUploadFieldWidget';
8
8
  BaseFieldWidget.Token({
9
9
  viewType: ViewType.Form,
10
10
  ttype: [ModelFieldType.String, ModelFieldType.Text],
11
- widget: ['UploadImg']
11
+ widget: 'UploadImg'
12
12
  })
13
13
  )
14
14
  export class FormStringUploadImgFieldWidget extends FormStringUploadFieldWidget {
@@ -47,7 +47,7 @@ export default defineComponent({
47
47
  type: String
48
48
  },
49
49
  rows: {
50
- type: Number,
50
+ type: [Number, Boolean, Object],
51
51
  default: 3
52
52
  },
53
53
  allowClear: {
@@ -80,13 +80,19 @@ export default defineComponent({
80
80
  const realValue = ref(props.value || props.defaultValue);
81
81
 
82
82
  const autoSize = computed(() => {
83
- const { rows } = props;
83
+ const rows = props.rows;
84
84
  if (isNil(rows)) {
85
85
  return true;
86
86
  }
87
- return {
88
- minRows: rows
89
- };
87
+ if (typeof rows === 'number') {
88
+ if (rows < 0) {
89
+ return undefined;
90
+ }
91
+ return {
92
+ minRows: rows
93
+ };
94
+ }
95
+ return rows;
90
96
  });
91
97
 
92
98
  watch(
@@ -1,4 +1,5 @@
1
1
  import { ModelFieldType, ViewType } from '@oinone/kunlun-meta';
2
+ import { BooleanHelper } from '@oinone/kunlun-shared';
2
3
  import { SPI } from '@oinone/kunlun-spi';
3
4
  import { Widget } from '@oinone/kunlun-vue-widget';
4
5
  import { isNaN, isNumber } from 'lodash-es';
@@ -6,6 +7,7 @@ import { FormFieldWidget } from '../../../basic';
6
7
  import { isValidatorSuccess, ValidatorInfo } from '../../../typing';
7
8
  import { FormStringFieldWidget } from '../string/FormStringFieldWidget';
8
9
  import DefaultTextarea from './DefaultTextarea.vue';
10
+ import { InputTextareaSize } from './typing';
9
11
 
10
12
  @SPI.ClassFactory(FormFieldWidget.Token({ viewType: [ViewType.Form, ViewType.Search], ttype: ModelFieldType.Text }))
11
13
  export class FormTextFieldWidget extends FormStringFieldWidget {
@@ -16,12 +18,37 @@ export class FormTextFieldWidget extends FormStringFieldWidget {
16
18
  }
17
19
 
18
20
  @Widget.Reactive()
19
- protected get rows(): number {
20
- const rows = Number(this.getDsl().rows);
21
- if (isNaN(rows)) {
22
- return 3;
21
+ protected get defaultRows(): InputTextareaSize {
22
+ return 3;
23
+ }
24
+
25
+ @Widget.Reactive()
26
+ protected get rows(): InputTextareaSize {
27
+ const { rows } = this.getDsl();
28
+ if (rows == null) {
29
+ return this.defaultRows;
30
+ }
31
+ const autoSize = BooleanHelper.toBoolean(rows);
32
+ if (autoSize != null) {
33
+ return autoSize;
34
+ }
35
+ const minRows = Number(rows);
36
+ if (!isNaN(minRows)) {
37
+ return minRows;
38
+ }
39
+ if (typeof rows === 'string') {
40
+ const [minRows, maxRows] = rows.split(',');
41
+ const minRowsNumber = Number(minRows);
42
+ const maxRowsNumber = Number(maxRows);
43
+ if (isNaN(minRowsNumber) || isNaN(maxRowsNumber)) {
44
+ return this.defaultRows;
45
+ }
46
+ return {
47
+ minRows: minRowsNumber,
48
+ maxRows: maxRowsNumber
49
+ };
23
50
  }
24
- return rows;
51
+ return this.defaultRows;
25
52
  }
26
53
 
27
54
  @Widget.Reactive()
@@ -1,2 +1,3 @@
1
1
  export * from './FormTextFieldWidget';
2
2
  export * from './DomainExpGenerator';
3
+ export * from './typing';
@@ -0,0 +1 @@
1
+ export type InputTextareaSize = number | boolean | { minRows?: number; maxRows?: number } | undefined;
@@ -1,11 +1,15 @@
1
1
  import { ModelFieldType, ViewType } from '@oinone/kunlun-meta';
2
2
  import { SPI } from '@oinone/kunlun-spi';
3
-
4
3
  import { FormFieldWidget } from '../../../basic/field';
5
- import Boolean from './Boolean.vue';
6
4
  import { DetailBooleanFieldWidget } from '../../detail';
5
+ import Boolean from './Boolean.vue';
7
6
 
8
- @SPI.ClassFactory(FormFieldWidget.Token({ viewType: [ViewType.Gallery], ttype: ModelFieldType.Boolean }))
7
+ @SPI.ClassFactory(
8
+ FormFieldWidget.Token({
9
+ viewType: ViewType.Gallery,
10
+ ttype: ModelFieldType.Boolean
11
+ })
12
+ )
9
13
  export class GalleryBooleanFieldWidget extends DetailBooleanFieldWidget {
10
14
  public initialize(props) {
11
15
  super.initialize(props);
@@ -6,7 +6,7 @@ import GalleryEnum from '../enum/GalleryEnum.vue';
6
6
 
7
7
  @SPI.ClassFactory(
8
8
  FormFieldWidget.Token({
9
- viewType: [ViewType.Gallery],
9
+ viewType: ViewType.Gallery,
10
10
  ttype: [ModelFieldType.Boolean],
11
11
  widget: ['Select', 'Radio']
12
12
  })
@@ -52,7 +52,13 @@ export default defineComponent({
52
52
 
53
53
  const justifyContent = computed(() => {
54
54
  return Optional.ofNullable(props.justifyContent)
55
- .map((v) => FlexRowJustify[v!])
55
+ .map((v) => {
56
+ const target = FlexRowJustify[v];
57
+ if (target) {
58
+ return target;
59
+ }
60
+ return v as FlexRowJustify;
61
+ })
56
62
  .orElse(FlexRowJustify.START);
57
63
  });
58
64
 
@@ -8,14 +8,8 @@ import GalleryCommonField from './GalleryCommonField.vue';
8
8
 
9
9
  @SPI.ClassFactory(
10
10
  FormFieldWidget.Token({
11
- viewType: [ViewType.Gallery],
12
- ttype: [
13
- ModelFieldType.String,
14
- ModelFieldType.Text,
15
- ModelFieldType.Phone,
16
- ModelFieldType.Email,
17
- ModelFieldType.Related
18
- ]
11
+ viewType: ViewType.Gallery,
12
+ ttype: [ModelFieldType.Text, ModelFieldType.Related]
19
13
  })
20
14
  )
21
15
  export class GalleryCommonFieldWidget extends DetailCommonFieldWidget {
@@ -8,7 +8,7 @@ import GalleryTagEnum from './GalleryTagEnum.vue';
8
8
 
9
9
  @SPI.ClassFactory(
10
10
  FormFieldWidget.Token({
11
- viewType: [ViewType.Gallery],
11
+ viewType: ViewType.Gallery,
12
12
  ttype: ModelFieldType.Enum,
13
13
  widget: ['Tag', 'TagEnum']
14
14
  })
@@ -7,7 +7,7 @@ import Html from './Html.vue';
7
7
 
8
8
  @SPI.ClassFactory(
9
9
  FormFieldWidget.Token({
10
- viewType: [ViewType.Gallery],
10
+ viewType: ViewType.Gallery,
11
11
  ttype: ModelFieldType.HTML
12
12
  })
13
13
  )
@@ -20,6 +20,6 @@ export class GalleryHtmlFieldWidget extends DetailHtmlFieldWidget {
20
20
 
21
21
  @Widget.Reactive()
22
22
  public get showHeight() {
23
- return this.getDsl()?.showHeight;
23
+ return this.getDsl().showHeight;
24
24
  }
25
25
  }
@@ -6,7 +6,7 @@ import { GalleryO2MSelectFieldWidget } from '../o2m';
6
6
 
7
7
  @SPI.ClassFactory(
8
8
  FormFieldWidget.Token({
9
- viewType: [ViewType.Gallery],
9
+ viewType: ViewType.Gallery,
10
10
  ttype: ModelFieldType.ManyToMany
11
11
  })
12
12
  )
@@ -6,7 +6,7 @@ import Select from './Select.vue';
6
6
 
7
7
  @SPI.ClassFactory(
8
8
  FormFieldWidget.Token({
9
- viewType: [ViewType.Gallery],
9
+ viewType: ViewType.Gallery,
10
10
  ttype: ModelFieldType.ManyToOne
11
11
  })
12
12
  )
@@ -8,7 +8,7 @@ import { DetailO2MSelectFieldWidget } from '../../detail';
8
8
 
9
9
  @SPI.ClassFactory(
10
10
  FormFieldWidget.Token({
11
- viewType: [ViewType.Gallery],
11
+ viewType: ViewType.Gallery,
12
12
  ttype: ModelFieldType.OneToMany
13
13
  })
14
14
  )
@@ -9,7 +9,7 @@ import { GalleryM2OSelectFieldWidget } from '../m2o';
9
9
  */
10
10
  @SPI.ClassFactory(
11
11
  FormFieldWidget.Token({
12
- viewType: [ViewType.Gallery],
12
+ viewType: ViewType.Gallery,
13
13
  ttype: ModelFieldType.OneToOne
14
14
  })
15
15
  )
@@ -3,12 +3,11 @@ import { SPI } from '@oinone/kunlun-spi';
3
3
  import { Widget } from '@oinone/kunlun-vue-widget';
4
4
  import { FormFieldWidget } from '../../../../basic';
5
5
  import { DetailStringFieldWidget } from '../../../detail';
6
-
7
6
  import GalleryString from './GalleryString.vue';
8
7
 
9
8
  @SPI.ClassFactory(
10
9
  FormFieldWidget.Token({
11
- viewType: [ViewType.Gallery],
10
+ viewType: ViewType.Gallery,
12
11
  ttype: [ModelFieldType.String, ModelFieldType.Phone, ModelFieldType.Email]
13
12
  })
14
13
  )
@@ -8,7 +8,7 @@ import GalleryHyperlinks from './GalleryHyperlinks.vue';
8
8
 
9
9
  @SPI.ClassFactory(
10
10
  FormFieldWidget.Token({
11
- viewType: [ViewType.Gallery],
11
+ viewType: ViewType.Gallery,
12
12
  ttype: ModelFieldType.String,
13
13
  widget: 'Hyperlinks'
14
14
  })
@@ -7,9 +7,9 @@ import Iframe from './Iframe.vue';
7
7
 
8
8
  @SPI.ClassFactory(
9
9
  FormFieldWidget.Token({
10
- viewType: [ViewType.Gallery],
10
+ viewType: ViewType.Gallery,
11
11
  ttype: ModelFieldType.String,
12
- widget: ['Iframe']
12
+ widget: 'Iframe'
13
13
  })
14
14
  )
15
15
  export class GalleryStringIframeFieldWidget extends DetailStringIframeFieldWidget {
@@ -8,7 +8,7 @@ import GalleryMediaPlayer from './GalleryMediaPlayer.vue';
8
8
 
9
9
  @SPI.ClassFactory(
10
10
  FormFieldWidget.Token({
11
- viewType: [ViewType.Gallery],
11
+ viewType: ViewType.Gallery,
12
12
  ttype: [ModelFieldType.String],
13
13
  widget: 'MediaPlayer'
14
14
  })
@@ -8,7 +8,7 @@ import GalleryTagString from './GalleryTagString.vue';
8
8
 
9
9
  @SPI.ClassFactory(
10
10
  FormFieldWidget.Token({
11
- viewType: [ViewType.Gallery],
11
+ viewType: ViewType.Gallery,
12
12
  ttype: [ModelFieldType.String, ModelFieldType.Phone, ModelFieldType.Email],
13
13
  widget: 'TagString'
14
14
  })
@@ -7,7 +7,7 @@ import GalleryTag from './GalleryTag.vue';
7
7
 
8
8
  @SPI.ClassFactory(
9
9
  FormFieldWidget.Token({
10
- viewType: [ViewType.Gallery],
10
+ viewType: ViewType.Gallery,
11
11
  ttype: [ModelFieldType.String, ModelFieldType.Integer],
12
12
  multi: true
13
13
  })
@@ -7,7 +7,7 @@ import { GalleryNumberWidget } from '../../number';
7
7
 
8
8
  @SPI.ClassFactory(
9
9
  FormFieldWidget.Token({
10
- viewType: [ViewType.Gallery],
10
+ viewType: ViewType.Gallery,
11
11
  ttype: [ModelFieldType.Integer, ModelFieldType.ID, ModelFieldType.Float],
12
12
  widget: 'TextContent'
13
13
  })
@@ -7,7 +7,7 @@ import { GalleryStringFieldWidget } from '../../string';
7
7
 
8
8
  @SPI.ClassFactory(
9
9
  FormFieldWidget.Token({
10
- viewType: [ViewType.Gallery],
10
+ viewType: ViewType.Gallery,
11
11
  ttype: [ModelFieldType.String],
12
12
  multi: false,
13
13
  widget: 'TextContent'
@@ -1,13 +1,18 @@
1
1
  import { ModelFieldType, ViewType } from '@oinone/kunlun-meta';
2
+ import { BooleanHelper } from '@oinone/kunlun-shared';
2
3
  import { SPI } from '@oinone/kunlun-spi';
3
4
  import { RowContext } from '@oinone/kunlun-vue-ui';
4
- import { BooleanHelper } from '@oinone/kunlun-shared';
5
5
  import { Widget } from '@oinone/kunlun-vue-widget';
6
6
  import { VNode } from 'vue';
7
7
  import { BaseFieldWidget, BaseTableFieldWidget } from '../../../basic';
8
8
  import { enumFetchLabelByValue } from '../../util';
9
9
 
10
- @SPI.ClassFactory(BaseFieldWidget.Token({ viewType: ViewType.Table, ttype: ModelFieldType.Boolean }))
10
+ @SPI.ClassFactory(
11
+ BaseFieldWidget.Token({
12
+ viewType: ViewType.Table,
13
+ ttype: ModelFieldType.Boolean
14
+ })
15
+ )
11
16
  export class TableBooleanFieldWidget extends BaseTableFieldWidget<boolean | string> {
12
17
  @Widget.Method()
13
18
  public renderDefaultSlot(context: RowContext): VNode[] | string {
@@ -0,0 +1,13 @@
1
+ import { ModelFieldType, ViewType } from '@oinone/kunlun-meta';
2
+ import { SPI } from '@oinone/kunlun-spi';
3
+ import { BaseFieldWidget } from '../../../basic';
4
+ import { TableBooleanSelectFieldWidget } from './TableBooleanSelectFieldWidget';
5
+
6
+ @SPI.ClassFactory(
7
+ BaseFieldWidget.Token({
8
+ viewType: ViewType.Table,
9
+ ttype: ModelFieldType.Boolean,
10
+ widget: 'Radio'
11
+ })
12
+ )
13
+ export class TableBooleanRadioFieldWidget extends TableBooleanSelectFieldWidget {}
@@ -14,7 +14,7 @@ import TableEnum from '../enum/TableEnum.vue';
14
14
  BaseFieldWidget.Token({
15
15
  viewType: ViewType.Table,
16
16
  ttype: ModelFieldType.Boolean,
17
- widget: ['Select', 'Radio']
17
+ widget: 'Select'
18
18
  })
19
19
  )
20
20
  export class TableBooleanSelectFieldWidget extends BaseTableFieldWidget<string | string[], RuntimeEnumerationField> {
@@ -1,3 +1,4 @@
1
1
  export * from './TableBooleanFieldWidget';
2
+ export * from './TableBooleanRadioFieldWidget';
2
3
  export * from './TableBooleanSelectFieldWidget';
3
4
  export * from './TableBooleanSwitchFieldWidget';
@@ -1,10 +1,10 @@
1
1
  import { ModelFieldType, ViewType } from '@oinone/kunlun-meta';
2
+ import { BooleanHelper } from '@oinone/kunlun-shared';
2
3
  import { SPI } from '@oinone/kunlun-spi';
3
- import { BaseFieldWidget } from '../../../../basic';
4
- import { TableStringTagFieldWidget } from '../tag/TableStringTagFieldWidget';
5
4
  import { Widget } from '@oinone/kunlun-vue-widget';
6
5
  import { createVNode, VNode } from 'vue';
7
- import { BooleanHelper } from '@oinone/kunlun-shared';
6
+ import { BaseFieldWidget } from '../../../../basic';
7
+ import { TableStringTagFieldWidget } from '../tag';
8
8
  import DefaultTableUpload from './DefaultTableUpload.vue';
9
9
 
10
10
  @SPI.ClassFactory(
@@ -7,3 +7,5 @@ export const DETAIL_WIDGET = 'Detail';
7
7
  export const SEARCH_WIDGET = 'Search';
8
8
 
9
9
  export const GALLERY_WIDGET = 'Gallery';
10
+
11
+ export const CARD_WIDGET = 'Card';
package/src/util/utils.ts CHANGED
@@ -33,9 +33,10 @@ const executeConfirm = (confirm: string | ConfirmOptions): Promise<boolean> => {
33
33
  // 这个要helper里面拿各种工具类
34
34
  Modal.confirm({
35
35
  class: `oio-modal`,
36
- title: translateValueByKey(translate('kunlun.common.prompt')),
36
+ title: translateValueByKey(options.title || translate('kunlun.common.prompt')),
37
37
  icon: createVNode(ExclamationCircleOutlined),
38
38
  zIndex: options.zIndex,
39
+ width: options.width,
39
40
  content: options.confirm,
40
41
  okText: options.enterText || translateValueByKey(translate('kunlun.common.confirm')),
41
42
  cancelText: options.cancelText || translateValueByKey(translate('kunlun.common.cancel')),