wangeditor-bind-property
Version:
wangeditor 富文本、添加自定义class dataset
1 lines • 8.46 kB
JavaScript
import*as e from"@wangeditor/editor";import*as t from"dom7";var r={},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,a),o.exports}a.d=function(e,t){for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.rv=function(){return"1.0.0-alpha.5"},a.ruid="bundler=rspack@1.0.0-alpha.5";var o={};a.d(o,{t:()=>b,Z:()=>h});function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function i(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l(e,t)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){for(var r in t)Reflect.set(e,r,t[r])}function u(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()})}t.css&&(t.default.fn.css=t.css),t.append&&(t.default.fn.append=t.append),t.prepend&&(t.default.fn.prepend=t.prepend),t.addClass&&(t.default.fn.addClass=t.addClass),t.removeClass&&(t.default.fn.removeClass=t.removeClass),t.hasClass&&(t.default.fn.hasClass=t.hasClass),t.on&&(t.default.fn.on=t.on),t.off&&(t.default.fn.off=t.off),t.focus&&(t.default.fn.focus=t.focus),t.attr&&(t.default.fn.attr=t.attr),t.removeAttr&&(t.default.fn.removeAttr=t.removeAttr),t.hide&&(t.default.fn.hide=t.hide),t.show&&(t.default.fn.show=t.show),t.parents&&(t.default.fn.parents=t.parents),t.dataset&&(t.default.fn.dataset=t.dataset),t.val&&(t.default.fn.val=t.val),t.text&&(t.default.fn.text=t.text),t.html&&(t.default.fn.html=t.html),t.children&&(t.default.fn.children=t.children),t.remove&&(t.default.fn.remove=t.remove),t.find&&(t.default.fn.find=t.find),t.width&&(t.default.fn.width=t.width),t.height&&(t.default.fn.height=t.height),t.filter&&(t.default.fn.filter=t.filter),t.empty&&(t.default.fn.empty=t.empty);let f=t.default;function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function v(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){v(e,t,r[t])})}return e}var y=function(){"use strict";var t,r,n;function a(){!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,a),v(this,"title",void 0),v(this,"tag",void 0),v(this,"selectPanelWidth",void 0),v(this,"alwaysEnable",void 0),v(this,"iconSvg",void 0),this.title="设置自定义属性",this.tag="select",this.iconSvg="<svg></svg>",this.selectPanelWidth=130,this.alwaysEnable=!1}return t=a,r=[{key:"getOptions",value:function(e){var t,r,n,a,o,l=e.getMenuConfig("customProperties").list,i=(null!==(n=null===(t=e.getFragment())||void 0===t?void 0:t[0])&&void 0!==n?n:{}).metadata,s=void 0===i?{}:i,f=null!==(a=null==s?void 0:null===(r=s.props)||void 0===r?void 0:r.className)&&void 0!==a?a:[],c=Object.keys(null!==(o=null==s?void 0:s.dataset)&&void 0!==o?o:{});return l.map(function(e){var t,r;return t=m({},e),r=(r={selected:f.includes("custom-class-".concat(e.value))||c.some(function(t){return u(t)===u(e.value)})},r),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t})}},{key:"getValue",value:function(e){return"default"}},{key:"isActive",value:function(e){return!1}},{key:"isDisabled",value:function(e){return!1}},{key:"exec",value:function(t,r){if("default"!==r){var n,a,o,l,i,s,f=(null!==(l=null===(a=t.getFragment())||void 0===a?void 0:a[0])&&void 0!==l?l:{}).metadata;var c=function(e){if(Array.isArray(e))return d(e)}(n=null!==(i=null==f?void 0:null===(o=f.props)||void 0===o?void 0:o.className)&&void 0!==i?i:[])||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return d(e,t)}}(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),p=m({},null!==(s=null==f?void 0:f.dataset)&&void 0!==s?s:{}),v=u(r.toString()),y="custom-class-".concat(r.toString());p.hasOwnProperty(v)?Reflect.deleteProperty(p,v):Reflect.set(p,v,"true"),c.includes(y)?c.splice(c.indexOf(y),1):c.push(y),e.SlateTransforms.setNodes(t,{metadata:{dataset:p,props:{className:c}}},{mode:"highest"})}}}],p(t.prototype,r),a}(),b=[{value:"default",text:"属性",selected:!1},{value:"flex",text:"弹性盒",selected:!1},{value:"flex-1",text:"flex1",selected:!1},{value:"justify-start",text:"居左",selected:!1},{value:"justify-end",text:"居右",selected:!1},{value:"center",text:"居中",selected:!1},{value:"align-start",text:"纵轴居上",selected:!1},{value:"align-center",text:"纵轴居中",selected:!1},{value:"align-end",text:"纵轴居下",selected:!1},{value:"justify-between",text:"两端对齐",selected:!1},{value:"justify-around",text:"周围对齐",selected:!1},{value:"column",text:"列方向",selected:!1},{value:"row",text:"行方向",selected:!1},{value:"border",text:"设置边框",selected:!1}];let h={menus:[{key:"customProperties",factory:function(){return new y},config:{list:b}}],parseStyleHtml:function(t,r){if(!e.SlateElement.isElement(r))return r;var n=t.dataset;return!r.metadata&&(r.metadata={}),s(r.metadata,{dataset:n,props:{className:Object.values(t.classList),id:t.id}}),r},renderStyle:function(t,r){if(!e.SlateElement.isElement(t))return r;var n=t.metadata;return!function(e,t){null==e.data&&(e.data={});var r=e.data;for(var n in null==r.dataset&&(r.dataset={}),null==r.props&&(r.props={}),Object.assign(r.dataset,t.dataset),t.props){var a=t.props[n];"className"===n?r.props.className=i(new Set(i(a)).values()).filter(Boolean).join(" "):Reflect.set(r.props,n,a)}}(r,(void 0===n?{}:n)||{}),r},styleToHtml:function(t,r){if(!e.SlateElement.isElement(t))return r;var n=t.metadata;if(!n)return r;try{var a,o,l,i,u=null===(o=f(r))||void 0===o?void 0:o[0];if(!u)return r;s(u.dataset,n.dataset||{});var d=n.props||{};if(null===(l=d.className)||void 0===l?void 0:l.length){;(i=u.classList).add.apply(i,(a=d.className,function(e){if(Array.isArray(e))return c(e)}(a)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}}(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))}return(null==u?void 0:u.outerHTML)||r}catch(e){return console.error("styleToHtml error:",e),r}},renderElems:[],elemsToHtml:[],preParseHtml:[],parseElemsHtml:[],editorPlugin:function(e){return e}};var g=o.t,O=o.Z;export{g as DEFAULT_MENU_LIST,O as default};