@codernote/record-tree 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # 记录软件 - 记录树
@@ -0,0 +1,316 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var M=document.createElement("style");M.appendChild(document.createTextNode(".popper{width:auto;background-color:#fafafa;color:#212121;text-align:center;padding:2px;display:inline-block;border-radius:3px;position:absolute;font-size:14px;font-weight:400;border:1px #ebebeb solid;z-index:200000;box-shadow:#3a3a3a 0 0 6px}.popper .popper__arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px}.popper[x-placement^=top]{margin-bottom:5px}.popper[x-placement^=top] .popper__arrow{border-width:5px 5px 0 5px;border-color:#fafafa transparent transparent transparent;bottom:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.popper[x-placement^=bottom]{margin-top:5px}.popper[x-placement^=bottom] .popper__arrow{border-width:0 5px 5px 5px;border-color:transparent transparent #fafafa transparent;top:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.popper[x-placement^=right]{margin-left:5px}.popper[x-placement^=right] .popper__arrow{border-width:5px 5px 5px 0;border-color:transparent #fafafa transparent transparent;left:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.popper[x-placement^=left]{margin-right:5px}.popper[x-placement^=left] .popper__arrow{border-width:5px 0 5px 5px;border-color:transparent transparent transparent #fafafa;right:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.popper-content{display:flex;flex-wrap:wrap;padding:10px;box-shadow:0 2px 12px #1d1c1c1f;border:1px solid rgba(29,28,28,.12);border-radius:5px;overflow:hidden;background:#fff;z-index:9999}.popper-content-item{padding:8px 10px;display:flex;align-items:center;justify-content:center;cursor:pointer}.inline-svg{display:inline-block;border-radius:9999px;color:#fff;cursor:pointer}body.is-full-screen .tree-editor{margin-top:0!important}.tree-title-div{position:relative;display:flex;margin-bottom:3px}.tree-title{padding-left:25px;font-weight:700;outline:none;font-size:1.125rem;line-height:1.5;width:100%}.popper-reference{display:flex;position:absolute;top:0px;left:0px;text-align:center;border-radius:9999px;color:#fff}.tree-div{padding-left:25px}.mobile-options{position:fixed;bottom:0px;left:0px;width:100%;display:flex;justify-content:space-between;padding:5px 0;background:rgb(236,236,236)}.option-left{display:flex;padding-left:10px}.option-right{padding-right:10px}.option-item{margin:0 5px;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.lzx-waiting-move{box-shadow:0 2px 4px #0000001f,0 0 6px #0000000a}.empty-icon{display:inline-block;border-radius:9999px}.icon{display:inline-block;width:18px;height:18px;margin:0;padding:0!important;line-height:100%;font-size:0;background-position:center;background-repeat:no-repeat;background-size:14px;cursor:pointer}.tree-upload-loading{position:absolute;left:0;top:0;bottom:0;right:0}.tree-upload-loading p{display:flex;justify-content:center;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:200px}.tree-upload-loading{font-size:12px;font-weight:400;color:#666}.icon.icon-loading{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNzA2ODY0NzA3OTc0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ0MTYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTc0Mi4yOTQ1NSAzMzQuMjc3MzQ3bC01Mi41NzU4OTctNTIuNTc1ODk3Yy0xMC4wNjk5OC0xMC4wNjk5OC0xMC4wNjk5OC0yNi40MDE5NDggMC0zNi40NzE5MjlsMTAwLjcxNzgwMy0xMDAuNzE3ODAzYzEwLjA2OTk4LTEwLjA2OTk4IDI2LjQwMTk0OC0xMC4wNjk5OCAzNi40NzE5MjkgMGw1Mi41NzU4OTcgNTIuNTc1ODk3YzEwLjA2OTk4IDEwLjA2OTk4IDEwLjA2OTk4IDI2LjQwMTk0OCAwIDM2LjQ3MTkyOWwtMTAwLjcxNzgwMyAxMDAuNzE3ODAzYy0xMC4wNzM5OCAxMC4wNzM5OC0yNi40MDE5NDggMTAuMDczOTgtMzYuNDcxOTI5IDB6IiBmaWxsPSIjQ0VFOEZBIiBwLWlkPSI0NDE3Ij48L3BhdGg+PHBhdGggZD0iTTc2MC41Mjg1MTUgMzcxLjMwNTI3NWMtMTQuNzU5OTcxIDAtMjguNjM1OTQ0LTUuNzQ3OTg5LTM5LjA3NTkyNC0xNi4xODM5NjlsLTUyLjU3NTg5Ny01Mi41NzU4OTdjLTEwLjQzNTk4LTEwLjQzNTk4LTE2LjE4NTk2OC0yNC4zMTU5NTMtMTYuMTg1OTY5LTM5LjA3NTkyNCAwLTE0Ljc2MTk3MSA1Ljc0OTk4OS0yOC42NDE5NDQgMTYuMTg5OTY5LTM5LjA4MTkyM2wxMDAuNzEzODAzLTEwMC43MTM4MDRjMTAuNDM5OTgtMTAuNDM1OTggMjQuMzE1OTUzLTE2LjE4Mzk2OCAzOS4wNzc5MjQtMTYuMTgzOTY4IDE0Ljc1OTk3MSAwIDI4LjYzNTk0NCA1Ljc0Nzk4OSAzOS4wNzU5MjMgMTYuMTc5OTY4bDUyLjU3NTg5OCA1Mi41Nzk4OThjMTAuNDM1OTggMTAuNDMzOTggMTYuMTg1OTY4IDI0LjMxMTk1MyAxNi4xODU5NjggMzkuMDc1OTIzIDAgMTQuNzU5OTcxLTUuNzQ5OTg5IDI4LjYzNzk0NC0xNi4xODk5NjggMzkuMDc3OTI0bC0xMDAuNzEzODA0IDEwMC43MTM4MDNjLTEwLjQzNTk4IDEwLjQzOTk4LTI0LjMxMzk1MyAxNi4xODc5NjgtMzkuMDc3OTIzIDE2LjE4Nzk2OXogbS00Ny4zNjU5MDgtMTA3LjgzNzc5bDQ3LjM2NTkwOCA0Ny4zNjc5MDggOTUuNTA1ODEzLTk1LjUwOTgxNC00Ny4zNjE5MDctNDcuMzY3OTA3LTk1LjUwOTgxNCA5NS41MDk4MTN6IiBmaWxsPSIjMkQ1MjdDIiBwLWlkPSI0NDE4Ij48L3BhdGg+PHBhdGggZD0iTTE5Ny4wODc2MTUgODc5LjQ4NDI4MmwtNTIuNTc1ODk3LTUyLjU3NTg5N2MtMTAuMDY5OTgtMTAuMDY5OTgtMTAuMDY5OTgtMjYuNDAxOTQ4IDAtMzYuNDcxOTI5bDEwMC43MTc4MDMtMTAwLjcxNzgwM2MxMC4wNjk5OC0xMC4wNjk5OCAyNi40MDE5NDgtMTAuMDY5OTggMzYuNDcxOTI5IDBsNTIuNTc1ODk3IDUyLjU3NTg5N2MxMC4wNjk5OCAxMC4wNjk5OCAxMC4wNjk5OCAyNi40MDE5NDggMCAzNi40NzE5MjlsLTEwMC43MTc4MDMgMTAwLjcxNzgwM2MtMTAuMDY5OTggMTAuMDY5OTgtMjYuMzk3OTQ4IDEwLjA2OTk4LTM2LjQ3MTkyOSAweiIgZmlsbD0iI0NFRThGQSIgcC1pZD0iNDQxOSI+PC9wYXRoPjxwYXRoIGQ9Ik0yMTUuMzI1NTc5IDkxNi41MTAyMWMtMTQuNzU5OTcxIDAtMjguNjM1OTQ0LTUuNzQ3OTg5LTM5LjA3NTkyMy0xNi4xODM5NjhsLTUyLjU3NTg5OC01Mi41Nzk4OThjLTEwLjQzNTk4LTEwLjQzMzk4LTE2LjE4NTk2OC0yNC4zMTE5NTMtMTYuMTg1OTY4LTM5LjA3NTkyMyAwLTE0Ljc1OTk3MSA1Ljc0OTk4OS0yOC42Mzc5NDQgMTYuMTg5OTY4LTM5LjA3NzkyNGwxMDAuNzEzODA0LTEwMC43MTM4MDNjMTAuNDM1OTgtMTAuNDM1OTggMjQuMzE1OTUzLTE2LjE4NTk2OCAzOS4wNzc5MjMtMTYuMTg1OTY5IDE0Ljc1OTk3MSAwIDI4LjYzNTk0NCA1Ljc0Nzk4OSAzOS4wNzU5MjQgMTYuMTgzOTY5bDUyLjU3NTg5NyA1Mi41NzU4OTdjMTAuNDM1OTggMTAuNDM1OTggMTYuMTg1OTY4IDI0LjMxNTk1MyAxNi4xODU5NjkgMzkuMDc3OTI0IDAgMTQuNzU5OTcxLTUuNzQ5OTg5IDI4LjYzNzk0NC0xNi4xODk5NjkgMzkuMDc3OTIzbC0xMDAuNzEzODAzIDEwMC43MTM4MDRjLTEwLjQ0MTk4IDEwLjQzNzk4LTI0LjMxNzk1MyAxNi4xODc5NjgtMzkuMDc3OTI0IDE2LjE4Nzk2OHogbS00Ny4zNjU5MDctMTA3LjgzOTc4OWw0Ny4zNjE5MDcgNDcuMzY3OTA3IDk1LjUwOTgxNC05NS41MDk4MTMtNDcuMzY1OTA4LTQ3LjM2NzkwOC05NS41MDU4MTMgOTUuNTA5ODE0eiIgZmlsbD0iIzJENTI3QyIgcC1pZD0iNDQyMCI+PC9wYXRoPjxwYXRoIGQ9Ik02ODkuNzE2NjUzIDc0Mi4yOTQ1NWw1Mi41NzU4OTctNTIuNTc1ODk3YzEwLjA2OTk4LTEwLjA2OTk4IDI2LjQwMTk0OC0xMC4wNjk5OCAzNi40NzE5MjkgMGwxMDAuNzE3ODAzIDEwMC43MTc4MDNjMTAuMDY5OTggMTAuMDY5OTggMTAuMDY5OTggMjYuNDAxOTQ4IDAgMzYuNDcxOTI5bC01Mi41NzU4OTcgNTIuNTc1ODk3Yy0xMC4wNjk5OCAxMC4wNjk5OC0yNi40MDE5NDggMTAuMDY5OTgtMzYuNDcxOTI5IDBsLTEwMC43MTc4MDMtMTAwLjcxNzgwM2MtMTAuMDY5OTgtMTAuMDczOTgtMTAuMDY5OTgtMjYuNDAxOTQ4IDAtMzYuNDcxOTI5eiIgZmlsbD0iI0NFRThGQSIgcC1pZD0iNDQyMSI+PC9wYXRoPjxwYXRoIGQ9Ik04MDguNjcyNDIxIDkxNi41MTAyMWMtMTQuNzYzOTcxIDAtMjguNjM3OTQ0LTUuNzQ5OTg5LTM5LjA3NzkyNC0xNi4xODU5NjhsLTEwMC43MTc4MDMtMTAwLjcxNzgwNGMtMTAuNDM1OTgtMTAuNDM5OTgtMTYuMTg1OTY4LTI0LjMxNTk1My0xNi4xODU5NjktMzkuMDc3OTIzczUuNzQ5OTg5LTI4LjY0MTk0NCAxNi4xODk5NjktMzkuMDgxOTI0bDUyLjU2OTg5Ny01Mi41Njk4OTdjMTAuNDQxOTgtMTAuNDM5OTggMjQuMzE3OTUzLTE2LjE4NTk2OCAzOS4wNzc5MjQtMTYuMTg1OTY5IDE0Ljc2Mzk3MSAwIDI4LjY0MTk0NCA1Ljc0OTk4OSAzOS4wNzc5MjMgMTYuMTg1OTY5bDEwMC43MTc4MDQgMTAwLjcxMzgwM2MxMC40MzU5OCAxMC40Mzk5OCAxNi4xODU5NjggMjQuMzE1OTUzIDE2LjE4NTk2OCAzOS4wNzc5MjRzLTUuNzQ5OTg5IDI4LjY0MTk0NC0xNi4xODk5NjggMzkuMDgxOTIzbC01Mi41Njk4OTggNTIuNTY5ODk4Yy0xMC40NDE5OCAxMC40NDM5OC0yNC4zMTc5NTMgMTYuMTg5OTY4LTM5LjA3NzkyMyAxNi4xODk5Njh6IG0tOTUuNTA5ODE0LTE1NS45ODE2OTVsOTUuNTA5ODE0IDk1LjUwOTgxMyA0Ny4zNjE5MDctNDcuMzY3OTA3LTk1LjUwNTgxMy05NS41MDk4MTQtNDcuMzY1OTA4IDQ3LjM2NzkwOHoiIGZpbGw9IiMyRDUyN0MiIHAtaWQ9IjQ0MjIiPjwvcGF0aD48cGF0aCBkPSJNMTQ0LjUxMzcxOCAxOTcuMDg3NjE1bDUyLjU3NTg5Ny01Mi41NzU4OTdjMTAuMDY5OTgtMTAuMDY5OTggMjYuNDAxOTQ4LTEwLjA2OTk4IDM2LjQ3MTkyOSAwbDEwMC43MTc4MDMgMTAwLjcxNzgwM2MxMC4wNjk5OCAxMC4wNjk5OCAxMC4wNjk5OCAyNi40MDE5NDggMCAzNi40NzE5MjlsLTUyLjU3NTg5NyA1Mi41NzU4OTdjLTEwLjA2OTk4IDEwLjA2OTk4LTI2LjQwMTk0OCAxMC4wNjk5OC0zNi40NzE5MjkgMGwtMTAwLjcxNzgwMy0xMDAuNzEzODAzYy0xMC4wNjk5OC0xMC4wNzM5OC0xMC4wNjk5OC0yNi40MDE5NDggMC0zNi40NzU5Mjl6IiBmaWxsPSIjQ0VFOEZBIiBwLWlkPSI0NDIzIj48L3BhdGg+PHBhdGggZD0iTTI2My40Njk0ODUgMzcxLjMwNTI3NWMtMTQuNzYxOTcxIDAtMjguNjQxOTQ0LTUuNzQ5OTg5LTM5LjA3NzkyMy0xNi4xODU5NjlsLTEwMC43MTc4MDQtMTAwLjcxMzgwM2MtMTAuNDM1OTgtMTAuNDM5OTgtMTYuMTg1OTY4LTI0LjMxNTk1My0xNi4xODU5NjgtMzkuMDc3OTI0IDAtMTQuNzYxOTcxIDUuNzQ5OTg5LTI4LjY0MTk0NCAxNi4xODk5NjgtMzkuMDgxOTIzbDUyLjU2OTg5OC01Mi41Njk4OThjMTAuNDQxOTgtMTAuNDM5OTggMjQuMzE3OTUzLTE2LjE4NTk2OCAzOS4wNzc5MjMtMTYuMTg1OTY4IDE0Ljc2MTk3MSAwIDI4LjYzNzk0NCA1Ljc0Nzk4OSAzOS4wNzc5MjQgMTYuMTgzOTY4bDEwMC43MTc4MDMgMTAwLjcxNzgwNGMxMC40MzU5OCAxMC40Mzk5OCAxNi4xODU5NjggMjQuMzE1OTUzIDE2LjE4NTk2OSAzOS4wNzc5MjMgMCAxNC43NTk5NzEtNS43NDk5ODkgMjguNjM3OTQ0LTE2LjE4OTk2OSAzOS4wNzc5MjRsLTUyLjU2OTg5NyA1Mi41Njk4OTdjLTEwLjQ0NTk4IDEwLjQzOTk4LTI0LjMyMTk1MiAxNi4xODc5NjgtMzkuMDc3OTI0IDE2LjE4Nzk2OXogbS05NS41MDk4MTMtMTU1Ljk3OTY5Nmw5NS41MDU4MTMgOTUuNTA5ODE0IDQ3LjM2NTkwOC00Ny4zNjU5MDgtOTUuNTA1ODE0LTk1LjUxMTgxMy00Ny4zNjU5MDcgNDcuMzY3OTA3ek04OTQuNzY4MjUyIDYwNC40MzY4MTloLTY4LjQ2Nzg2NmMtMzAuNDcxOTQgMC01NS4yNjM4OTItMjQuNzkxOTUyLTU1LjI2Mzg5Mi01NS4yNjE4OTJ2LTc0LjM1Mzg1NGMwLTMwLjQ3MTk0IDI0Ljc5MTk1Mi01NS4yNjE4OTIgNTUuMjYzODkyLTU1LjI2MTg5MmgxNDIuNDMzNzIyYzMwLjQ3MTk0IDAgNTUuMjYzODkyIDI0Ljc5MTk1MiA1NS4yNjM4OTIgNTUuMjYxODkydjc0LjM1Mzg1NGMwIDE2LjI3Nzk2OC0xMy4xOTc5NzQgMjkuNDcxOTQyLTI5LjQ3MTk0MiAyOS40NzE5NDNzLTI5LjQ3MTk0Mi0xMy4xOTU5NzQtMjkuNDcxOTQzLTI5LjQ3MTk0M3YtNzAuNjY5ODYyaC0xMzUuMDcxNzM2djY2Ljk4Nzg3aDY0Ljc4Nzg3M2MxNi4yNzM5NjggMCAyOS40NzE5NDIgMTMuMTk1OTc0IDI5LjQ3MTk0MyAyOS40NzE5NDIgMCAxNi4yNzk5NjgtMTMuMTk3OTc0IDI5LjQ3MTk0Mi0yOS40NzM5NDMgMjkuNDcxOTQyek0xOTcuNjk3NjE0IDYwNC40MzY4MTlINTUuMjYzODkyQzI0Ljc5MTk1MiA2MDQuNDM2ODE5IDAgNTc5LjY0NDg2OCAwIDU0OS4xNzY5Mjd2LTc0LjM1Mzg1NGMwLTE2LjI3Nzk2OCAxMy4xOTc5NzQtMjkuNDcxOTQyIDI5LjQ3MTk0Mi0yOS40NzE5NDNzMjkuNDcxOTQyIDEzLjE5NTk3NCAyOS40NzE5NDMgMjkuNDcxOTQzdjcwLjY2OTg2MmgxMzUuMDcxNzM2di02Ni45ODc4N0gxMjguNTMzNzQ5Yy0xNi4yNzM5NjggMC0yOS40NzE5NDItMTMuMTk1OTc0LTI5LjQ3MTk0Mi0yOS40NzE5NDIgMC0xNi4yNzc5NjggMTMuMTk3OTc0LTI5LjQ3MTk0MiAyOS40NzE5NDItMjkuNDcxOTQyaDY5LjE2Mzg2NWMzMC40NzE5NCAwIDU1LjI2Mzg5MiAyNC43OTE5NTIgNTUuMjYzODkyIDU1LjI2MTg5MnY3NC4zNTM4NTRjMCAzMC40Njc5NC0yNC43OTE5NTIgNTUuMjU5ODkyLTU1LjI2Mzg5MiA1NS4yNTk4OTJ6TTU0OS4xNzY5MjcgMTAyMy45OThINDc0LjgxOTA3M2MtMTYuMjczOTY4IDAtMjkuNDcxOTQyLTEzLjE5Mzk3NC0yOS40NzE5NDMtMjkuNDcxOTQyczEzLjE5Nzk3NC0yOS40NzE5NDIgMjkuNDcxOTQzLTI5LjQ3MTk0M2g3MC42NzM4NjJ2LTEzNS4wNzE3MzZoLTY2Ljk4Nzg3djY2LjE3Nzg3MWMwIDE2LjI3Nzk2OC0xMy4xOTc5NzQgMjkuNDcxOTQyLTI5LjQ3MTk0MiAyOS40NzE5NDJzLTI5LjQ3MTk0Mi0xMy4xOTM5NzQtMjkuNDcxOTQyLTI5LjQ3MTk0MlY4MjYuMjk4Mzg2YzAtMzAuNDcxOTQgMjQuNzg5OTUyLTU1LjI2MTg5MiA1NS4yNjE4OTItNTUuMjYxODkyaDc0LjM1Nzg1NGMzMC40NzE5NCAwIDU1LjI2MTg5MiAyNC43OTE5NTIgNTUuMjYxODkyIDU1LjI2MTg5MnYxNDIuNDM1NzIyQzYwNC40MzY4MTkgOTk5LjIwNjA0OCA1NzkuNjQ4ODY4IDEwMjMuOTk4IDU0OS4xNzY5MjcgMTAyMy45OTh6TTU0OS4xNzY5MjcgMjUyLjk2MTUwNkg0NzQuODE5MDczYy0zMC40NzE5NCAwLTU1LjI2MTg5Mi0yNC43OTE5NTItNTUuMjYxODkyLTU1LjI2MTg5MlY1NS4yNTk4OTJDNDE5LjU1NzE4MSAyNC43ODk5NTIgNDQ0LjM0NzEzMiAwIDQ3NC44MTkwNzMgMGg3NC4zNTc4NTRjMTYuMjczOTY4IDAgMjkuNDcxOTQyIDEzLjE5NTk3NCAyOS40NzE5NDMgMjkuNDcxOTQycy0xMy4xOTc5NzQgMjkuNDcxOTQyLTI5LjQ3MTk0MyAyOS40NzE5NDNoLTcwLjY3Mzg2MnYxMzUuMDcxNzM2aDY2Ljk4Nzg3VjEyOS41ODk3NDdjMC0xNi4yNzc5NjggMTMuMTk3OTc0LTI5LjQ3MTk0MiAyOS40NzE5NDItMjkuNDcxOTQzczI5LjQ3MTk0MiAxMy4xOTU5NzQgMjkuNDcxOTQyIDI5LjQ3MTk0M3Y2OC4xMDc4NjdjMC4wMDIgMzAuNDcxOTQtMjQuNzg1OTUyIDU1LjI2Mzg5Mi01NS4yNTc4OTIgNTUuMjYzODkyek0zOTIuMDkxMjM0IDU0MS40NzA5NDJoLTM3LjIzNTkyN2MtMTYuMjczOTY4IDAtMjkuNDcxOTQyLTEzLjE5NTk3NC0yOS40NzE5NDMtMjkuNDcxOTQyIDAtMTYuMjc3OTY4IDEzLjE5Nzk3NC0yOS40NzE5NDIgMjkuNDcxOTQzLTI5LjQ3MTk0MmgzNy4yMzU5MjdjMTYuMjczOTY4IDAgMjkuNDcxOTQyIDEzLjE5NTk3NCAyOS40NzE5NDMgMjkuNDcxOTQyIDAuMDAyIDE2LjI3Nzk2OC0xMy4xOTM5NzQgMjkuNDcxOTQyLTI5LjQ3MTk0MyAyOS40NzE5NDJ6TTUzMC42MTY5NjQgNTQxLjQ3MDk0Mkg0OTMuMzc5MDM2Yy0xNi4yNzM5NjggMC0yOS40NzE5NDItMTMuMTk1OTc0LTI5LjQ3MTk0Mi0yOS40NzE5NDIgMC0xNi4yNzc5NjggMTMuMTk3OTc0LTI5LjQ3MTk0MiAyOS40NzE5NDItMjkuNDcxOTQyaDM3LjIzNzkyOGMxNi4yNzM5NjggMCAyOS40NzE5NDIgMTMuMTk1OTc0IDI5LjQ3MTk0MiAyOS40NzE5NDIgMCAxNi4yNzc5NjgtMTMuMTkzOTc0IDI5LjQ3MTk0Mi0yOS40NzE5NDIgMjkuNDcxOTQyek02NjkuMTM4NjkzIDU0MS40NzA5NDJoLTM3LjIzNTkyN2MtMTYuMjczOTY4IDAtMjkuNDcxOTQyLTEzLjE5NTk3NC0yOS40NzE5NDMtMjkuNDcxOTQyIDAtMTYuMjc3OTY4IDEzLjE5Nzk3NC0yOS40NzE5NDIgMjkuNDcxOTQzLTI5LjQ3MTk0MmgzNy4yMzU5MjdjMTYuMjczOTY4IDAgMjkuNDcxOTQyIDEzLjE5NTk3NCAyOS40NzE5NDMgMjkuNDcxOTQyIDAuMDAyIDE2LjI3Nzk2OC0xMy4xOTM5NzQgMjkuNDcxOTQyLTI5LjQ3MTk0MyAyOS40NzE5NDJ6IiBmaWxsPSIjMkQ1MjdDIiBwLWlkPSI0NDI0Ij48L3BhdGg+PC9zdmc+)}")),document.head.appendChild(M)}}catch(T){console.error("vite-plugin-css-injected-by-js",T)}})();
2
+ import _ from "@codernote/tree-editor";
3
+ import v from "vue-popperjs";
4
+ import { oss as b } from "@codernote/utils";
5
+ function m(e, t, i, a, r, l, u, c) {
6
+ var s = typeof e == "function" ? e.options : e;
7
+ t && (s.render = t, s.staticRenderFns = i, s._compiled = !0), a && (s.functional = !0), l && (s._scopeId = "data-v-" + l);
8
+ var n;
9
+ if (u ? (n = function(o) {
10
+ o = o || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !o && typeof __VUE_SSR_CONTEXT__ < "u" && (o = __VUE_SSR_CONTEXT__), r && r.call(this, o), o && o._registeredComponents && o._registeredComponents.add(u);
11
+ }, s._ssrRegister = n) : r && (n = c ? function() {
12
+ r.call(
13
+ this,
14
+ (s.functional ? this.parent : this).$root.$options.shadowRoot
15
+ );
16
+ } : r), n)
17
+ if (s.functional) {
18
+ s._injectStyles = n;
19
+ var p = s.render;
20
+ s.render = function(g, f) {
21
+ return n.call(f), p(g, f);
22
+ };
23
+ } else {
24
+ var h = s.beforeCreate;
25
+ s.beforeCreate = h ? [].concat(h, n) : [n];
26
+ }
27
+ return {
28
+ exports: e,
29
+ options: s
30
+ };
31
+ }
32
+ let d = null;
33
+ const C = {
34
+ name: "recordTree",
35
+ components: {
36
+ Popper: v
37
+ },
38
+ props: {
39
+ editNote: {
40
+ type: Object,
41
+ default: function() {
42
+ return { title: "" };
43
+ }
44
+ },
45
+ // 图标相关配置
46
+ tagConfig: {
47
+ type: Object,
48
+ default: () => ({})
49
+ },
50
+ // 是否移动端
51
+ isMobile: {
52
+ type: Boolean,
53
+ default: !1
54
+ },
55
+ // 是否显示完成按钮
56
+ showComplete: {
57
+ type: Boolean,
58
+ default: !1
59
+ },
60
+ // 是否区分双击enter
61
+ isDbEnter: {
62
+ type: Boolean,
63
+ default: !1
64
+ }
65
+ },
66
+ data() {
67
+ return {
68
+ uploadLoading: !1,
69
+ curEditNote: {},
70
+ curNodes: [],
71
+ curTag: {},
72
+ // 传入图标有关的所有参数集合,外界根据需要传入
73
+ tagDefaultConfig: {
74
+ show: !0,
75
+ // tag总开关,false时取消tag所有功能
76
+ tags: [],
77
+ // 所有注册的图标
78
+ tagSize: 18,
79
+ // 图标大小
80
+ popW: "184px",
81
+ // 显示所有图标容器的宽度
82
+ popH: "auto",
83
+ // 显示所有图标容器的高度
84
+ tagL: "0px",
85
+ // 图标定位left值
86
+ tagT: "0px"
87
+ // 图标定位top值
88
+ },
89
+ tagObj: {},
90
+ curData: {},
91
+ nextDom: null,
92
+ // ->方向键寻找的下一个元素
93
+ touchTimer: null,
94
+ isTouching: !1,
95
+ showTag: !0,
96
+ delayData: {},
97
+ treeEditor: null
98
+ };
99
+ },
100
+ async created() {
101
+ this.curEditNote = JSON.parse(JSON.stringify(this.editNote)), this.curNodes = this.formatContent(this.curEditNote.content), this.tagObj = JSON.parse(
102
+ JSON.stringify({
103
+ ...this.tagDefaultConfig,
104
+ ...this.tagConfig
105
+ })
106
+ ), this.findTagConfig(this.curEditNote.tag_id), this.curData = JSON.parse(JSON.stringify(this.editNote));
107
+ },
108
+ watch: {
109
+ // 1.新增弹框tags获取(Record项目需要)
110
+ tagConfig: {
111
+ handler(e) {
112
+ e && (this.showTag = !1, this.tagObj.tags = e.tags, this.$nextTick(() => {
113
+ this.showTag = !0;
114
+ }));
115
+ },
116
+ deep: !0
117
+ }
118
+ },
119
+ mounted() {
120
+ let e = this;
121
+ this.treeEditor = new _("root_tree"), this.$nextTick(() => {
122
+ function t() {
123
+ e.treeChange(e.delayData);
124
+ }
125
+ this.treeEditor.on("fileUpload", (i, a) => {
126
+ this.uploadLoading = !0, b.uploadFile(i, (r, l) => {
127
+ if (this.uploadLoading = !1, l && a) {
128
+ const u = l.filter((c) => c.code === 0).map((c) => c.data);
129
+ a(u);
130
+ }
131
+ });
132
+ }), this.treeEditor.on("dataChanged", (i, a = !1) => {
133
+ Object.assign(e.curData, { line: 167, send: a }), e.delayData = {
134
+ ...e.curData,
135
+ content: JSON.stringify(i)
136
+ }, t();
137
+ }), this.treeEditor.loadTree(this.curNodes);
138
+ });
139
+ },
140
+ methods: {
141
+ treeChange(e) {
142
+ let t = !1;
143
+ this.curData.content != e.content && (t = !0, this.$set(this.curData, "content", e.content)), this.curData.title != e.title && (t = !0, this.$set(this.curData, "title", e.title));
144
+ let i = {
145
+ type: "tree",
146
+ data: e
147
+ };
148
+ (t || e.send) && this.$emit("treeChange", i);
149
+ },
150
+ refreshTree(e) {
151
+ this.curNodes = this.formatContent(e || '[{"text":""}]'), this.treeEditor.loadTree(this.curNodes, 1);
152
+ },
153
+ hideHoverNote() {
154
+ this.$emit("hideHoverNote");
155
+ },
156
+ // 根据svg的icon名找到svg实体
157
+ setSvgSrc(e) {
158
+ return "";
159
+ },
160
+ // 选择tag图标
161
+ tagSelect(e) {
162
+ this.curTag = e, this.findTagConfig(e.created_at), Object.assign(this.curData, {
163
+ line: 293,
164
+ send: !0
165
+ });
166
+ let t = {
167
+ type: "tag",
168
+ data: this.curData
169
+ };
170
+ this.$emit("treeChange", t);
171
+ },
172
+ findTagConfig(e) {
173
+ if (!this.tagObj.tags)
174
+ return;
175
+ let t = this.tagObj.tags.filter((i) => i.created_at === e);
176
+ t.length > 0 && (this.curTag = t[0], this.curData.tag_id = t[0].created_at);
177
+ },
178
+ titleClick(e) {
179
+ e.stopPropagation();
180
+ },
181
+ // 标题失去焦点
182
+ titleBlur() {
183
+ let e = document.querySelector("#tree_title").innerText;
184
+ if (this.curData.title !== e) {
185
+ this.curData.title = e, this.$set(this.curData, "title", e), Object.assign(this.curData, {
186
+ line: 328,
187
+ send: !0
188
+ });
189
+ let t = {
190
+ type: "title",
191
+ data: this.curData
192
+ };
193
+ this.$emit("treeChange", t);
194
+ }
195
+ },
196
+ // 标题enter输入
197
+ handleEnter(e) {
198
+ e.preventDefault(), this.isDbEnter ? d ? (clearTimeout(d), d = null, this.titleBlur(), this.$emit("dbEnter")) : d = setTimeout(() => {
199
+ d = null, this.keyEnter();
200
+ }, 180) : this.keyEnter();
201
+ },
202
+ handlePaste(e) {
203
+ if (e.clipboardData) {
204
+ const t = e.clipboardData.items;
205
+ Array.from(t).some((a) => a.kind === "file") && (e.preventDefault(), this.treeEditor.addFiles(
206
+ {
207
+ target: this.keyEnter()
208
+ },
209
+ e.clipboardData.files,
210
+ -1
211
+ ));
212
+ }
213
+ },
214
+ keyEnter() {
215
+ let e = document.querySelector("#outline_tree .node-text");
216
+ return e.focus(), document.querySelectorAll(".lzx-tree-focus").forEach((i) => {
217
+ i.classList.remove("lzx-tree-focus");
218
+ }), e.classList.add("lzx-tree-focus"), e;
219
+ },
220
+ // 移动端=====================
221
+ setToParent() {
222
+ let e = new KeyboardEvent("keydown", {
223
+ bubbles: !0,
224
+ cancelable: !0,
225
+ key: "Tab",
226
+ shiftKey: !0
227
+ });
228
+ window.getSelection().baseNode.parentNode.dispatchEvent(e);
229
+ },
230
+ setToChild() {
231
+ let e = new KeyboardEvent("keydown", {
232
+ bubbles: !0,
233
+ cancelable: !0,
234
+ key: "Tab",
235
+ shiftKey: !1
236
+ });
237
+ window.getSelection().baseNode.parentNode.dispatchEvent(e);
238
+ },
239
+ setToUp() {
240
+ let e = new KeyboardEvent("keydown", {
241
+ bubbles: !0,
242
+ cancelable: !0,
243
+ key: "ArrowUp",
244
+ shiftKey: !1
245
+ });
246
+ window.getSelection().baseNode.parentNode.dispatchEvent(e);
247
+ },
248
+ setToDown() {
249
+ let e = new KeyboardEvent("keydown", {
250
+ bubbles: !0,
251
+ cancelable: !0,
252
+ key: "ArrowDown",
253
+ shiftKey: !1
254
+ });
255
+ window.getSelection().baseNode.parentNode.dispatchEvent(e);
256
+ },
257
+ complete() {
258
+ this.$emit("complete", this.curEditNote);
259
+ },
260
+ formatContent(e) {
261
+ try {
262
+ return JSON.parse(e);
263
+ } catch {
264
+ return [
265
+ {
266
+ text: e
267
+ }
268
+ ];
269
+ }
270
+ }
271
+ }
272
+ };
273
+ var y = function() {
274
+ var t = this, i = t._self._c;
275
+ return i("div", { staticClass: "tree-editor", on: { mouseenter: t.hideHoverNote } }, [t._t("default"), i("div", { staticClass: "tree-title-div" }, [t.tagObj.show && t.showTag ? i("popper", { staticClass: "hover-popper", attrs: { trigger: "hover", options: {
276
+ placement: "bottom",
277
+ modifiers: { offset: { offset: "0px, 0px" } }
278
+ } } }, [i("div", { staticClass: "popper-content", style: { width: t.tagObj.popW, height: t.tagObj.popH } }, t._l(t.tagObj.tags, function(a, r) {
279
+ return i("span", { key: r, staticClass: "popper-content-item", on: { click: function(l) {
280
+ return t.tagSelect(a);
281
+ } } }, [t.setSvgSrc(a) ? i("inline-svg", { staticClass: "inline-svg", style: { backgroundColor: a.color }, attrs: { src: t.setSvgSrc(a), width: t.tagObj.tagSize, height: t.tagObj.tagSize } }) : i("span", { staticClass: "empty-icon", style: {
282
+ width: t.tagObj.tagSize + "px",
283
+ height: t.tagObj.tagSize + "px",
284
+ backgroundColor: a.color
285
+ } })], 1);
286
+ }), 0), i("span", { staticClass: "popper-reference", style: {
287
+ backgroundColor: t.curTag.color,
288
+ top: t.tagObj.tagT,
289
+ left: t.tagObj.tagL
290
+ }, attrs: { slot: "reference" }, slot: "reference" }, [t.setSvgSrc(t.curTag) ? i("inline-svg", { staticClass: "inline-svg", attrs: { src: t.setSvgSrc(t.curTag), width: t.tagObj.tagSize, height: t.tagObj.tagSize } }) : i("span", { staticClass: "inline-svg", style: {
291
+ width: t.tagObj.tagSize + "px",
292
+ height: t.tagObj.tagSize + "px",
293
+ backgroundColor: t.curTag.color
294
+ } })], 1)]) : t._e(), i("div", { staticClass: "tree-title", attrs: { contenteditable: "true", id: "tree_title" }, domProps: { innerHTML: t._s(t.editNote.title) }, on: { blur: t.titleBlur, click: t.titleClick, keydown: function(a) {
295
+ return !a.type.indexOf("key") && t._k(a.keyCode, "enter", 13, a.key, "Enter") ? null : (a.preventDefault(), t.handleEnter.apply(null, arguments));
296
+ }, paste: t.handlePaste } })], 1), t._m(0), t.isMobile ? i("div", { staticClass: "mobile-options" }, [i("div", { staticClass: "option-left" }, [i("div", { staticClass: "option-item", on: { click: t.setToParent } }, [t._v("向前")]), i("div", { staticClass: "option-item", on: { click: t.setToChild } }, [t._v("向后")]), i("div", { staticClass: "option-item", on: { click: t.setToUp } }, [t._v("向上")]), i("div", { staticClass: "option-item", on: { click: t.setToDown } }, [t._v("向下")])]), i("div", { staticClass: "option-right" }, [t.showComplete ? i("div", { staticClass: "option-item", on: { click: t.complete } }, [t._v(" 完成 ")]) : t._e()])]) : t._e(), t.uploadLoading ? i("div", { staticClass: "tree-upload-loading" }, [t._m(1)]) : t._e()], 2);
297
+ }, T = [function() {
298
+ var e = this, t = e._self._c;
299
+ return t("div", { attrs: { id: "outline_tree" } }, [t("div", { attrs: { id: "root_tree" } })]);
300
+ }, function() {
301
+ var e = this, t = e._self._c;
302
+ return t("p", [t("span", { staticClass: "icon icon-loading animate-spin" }), t("b", [e._v("正在上传资源,请稍后...")])]);
303
+ }], S = /* @__PURE__ */ m(
304
+ C,
305
+ y,
306
+ T,
307
+ !1,
308
+ null,
309
+ null,
310
+ null,
311
+ null
312
+ );
313
+ const k = S.exports;
314
+ export {
315
+ k as RecordTree
316
+ };
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@codernote/record-tree",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "dependencies": {
7
+ "vue-popperjs": "^2.3.0",
8
+ "@codernote/utils": "1.0.1",
9
+ "@codernote/tree-editor": "1.0.1"
10
+ },
11
+ "devDependencies": {
12
+ "vue": "^2.7.14",
13
+ "@vitejs/plugin-vue2": "^2.3.1",
14
+ "vite-plugin-css-injected-by-js": "^3.4.0",
15
+ "autoprefixer": "^10.4.13",
16
+ "postcss": "^8.4.20",
17
+ "typescript": "^4.9.3",
18
+ "vite": "^4.0.0",
19
+ "vite-svg-loader": "^4.0.0"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "publishConfig": {
25
+ "registry": "https://registry.npmjs.org/"
26
+ },
27
+ "scripts": {
28
+ "dev": "vite",
29
+ "build": "vite build",
30
+ "watch": "vite build --watch"
31
+ }
32
+ }