UNPKG

nly-adminlte-vue

Version:
530 lines (529 loc) 19.6 kB
{ "name": "@nly-adminlte-vue/modal", "version": "1.0.0", "meta": { "title": "Modal", "subtitle": "模态框", "description": "模态框是一种悬浮悬浮于主窗口的用来现实额外内容的对话框", "plugins": [ "VNlyModalPlugin" ], "directives": [ { "directive": "VNlyModal", "description": "打开对应id的modal", "expression": "String", "arg": { "pattern": "[a-zA-Z][a-zA-Z0-9_\\-]*", "description": "需要打开的modal的id", "required": false }, "modifiers": [ { "name": "{modalId}", "pattern": "[a-zA-Z][a-zA-Z0-9_\\-]*", "description": "需要打开的modal的id. 使用id 代替 `{modalId}`" } ] } ], "components": [ { "component": "NlyModal", "props": [ { "prop": "centered", "description": "modal 居中显示" }, { "prop": "scrollable", "description": "允许 modal body 出现滚动条, 负责滚动条是浏览器的滚动条" }, { "prop": "buttonSize", "description": "设置footer的按钮大小, 可选'sm', 'md', 'lg', 'md'为默认大小" }, { "prop": "noStacking", "description": "设置 no-stacking,在其他 modal 将要打开的之前,设置no-stacking的modal会自动关闭" }, { "prop": "noCloseOnBackdrop", "description": "设置 no-close-on-backdrop, 点击背景罩层不会关闭 modal" }, { "prop": "noCloseOnEsc", "description": "设置 no-close-on-esc,按键盘ESC键不会关闭 modal" }, { "prop": "noEnforceFocus", "description": "强制禁用聚焦功能" }, { "prop": "ignoreEnforceFocusSelector", "description": "ignore-enforce-focus-selector 是一个css 选择器,如果需要在打开modal的时候聚焦到其他元素上, 可以把其他需要聚焦的元素的 css 类添加到 prop ignore-enforce-focus-selector中" }, { "prop": "titleTag", "description": "标题的标签" }, { "prop": "titleClass", "description": "标题的 css 类" }, { "prop": "titleSrOnly", "description": "设置 true ,视觉上不显示标题,屏幕阅读器上显示" }, { "prop": "headerCloseVariant", "description": "header 关闭按钮颜色" }, { "prop": "modalClass", "description": "添加到 '.modal' 元素的 css 类" }, { "prop": "dialogClass", "description": "添加到 '.dialog-class' 元素的 css 类" }, { "prop": "contentClass", "description": "添加到 '.content-class' 元素的 css 类" }, { "prop": "hideHeader", "description": "隐藏头部" }, { "prop": "hideFooter", "description": "隐藏底部" }, { "prop": "hideHeaderClose", "description": "隐藏头部关闭按钮" }, { "prop": "hideBackdrop", "description": "隐藏罩层" }, { "prop": "okOnly", "description": "不渲染底部默认的 cancel 按钮" }, { "prop": "okDisabled", "description": "设置底部默认的 ok 按钮为禁用" }, { "prop": "cancelDisabled", "description": "设置底部默认的 cancel 按钮为禁用" }, { "prop": "visible", "description": "modal的可见状态" }, { "prop": "returnFocus", "description": "关闭 modal 聚焦元素, 传入用为css选择器或者dom选择器等" }, { "prop": "headerCloseContent", "description": "头部关闭按钮的主体内容" }, { "prop": "headerCloseLabel", "description": "头部关闭按钮的 aria-label 值" }, { "prop": "cancelTitle", "description": "footer cancel 按钮的文本内容" }, { "prop": "cancelTitleHtml", "description": "替换 footer cancel 标题的 html 字符串" }, { "prop": "headerCloseLabel", "description": "头部关闭按钮的 aria-label 值" }, { "prop": "okTitle", "description": "footer ok 按钮的文本内容" }, { "prop": "okTitleHtml", "description": "替换 footer ok 标题的 html 字符串" }, { "prop": "okVariant", "description": "footer ok 按钮的 颜色" }, { "prop": "cancelVariant", "description": "footer cancel 按钮的 颜色" }, { "prop": "lazy", "description": "懒加载模式" }, { "prop": "busy", "description": "modal 加载中" }, { "prop": "autoFocusButton", "description": "自动聚焦到 modal 自带的按钮上,可选 ok, cancel, close" } ], "events": [ { "event": "change", "description": "修改modal的状态, 会更新 v-model", "args": [ { "arg": "isVisible", "type": "Boolean", "description": "modal的可见状态, `true` 是现实状态, `false`是隐藏状态" } ] }, { "event": "show", "description": "在 modal 展示之前发出事件", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象. 回调 `nlyaModalEvt.preventDefault()` 可以阻止 modal 显示" } ] }, { "event": "shown", "description": "在 modal 显示之后发出事件", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象" } ] }, { "event": "hide", "description": "在 modal 隐藏之前发出的事件", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象, 注入 `nlyaModalEvt.trigger` 可以查找触发隐藏的事件. 使用 `nlyaModalEvt.preventDefault()` 可以阻止 modal 隐藏" } ] }, { "event": "hidden", "description": "隐藏 modal 之后触发的事件", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象," } ] }, { "event": "ok", "description": "点击默认的 ok 按钮触发 modal 关闭, 可以自定义按钮其他逻辑, 关闭逻辑不会被覆盖", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象, 使用 `nlyaModalEvt.preventDefault()` 可以阻止 modal 隐藏" } ] }, { "event": "cancel", "description": "点击默认的 cancel 按钮触发 modal 取消, 可以自定义按钮其他逻辑, 取消逻辑不会被覆盖", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象, 使用 `nlyaModalEvt.preventDefault()` 可以阻止 modal 取消" } ] }, { "event": "close", "description": "点击默认的 close 按钮触发 modal 关闭, 可以自定义按钮其他逻辑, 逻辑不会被覆盖", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象, 使用 `nlyaModalEvt.preventDefault()` 可以阻止 modal 关闭" } ] }, { "event": "nlya::modal::show", "description": "在 modal 显示之前触发在 `$root` 上的 emit 事件", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象, 使用 `nlyaModalEvt.preventDefault()` 阻止 modal 显示" }, { "arg": "modalId", "type": "String", "description": "Modal ID" } ] }, { "event": "nlya::modal::shown", "description": "在 modal 显示之后触发在 `$root` 上的 emit 事件", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象" }, { "arg": "modalId", "type": "String", "description": "Modal ID" } ] }, { "event": "nlya::modal::hide", "description": "在 modal 隐藏之前触发在 `$root` 上的 emit 事件", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象,使用 `nlyaModalEvt.preventDefault()` 阻止隐藏" }, { "arg": "modalId", "type": "String", "description": "Modal ID" } ] }, { "event": "nlya::modal::hidden", "description": "在 modal 隐藏之后触发在 `$root` 上的 emit 事件", "args": [ { "arg": "nlyaModalEvt", "type": "NlyaModalEvent", "description": "NlyaModalEvent 对象," }, { "arg": "modalId", "type": "String", "description": "modal ID" } ] } ], "rootEventListeners": [ { "event": "nlya::show::modal", "description": "从 `$root` 上 emit 事件来显示对应 id 的 modal", "args": [ { "arg": "modalId", "type": "String", "description": "需要显示的 Modal ID" }, { "arg": "elIDtoFocusOnClose", "type": [ "String", "HTMLElement" ], "description": "dom 元素或者 css 选择器, 当 modal 关闭之后,会自动聚焦到对应的元素上" } ] }, { "event": "nlya::hide::modal", "description": "从 `$root` 上 emit 事件来隐藏对应 id 的 modal", "args": [ { "arg": "modalId", "type": "String", "description": "需要隐藏的 modal 的id" } ] }, { "event": "nlya::toggle::modal", "description": "切换对应 id 的 modal 的可见状态", "args": [ { "arg": "modalId", "type": "String", "description": "需要切换状态的 modal 的id" }, { "arg": "elIDtoFocusOnClose", "type": [ "String", "HTMLElement" ], "description": "dom 元素或者 css 选择器, 当 modal 切换状态之后,会自动聚焦到对应的元素上" } ] } ], "slots": [ { "name": "modal-header", "description": "modal 的 头部插槽,使用插槽会移除对应的 cloase 按钮", "scope": [ { "prop": "visible", "type": "Boolean", "description": "modal的可见状态, `true` 是现实状态, `false`是隐藏状态" }, { "prop": "ok", "type": "Function", "description": "使用 `nlyaModalEvent.trigger = 'ok'` 来关闭 modal 并触发 `ok` 和 `hide` 事件" }, { "prop": "cancel", "type": "Function", "description": "使用 `nlyaModalEvent.trigger = 'cancel'` 来取消 modal 并触发 `cancel` 和 `hide` 事件" }, { "prop": "close", "type": "Function", "description": "使用 nlyaModalEvent.trigger = 'headerclose'` 来 关闭 modal 并触发 `close` 和 `hide` 事件" }, { "prop": "hide", "type": "Function", "description": "接受一个 `trigger` 参数, 具体见上文 trigger源码分析 . 使用 `nlyaModalEvent.trigger = trigger` (`trigger` 是个对象) 来 关闭modal 并触发接受参数类型的事件" } ] }, { "name": "modal-title", "description": "modal 的 title 插槽,如果使用了 `modal-header`, `modal-title` 插槽不会生效", "scope": [ { "prop": "visible", "type": "Boolean", "description": "modal的可见状态, `true` 是现实状态, `false`是隐藏状态" }, { "prop": "ok", "type": "Function", "description": "使用 `nlyaModalEvent.trigger = 'ok'` 来关闭 modal 并触发 `ok` 和 `hide` 事件" }, { "prop": "cancel", "type": "Function", "description": "使用 `nlyaModalEvent.trigger = 'cancel'` 来取消 modal 并触发 `cancel` 和 `hide` 事件" }, { "prop": "close", "type": "Function", "description": "使用 nlyaModalEvent.trigger = 'headerclose'` 来 关闭 modal 并触发 `close` 和 `hide` 事件" }, { "prop": "hide", "type": "Function", "description": "接受一个 `trigger` 参数, 具体见上文 trigger源码分析 . 使用 `nlyaModalEvent.trigger = trigger` (`trigger` 是个对象) 来 关闭modal 并触发接受参数类型的事件" } ] }, { "name": "modal-footer", "description": " modal footer 插槽. 会移除默认的 `ok` 按钮和 `cancal` 按钮", "scope": [ { "prop": "visible", "type": "Boolean", "description": "modal的可见状态, `true` 是现实状态, `false`是隐藏状态" }, { "prop": "ok", "type": "Function", "description": "使用 `nlyaModalEvent.trigger = 'ok'` 来关闭 modal 并触发 `ok` 和 `hide` 事件" }, { "prop": "cancel", "type": "Function", "description": "使用 `nlyaModalEvent.trigger = 'cancel'` 来取消 modal 并触发 `cancel` 和 `hide` 事件" }, { "prop": "close", "type": "Function", "description": "使用 nlyaModalEvent.trigger = 'headerclose'` 来 关闭 modal 并触发 `close` 和 `hide` 事件" }, { "prop": "hide", "type": "Function", "description": "接受一个 `trigger` 参数, 具体见上文 trigger源码分析 . 使用 `nlyaModalEvent.trigger = trigger` (`trigger` 是个对象) 来 关闭modal 并触发接受参数类型的事件" } ] }, { "name": "modal-header-close", "description": "modal 的头部关闭按钮插槽. 如果使用了 `modal-header` 插槽, `modal-header-close` 会失效" }, { "name": "modal-ok", "description": "ok 按钮插槽" }, { "name": "modal-cancel", "description": "cancel 按钮插槽" }, { "name": "modal-backdrop", "description": "modal 罩层插槽" }, { "name": "default", "description": "默认插槽", "scope": [ { "prop": "visible", "type": "Boolean", "description": "modal的可见状态, `true` 是现实状态, `false`是隐藏状态" }, { "prop": "ok", "type": "Function", "description": "使用 `nlyaModalEvent.trigger = 'ok'` 来关闭 modal 并触发 `ok` 和 `hide` 事件" }, { "prop": "cancel", "type": "Function", "description": "使用 `nlyaModalEvent.trigger = 'cancel'` 来取消 modal 并触发 `cancel` 和 `hide` 事件" }, { "prop": "close", "type": "Function", "description": "使用 nlyaModalEvent.trigger = 'headerclose'` 来 关闭 modal 并触发 `close` 和 `hide` 事件" }, { "prop": "hide", "type": "Function", "description": "接受一个 `trigger` 参数, 具体见上文 trigger源码分析 . 使用 `nlyaModalEvent.trigger = trigger` (`trigger` 是个对象) 来 关闭modal 并触发接受参数类型的事件" } ] } ] } ] } }