From f9bca655e577bb9f319a4ba49732c186e80ab66f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tu=C4=9F=C3=A7e=20K=C3=BC=C3=A7=C3=BCko=C4=9Flu?= Date: Fri, 14 Jan 2022 16:38:15 +0300 Subject: [PATCH] Fixed #1795 - Templating for SplitButton --- src/components/splitbutton/SplitButton.d.ts | 5 + src/components/splitbutton/SplitButton.vue | 4 +- src/views/splitbutton/SplitButtonDemo.vue | 8 + src/views/splitbutton/SplitButtonDoc.vue | 974 ++++++++++---------- 4 files changed, 520 insertions(+), 471 deletions(-) diff --git a/src/components/splitbutton/SplitButton.d.ts b/src/components/splitbutton/SplitButton.d.ts index a35fde0a3..a522dbf6f 100755 --- a/src/components/splitbutton/SplitButton.d.ts +++ b/src/components/splitbutton/SplitButton.d.ts @@ -1,3 +1,4 @@ +import { VNode } from 'vue'; import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers'; import { MenuItem } from '../menuitem'; @@ -43,6 +44,10 @@ export interface SplitButtonProps { } export interface SplitButtonSlots { + /** + * Button part of the content can easily be customized with the default slot instead of using the built-in modes. + */ + default: () => VNode[]; } export declare type SplitButtonEmits = { diff --git a/src/components/splitbutton/SplitButton.vue b/src/components/splitbutton/SplitButton.vue index a47a10f41..4ba444e3e 100755 --- a/src/components/splitbutton/SplitButton.vue +++ b/src/components/splitbutton/SplitButton.vue @@ -1,6 +1,8 @@ @@ -473,128 +499,128 @@ export default { ]); const nestedItems = ref([ { - label:'File', - icon:'pi pi-fw pi-file', - items:[ - { - label:'New', - icon:'pi pi-fw pi-plus', - items:[ - { - label:'Bookmark', - icon:'pi pi-fw pi-bookmark' - }, - { - label:'Video', - icon:'pi pi-fw pi-video' - } - ] - }, - { - label:'Delete', - icon:'pi pi-fw pi-trash' - }, - { - separator:true - }, - { - label:'Export', - icon:'pi pi-fw pi-external-link' - } - ] + label:'File', + icon:'pi pi-fw pi-file', + items:[ + { + label:'New', + icon:'pi pi-fw pi-plus', + items:[ + { + label:'Bookmark', + icon:'pi pi-fw pi-bookmark' + }, + { + label:'Video', + icon:'pi pi-fw pi-video' + } + ] + }, + { + label:'Delete', + icon:'pi pi-fw pi-trash' + }, + { + separator:true + }, + { + label:'Export', + icon:'pi pi-fw pi-external-link' + } + ] }, { - label:'Edit', - icon:'pi pi-fw pi-pencil', - items:[ - { - label:'Left', - icon:'pi pi-fw pi-align-left' - }, - { - label:'Right', - icon:'pi pi-fw pi-align-right' - }, - { - label:'Center', - icon:'pi pi-fw pi-align-center' - }, - { - label:'Justify', - icon:'pi pi-fw pi-align-justify' - } - ] + label:'Edit', + icon:'pi pi-fw pi-pencil', + items:[ + { + label:'Left', + icon:'pi pi-fw pi-align-left' + }, + { + label:'Right', + icon:'pi pi-fw pi-align-right' + }, + { + label:'Center', + icon:'pi pi-fw pi-align-center' + }, + { + label:'Justify', + icon:'pi pi-fw pi-align-justify' + } + ] }, { - label:'Users', - icon:'pi pi-fw pi-user', - items:[ - { - label:'New', - icon:'pi pi-fw pi-user-plus', - }, - { - label:'Delete', - icon:'pi pi-fw pi-user-minus', - }, - { - label:'Search', - icon:'pi pi-fw pi-users', - items:[ - { - label:'Filter', - icon:'pi pi-fw pi-filter', - items:[ - { - label:'Print', - icon:'pi pi-fw pi-print' - } - ] - }, - { - icon:'pi pi-fw pi-bars', - label:'List' - } - ] - } - ] + label:'Users', + icon:'pi pi-fw pi-user', + items:[ + { + label:'New', + icon:'pi pi-fw pi-user-plus', + }, + { + label:'Delete', + icon:'pi pi-fw pi-user-minus', + }, + { + label:'Search', + icon:'pi pi-fw pi-users', + items:[ + { + label:'Filter', + icon:'pi pi-fw pi-filter', + items:[ + { + label:'Print', + icon:'pi pi-fw pi-print' + } + ] + }, + { + icon:'pi pi-fw pi-bars', + label:'List' + } + ] + } + ] }, { - label:'Events', - icon:'pi pi-fw pi-calendar', - items:[ - { - label:'Edit', - icon:'pi pi-fw pi-pencil', - items:[ - { - label:'Save', - icon:'pi pi-fw pi-calendar-plus' - }, - { - label:'Delete', - icon:'pi pi-fw pi-calendar-minus' - } - ] - }, - { - label:'Archieve', - icon:'pi pi-fw pi-calendar-times', - items:[ - { - label:'Remove', - icon:'pi pi-fw pi-calendar-minus' - } - ] - } - ] + label:'Events', + icon:'pi pi-fw pi-calendar', + items:[ + { + label:'Edit', + icon:'pi pi-fw pi-pencil', + items:[ + { + label:'Save', + icon:'pi pi-fw pi-calendar-plus' + }, + { + label:'Delete', + icon:'pi pi-fw pi-calendar-minus' + } + ] + }, + { + label:'Archieve', + icon:'pi pi-fw pi-calendar-times', + items:[ + { + label:'Remove', + icon:'pi pi-fw pi-calendar-minus' + } + ] + } + ] }, { - separator:true + separator:true }, { - label:'Quit', - icon:'pi pi-fw pi-power-off' + label:'Quit', + icon:'pi pi-fw pi-power-off' } ]); const save = () => { @@ -613,214 +639,222 @@ export default { }, 'browser-source': { tabName: 'Browser Source', - imports: `