inviton-powerduck 0.0.212 → 0.0.214

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.
@@ -0,0 +1,5 @@
1
+ export default class VueUtils {
2
+ static isVNode(item: any): boolean {
3
+ return item?.__v_isVNode;
4
+ }
5
+ }
@@ -1,6 +1,7 @@
1
1
  import type { VNode } from 'vue';
2
2
  import { Prop, toNative } from 'vue-facing-decorator';
3
3
  import TsxComponent, { Component } from '../../app/vuetsx';
4
+ import VueUtils from '../../common/utils/vue-utils';
4
5
 
5
6
  interface CardHeaderArgs {
6
7
  title?: string | VNode;
@@ -15,11 +16,15 @@ class CardHeaderComponent extends TsxComponent<CardHeaderArgs> implements CardHe
15
16
  @Prop() smallTitle?: string;
16
17
 
17
18
  render(h) {
19
+ const titleIsVnode = VueUtils.isVNode(this.title);
20
+
18
21
  return (
19
22
  <div class="card-header ">
20
23
  {this.smallTitle && <h6 class="card-small-title">{this.smallTitle}</h6>}
24
+ {titleIsVnode && this.title
25
+ && <div class="card-title card-title-vnode">{this.title}</div>}
21
26
 
22
- {this.title && (
27
+ {!titleIsVnode && this.title && (
23
28
  <h5 class="card-title">
24
29
  {this.title}
25
30
 
@@ -10,6 +10,7 @@ import { remove } from '../../common/extensions/array-extensions';
10
10
  import { capitalize } from '../../common/extensions/string-extensions';
11
11
  import { isNullOrEmpty } from '../../common/utils/is-null-or-empty';
12
12
  import { PortalUtils } from '../../common/utils/utils';
13
+ import VueUtils from '../../common/utils/vue-utils';
13
14
  import FormItemWrapper from '../form/form-item-wrapper';
14
15
  import LoadingIndicator from '../loading-indicator';
15
16
  import FilterableSelect from './mobile/legacy_fdd';
@@ -509,7 +510,7 @@ class DropdownListComponent extends TsxComponent<DropdownListArgs> implements Dr
509
510
  item?.dataRow ?? item,
510
511
  originator,
511
512
  );
512
- if (result?.__v_isVNode) {
513
+ if (VueUtils.isVNode(result)) {
513
514
  const container = document.createElement('span');
514
515
  // vue render accepts VNodeChild
515
516
  render(result as any, container);
@@ -1075,7 +1076,7 @@ class DropdownListComponent extends TsxComponent<DropdownListArgs> implements Dr
1075
1076
  if (tagsTemplate == null && this.tagsShouldPrependContent != false && this.customRenderSelectionResult == null) {
1076
1077
  validTagsButtons = true;
1077
1078
  tagsTemplate
1078
- = '<li class="select2-selection__choice select2-selection__choice-with-button"><span class="select2-selection__choice__remove" role="presentation"><i class="fas fa-times"></i></span></li>';
1079
+ = '<li class="select2-selection__choice select2-selection__choice-with-button"><span class="select2-selection__choice__remove" role="presentation"><i class="fas fa-times"></i></span></li>';
1079
1080
  s2Args.templateSelection = (state): string | JQuery => {
1080
1081
  if (!state) { return ''; }
1081
1082
 
@@ -1091,10 +1092,10 @@ class DropdownListComponent extends TsxComponent<DropdownListArgs> implements Dr
1091
1092
  }
1092
1093
 
1093
1094
  let builder
1094
- = `<span class="ddl-dropdown-resultroot"><span class="ddl-dropdown-resultwrap"><span class="ddl-result-text">${PortalUtils.htmlEscape(state.text || dataItem.text)}</span>`;
1095
+ = `<span class="ddl-dropdown-resultroot"><span class="ddl-dropdown-resultwrap"><span class="ddl-result-text">${PortalUtils.htmlEscape(state.text || dataItem.text)}</span>`;
1095
1096
  (self.tagsButtons(dataItem) || ([] as DropdownListButton[])).forEach((button, i) => {
1096
1097
  builder
1097
- += `<span class="ddl-result-button dll-clickable-button ${button.cssClass
1098
+ += `<span class="ddl-result-button dll-clickable-button ${button.cssClass
1098
1099
  }" data-index="${i
1099
1100
  }" role="presentation"><i class="${button.iconCss
1100
1101
  }"></i></span>`;
@@ -5,6 +5,7 @@ import { Prop, toNative } from 'vue-facing-decorator';
5
5
  import TsxComponent, { Component } from '../../app/vuetsx';
6
6
  import { capitalize } from '../../common/extensions/string-extensions';
7
7
  import { PortalUtils } from '../../common/utils/utils';
8
+ import VueUtils from '../../common/utils/vue-utils';
8
9
  import FormItemWrapper from '../form/form-item-wrapper';
9
10
  import HtmlLiteral from '../html-literal/html-literal';
10
11
  import './css/radio-button-group.css';
@@ -146,7 +147,7 @@ class RadioButtonGroupComponent extends TsxComponent<RadioButtonGroupArgs> imple
146
147
  return '';
147
148
  }
148
149
 
149
- if (renderResult?.__v_isVNode) {
150
+ if (VueUtils.isVNode(renderResult)) {
150
151
  const container = document.createElement('div');
151
152
  render(renderResult as any, container);
152
153
  return container.innerHTML;
@@ -0,0 +1,14 @@
1
+ /* Tabs */
2
+ .nav-caption-short {
3
+ display: none;
4
+ }
5
+
6
+ @media (max-width: 767.98px) {
7
+ .nav-caption-short {
8
+ display: unset;
9
+ }
10
+
11
+ .nav-caption-long {
12
+ display: none;
13
+ }
14
+ }
@@ -9,6 +9,7 @@ import Card from '../card/card';
9
9
  import CardBody from '../card/card-body';
10
10
  import CardHeader from '../card/card-header';
11
11
  import HtmlLiteral from '../html-literal/html-literal';
12
+ import './css/tabs.css';
12
13
 
13
14
  export enum TabsRenderMode {
14
15
  Normal = 0,
@@ -198,21 +199,21 @@ class TabsComponent extends TsxComponent<TabsArgs> implements TabsArgs {
198
199
  <i class={tab.icon}></i>
199
200
  {tab.escapeCaption != false
200
201
  ? (
201
- <span>
202
- <span class="nav-caption-long">{tab.navCaption}</span>
203
- <span class="nav-caption-short">{tab.navCaptionShort || tab.navCaption}</span>
204
- </span>
205
- )
202
+ <span>
203
+ <span class="nav-caption-long">{tab.navCaption}</span>
204
+ <span class="nav-caption-short">{tab.navCaptionShort || tab.navCaption}</span>
205
+ </span>
206
+ )
206
207
  : (
207
- <span>
208
- <span class="nav-caption-long">
209
- <HtmlLiteral innerHTML={tab.navCaption} />
210
- </span>
211
- <span class="nav-caption-short">
212
- <HtmlLiteral innerHTML={tab.navCaptionShort || tab.navCaption} />
213
- </span>
208
+ <span>
209
+ <span class="nav-caption-long">
210
+ <HtmlLiteral innerHTML={tab.navCaption} />
211
+ </span>
212
+ <span class="nav-caption-short">
213
+ <HtmlLiteral innerHTML={tab.navCaptionShort || tab.navCaption} />
214
214
  </span>
215
- )}
215
+ </span>
216
+ )}
216
217
  </a>
217
218
  </li>
218
219
  ))}
@@ -257,21 +258,21 @@ class TabsComponent extends TsxComponent<TabsArgs> implements TabsArgs {
257
258
 
258
259
  {tab.escapeCaption != false
259
260
  ? (
260
- <span>
261
- <span class="nav-caption-long">{tab.navCaption}</span>
262
- <span class="nav-caption-short">{tab.navCaptionShort || tab.navCaption}</span>
263
- </span>
264
- )
261
+ <span>
262
+ <span class="nav-caption-long">{tab.navCaption}</span>
263
+ <span class="nav-caption-short">{tab.navCaptionShort || tab.navCaption}</span>
264
+ </span>
265
+ )
265
266
  : (
266
- <span>
267
- <span class="nav-caption-long">
268
- <HtmlLiteral innerHTML={tab.navCaption} />
269
- </span>
270
- <span class="nav-caption-short">
271
- <HtmlLiteral innerHTML={tab.navCaptionShort || tab.navCaption} />
272
- </span>
267
+ <span>
268
+ <span class="nav-caption-long">
269
+ <HtmlLiteral innerHTML={tab.navCaption} />
270
+ </span>
271
+ <span class="nav-caption-short">
272
+ <HtmlLiteral innerHTML={tab.navCaptionShort || tab.navCaption} />
273
273
  </span>
274
- )}
274
+ </span>
275
+ )}
275
276
  </a>
276
277
  </li>
277
278
  ))}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "inviton-powerduck",
3
3
  "type": "module",
4
- "version": "0.0.212",
4
+ "version": "0.0.214",
5
5
  "files": [
6
6
  "app/",
7
7
  "common/",