diff --git a/api-generator/components/dock.js b/api-generator/components/dock.js
index 7fd3997a2..3920dba71 100644
--- a/api-generator/components/dock.js
+++ b/api-generator/components/dock.js
@@ -28,6 +28,12 @@ const DockProps = [
type: "boolean",
default: "true",
description: "Whether to apply 'router-link-active-exact' class if route exactly matches the item path."
+ },
+ {
+ name: "tooltipOptions",
+ type: "object",
+ default: "null",
+ description: "Whether to display the tooltip on items. The modifiers of tooltip can be used like an object in it. Valid keys are 'event' and 'position'."
}
];
@@ -45,4 +51,4 @@ module.exports = {
props: DockProps,
slots: DockSlots
}
-}
\ No newline at end of file
+}
diff --git a/api-generator/components/image.js b/api-generator/components/image.js
index 80c588b4e..b7643278f 100644
--- a/api-generator/components/image.js
+++ b/api-generator/components/image.js
@@ -22,7 +22,7 @@ const ImageSlots = [
{
name: "indicator",
description: "Custom content for the preview indicator"
- }-
+ }
];
module.exports = {
diff --git a/api-generator/components/speeddial.js b/api-generator/components/speeddial.js
index ffa68dbdf..21b21112f 100644
--- a/api-generator/components/speeddial.js
+++ b/api-generator/components/speeddial.js
@@ -100,6 +100,12 @@ const SpeedDialProps = [
type: "any",
default: "null",
description: "Style class of the element."
+ },
+ {
+ name: "tooltipOptions",
+ type: "object",
+ default: "null",
+ description: "Whether to display the tooltip on items. The modifiers of tooltip can be used like an object in it. Valid keys are 'event' and 'position'."
}
];
@@ -144,4 +150,4 @@ module.exports = {
events: SpeedDialEvents,
slots: SpeedDialSlots
}
-}
\ No newline at end of file
+}
diff --git a/api-generator/components/tabmenu.js b/api-generator/components/tabmenu.js
index 8ac64f24a..de136a868 100644
--- a/api-generator/components/tabmenu.js
+++ b/api-generator/components/tabmenu.js
@@ -10,6 +10,31 @@ const TabMenuProps = [
type: "boolean",
default: "true",
description: "Defines if active route highlight should match the exact route path."
+ },
+ {
+ name: "activeIndex",
+ type: "number",
+ default: "0",
+ description: "Active index of menuitem."
+ }
+];
+
+const TabMenuEvents = [
+ {
+ name: "tab-change",
+ description: "Callback to invoke when an active tab is changed.",
+ arguments: [
+ {
+ name: "event.originalEvent",
+ type: "object",
+ description: "Original event"
+ },
+ {
+ name: "event.index",
+ type: "number",
+ description: "Index of the selected tab"
+ }
+ ]
}
];
@@ -25,6 +50,7 @@ module.exports = {
name: "TabMenu",
description: "TabMenu is a navigation component that displays items as tab headers.",
props: TabMenuProps,
+ events: TabMenuEvents,
slots: TabMenuSlots
}
};
diff --git a/api-generator/components/virtualscroller.js b/api-generator/components/virtualscroller.js
index e454f8b89..75afb734e 100644
--- a/api-generator/components/virtualscroller.js
+++ b/api-generator/components/virtualscroller.js
@@ -110,7 +110,7 @@ const VirtualScrollerSlots = [
{
name: "content",
description: "Custom content for the component"
- }
+ },
{
name: "loader",
description: "Custom content for the loader items"
diff --git a/src/components/datatable/BodyCell.vue b/src/components/datatable/BodyCell.vue
index 408c702fa..38da1f558 100755
--- a/src/components/datatable/BodyCell.vue
+++ b/src/components/datatable/BodyCell.vue
@@ -312,7 +312,7 @@ export default {
let right = 0;
let next = this.$el.nextElementSibling;
if (next) {
- right = DomHandler.getOuterWidth(next) + parseFloat(next.style.left);
+ right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
}
this.styleObject.right = right + 'px';
}
@@ -320,7 +320,7 @@ export default {
let left = 0;
let prev = this.$el.previousElementSibling;
if (prev) {
- left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left);
+ left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
}
this.styleObject.left = left + 'px';
}
diff --git a/src/components/datatable/HeaderCell.vue b/src/components/datatable/HeaderCell.vue
index c15c73f40..4233a6b77 100644
--- a/src/components/datatable/HeaderCell.vue
+++ b/src/components/datatable/HeaderCell.vue
@@ -156,7 +156,7 @@ export default {
let right = 0;
let next = this.$el.nextElementSibling;
if (next) {
- right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right);
+ right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
}
this.styleObject.right = right + 'px';
}
@@ -164,7 +164,7 @@ export default {
let left = 0;
let prev = this.$el.previousElementSibling;
if (prev) {
- left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left);
+ left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
}
this.styleObject.left = left + 'px';
}
diff --git a/src/components/dock/Dock.d.ts b/src/components/dock/Dock.d.ts
index 908876ca6..9ea7619bd 100644
--- a/src/components/dock/Dock.d.ts
+++ b/src/components/dock/Dock.d.ts
@@ -6,6 +6,7 @@ interface DockProps {
class?: string;
style?: any;
exact?: boolean;
+ tooltipOptions?: any;
}
declare class Dock {
diff --git a/src/components/dock/Dock.vue b/src/components/dock/Dock.vue
index eaf85871a..29a96a110 100644
--- a/src/components/dock/Dock.vue
+++ b/src/components/dock/Dock.vue
@@ -1,6 +1,6 @@
@@ -946,11 +952,11 @@ export default {
}
}
}
-
+
`
}
}
}
}
}
-
\ No newline at end of file
+
diff --git a/src/views/setup/Setup.vue b/src/views/setup/Setup.vue
index 48e60c3d3..bf3a7983b 100755
--- a/src/views/setup/Setup.vue
+++ b/src/views/setup/Setup.vue
@@ -98,7 +98,7 @@ import Dialog from 'primevue/dialog/sfc';
},
components: {
'p-inputtext': primevue.inputtext
- }
+ }
};
createApp(App).mount("#app");
@@ -218,7 +218,7 @@ app.use(PrimeVue, {ripple: true});
true
Whether to apply 'router-link-active-exact' class if route exactly matches the item path.
+
+
@@ -201,7 +207,7 @@ export default {
:circular="true" :fullScreen="true" :showThumbnails="false" :showItemNavigators="true">
-
+
@@ -584,7 +590,7 @@ export default {
:circular="true" :fullScreen="true" :showThumbnails="false" :showItemNavigators="true">
-
+ tooltipOptions
+ object
+ null
+ Whether to display the tooltip on items. The modifiers of
+
Input fields come in two styles, default is outlined with borders around the field whereas filled alternative adds a background color - to the field. Applying p-input-filled to an ancestor of an input enables the filled style. If you prefer to use filled inputs in the entire application, + to the field. Applying p-input-filled to an ancestor of an input enables the filled style. If you prefer to use filled inputs in the entire application, use a global container such as the document body or the application element to apply the style class. Note that in case you add it to the application element, components that are teleported to the document body such as Dialog will not be able to display filled inputs as they are not a descendant of the application root element in the DOM tree, to resolve this case set inputStyle to 'filled' at PrimeVue configuration as well.
@@ -269,7 +269,7 @@ app.use(PrimeVue, {TabMenu uses the common MenuModel API to define the items, visit
TabMenu is integrated with Vue Router and requires a collection of menuitems as its model.
+TabMenu requires a collection of menuitems as its model.
<TabMenu :model="items" />
+
+
+
+
+export default {
+ data() {
+ return {
+ items: [
+ {label: 'Home', icon: 'pi pi-fw pi-home'},
+ {label: 'Calendar', icon: 'pi pi-fw pi-calendar'},
+ {label: 'Edit', icon: 'pi pi-fw pi-pencil'},
+ {label: 'Documentation', icon: 'pi pi-fw pi-file'},
+ {label: 'Settings', icon: 'pi pi-fw pi-cog'}
+ ]
+ }
+ }
+}
+
+
+
+ TabMenu can be also integrated with Vue Router.
+
+<TabMenu :model="items" />
<router-view />
@@ -32,10 +55,24 @@ export default {
}
}
+
+
+ Visibility of the content is specified with the activeIndex property that supports one or two-way binding.
+ +
+<TabMenu :model="items" :activeIndex="activeIndex" />
+
+
+
+ Two-way binding requires v-model.
+
+<TabMenu :model="items" v-model:activeIndex="activeIndex" />
+
TabMenu offers content customization with the item template that receives the menuitem instance from the model as a parameter.
+TabMenu offers content customization with the item template that receives the menuitem instance from the model as a parameter.
<TabMenu :model="items">
<template #item="{item}">
@@ -69,6 +106,34 @@ export default {
boolean
true
Defines if active route highlight should match the exact route path.
+
+
+ activeIndex
+ number
+ 0
+ Active index of menuitem.
+
+
+
+
Name | +Parameters | +Description | +
---|---|---|
tab-change | +event.originalEvent: Browser event + event.index: Index of the selected tab + |
+ Callback to invoke when an active tab is changed. |