import { shortcut, Widget, UUID, map, range } from "@/core"; import { Popovers } from "@/base"; @shortcut() export class Func extends Widget { static xtype = "demo.popover"; props = { baseCls: "demo-func" }; render() { const id = UUID(); let body; return { type: "bi.vertical", vgap: 10, items: [ { type: "bi.text_button", text: "点击弹出Popover(normal size & fixed)", height: 30, handler() { Popovers.remove(id); Popovers.create(id, { type: "bi.bar_popover", size: "normal", header: { type: "bi.label", text: "这个是header", }, body: { type: "bi.label", text: "这个是body", }, }).open(id); }, }, { type: "bi.text_button", text: "点击弹出Popover(small size & fixed)", height: 30, handler() { Popovers.remove(id); Popovers.create(id, { type: "bi.bar_popover", size: "small", header: { type: "bi.label", text: "这个是header", }, body: { type: "bi.label", text: "这个是body", }, }).open(id); }, }, { type: "bi.text_button", text: "点击弹出Popover(big size & fixed)", height: 30, handler() { Popovers.remove(id); Popovers.create(id, { type: "bi.bar_popover", size: "big", header: { type: "bi.label", text: "这个是header", }, body: { type: "bi.label", text: "这个是body", }, }).open(id); }, }, { type: "bi.text_button", text: "点击弹出Popover(normal size & adapt body区域高度是300)", height: 30, handler() { Popovers.remove(id); Popovers.create(id, { type: "bi.bar_popover", size: "normal", logic: { dynamic: true, }, header: { type: "bi.label", text: "这个是header", }, body: { type: "bi.vertical", items: [ { type: "bi.button_group", ref() { body = this; }, items: map(range(0, 10), () => { return { type: "bi.label", text: "1", height: 30, }; }), layouts: [ { type: "bi.vertical", } ], } ], }, }).open(id); }, }, { type: "bi.text_button", text: "点击弹出Popover(small size & adapt body区域高度是900)", height: 30, handler() { Popovers.remove(id); Popovers.create(id, { type: "bi.bar_popover", size: "small", logic: { dynamic: true, }, header: { type: "bi.label", text: "这个是header", }, body: { type: "bi.vertical", items: [ { type: "bi.button_group", ref() { body = this; }, items: map(range(0, 30), () => { return { type: "bi.label", text: "1", height: 30, }; }), layouts: [ { type: "bi.vertical", } ], } ], }, }).open(id); }, }, { type: "bi.text_button", text: "点击弹出Popover(custom)", height: 30, handler() { Popovers.remove(id); Popovers.create(id, { width: 400, height: 300, header: { type: "bi.label", text: "这个是header", }, body: { type: "bi.label", text: "这个是body", }, footer: { type: "bi.label", text: "这个是footer", }, }).open(id); }, }, { type: "bi.text_button", height: 30, text: "弹出一个高度动态的popover层, 此弹出层指定size为small, 但是高度随内容自适应,自适应支持的最大高度为默认为600px", handler() { const id = "弹出层id1"; Popovers.create(id, { // String或者是json都行 header: "弹出层标题", logic: { dynamic: true, maxHeight: 700, }, size: "small", body: { type: "bi.vertical", items: map(range(0, 50), (idx, v) => { return { type: "bi.label", text: "弹出层内容", }; }), }, footer: { type: "bi.label", text: "这个是footer", }, }).open(id); }, } ], }; } }