diff --git a/Wiki-OcttKB/plugins/CPL-Repo/$__config_TiddlyWiki-CPL_GitHub.tid b/Wiki-OcttKB/plugins/CPL-Repo/$__config_TiddlyWiki-CPL_GitHub.tid new file mode 100644 index 0000000..d779b4f --- /dev/null +++ b/Wiki-OcttKB/plugins/CPL-Repo/$__config_TiddlyWiki-CPL_GitHub.tid @@ -0,0 +1,40 @@ +caption: <$list filter="[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]" variable="lang"><$list filter="[search:title[zh]]">太微中文社区插件源(~GitHub版)<$list filter="[!search:title[zh]]">TiddlyWiki CPL(~GitHub Host) +tags: $:/tags/PluginLibrary $:/tags/PluginLibrary/CPL +title: $:/config/TiddlyWiki-CPL/GitHub +type: text/vnd.tiddlywiki +url: https://tiddly-gittly.github.io/TiddlyWiki-CPL/library/index.html + + +<$list filter="[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]" variable="lang"> +<$list filter="[search:title[zh]]" variable="lang"> + +欢迎使用''【太微中文社区插件源】''! + +本插件源是由[[太微(TiddlyWiki)中文社区|https://github.com/tiddly-gittly]]维护的、致力于搜集网络上所有与 ~TiddlyWiki5 有关插件的、希望为中国以及全世界的太微用户提供一键安装、更新插件体验的公开插件源。 + +如果还不了解该如何使用太微和本插件源,欢迎阅读[[中文社区共建的太微(TiddlyWiki)教程|https://tw-cn.netlify.app]]里插件相关的部分。如上提到的插件源和教程皆为开源项目,你可以在 [[GitHub|https://github.com/tiddly-gittly]] 中找到并参与贡献!如果乐意,可以通过QQ群等方式加入我们,详情请见如上提到的中文教程。 + +要添加这个插件库到你的 Wiki 中,只需鼠标拖动这个链接到你的 Wiki 里即可:<$link to=<>>{{!!caption}} + +注意:本插件源版本为 ~GitHub Page 的版本,更新更快,但是可能需要科学上网手段。如果你在国内,而且不清楚什么是“科学上网”,请选用另一个经过 netlify.app 加速的[[版本|$:/config/TiddlyWiki-CPL/Netlify]],虽然更新有一定的延迟,但对国内用户更加友好。 + +@@color:red;''安装任何插件前,请记得备份你的Wiki,本插件源无法为插件造成的个人损失负责!''@@ + + + +<$list filter="[!search:title[zh]]" variable="lang"> + +Welcome to the ''[TiddlyWiki Chinese Community Plugin Source]''! + +This plugin source is maintained by the [[TiddlyWiki Chinese Community]] and is dedicated to collecting all TiddlyWiki5 related plugins on the web, hoping to provide a one-click installation and update plugin experience for TiddlyWiki users in China and around the world. + +If you don't know how to use TiddlyWiki and this source, you are welcome to read the plugins related section in the [[TiddlyWiki Tutorials for Chinese Communities|https://tw-cn.netlify.app]]. As mentioned above, both the plugin source and the tutorial are open source projects, you can find them in [[GitHub|https://github.com/tiddly-gittly]] and participate in contributing! If you like, you can join us through QQ groups and other means, see the Chinese tutorials mentioned above for details. + +To add this plugin library to your Wiki, just drag this link with your mouse into your Wiki: <$link to=<>>{{!!caption}} + +Note: The source version of this plugin is the ~GitHub Page version, which is faster to update, but may require scientific Internet access. If you are in China and are not sure what GFW is, please use another [[version|$:/config/TiddlyWiki-CPL/Netlify]] that is accelerated by netlify.app, although there is a certain delay in updating, but it is more friendly to domestic users more friendly. + +@@color:red;''Please remember to back up your Wiki before installing any plugins, this plugin source cannot be held responsible for personal losses caused by plugins!''@@ + + + diff --git a/Wiki-OcttKB/plugins/CPL-Repo/$__config_TiddlyWiki-CPL_Netlify.tid b/Wiki-OcttKB/plugins/CPL-Repo/$__config_TiddlyWiki-CPL_Netlify.tid new file mode 100644 index 0000000..72dff92 --- /dev/null +++ b/Wiki-OcttKB/plugins/CPL-Repo/$__config_TiddlyWiki-CPL_Netlify.tid @@ -0,0 +1,40 @@ +caption: <$list filter="[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]" variable="lang"><$list filter="[search:title[zh]]">太微中文社区插件源(大陆加速版)<$list filter="[!search:title[zh]]">TiddlyWiki CPL(Netlify Host) +tags: $:/tags/PluginLibrary $:/tags/PluginLibrary/CPL +title: $:/config/TiddlyWiki-CPL/Netlify +type: text/vnd.tiddlywiki +url: https://tw-cpl.netlify.app/library/index.html + + +<$list filter="[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]" variable="lang"> +<$list filter="[search:title[zh]]" variable="lang"> + +欢迎使用''【太微中文社区插件源】''! + +本插件源是由[[太微(TiddlyWiki)中文社区|https://github.com/tiddly-gittly]]维护的、致力于搜集网络上所有与 ~TiddlyWiki5 有关插件的、希望为中国以及全世界的太微用户提供一键安装、更新插件体验的公开插件源。 + +如果还不了解该如何使用太微和本插件源,欢迎阅读[[中文社区共建的太微(TiddlyWiki)教程|https://tw-cn.netlify.app]]里插件相关的部分。如上提到的插件源和教程皆为开源项目,你可以在 [[GitHub|https://github.com/tiddly-gittly]] 中找到并参与贡献!如果乐意,可以通过QQ群等方式加入我们,详情请见如上提到的中文教程。 + +要添加这个插件库到你的 Wiki 中,只需鼠标拖动这个链接到你的 Wiki 里即可:<$link to=<>>{{!!caption}} + +注意:本插件源版本为经过 netlify.app 加速的版本,对国内用户更加友好,但是更新有一定的延迟。还提供另一版本,是直接使用 ~GitHub Page 服务器的版本,更新更快,但是可能需要科学上网手段。 + +@@color:red;''安装任何插件前,请记得备份你的Wiki,本插件源无法为插件造成的个人损失负责!''@@ + + + +<$list filter="[!search:title[zh]]" variable="lang"> + +Welcome to the ''[TiddlyWiki Chinese Community Plugin Source]''! + +This plugin source is maintained by the [[TiddlyWiki Chinese Community]] and is dedicated to collecting all TiddlyWiki5 related plugins on the web, hoping to provide a one-click installation and update plugin experience for TiddlyWiki users in China and around the world. + +If you don't know how to use TiddlyWiki and this source, you are welcome to read the plugins related section in the [[TiddlyWiki Tutorials for Chinese Communities|https://tw-cn.netlify.app]]. As mentioned above, both the plugin source and the tutorial are open source projects, you can find them in [[GitHub|https://github.com/tiddly-gittly]] and participate in contributing! If you like, you can join us through QQ groups and other means, see the Chinese tutorials mentioned above for details. + +To add this plugin library to your Wiki, just drag this link with your mouse into your Wiki: <$link to=<>>{{!!caption}} + +Note: The source version of this plugin is a version accelerated by netlify.app, which is more friendly to China mainland users, but there is a delay in updating. There is also another version that uses the GitHub Page server directly, which is faster to update, but may require technology to overturn the GFW. + +@@color:red;''Please remember to back up your Wiki before installing any plugins, this plugin source cannot be held responsible for personal losses caused by plugins!''@@ + + + diff --git a/Wiki-OcttKB/plugins/CPL-Repo/plugin.info b/Wiki-OcttKB/plugins/CPL-Repo/plugin.info new file mode 100644 index 0000000..8c73ba5 --- /dev/null +++ b/Wiki-OcttKB/plugins/CPL-Repo/plugin.info @@ -0,0 +1,11 @@ +{ + "author": "Gk0Wk", + "description": "Repos for CPL", + "name": "CPL Repo", + "plugin-type": "plugin", + "title": "$:/plugins/Gk0Wk/CPL-Repo", + "version": "2022.12.28", + "revision": "0", + "bag": "default", + "dependents": "" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Caption.tid b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Caption.tid new file mode 100644 index 0000000..d6335ee --- /dev/null +++ b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Caption.tid @@ -0,0 +1,6 @@ +created: 20140530174219263 +tags: contextPlugin +title: $:/plugins/danielo515/ContextPlugin/Caption +type: text/vnd.tiddlywiki + +Context search \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Stylesheet_results.css b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Stylesheet_results.css new file mode 100644 index 0000000..e249aa0 --- /dev/null +++ b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Stylesheet_results.css @@ -0,0 +1,3 @@ +.matched{background-color:yellow} +.tw-context {/*border:1px solid; + /*word-break: break-all; word-wrap: break-word*/} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Stylesheet_results.css.meta b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Stylesheet_results.css.meta new file mode 100644 index 0000000..ff5f662 --- /dev/null +++ b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_Stylesheet_results.css.meta @@ -0,0 +1,4 @@ +created: 20140529162823729 +tags: $:/tags/Stylesheet contextPlugin +title: $:/plugins/danielo515/ContextPlugin/Stylesheet/results +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_readme.tid b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_readme.tid new file mode 100644 index 0000000..234a4ca --- /dev/null +++ b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_readme.tid @@ -0,0 +1,55 @@ +title: $:/plugins/danielo515/ContextPlugin/readme + +!Usage + +After installing the plugin you will have a new tab in [[$:/AdvancedSearch]] called [[Context Search]]. If you want this functionality in other places you will have to edit the desired tiddler yourself adding the ''context widget''. For more details about using the widget see the section below. + +!!Using the widget + +The very basic usage of the widget is the following: + +``` +<$context term="lorem"/> +``` +Which will render as: +<$context term="lorem"/> + +The widgets will search inside the current tiddler by default. Because that you see the same content twice here. This example is not very useful. Other more meaningful would be: + +``` +<$list filter="[search{$:/temp/advancedsearch}sort[title]limit[250]]"> +{{!!title||$:/core/ui/ListItemTemplate}} +<$context term={{$:/temp/advancedsearch}}/> + +``` + +That will search for tiddlers containing the text specified in [[$:/temp/advancedsearch]] and will display a link to the matching tiddlers plus a preview of the matching content. Something very similar is used in [[Context Search]]. Below you can find a complete list of parameters and their default values. + +|! parameter |! description | !default | +| term | The term you want to search || +| searchTerm | An alias for the previous one || +| tiddler | The tiddler's name to look into | current tiddler | +| length | Number of context characters to show | 50 | +| before | Number of characters before the matched term to show | the value of the length parameter | +| after | Number of characters after the matched term to show | the value of the length parameter | +| maxMatches | maximun number of matched elements to show. Incrementing this can cause several performance issues | 10 | +| element | Node element to create. This element will contain the results of the search. If you want to style it its class is `tw-context` | `
` |
+| matchClass | The css class to assign to the matched terms in the results. This is used to highlight the results | matched |
+
+!Customizing the output
+There are not many ways to customize the output of this widget. You can specify ''what type of node you want to create'' to wrap the results (div,span...). The default is `
`. This container is created with the class `tw-context` so you can easily apply styles to it. Something similar happens to the ''highlighted'' words. You can specify the name of the class to assign to it and also you can apply styles to that class.
+
+A very basic example of customization could be:
+
+# Create a tiddler, for example [[$/plugins/danielo515/context/css]]
+# Paste the following text or any css rule you want: """
+
+
+.matched{background-color:yellow}
+.tw-context {
+  border:1px solid blue;
+  word-break: break-all; word-wrap: break-word;}
+
+""" +# Tag it with `$:/tags/stylesheet` +# Save the tiddler \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_visualizer.tid b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_visualizer.tid new file mode 100644 index 0000000..6ec88b9 --- /dev/null +++ b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_visualizer.tid @@ -0,0 +1,8 @@ +caption: Context +tags: $:/tags/SearchResults +title: $:/plugins/danielo515/ContextPlugin/visualizer + +<$list filter="[!is[system]search{$:/temp/search}sort[title]limit[250]]"> + {{!!title||$:/core/ui/ListItemTemplate}} + <$context term={{$:/temp/search}} /> + diff --git a/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_widgets_context.js b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_widgets_context.js new file mode 100644 index 0000000..db369c0 --- /dev/null +++ b/Wiki-OcttKB/plugins/ContextPlugin/$__plugins_danielo515_ContextPlugin_widgets_context.js @@ -0,0 +1,136 @@ +/*\\ +title: $:/core/modules/widgets/danielo/context-widget.js +type: application/javascript +module-type: widget + +Edit-text widget + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +var Widget = require("$:/core/modules/widgets/widget.js").widget; +var contextWidget = function(parseTreeNode,options) { + this.initialise(parseTreeNode,options); +}; + +/* +Inherit from the base widget class +*/ +contextWidget.prototype = new Widget(); + +/* +Render this widget into the DOM +*/ +contextWidget.prototype.render = function(parent,nextSibling) { + // Save the parent dom node + this.parentDomNode = parent; + // Compute our attributes + this.computeAttributes(); + // Execute our logic + this.execute(); + + if(this.term && this.term.length>3){ + + this.createRegexp(); + var matches = this.executeRegexp(); + if(matches.length > 0){ + this.domNode = this.document.createElement(this.element); + this.domNode.className="tw-context"; + this.composeResults( matches ); //this appends to domNode + // Insert element + parent.insertBefore(this.domNode,nextSibling); + this.renderChildren(this.domNode,null); + this.domNodes.push(this.domNode); + } + } + +}; + +/* +Compute the internal state of the widget +*/ +contextWidget.prototype.execute = function() { + // Get the parameters from the attributes + this.matchedClass = this.getAttribute("matchClass","matched"); + this.tiddler = this.getAttribute( "tiddler",this.getVariable("currentTiddler") ); + this.term = this.getAttribute("term",this.getAttribute("searchTerm")); + this.contextLength = this.getAttribute("length",50); + this.before = this.getAttribute("before",this.contextLength); + this.after = this.getAttribute("after",this.contextLength); + this.maxMatches = this.getAttribute("maxMatches",10); + this.element = this.getAttribute("element","pre"); + this.makeChildWidgets(); +}; + + /*Create the regular expression*/ +contextWidget.prototype.createRegexp = function() +{ + var regString = "(\\w+[\\s\\S]{0,#before#})?(#term#)([\\s\\S]{0,#after#}\\w+)?"; + + var regString = regString.replace("#before#",this.before).replace("#term#", $tw.utils.escapeRegExp(this.term) ) .replace("#after#",this.after); + this.regexp = new RegExp(regString,"ig"); + //console.log(regString); +}; +/* +execute the regular expresion +*/ +contextWidget.prototype.executeRegexp = function() +{ + var text = this.wiki.getTiddlerText(this.tiddler), match,results = new Array(); + while( (match = this.regexp.exec( text ) ) && (results.length < this.maxMatches) ) + { results.push(match) } + //console.log("matches",results); + return results; +}; + +/* +compose the results +matches : array of match objects from regular expression execute +*/ +contextWidget.prototype.composeResults = function(matches){ + var result=[], self=this, node = this.domNode, + dots = textNode("...\n"), + span = matchedNode( this.term ); + + for(var i=0; i < matches.length; i++){ + processMatch( matches[i] ); + } + + function processMatch(match){ + if( match.index !== 0) node.appendChild( dots.cloneNode(true) ); + for( var i=1;i + +<> + + + + + +<$reveal state="$:/temp/advancedsearch" type="nomatch" text=""> +
+ +<> + +<$list filter="[!is[system]search{$:/temp/advancedsearch}sort[title]limit[250]]"> +{{!!title||$:/core/ui/ListItemTemplate}} +<$context term={{$:/temp/advancedsearch}}/> + + +
+ + + +<$reveal state="$:/temp/advancedsearch" type="match" text=""> + + diff --git a/Wiki-OcttKB/plugins/ContextPlugin/plugin.info b/Wiki-OcttKB/plugins/ContextPlugin/plugin.info new file mode 100644 index 0000000..a5b4571 --- /dev/null +++ b/Wiki-OcttKB/plugins/ContextPlugin/plugin.info @@ -0,0 +1,13 @@ +{ + "bag": "default", + "revision": "0", + "version": "2.1.0", + "title": "$:/plugins/danielo515/ContextPlugin", + "source": "https://github.com/danielo515/TW5-contextPlugin", + "plugin-type": "plugin", + "list": "readme", + "description": "Context search - provides visual highlight of search results", + "dependents": "", + "core-version": ">=5.1.0", + "author": "Danielo Rodrigez" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_filter.js b/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_filter.js new file mode 100644 index 0000000..d077d24 --- /dev/null +++ b/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_filter.js @@ -0,0 +1,10 @@ +/*\ +title: $:/plugins/tobibeer/base64/filter.js +type: application/javascript +module-type: filteroperator + +A filter to encode and decode base64 + +@preserve +\*/ +(function(){"use strict";exports.base64=function(e,r,t){var n="",o=r.suffix=="decode";try{if(r.operand){n=r.operand}else{e(function(e,r){n+=r})}n=o?atob(n):btoa(n)}catch(i){return["Error in base64 filter trying to "+(o?"de":"en")+"code'"+n+"':\n"+i]}return[n]}})(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_filter.js.meta b/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_filter.js.meta new file mode 100644 index 0000000..0f56fa4 --- /dev/null +++ b/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_filter.js.meta @@ -0,0 +1,3 @@ +module-type: filteroperator +title: $:/plugins/tobibeer/base64/filter.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_readme.tid b/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_readme.tid new file mode 100644 index 0000000..69e7b78 --- /dev/null +++ b/Wiki-OcttKB/plugins/base64/$__plugins_tobibeer_base64_readme.tid @@ -0,0 +1,14 @@ +title: $:/plugins/tobibeer/base64/readme + +The plugin $:/plugins/tobibeer/base64 provides: + +; base64[] +: a filter to encode text to base64 + +; base64:decode[] +: and dencode base64 to text + +
+ +; documentation / examples / demos... +: http://tobibeer.github.io/tw5-plugins#base64 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/base64/plugin.info b/Wiki-OcttKB/plugins/base64/plugin.info new file mode 100644 index 0000000..d13815b --- /dev/null +++ b/Wiki-OcttKB/plugins/base64/plugin.info @@ -0,0 +1,13 @@ +{ + "title": "$:/plugins/tobibeer/base64", + "description": "base64 encoding and decoding for ~TiddlyWiki", + "author": "Tobias Beer", + "version": "0.5.0", + "core-version": ">=5.1.9", + "source": "https://github.com/tobibeer/tw5-base64", + "documentation": "https://tobibeer.github.io/tw5-base64", + "plugin-type": "plugin", + "requires": "", + "list": "readme", + "dependents": "" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__Commander.tid b/Wiki-OcttKB/plugins/commander/$__Commander.tid new file mode 100644 index 0000000..44ba9ea --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__Commander.tid @@ -0,0 +1,26 @@ +icon: $:/plugins/kookma/commander/images/commander.svg +title: $:/Commander +type: text/vnd.tiddlywiki + +\import [all[shadows+tiddlers]tag[$:/tags/Commander/Macro]] +{{$:/plugins/kookma/commander/search/ui}} + +<$vars searchTerms={{{ [get[text]minlength{$:/plugins/kookma/commander/config/minlength}]~[[$:/errorCode:-23500]] }}} pattern="^\["> +<$set name="filtertext" filter="[regexp]" value="[subfilter]" emptyValue="[!is[system]search]"> +<$set name="searchfilter" filter="[get[text]match[yes]]" + value="[subfilter!prefix[$:/temp/commander]]+[tag]" emptyValue="[subfilter!prefix[$:/temp/commander]]" > +<$count filter="[subfilter!prefix[$:/temp/commander]!is[missing]]" /> matches + + +<> + + +<> + + + +<$vars> + +--- + +<> diff --git a/Wiki-OcttKB/plugins/commander/$__language_Buttons_Commander_Caption.tid b/Wiki-OcttKB/plugins/commander/$__language_Buttons_Commander_Caption.tid new file mode 100644 index 0000000..3d3fa0d --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__language_Buttons_Commander_Caption.tid @@ -0,0 +1,5 @@ +tags: +title: $:/language/Buttons/Commander/Caption +type: text/vnd.tiddlywiki + +commander \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__language_Buttons_Commander_Hint.tid b/Wiki-OcttKB/plugins/commander/$__language_Buttons_Commander_Hint.tid new file mode 100644 index 0000000..6902434 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__language_Buttons_Commander_Hint.tid @@ -0,0 +1,5 @@ +tags: +title: $:/language/Buttons/Commander/Hint +type: text/vnd.tiddlywiki + +Tiddler Commander \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_buttons_pagecontrol.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_buttons_pagecontrol.tid new file mode 100644 index 0000000..d7c4a22 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_buttons_pagecontrol.tid @@ -0,0 +1,22 @@ +caption: {{$:/plugins/kookma/commander/images/file-alt}} {{$:/language/Buttons/Commander/Caption}} +description: Open tiddler commander +list-after: $:/core/ui/Buttons/advanced-search +tags: $:/tags/PageControls +title: $:/plugins/kookma/commander/buttons/pagecontrol +type: text/vnd.tiddlywiki + +\whitespace trim +\define commander-button(class) +<$button to="$:/Commander" tooltip={{$:/language/Buttons/Commander/Hint}} aria-label={{$:/language/Buttons/Commander/Caption}} class="""$(tv-config-toolbar-class)$ $class$"""> +<$list filter="[match[yes]]"> +{{$:/plugins/kookma/commander/images/commander.svg}} + +<$list filter="[match[yes]]"> +<$text text={{$:/language/Buttons/Commander/Caption}}/> + + +\end + +<$list filter="[list[$:/StoryList]] +[field:title[$:/Commander]]" emptyMessage=<>> +<> + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_AutoFocus.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_AutoFocus.tid new file mode 100644 index 0000000..d80b8e6 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_AutoFocus.tid @@ -0,0 +1,5 @@ +tags: +title: $:/plugins/kookma/commander/config/AutoFocus +type: text/vnd.tiddlywiki + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_commonfields.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_commonfields.tid new file mode 100644 index 0000000..1a33770 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_commonfields.tid @@ -0,0 +1,5 @@ +tags: +title: $:/plugins/kookma/commander/config/commonfields +type: text/vnd.tiddlywiki + +created creator modified modifier revision bag \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_minlength.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_minlength.tid new file mode 100644 index 0000000..d5a3480 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_minlength.tid @@ -0,0 +1,5 @@ +tags: +title: $:/plugins/kookma/commander/config/minlength +type: text/vnd.tiddlywiki + +3 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_relink.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_relink.tid new file mode 100644 index 0000000..a1ed43f --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_relink.tid @@ -0,0 +1,10 @@ +tags: +title: $:/plugins/kookma/commander/config/relink +type: text/vnd.tiddlywiki + +\define relink-plugin-notExisted() Update title in //tags// and //list// fields of other tiddlers +<$checkbox tiddler="$:/config/RelinkOnRename" field="text" checked="yes" unchecked="no" default="no"> +<$list filter="[[$:/plugins/flibbles/relink]] +[has[title]]" emptyMessage=<> > +Use //Relink// to update title across all other tiddlers + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_systemfields.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_systemfields.tid new file mode 100644 index 0000000..18a2470 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_config_systemfields.tid @@ -0,0 +1,8 @@ +tags: +title: $:/plugins/kookma/commander/config/systemfields +type: text/vnd.tiddlywiki + +title text tags +created modified craetor modifier +type bag revision +list caption \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_add.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_add.tid new file mode 100644 index 0000000..e1f31da --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_add.tid @@ -0,0 +1,23 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/field/macros/add +type: text/vnd.tiddlywiki + +\define add-new-field-bulk(datafieldsTid:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<> +<$vars datafieldsTid=<<__datafieldsTid__>> > +<$list filter="[subfilter]" variable="newTitle"> +<> +<$wikify name=newFields text=<> > +<$macrocall $name="log-add-single-operation" msg={{{[addprefix[new fields:]addsuffix[added]]}}} tidItem=<> /> + + + + +\end + +\define getFieldsname() +<$list filter="[<__datafieldsTid__>indexes[]prefix[fldn]]" variable=item> +{{{ [<__datafieldsTid__>getindextrim[]] }}} + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_bulkfields.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_bulkfields.tid new file mode 100644 index 0000000..004c97b --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_bulkfields.tid @@ -0,0 +1,69 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/field/macros/bulkfields +type: text/vnd.tiddlywiki + +\define numfilter() [range[1,$(flt)$]] +\define id_fldName() fldn$(cnt)$ +\define id_fldValue() fldv$(cnt)$ + + +\define add-bulk-fields() +<$set name="flt" tiddler=<> field="counter" emptyValue="1"> +<$list filter=<> variable="cnt"> +<$list filter="[getindex]" variable="newField"> +<$action-setfield $tiddler=<> + $field={{{ [trim[]] }}} + $value={{{ [getindex] }}} /> + + + +\end + +\define getInputs() +<$edit-text tiddler=<> index=<> tag=input default="" placeholder="field name" /> +<$edit-text tiddler=<> index=<> tag=input default="" placeholder="field value"/> +\end + +\define add-reset() +<$button>insert +<$action-setfield $tiddler=<> counter={{{[get[counter]add[1]]~[[2]]}}}/> + +<$button>reset +<$action-setfield $tiddler=<> counter="1"/> +<$action-setfield $tiddler=<> text=""/> + +\end + +\define create-field-inputbox() +<$wikify name=flt text={{{ [get[counter]]~[[1]] }}} > +<$list filter=<> variable=cnt> + +<> + + +\end + +\define add-more-fields-ui(datafieldsTid:"") +<$vars datafieldsTid=<<__datafieldsTid__>> > +<> +<> + +\end + +\define add-more-fields-selective-ui(datafieldsTid:"", stateTiddler:"$:/state/commander/tiddler-addfields-status") +<$checkbox + tiddler=<<__stateTiddler__>> + field="text" + checked="addfields" unchecked="nofields" + default="nofields" > + Add fields + +<$reveal type="match" state=<<__stateTiddler__>> text="addfields" default="nofields" > +<$vars datafieldsTid=<<__datafieldsTid__>> > +<> +
+<> +
+ + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_remove.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_remove.tid new file mode 100644 index 0000000..81e96f9 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_remove.tid @@ -0,0 +1,35 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/field/macros/remove +type: text/vnd.tiddlywiki + +\define remove-old-field-bulk(oldField:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__oldField__>!is[blank]]"> +<> +<$list filter="[subfilter]+[!is[missing]]+[has:field[$oldField$]]"> +<$fieldmangler> +<$action-sendmessage $message="tm-remove-field" $param=<<__oldField__>> /> + +<$macrocall $name="log-add-single-operation" msg="""old field `$oldField$` removed""" tidItem=<> /> + + + +\end + +\define set-field-value-bulk(fieldName:"Empty", fieldValue:"Empty") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__fieldName__>!is[blank]]" variable=null> +<$list filter="[<__fieldValue__>!is[blank]]" variable=null> +<> +<$list filter="[subfilter]-[$fieldName$[$fieldValue$]]"> +<$list filter="[has:field[$fieldName$]]" variable=ignore +emptyMessage="""<$macrocall $name="log-add-single-operation" msg="//has not `$fieldName$` field. Operation ignored//" tidItem=<> />""" > +<$action-setfield $field=<<__fieldName__>> $value=<<__fieldValue__>> /> +<$macrocall $name="log-add-single-operation" msg="""field `$fieldName$` got a value""" tidItem=<> /> + + + + + +\end + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_rename.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_rename.tid new file mode 100644 index 0000000..2a7e833 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_rename.tid @@ -0,0 +1,23 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/field/macros/rename +type: text/vnd.tiddlywiki + +\define rename-field-bulk(oldField:"", newField:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__oldField__>!is[blank]]" variable=null> +<$list filter="[<__newField__>!is[blank]]" variable=null> +<> +<$list filter="[subfilter]"> +<$list filter="[has:field[$oldField$]]" variable=ignore + emptyMessage="""<$macrocall $name="log-add-single-operation" msg="//has not field `$oldField$`. Operation ignored.//" tidItem=<> /> """> +<$set name=oldValue tiddler=<> field=<<__oldField__>> > +<$action-setfield $tiddler=<> $field=<<__newField__>> $value=<>/> + +<$action-deletefield $tiddler=<> $field=<<__oldField__>> /> +<$macrocall $name="log-add-single-operation" msg="""fied `$oldField$` renamed to `$newField$`""" tidItem=<> /> + + + + + +\end diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_set.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_set.tid new file mode 100644 index 0000000..1dd8b30 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_macros_set.tid @@ -0,0 +1,21 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/field/macros/set +type: text/vnd.tiddlywiki + +\define set-field-value-bulk(fieldName:"", fieldValue:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__fieldName__>!is[blank]]" variable=null> +<$list filter="[<__fieldValue__>!is[blank]]" variable=null> +<> +<$list filter="[subfilter]-[$fieldName$[$fieldValue$]]"> +<$list filter="[has:field[$fieldName$]]" variable=ignore +emptyMessage="""<$macrocall $name="log-add-single-operation" msg="//has not `$fieldName$` field. Operation ignored//" tidItem=<> />""" > +<$action-setfield $field=<<__fieldName__>> $value=<<__fieldValue__>> /> +<$macrocall $name="log-add-single-operation" msg="""field `$fieldName$` got a value""" tidItem=<> /> + + + + + +\end + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_ui.tid new file mode 100644 index 0000000..5cda27e --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_ui.tid @@ -0,0 +1,12 @@ +caption: Field +list-after: $:/plugins/kookma/commander/tag/ui +tags: $:/tags/Commander +title: $:/plugins/kookma/commander/field/ui +type: text/vnd.tiddlywiki + +<> + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_add-fields.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_add-fields.tid new file mode 100644 index 0000000..fe9de91 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_add-fields.tid @@ -0,0 +1,15 @@ +caption: Add fields +tags: $:/tags/Commander/FieldOps +title: $:/plugins/kookma/commander/field/uicomp/add-fields +type: text/vnd.tiddlywiki + + +<$macrocall $name="add-more-fields-ui" datafieldsTid="$:/temp/commander/tiddler/datafields/addfield" /> + + + +<$button class="cmd-btn cmd-btn-wd"> Add new fields +<$macrocall $name="add-new-field-bulk" + datafieldsTid="$:/temp/commander/tiddler/datafields/addfield" /> +
+,,Note: This will overwrite the existing fileds!,, \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_remove-fields.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_remove-fields.tid new file mode 100644 index 0000000..a1ab5d0 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_remove-fields.tid @@ -0,0 +1,14 @@ +caption: Remove fields +list-after: $:/plugins/kookma/commander/field/uicomp/add-fields +tags: $:/tags/Commander/FieldOps +title: $:/plugins/kookma/commander/field/uicomp/remove-fields +type: text/vnd.tiddlywiki + +<$select class="cmd-select-wd" tiddler="$:/temp/commander/field-remove" default=""> +<$list filter="[subfilterfields[]sort[]] -title -tags" > + + + +<$button class="cmd-btn cmd-btn-wd"> Remove old field +<$macrocall $name="remove-old-field-bulk" oldField={{$:/temp/commander/field-remove}} /> + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_rename-fields.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_rename-fields.tid new file mode 100644 index 0000000..165689b --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_rename-fields.tid @@ -0,0 +1,28 @@ +caption: Rename fields +list-after: $:/plugins/kookma/commander/field/uicomp/remove-fields +tags: $:/tags/Commander/FieldOps +title: $:/plugins/kookma/commander/field/uicomp/rename-fields +type: text/vnd.tiddlywiki + +<$select class="cmd-select-wd" + tiddler="$:/temp/commander/rename-field/old" default="" > +<$list filter="[subfilterfields[]sort[]] -[get[text]split[ ]]" > + + + + +<$edit-text +tiddler="$:/temp/commander/rename-field/new" +tag="input" +default="" +class="cmd-txt-area" +placeholder=" new field name" +/> +<$button class="cmd-btn cmd-btn-wd"> Rename field +<$macrocall $name="rename-field-bulk" +oldField={{$:/temp/commander/rename-field/old}} +newField={{{ [[$:/temp/commander/rename-field/new]get[text]lowercase[]trim[]split[ ]join[_]] }}} /> + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_set-field-value.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_set-field-value.tid new file mode 100644 index 0000000..9b59ad5 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_field_uicomp_set-field-value.tid @@ -0,0 +1,24 @@ +caption: Set field value +list-after: $:/plugins/kookma/commander/field/uicomp/rename-fields +tags: $:/tags/Commander/FieldOps +title: $:/plugins/kookma/commander/field/uicomp/set-field-value +type: text/vnd.tiddlywiki + +<$select class="cmd-select-wd" + tiddler="$:/temp/commander/field-name" default="" > +<$list filter="[subfilterfields[]sort[]] -[get[text]split[ ]]" > + + + + +<$edit-text +tiddler="$:/temp/commander/field-value" +tag="input" default="" +class="cmd-txt-area" placeholder=" field value"/> +<$button class="cmd-btn cmd-btn-wd"> Set field value +<$macrocall + $name="set-field-value-bulk" + fieldName={{$:/temp/commander/field-name}} + fieldValue={{$:/temp/commander/field-value}} +/> + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Drafts.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Drafts.tid new file mode 100644 index 0000000..9f09364 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Drafts.tid @@ -0,0 +1,5 @@ +description: {{$:/language/Filters/Drafts}} +filter: [has[draft.of]sort[title]] +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/Drafts +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Missing.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Missing.tid new file mode 100644 index 0000000..2345686 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Missing.tid @@ -0,0 +1,5 @@ +description: {{$:/language/Filters/Missing}} +filter: [all[missing]sort[title]] +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/Missing +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Orphans.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Orphans.tid new file mode 100644 index 0000000..c1950e9 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_Orphans.tid @@ -0,0 +1,5 @@ +description: {{$:/language/Filters/Orphans}} +filter: [all[orphans]sort[title]] +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/Orphans +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_RecentSystemTiddlers.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_RecentSystemTiddlers.tid new file mode 100644 index 0000000..e7fe536 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_RecentSystemTiddlers.tid @@ -0,0 +1,5 @@ +description: {{$:/language/Filters/RecentSystemTiddlers}} +filter: [has[modified]!sort[modified]limit[50]] +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/RecentSystemTiddlers +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_RecentTiddlers.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_RecentTiddlers.tid new file mode 100644 index 0000000..c701476 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_RecentTiddlers.tid @@ -0,0 +1,5 @@ +description: {{$:/language/Filters/RecentTiddlers}} +filter: [!is[system]has[modified]!sort[modified]limit[50]] +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/RecentTiddlers +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_SessionTiddlers.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_SessionTiddlers.tid new file mode 100644 index 0000000..9497749 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_SessionTiddlers.tid @@ -0,0 +1,5 @@ +description: Tiddlers modified since the wiki was loaded +filter: [haschanged[]] +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/SessionTiddlers +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_StoryList.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_StoryList.tid new file mode 100644 index 0000000..d698f7c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_StoryList.tid @@ -0,0 +1,5 @@ +description: {{$:/language/Filters/StoryList}} +filter: [list[$:/StoryList]] -$:/AdvancedSearch +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/StoryList +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_geneal.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_geneal.tid new file mode 100644 index 0000000..0519fdc --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_geneal.tid @@ -0,0 +1,5 @@ +description: General filter +filter: [all[shadows+tiddlers]search[your keywrods]] +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/geneal +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_temp-and-state.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_temp-and-state.tid new file mode 100644 index 0000000..2f70d61 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_filters_temp-and-state.tid @@ -0,0 +1,5 @@ +description: Temporary and state tiddlers +filter: [prefix[$:/temp]] [prefix[$:/state]] +tags: $:/tags/Commander/Filter +title: $:/plugins/kookma/commander/filters/temp-and-state +type: text/vnd.tiddlywiki \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_ui.tid new file mode 100644 index 0000000..6e4ba01 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_ui.tid @@ -0,0 +1,13 @@ +caption: Help +icon: $:/core/images/help +list-after: $:/plugins/kookma/commander/setting/ui +tags: $:/tags/Commander +title: $:/plugins/kookma/commander/help/ui +type: text/vnd.tiddlywiki + +<> + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_quick-tutorial.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_quick-tutorial.tid new file mode 100644 index 0000000..02f933f --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_quick-tutorial.tid @@ -0,0 +1,30 @@ +caption: Quick tutorial +tags: $:/tags/Commander/Help +title: $:/plugins/kookma/commander/help/uicomp/quick-tutorial +type: text/vnd.tiddlywiki + +# Use ''Combo search'' to list possible tiddlers +#* example: `concept` performs a standard search and find all matches in title, text, and tags +#* example: `[tag[xx]]` finds all tiddlers tagged with //xx// +#* example: `[prefix[tt]` finds all tiddlers have title started with //tt// +#* example: `[has[draft.of]sort[title]]` finds all draft tiddlers + +# Use ''Select tiddlers'' for the resulting list to identify which specific tiddlers to do a batch operation on +#* this step lets you to do a batch operation on selected tiddlers NOT all items by ''Combo search''! +#* it is possible to select/deselect all tiddlers from ''Combo search'' result at once! Note that, by default all tiddlers are considered for bulk operation until selective operation is activated! +# From ''Batch operations tabs'' select the batch operation you wish to perform on selected tiddlers +#* example: title, tag, and field operations +#* example: Snr operation +#* Inspect tab can be used to inspect tiddlers before or after performing operations + +* Notes: +** Multiple batch operations can be done on the same set (unless you change something in the search criteria) +** Sometimes it is useful to use an intermediate batch to help, like tag tiddlers with a "working" tag, using multiple searches, then then use the "working" tag to apply a batch operation to + +
''Note'': For good operation a tiddler width of 800px is recommended. You can also use //Sidebar layout// as `Fluid story`.
+ + +For detailed docummention go to [[Demo page|https://kookma.github.io/TW-Commander/]] + +!!! Footenote +# [[Use filter expression|https://tiddlywiki.com/prerelease/#Filters:Filters%20%5B%5BFilter%20Expression%5D%5D%20%5B%5BFilter%20Syntax%5D%5D%20%5B%5BFilter%20Operators%5D%5D%20%5B%5BFilter%20Parameter%5D%5D%20%5B%5BFilter%20Run%5D%5D%20%5B%5BFilter%20Step%5D%5D%20%5B%5BFilter%20Whitespace%5D%5D]] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_regular-expression.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_regular-expression.tid new file mode 100644 index 0000000..25f4607 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_regular-expression.tid @@ -0,0 +1,53 @@ +caption: Regular expressions +list-after: $:/plugins/kookma/commander/help/uicomp/snr +tags: $:/tags/Commander/Help +title: $:/plugins/kookma/commander/help/uicomp/regular-expression +type: text/vnd.tiddlywiki + +!! Regular Expressions Quick Reference + +|''FLAGS'' |<|<|h +| i |ignore case|case insensitive matching| +| |whole words|match strings of a-z, 0-9 and _| +| g |global|field start=^, field end=$, all matches| +| m |multi-line|line start=^, line end=$, first match| +| |first match|field start=^, field end=$, first match| +|''MATCH'' |<|<|h +|''Anchors''|<|<| +| ^ |start of scope|see Flags, match is zero length| +| $ |end of scope|see Flags, match is zero length| +| \b |word boundary|anchor to edge of word, zero length| +| \B |not word boundary|anchor inside word, zero length| +|''Character Classes''|<|<| +| [c] |class of characters|any one matches, e.g. [abc123]| +| [^c] |negated class of characters|any one doesn't match, e.g. [^abc123]| +|''Shorthand Character Classes''|<|<| +| . |any character except newline|same as [^\n]| +| \d |decimal|same as [0-9]| +| \D |not decimal|same as [^0-9]| +| \s |white-space|same as [\ \t\n]| +| \S |not white-space|same as [^\ \t\n]| +| \t |tab|same as [\t]| +| \n |newline|same as [\n]| +| \w |word character|same as [a-zA-Z0-9_]| +| \W |not word character|same as [^a-zA-Z0-9_]| +|''Capturing Groups''|<|<| +| (match) |match placed in variable $x|can be used in Replace| +| (\x) |repeats match pattern of $x|can be used in Replace| +|''Quantifiers''|<|<| +| ? |single match|match 0 or 1 time| +| * |greedy match 0+|match 0 or as many times as possible| +| *? |lazy match 0+|match 0 or as few times as possible| +| + |greedy match 1+|match 1 or as many times as possible| +| +? |lazy match 1+|match 1 or as few times as possible| +| {x} |match x times|match x times| +| {x,y} |match x to y times|match x times to exactly y times| +| {x,} |match x or more times|match x times or as many as possible| +|''Escapes''|<|<| +| \ |escape special characters|add to \ [ ] ( ) { } ^ $ . ? * + for literals| +|''REPLACE'' |<|<|h +| $& |return the full match|<| +| $x |return $x where x is the numeric index of a Capturing Group|<| +|''NOTE'' |<|<|h +|This Reference supports most ordinary uses of regular expressions.
For advanced options: [[MDN Reference|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Using_simple_patterns]]; examples: [[regular-expressions.info|https://www.regular-expressions.info/tutorial.html]].|<|<| + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_relink.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_relink.tid new file mode 100644 index 0000000..322909c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_relink.tid @@ -0,0 +1,24 @@ +caption: Relink on rename +list-after: $:/plugins/kookma/commander/help/uicomp/regular-expression +tags: $:/tags/Commander/Help +title: $:/plugins/kookma/commander/help/uicomp/relink +type: text/vnd.tiddlywiki + +!! Relink on rename +When Tiddler Commander is used to rename bulk tiddlers in operation like + +* Title operation +** add/remove prefix +** add/remove suffix +** remove chars from the begining or end of title +* ~SnR +** Search and replace in tiddlers title + +It is possible to update all links to title. This includes //tags// and //list//. If [[Relink|https://flibbles.github.io/tw5-relink/]] plugin is installed, then not only title will be updated in //tags// and //list// field, but also in all filters, transclusions, text field and evrywhere. + +
''Note'': Relink does not update all forms of title e.g those created from different segments, but it will update any occurances
+ + +!! How to integrate with ''Relink''? + +Simply install the [[Relink|https://flibbles.github.io/tw5-relink/]] plugin and it will be appeared as an option when Tiddler Commander title operations including ~SnR are performed! diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_snr.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_snr.tid new file mode 100644 index 0000000..cca06d9 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_snr.tid @@ -0,0 +1,40 @@ +caption: Search-n-Replace +list-after: $:/plugins/kookma/commander/help/uicomp/quick-tutorial +tags: $:/tags/Commander/Help +title: $:/plugins/kookma/commander/help/uicomp/snr +type: text/vnd.tiddlywiki + +!! Search and replace using Snr +Snr stands for search and replace, is a powerful tool uses regular expression for searching all fields and lets replace chars, words, phrases with new values. + +!! How to use +* Enter a search filter or keywords in ''Combo search'' box like `[tag[myTag]]` or `concept` +* Use ''Select tiddlers'' for the resulting list to identify which specific tiddlers to do a Snr operation on +** If selective operation is unchecked, all tiddlers from step one will be included in Snr operation. +* From ''Tiddler title'' drop down menu select a tiddler +* From ''Field name'' drop down menu select a tiddler field like `text` +** all fileds even `title` can be selected +* In the ''Search text'' type the search term for example `this` +* In the ''Replace with'' type the term you want to replace with like `that` +* Check the ''Differences'' and if you are satisfied with the result, press the `Replace?` button +* You can press `Replace all?` if you want to search and replace in all selected tiddlers + +;Remarks +: The `Replace all?` lets you to search and replace in all selected tiddlers at once! It is possible to search and replace even in `title` field! + +<$list filter="[[snr.png]is[tiddler]]"><> + +!! Special characters +<<< +As `SNR` uses ''regexp'' pattern to make search and replace, when special characters are used in the ''Search text'' box, they shall be escaped among them are `*`, `+`, `[]`, `?` ... +To use these characters do like below + +``` +\[ \] \( \) \{ \} \. \* \+ \? \^ \$ \\ \| +``` +<<< + +!! Warning +<<< +* SNR replace the contents of tiddlers.
''//The action can not be undone//''. So always make a backup before performing any replace action +<<< \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_warning.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_warning.tid new file mode 100644 index 0000000..f0df066 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_help_uicomp_warning.tid @@ -0,0 +1,20 @@ +caption: Warning +list-after: $:/plugins/kookma/commander/help/uicomp/relink +tags: $:/tags/Commander/Help +title: $:/plugins/kookma/commander/help/uicomp/warning +type: text/vnd.tiddlywiki + +;Note i +:Tiddler Commander is a very powerful tool, it can change any field in any tiddler.// Make sure what you are doing//! + +;Note ii +:Tiddler Commander uses two steps tiddler selection. It uses a combo search box to screen (using standard or filter search) possible tiddlers and then uses a selective list of tiddlers from first step for batch operation! +:# If selective operation is unchecked, then all tiddlers from step one are used for batch operation +:# If selective operation is checked, then user has to manually select among tiddlers, and the selected ones are used for batch operation + +;Note iii +://Commander do not perform operation on shadow tiddlers//, unless they are overriden. Because shadow tiddlers aren’t stored as ''real'' tiddlers. They are intentionally excluded from most operations by default so that they don’t clutter filters made by users unless explicitly required. + +
''Warning'' +Before using Tiddler commander for bulk operation on your own valuable, irreplaceable data, ''backup them''. +
\ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_history.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_history.tid new file mode 100644 index 0000000..0a1ed80 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_history.tid @@ -0,0 +1,10 @@ +tags: +title: $:/plugins/kookma/commander/history +type: text/vnd.tiddlywiki + +Full change log https://kookma.github.io/TW-Commander/#ChangeLog + +* ''2.1.3'' -- 2021.10.24 -- commander icon fixed +* ''2.1.2'' -- 2021.01.02 -- Saq Imtiaz release +* ''2.1.0'' -- 2020.03.25 -- stable release +* ''0.1.0'' -- 2019.02.12 -- mature public release diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_images_commander.svg.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_images_commander.svg.tid new file mode 100644 index 0000000..ccce534 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_images_commander.svg.tid @@ -0,0 +1,5 @@ +caption: file-alt (Regular) +title: $:/plugins/kookma/commander/images/commander.svg +type: text/vnd.tiddlywiki + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_edit-fileds.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_edit-fileds.tid new file mode 100644 index 0000000..2ccd801 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_edit-fileds.tid @@ -0,0 +1,120 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/inspect/comp/edit-fileds +type: text/vnd.tiddlywiki + +\define lingo-base() $:/language/EditTemplate/ +\define config-title() +$:/config/EditTemplateFields/Visibility/$(currentField)$ +\end + +\define config-filter() +[[hide]] -[title{$(config-title)$}] +\end + +\define new-field() +<$vars name={{$:/temp/newfieldname}}> +<$reveal type="nomatch" text="" default=<>> +<$button class="cmd-btn"> +<$action-sendmessage $message="tm-add-field" +$name=<> +$value={{$:/temp/newfieldvalue}}/> +<$action-deletetiddler $tiddler="$:/temp/newfieldname"/> +<$action-deletetiddler $tiddler="$:/temp/newfieldvalue"/> +<> + + +<$reveal type="match" text="" default=<>> +<$button class="cmd-btn"> +<> + + + +\end + +\define compInspect-edit-fileds(commonFields:"") + +
+ + +<$list filter="[all[current]fields[]] +[sort[title]]" variable="currentField"> +<$list filter=<> variable="temp"> + + + + + + + + + +<$list filter="created creator modified modifier -[enlist<__commonFields__>]" variable="currentField"> + + + + + + + + + + + +
+<$text text=<>/>: +<$edit-text tiddler=<> field=<> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/> + +<$button class="tc-btn-invisible" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}> +<$action-deletefield $field=<>/> +{{$:/core/images/delete-button}} + +
+<$text text=<>/>: +<$edit-text tiddler=<> field=<> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/> + +<$button class="tc-btn-invisible" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}> +<$action-deletefield $field=<>/> +{{$:/core/images/delete-button}} + +
+
+ +<$fieldmangler> +
+ +<> + + +<$edit-text tiddler="$:/temp/newfieldname" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<> class="tc-edit-texteditor tc-popup-handle"/> + +<$button popup=<> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}} +<$reveal state=<> type="nomatch" text="" default=""> +
+<$linkcatcher to="$:/temp/newfieldname"> +
+<> +
+<$list filter="[!is[shadow]!is[system]fields[]search:title{$:/temp/newfieldname}sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type" variable="currentField"> +<$link to=<>> +<> + + +
+<> +
+<$list filter="[fields[]search:title{$:/temp/newfieldname}sort[]] -[!is[shadow]!is[system]fields[]]" variable="currentField"> +<$link to=<>> +<> + + + +
+ + +<$edit-text tiddler="$:/temp/newfieldvalue" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class="tc-edit-texteditor"/> + + +<$macrocall $name="new-field"/> + +
+ +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_edit-preview.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_edit-preview.tid new file mode 100644 index 0000000..defca14 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_edit-preview.tid @@ -0,0 +1,29 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/inspect/comp/edit-preview +type: text/vnd.tiddlywiki + +\define compInspect-edit-preview(tiddler, commonFields:"") +
+ + + + + + + + + + + + +
title:<$link to=<<__tiddler__>> ><$text text=<<__tiddler__>> />
tags:{{$tiddler$||$:/core/ui/EditTemplate/tags}}
text:<$macrocall $name=compInspect-get-field tiddler=<<__tiddler__>> field="text" tag="textarea" />
+
+ +<$tiddler tiddler=<<__tiddler__>> > +<$macrocall $name="compInspect-edit-fileds" commonFields=<<__commonFields__>> /> + +\end + +\define compInspect-get-field(tiddler, field, tag:"input") +<$edit-text class="tc-edit-texteditor" tiddler=<<__tiddler__>> field=<<__field__>> tag=<<__tag__>> default="" placeholder={{$:/language/EditTemplate/Body/Placeholder}}/> +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_main.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_main.tid new file mode 100644 index 0000000..c06dd8f --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_main.tid @@ -0,0 +1,40 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/inspect/comp/main +type: text/vnd.tiddlywiki + +\define compInspect(filter, stateTiddler:"thisTiddler") +<$set name="state" + value={{{ [[$:/state/compInspect/]addsuffix<__stateTiddler__>] }}} > +<$vars + slStateTid={{{ [addsuffix[/]addsuffix[selectState-tiddler]] }}} + rvStateTid={{{ [addsuffix[/]addsuffix[revealState-tiddler]] }}} + chStateTid={{{ [addsuffix[/]addsuffix[checkboxState-tiddler]] }}} > + +Select tiddler  <$macrocall $name=compSelect filter=<<__filter__>> stateTiddler=<> /> +   +<$macrocall $name="check-common-fields" stateTiddler=<> /> +   +<$reveal stateTitle=<> type="nomatch" text="edit"> +<$button class="tc-btn-invisible" setTitle=<> setTo="edit" tooltip="edit tiddler">{{$:/core/images/edit-button}} +<$macrocall $name=compInspect-show-preview tiddler={{{ [get[text]]+[subfilter<__filter__>] }}} commonFields={{{ [get[text]] }}}/> + +<$reveal stateTitle=<> type="match" text="edit"> +<$button class="tc-btn-invisible" setTitle=<> setTo="" tooltip="confirm changes">{{$:/core/images/done-button}} +<$macrocall $name=compInspect-edit-preview tiddler={{{ [get[text]]+[subfilter<__filter__>] }}} commonFields={{{ [get[text]] }}}/> + + + + +\end + +\define check-common-fields(stateTiddler) +<$vars commonFields={{{[get[text]]}}}> +<$checkbox + tiddler=<<__stateTiddler__>> + field="text" + checked=<> + unchecked="" + default="" +> Exclude common fields? + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_select.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_select.tid new file mode 100644 index 0000000..86e0de8 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_select.tid @@ -0,0 +1,34 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/inspect/comp/select +type: text/vnd.tiddlywiki + +\define compSelect(filter:"", stateTiddler:"", default:"", class:"", showButtons:"show") +<$select tiddler=<<__stateTiddler__>> default=<<__default__>> class=<<__class__>> > + +<$list filter=<<__filter__>> variable=item> + + + +<$reveal type="match" text="show" default=<<__showButtons__>> > +<$vars myfilter=<<__filter__>> mystateTiddler=<<__stateTiddler__>> myitem={{{ [<__stateTiddler__>get[text]] }}} > +<$button actions=<> class="cmd-btn"> prev +<$button actions=<> class="cmd-btn"> next + + +\end + +\define cs-prev-item() +<$list filter="[subfilter] +[before]" variable="prev-item" > +<$action-setfield $tiddler=<> text=<> /> + +\end + +\define cs-next-item() +<$list filter="[subfilter] +[after]" variable="next-item" > +<$action-setfield $tiddler=<> text=<> /> + +\end + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_show-preview.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_show-preview.tid new file mode 100644 index 0000000..ed1132d --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_comp_show-preview.tid @@ -0,0 +1,31 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/inspect/comp/show-preview +type: text/vnd.tiddlywiki + +\define compInspect-show-preview(tiddler, commonFields:"") +<$vars mainFields="title tags text"> + + + + + + + + + + + +<$list filter="[<__tiddler__>fields[]] -[enlist] -[enlist<__commonFields__>]" variable="otherFld"> + + + + +
title<$link to=<<__tiddler__>> ><$text text=<<__tiddler__>> />
tags<$macrocall $name=showTags tiddler=<<__tiddler__>> />
text<$transclude tiddler=<<__tiddler__>> field="text" mode="block"/>
<><$transclude tiddler=<<__tiddler__>> field=<> mode="inline"/>
+ +\end + +\define showTags(tiddler) +<$list filter="[<__tiddler__>tags[]]" variable=tagItem > +<$macrocall $name=tag tag=<> /> + +\end diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_ui.tid new file mode 100644 index 0000000..e0d8264 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_ui.tid @@ -0,0 +1,10 @@ +caption: Inspect +list-after: $:/plugins/kookma/commander/field/ui +tags: $:/tags/Commander +title: $:/plugins/kookma/commander/inspect/ui +type: text/vnd.tiddlywiki + +<> diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_uicomp_Inspection.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_uicomp_Inspection.tid new file mode 100644 index 0000000..ac0ef34 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_inspect_uicomp_Inspection.tid @@ -0,0 +1,10 @@ +caption: Inspect +tags: $:/tags/Commander/InspectOps +title: $:/plugins/kookma/commander/inspect/uicomp/Inspection +type: text/vnd.tiddlywiki + +<$macrocall + $name=compInspect + filter=<> + stateTiddler="commander" +/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_license.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_license.tid new file mode 100644 index 0000000..41b5d81 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_license.tid @@ -0,0 +1,15 @@ +tags: +title: $:/plugins/kookma/commander/license +type: text/vnd.tiddlywiki + +Distributed under an MIT license. + +Copyright (c) 2018-2020 [[Mohammad Rahmani|https://github.com/kookma]] + +<<< +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +<<< \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_log_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_log_ui.tid new file mode 100644 index 0000000..06b8b3c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_log_ui.tid @@ -0,0 +1,30 @@ +caption: Log status +tags: +title: $:/plugins/kookma/commander/log/ui +type: text/vnd.tiddlywiki + +
+<$button class="tc-btn-invisible tc-tiddlylink" actions=<>>Clear log +<$set name="resultCount" value="""<$count filter="[tag[$:/tags/Commander/LogOps]]" />"""> +
+Recent number of operations: <>
+<$list filter="[tag[$:/tags/Commander/LogOps]] +[!sort[created]]" variable="logTid"> +<$view tiddler=<> field="created" format="date" template="YYYY-0MM-0DD 0hh:0mm:0ss"/> +<$view tiddler=<> field="caption"> + <$view tiddler=<> field="title"> + + +
    <$list filter="[indexes[]]" variable="item"> +
  1. <$link to=<>><> +<$set name="myItem" tiddler=<> index=<> > +<$list filter="[!search[existed]]" variable="ignore" + emptyMessage="""<>""" > +<> + + +
  2. +
+ +
+ +
\ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_compConfirmAction.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_compConfirmAction.tid new file mode 100644 index 0000000..896dec9 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_compConfirmAction.tid @@ -0,0 +1,30 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/macros/compConfirmAction +type: text/vnd.tiddlywiki + +\define compConfirmAction( +btnLabel:"Delete these tiddlers", +confirmMessage:"Are you sure you wish to delete", +stateTiddler:"" +countFilter:"", +actionMacro:"") +<$set name=resultCount value={{{ [subfilter<__countFilter__>count[]] }}} > +<$reveal type="gt" text="0" default=<> > +<$button popup=<> class="cmd-btn">$btnLabel$ + +<$reveal state=<> type="popup" position="belowleft" animate="yes"> +
+
+
+$confirmMessage$ <> tiddler(s)? +
+
+<$button class="cmd-btn"> $btnLabel$ +<$macrocall $name=<<__actionMacro__>> /> + +
+
+
+ + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_definition.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_definition.tid new file mode 100644 index 0000000..a6308ee --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_definition.tid @@ -0,0 +1,15 @@ +description: some macro are not used REMOVE THEM +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/macros/definition +type: text/vnd.tiddlywiki + +\define tempPath() $:/temp/commander + +\define searchboxTid() $(tempPath)$/search-box +\define selectiveOpsTid() $(tempPath)$/selective-operation + + +\define workingTag() $:/tags/Commander/Working +\define exportTagTid() $:/temp/commander/exportTag +\define systemFieldsTid() $:/plugins/kookma/commander/config/systemfields +\define commonFieldsTid() $:/plugins/kookma/commander/config/commonfields \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_logging.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_logging.tid new file mode 100644 index 0000000..588d4f4 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_logging.tid @@ -0,0 +1,27 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/macros/logging +type: text/vnd.tiddlywiki + +\define set-title() $:/temp/commander/logs/tid-{{{[tag[$:/tags/Commander/LogOps]count[]add[1]]}}} + +\define create-log-tiddler(msg) +<$wikify name="myTitle" text="""<>"""> +<$wikify name="myCaption" text="""<$macrocall $name="set-caption" msg=<<__msg__>> />"""> +<$action-createtiddler $basetitle=<> +$savetitle="$:/state/commander/log-tiddler" +tags="$:/tags/Commander/LogOps" +type="application/json" +caption=<<__msg__>> +/> + + +\end + +\define log-add-single-operation(msg:"commander operation", tidItem:"no item") +<$action-setfield $tiddler={{$:/state/commander/log-tiddler}} $index=<<__tidItem__>> $value=<<__msg__>> /> +\end + + +\define delete-all-log-tiddlers() +<$action-deletetiddler $filter="[tag[$:/tags/Commander/LogOps]]" /> +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_remove-workingtag.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_remove-workingtag.tid new file mode 100644 index 0000000..34da54c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_remove-workingtag.tid @@ -0,0 +1,17 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/macros/remove-workingtag +type: text/vnd.tiddlywiki + +\define remove-working-tag(oldTag) +<$list filter="[all[shadows+tiddlers]taglimit[1]]" variable=ignore> +<> +<$list filter="[all[shadows+tiddlers]tag]"> +<$fieldmangler> +<$action-sendmessage $message="tm-remove-tag" $param=<<__oldTag__>> /> + +<$macrocall $name="log-add-single-operation" msg="""working tag `$oldTag$` removed""" tidItem=<> /> + + +\end + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_slider.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_slider.tid new file mode 100644 index 0000000..4e1e073 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_slider.tid @@ -0,0 +1,28 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/macros/slider +type: text/vnd.tiddlywiki + +\define commander-slider(title, default:"closed") +<$set name="revealState" value=<>> +

+ <$reveal type="nomatch" state=<> text="open" default="$default$"> + <$button class="tc-btn-invisible tc-tiddlylink" set=<> setTo="open"> + {{$:/core/images/right-arrow}} + + + <$reveal type="match" state=<> text="open" default="$default$"> + <$button class="tc-btn-invisible tc-tiddlylink" set=<> setTo="closed"> + {{$:/core/images/down-arrow}} + + + <$view tiddler="$title$" field="caption"> + <$view tiddler="$title$" field="title"> + + +

+ +<$reveal type="match" state=<> text="open" default="$default$"> +<$transclude tiddler="$title$" mode="block" /> + + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_utility.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_utility.tid new file mode 100644 index 0000000..3055e92 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_macros_utility.tid @@ -0,0 +1,48 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/macros/utility +type: text/vnd.tiddlywiki + +\define display(label,text) +<$set name="stateTid" value="$:/temp/commander/display/popup/$label$" > +<$button popup=<> class="tc-btn-invisible">$label$ +<$reveal type="nomatch" text="" default="" state=<> animate="yes"> +<$text text=<<__text__>> /> + +\end + +\define is-filterSeearch-newer-than-selectedTitles(TidA, TidB) +<$set name="tidAMod" value={{{ [[$TidA$]get[modified]] }}}> +<$set name="tidBMod" value={{{ [[$TidB$]get[modified]] }}}> +<$set name="tidAText" value={{{ [[$TidA$]get[text]] }}}> +<$set name="tidBText" value={{{ [[$TidB$]get[text]] }}}> +<$list filter="[<__TidB__>get[text]minlength[1]]" variable=ignore> +<$reveal type="nomatch" default=<> text=<>> +<$list filter="[] [] +[nsort[]last[1]removesuffix]"> +A new filter search has been detected, click on the search button to apply it. + + + + + + + +\end + +!!Remarks +;is-filterSeearch-newer-than-selectedTitles +* Checks `TidA` and `TidB` for modified date and text +* If They are not empty, then +** checks if the text of two are equal, if not +** checks to see if `TidB` is newer or not +** if newer shows a message, to apply the new search filter +* Note +** `TidA="$:/temp/commander"` +** `TidB="$:/temp/commander/search-box"` +* is-filterSeearch-newer-than-selectedTitles is called from $:/plugins/kookma/commander/search/ui + +;display +* gets a label and a text +* create an inline label +* on click label, the text is displayed as temporary popup +* losing focus, the text goes hidden +* this macro is used in customized compSelective to show the active filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_readme.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_readme.tid new file mode 100644 index 0000000..58642a0 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_readme.tid @@ -0,0 +1,34 @@ +tags: +title: $:/plugins/kookma/commander/readme +type: text/vnd.tiddlywiki + +; Tiddler Commander +Tiddler Commander, in short ''Commander'' is a unique tool for batch operations on tiddlers. Commander has the below features + +* Bulk tiddler creation/deletion +* Combo search to filter and select tiddlers +* Title operation: add, remove prefixes and suffixes, also remove cahras form begining and end of title (on renaming tiddlers, [[relink|$:/plugins/kookma/commander/help/uicomp/relink]] can be used to update title in other tiddlers) +* Tag operation: add, remove, replace +* Field operation: add, remove, rename, and set field value +* SNR, search and replace in all fields including text, tags, //title//, and common fields +* Inspect, to review and inspect tiddlers in one place, scroll among them and edit all fields (including common fields), tags, text (title is an exception!) +* Log, create logs of all operations +* Search, //save and load// any combination of filter search + +; Start Commander +* Normally Commander adds its icon: {{$:/plugins/kookma/commander/images/commander.svg}} to page controls. +* Open the right sidebar and click on the {{$:/plugins/kookma/commander/images/commander.svg}} Commander is started +* In standard Tiddlywiki, control buttons are shown on the right sidebar under site title. + +; Code and demo +For learning plugin features, syntax, tutorial and examples see the plugin demo and code pages + +* Demo: https://kookma.github.io/TW-Commander/ +* Code: https://github.com/kookma/TW-Commander + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_clear.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_clear.tid new file mode 100644 index 0000000..0a64555 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_clear.tid @@ -0,0 +1,20 @@ +list-after: $:/plugins/kookma/commander/search/filter-button/search +tags: $:/tags/Commander/Search/FilterButton +title: $:/plugins/kookma/commander/search/filter-button/clear +type: text/vnd.tiddlywiki + +\import $:/plugins/kookma/commander/macros/definition + +<$reveal type="nomatch" stateTitle=<> stateField="text" text=""> +<$button class="tc-btn-invisible" tooltip="clear search box and selected tiddlers"> +<$action-setfield $tiddler=<> $field="text" $value=""/> +<$action-setfield $tiddler="$:/temp/commander" $field="text" $value=""/> +<$action-setfield $tiddler="$:/state/commander/snr/select-tiddler" $field="text" $value=""/> +<$action-setfield $tiddler="$:/state/compInspect/temp/commander/selectState-tiddler" $field="text" $value=""/> +{{$:/core/images/close-button}} + + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_dropdown.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_dropdown.tid new file mode 100644 index 0000000..79fcaf3 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_dropdown.tid @@ -0,0 +1,26 @@ +tags: $:/tags/Commander/Search/FilterButton +title: $:/plugins/kookma/commander/search/filter-button/dropdown +type: text/vnd.tiddlywiki + +\import $:/plugins/kookma/commander/macros/definition +\whitespace trim + + +<$button popup=<> class="tc-btn-invisible" tooltip="select a search filter"> +{{$:/core/images/down-arrow}} + + + +<$reveal state=<> type="popup" position="belowleft" animate="yes"> +<$set name="tv-show-missing-links" value="yes"> +<$linkcatcher to=<> > +
+
+<$list filter="[all[shadows+tiddlers]tag[$:/tags/Commander/Filter]!is[draft]]"> +<$link to={{!!filter}}><$let tv-wikilinks="no"><$transclude field="description"/> + +
+
+ + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_save.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_save.tid new file mode 100644 index 0000000..a061ea2 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_filter-button_save.tid @@ -0,0 +1,42 @@ +list-after: $:/plugins/kookma/commander/search/filter-button/clear +tags: $:/tags/Commander/Search/FilterButton +title: $:/plugins/kookma/commander/search/filter-button/save +type: text/vnd.tiddlywiki + +\import $:/plugins/kookma/commander/macros/definition + +<$reveal type="nomatch" stateTitle=<> stateField="text" text=""> +<$button class="tc-btn-invisible" tooltip="save current search" popup=<> > +{{$:/core/images/file}} + + + +<$reveal state=<> type="popup" class="tc-popup-keep" position="belowleft" animate="yes"> +
+
+
+Save new search filter

+<$edit-text +tiddler="$:/temp/commander/save-new-filter" +tag="input" +default="" +class="cmd-txt-area" +placeholder="description for new filter" +/>

+ +<$button class="tc-btn"> Save new filter +<$macrocall $name="create-new-filter" + description={{$:/temp/commander/save-new-filter}} + basetitle="$:/plugins/kookma/commander/filters/yourFilter" + filter={{{[get[text]]}}} /> +<$action-deletetiddler $tiddler="$:/temp/commander/save-new-filter"/> +<$action-deletetiddler $tiddler=<> /> + +
+
+
+ + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_create-new-filter.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_create-new-filter.tid new file mode 100644 index 0000000..9a67539 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_create-new-filter.tid @@ -0,0 +1,14 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/search/macros/create-new-filter +type: text/vnd.tiddlywiki + +\define create-new-filter(description:"", basetitle:"", filter:"") +<$list filter="[<__description__>!is[blank]]" variable="ignore"> +<$action-createtiddler + $basetitle="""$basetitle$""" + tags="$:/tags/Commander/Filter" + description=<<__description__>> + filter="""$filter$""" + /> + +\end diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_select-deselect.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_select-deselect.tid new file mode 100644 index 0000000..c7d2809 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_select-deselect.tid @@ -0,0 +1,17 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/search/macros/select-deselect +type: text/vnd.tiddlywiki + +\define select-all() +<$list filter="[subfilter!is[missing]!tag]"> +<$fieldmangler> +<$action-sendmessage $message="tm-add-tag" $param=<> /> + +\end + +\define deselect-all() +<$list filter="[tag]"> +<$fieldmangler> +<$action-sendmessage $message="tm-remove-tag" $param=<> /> + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_warning.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_warning.tid new file mode 100644 index 0000000..7d9dccc --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_macros_warning.tid @@ -0,0 +1,9 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/search/macros/warning +type: text/vnd.tiddlywiki + +\define warn-for-selectedTids-from-previous-operation() +<$list filter="[tag]-[subfilter]+[count[]!match[0]] "> +There are remained selected tiddlers from previous search! Remove them by pressing ''deselect all''! + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_selection.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_selection.tid new file mode 100644 index 0000000..314439d --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_selection.tid @@ -0,0 +1,27 @@ +caption: Select tiddlers +title: $:/plugins/kookma/commander/search/selection +type: text/vnd.tiddlywiki + +\import $:/plugins/kookma/commander/macros/definition +<$checkbox tiddler=<> field="text" checked="yes" unchecked="no" default="no" uncheckactions=<> > Selective operation? + +<$reveal type="nomatch" stateTitle=<> stateField="text" text="yes" tag="div" class="kk-commander-tiddler-list kk-commander-columns3"> +<$list filter="[subfilter!prefix[$:/temp/commander]!is[missing]]"><$link/>
+ +<$reveal type="match" stateTitle=<> stateField="text" text="yes" tag="div"> +<$button actions=<> > Select all <$button actions=<> > Deselect all +Number of tiddlers selected: <$count filter="[tag]" />
+<> + + + +<$reveal type="match" stateTitle=<> stateField="text" text="yes" tag="div" class="kk-commander-tiddler-list kk-commander-columns3"> +<$list filter="[subfilter!prefix[$:/temp/commander]!is[missing]]"> +<$checkbox tag=<>> <$link/>
+ + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_ui.tid new file mode 100644 index 0000000..1f24636 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_search_ui.tid @@ -0,0 +1,9 @@ +caption: Commander filter search +code-body: yes +title: $:/plugins/kookma/commander/search/ui +type: text/vnd.tiddlywiki + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_ui.tid new file mode 100644 index 0000000..ee3883d --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_ui.tid @@ -0,0 +1,11 @@ +caption: Setting +icon: $:/core/images/options-button +list-after: $:/plugins/kookma/commander/inspect/ui +tags: $:/tags/Commander +title: $:/plugins/kookma/commander/setting/ui +type: text/vnd.tiddlywiki + +<> diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_delete-all-temp-tiddlers.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_delete-all-temp-tiddlers.tid new file mode 100644 index 0000000..75a95cf --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_delete-all-temp-tiddlers.tid @@ -0,0 +1,25 @@ +caption: Temporary tiddlers +list-after: $:/plugins/kookma/commander/setting/uicomp/relink +tags: $:/tags/Commander/Setting +title: $:/plugins/kookma/commander/setting/uicomp/delete-all-temp-tiddlers +type: text/vnd.tiddlywiki + +\define delete-all-temps() +<$action-deletetiddler $filter="[search:title[$:/temp/commander/]]" /> +\end + +<$set name=numTids value={{{ [search:title[$:/temp/commander/]count[]] }}}> +<$reveal type="match" text="0" default=<> > +No temporary tiddlers is existed to delete! + +<$reveal type="gt" text="0" default=<> > +Number of temporary tiddlers (including log tiddlers): <>
+ + + +<$macrocall $name="compConfirmAction" +btnLabel="Delete temp tiddlers" +confirmMessage="Are you sure you wish to delete" +stateTiddler="$:/state/commander/setting/delete-temps" +countFilter="[search:title[$:/temp/commander/]]" +actionMacro="delete-all-temps"/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_minlength.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_minlength.tid new file mode 100644 index 0000000..479931c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_minlength.tid @@ -0,0 +1,8 @@ +caption: Search minimum length +tags: $:/tags/Commander/Setting +title: $:/plugins/kookma/commander/setting/uicomp/minlength +type: text/vnd.tiddlywiki + +Controls the minimum length of a search string before results are displayed. + +<$edit-text tiddler="$:/plugins/kookma/commander/config/minlength" field=text default=3 placeholder="enter a number" tag=input/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_search-filters.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_search-filters.tid new file mode 100644 index 0000000..6b4e042 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_search-filters.tid @@ -0,0 +1,17 @@ +caption: Search filter +tags: $:/tags/Commander/Setting +title: $:/plugins/kookma/commander/setting/uicomp/search-filters +type: text/vnd.tiddlywiki + +The below list shows the Commander search filter. To edit click on the link and edit tiddler for filter syntax or description + +
+Commander saved filter search +
+<$list filter="[all[tiddlers+shadows]tag[$:/tags/Commander/Filter]]" > +
<$link/>
+
Description:<$view field="description"/>
+
Filter:<$view field="filter"/>
+ +
+
\ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_snr.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_snr.tid new file mode 100644 index 0000000..06f1f3e --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_setting_uicomp_snr.tid @@ -0,0 +1,14 @@ +caption: Snr setting +tags: $:/tags/Commander/Setting +title: $:/plugins/kookma/commander/setting/uicomp/snr +type: text/vnd.tiddlywiki + +<> +
+ +The cleanup attribute determines which optional post-processing should be applied to the diffs: + +* none: no cleanup is performed +* semantic (default): rewrites the diffs for human readability +* efficient: rewrites the diffs to minimise the number of operations for subsequent processing +
\ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_actions.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_actions.tid new file mode 100644 index 0000000..f109a91 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_actions.tid @@ -0,0 +1,118 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/snr/macros/actions +type: text/vnd.tiddlywiki + +\define regexp-flags() +{{$:/state/commander/snr/gm}}{{$:/state/commander/snr/case-sensitive}}{{$:/state/commander/snr/unicode}} +\end + +\define snr-ui-show-diffs() +
+
+ Differences +Tiddler: <$link to={{$:/state/commander/snr/select-tiddler}}><$text text={{$:/state/commander/snr/select-tiddler}}/> + +<$wikify name=flags text=<> > + +<$macrocall $name="replace-text-diff" + tiddler={{$:/state/commander/snr/select-tiddler}} + field={{$:/state/commander/snr/select-tiddler/field}} + replace={{$:/state/commander/snr/replace-text}} + replaceWith={{$:/state/commander/snr/replace-text-with}} + flags=<> + wholeWords={{$:/state/commander/snr/whole-words}} +/> + + +
+
+\end + +\define snr-check-diffs(tiddler:"", field:"") +\whitespace trim +<$wikify name=flags text=<> > +<$wikify name="result" text=""" +<$macrocall $name="replace-text" + tiddler=<<__tiddler__>> + field=<<__field__>> + replace={{$:/state/commander/snr/replace-text}} + replaceWith={{$:/state/commander/snr/replace-text-with}} + flags=<> + wholeWords={{$:/state/commander/snr/whole-words}} +/>"""> +<$reveal type="match" text={{{ [<__tiddler__>get<__field__>] }}} default=<> > +same + +<$reveal type="nomatch" text={{{ [<__tiddler__>get<__field__>] }}} default=<> > +different + + + +\end + +\define search-replace-in-tiddler-field(tiddler:"",field:"",replace:"",replaceWith:"") +<$wikify name=ss text=<> > +<$list filter="[] -same" variable=ignore> +<$list filter="[<__tiddler__>has[title]]" variable="ignore"> +<$wikify name=flags text=<> > +<$macrocall $name="replace-text-button" + tiddler=<<__tiddler__>> + field=<<__field__>> + replace=<<__replace__>> + replaceWith=<<__replaceWith__>> + flags=<> + wholeWords={{$:/state/commander/snr/whole-words}} +/> +<$macrocall $name="log-add-single-operation" msg="""`$field$` field has been changed""" tidItem=<<__tiddler__>> /> +<$macrocall $name="clear-select-tiddler-if-field-is-title" tiddler=<<__tiddler__>> field=<<__field__>> /> + + + + +\end + +\define clear-select-tiddler-if-field-is-title(tiddler, field) +<$list filter="[<__field__>] +[search[title]]" variable="ignore"> +<$action-setfield $tiddler="$:/state/commander/snr/select-tiddler" text=""/> +<$action-setfield $tiddler="$:/temp/commander/selected-titles" $index=<<__tiddler__>> /> + +\end + +\define search-replace-in-field-bulk() +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<> +<$list filter="[subfilter!is[missing]]" > + <$macrocall + $name="search-replace-in-tiddler-field" + tiddler=<> + field={{$:/state/commander/snr/select-tiddler/field}} + replace={{$:/state/commander/snr/replace-text}} + replaceWith={{$:/state/commander/snr/replace-text-with}} + /> + + +\end + +\define search-replace-in-field-single-tiddler() +<> + <$macrocall + $name="search-replace-in-tiddler-field" + tiddler={{$:/state/commander/snr/select-tiddler}} + field={{$:/state/commander/snr/select-tiddler/field}} + replace={{$:/state/commander/snr/replace-text}} + replaceWith={{$:/state/commander/snr/replace-text-with}} + /> +\end + +\define snr-actions() +<$button actions=<> tooltip="search and replace in a single tiddler" class="cmd-btn"> +Replace? +  + +<$macrocall $name="compConfirmAction" +countFilter=<> +actionMacro="search-replace-in-field-bulk" +stateTiddler="$:/state/commander/SelectiveReplaceAllDropdown" +confirmMessage="Are you sure you wish to replace text in" +btnLabel="Replace all?"/> +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_inputs.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_inputs.tid new file mode 100644 index 0000000..08309e8 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_inputs.tid @@ -0,0 +1,56 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/snr/macros/inputs +type: text/vnd.tiddlywiki + +\define snr-ui-inputs() +
+
+ Search and Replace + +
+ +<$select tiddler="$:/state/commander/snr/select-tiddler" default="" class="cmd-snr-textbox"> + +<$list filter="[subfilter]" > + + + +
+ +
+ +<$select tiddler="$:/state/commander/snr/select-tiddler/field" default="text"> +<$list filter="[subfilterfields[]]"> + + + +
+ +
+ +<$edit-text + tiddler="$:/state/commander/snr/replace-text" + tag="input" + default="" + placeholder=" text to replace" + class="cmd-snr-textbox"/> +
+ +
+ +<$edit-text + tiddler="$:/state/commander/snr/replace-text-with" + tag="input" + default="" + placeholder=" new text" + class="cmd-snr-textbox"/> +
+ +<$list filter="[[$:/state/commander/snr/select-tiddler/field]get[text]match[title]]" variable=ignore> + + +
+
+ + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexp-flags.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexp-flags.tid new file mode 100644 index 0000000..2e78242 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexp-flags.tid @@ -0,0 +1,60 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/snr/macros/regexp-flags +type: text/vnd.tiddlywiki + +\define snr-regexp-flags() + +
+
+Search flags + +<$checkbox + tiddler="$:/state/commander/snr/case-sensitive" + field="text" + checked="i" + unchecked="" +/>  ignore case
+ +<$checkbox + tiddler="$:/state/commander/snr/whole-words" + field="text" + checked="words" + unchecked="characters" +/>  whole words
+ +<$checkbox + tiddler="$:/state/commander/snr/unicode" + field="text" + checked="u" + unchecked="" +/>  unicode
+ +
+ +<$radio + tiddler="$:/state/commander/snr/gm" + field="text" + value="">  first match +
+ +<$radio + tiddler="$:/state/commander/snr/gm" + field="text" + value="g">  global match +
+ +<$radio + tiddler="$:/state/commander/snr/gm" + field="text" + value="m">  multiline mode +
+ +<$radio + tiddler="$:/state/commander/snr/gm" + field="text" + value="mg">  global multiline mode + + +
+
+\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexpsub.js b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexpsub.js new file mode 100644 index 0000000..c32570c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexpsub.js @@ -0,0 +1,50 @@ +/*\ +created: 20190214160253135 +type: application/javascript +title: $:/plugins/kookma/commander/snr/macros/regexpsub.js +modified: 20200307092210323 +module-type: macro + +Make regular expression substitutions +Developed by Mark S +\*/ +(function(){ + +/*jslint node: true, browser: true */ +"use strict"; + +exports.name = "regexpsub"; + +exports.params = [ + {name: "searchValue"}, + {name: "replaceValue"}, + {name: "sourceText"}, + {name: "flags"}, + {name: "wholeWords"} +]; + +/* +Run the macro +*/ +exports.run = function(searchValue, replaceValue, sourceText, flags = "gi", wholeWords = "characters") { + + try { + + var searchText; + if(wholeWords.toLowerCase() === 'words'){ + searchText = "\\b" + searchValue + "\\b"; + } else{ + searchText = searchValue; + } + + searchText = new RegExp(searchText, flags); + return sourceText.replace(searchText,replaceValue); + + } + catch(err) { + return "ERROR IN REG EXPRESSION. YOU MAY NEED TO ESCAPE VALUES"; + } + + }; + +})(); diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexpsub.js.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexpsub.js.meta new file mode 100644 index 0000000..8c8b240 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_regexpsub.js.meta @@ -0,0 +1,5 @@ +created: 20190214160253135 +modified: 20200307092210323 +module-type: macro +title: $:/plugins/kookma/commander/snr/macros/regexpsub.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_replace-text.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_replace-text.tid new file mode 100644 index 0000000..d38d90c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_macros_replace-text.tid @@ -0,0 +1,66 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/snr/macros/replace-text +type: text/vnd.tiddlywiki + +\define nothing-to-replace(tiddler, field:"text") +<$diff-text source={{{ [<__tiddler__>get<__field__>] }}} dest={{{ [<__tiddler__>get<__field__>] }}} /> +\end + +\define replace-text(tiddler:"",field:"text",replace:"",replaceWith:"",flags:"", wholeWords:"") +\whitespace trim +<$wikify name="source" text="""<$view tiddler=<<__tiddler__>> field=<<__field__>> mode="block" format="text"/>"""> +<$wikify name="result" + text="""<$macrocall $name="regexpsub" $type="text/plain" + sourceText=<> + searchValue=<<__replace__>> + replaceValue=<<__replaceWith__>> + flags=<<__flags__>> + wholeWords=<<__wholeWords__>> />""" + > +<$text text=<>/> + + +\end + +\define replace-text-diff(tiddler:"", field:"text", replace, replaceWith, flags:"", wholeWords:"") +<$list filter="[<__tiddler__>get<__field__>minlength[1]]" variable=null emptyMessage="No tiddler is selected, or tiddler is empty."> +<$list filter="[<__replace__>minlength[1]]" variable=null emptyMessage=<> > + +<$wikify name="result" + text="""<$macrocall $name="replace-text" + tiddler=<<__tiddler__>> field=<<__field__>> + replace=<<__replace__>> + replaceWith=<<__replaceWith__>> + flags=<<__flags__>> + wholeWords=<<__wholeWords__>> />""" + > +<$diff-text source={{{ [<__tiddler__>get<__field__>] }}} dest=<> cleanup={{$:/state/commander/snr/setting/cleanup}}/> + + + + +\end + +\define replace-text-button(tiddler:"", field:"text", replace:"", replaceWith:"", flags:"", wholeWords:"") +\whitespace trim +<$list filter="[<__tiddler__>get<__field__>minlength[1]]" variable=null> +<$list filter="[<__replace__>minlength[1]]" variable=null> +<$wikify name="result" + text="""<$macrocall $name="replace-text" + tiddler=<<__tiddler__>> + field=<<__field__>> + replace=<<__replace__>> + replaceWith=<<__replaceWith__>> + flags=<<__flags__>> + wholeWords=<<__wholeWords__>> />""" + > +<$reveal type="nomatch" default="title" text=<<__field__>> > + <$action-setfield $tiddler=<<__tiddler__>> $field=<<__field__>> $value=<>/> + +<$reveal type="match" default="title" text=<<__field__>> > + <$action-sendmessage $message="tm-rename-tiddler" from=<<__tiddler__>> to=<> /> + + + + +\end diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_ui.tid new file mode 100644 index 0000000..e9b6bb1 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_ui.tid @@ -0,0 +1,14 @@ +caption: Snr +icon: $:/core/images/gitter +list-after: $:/plugins/kookma/commander/inspect/ui +tags: $:/tags/Commander +title: $:/plugins/kookma/commander/snr/ui +type: text/vnd.tiddlywiki + +Search and replcae in tiddler fields! + +<> + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_uicomp_replace-text.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_uicomp_replace-text.tid new file mode 100644 index 0000000..3c428fd --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_snr_uicomp_replace-text.tid @@ -0,0 +1,16 @@ +caption: Search and replace +icon: $:/core/images/gitter +tags: $:/tags/Commander/SnrOps +title: $:/plugins/kookma/commander/snr/uicomp/replace-text +type: text/vnd.tiddlywiki + +
+
+<> +
+
+<> +
+
+<> +<> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_alert.css b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_alert.css new file mode 100644 index 0000000..5045ad9 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_alert.css @@ -0,0 +1,10 @@ +.commander-alert { + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px dotted gray; + border-radius: 0.25rem; + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; + +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_alert.css.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_alert.css.meta new file mode 100644 index 0000000..16d5614 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_alert.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/commander/stylesheet/alert +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_buttons.css b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_buttons.css new file mode 100644 index 0000000..02ae325 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_buttons.css @@ -0,0 +1,14 @@ +/** +.cmd-btn{ + font-size:0.85em; + font-size:300; + color: #666666; + background-color: #d8d8d8; + padding: 3px 8px 3px 8px; + border: 1px solid #a1a1a1; +} +**/ + +.cmd-btn-wd{ + width:20ch; +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_buttons.css.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_buttons.css.meta new file mode 100644 index 0000000..cc31357 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_buttons.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/commander/stylesheet/buttons +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_compInspect_table.css b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_compInspect_table.css new file mode 100644 index 0000000..b7c9948 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_compInspect_table.css @@ -0,0 +1,13 @@ +/*compInspect table*/ +.cmd-ci-table +{border-collapse: collapse;} + +.cmd-ci-table .leftcol{ +width:20%; +vertical-align: top; +text-align: right; +background-color:#f0f0f0; +} +.cmd-ci-table .rightcol{ +width:650px; +} diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_compInspect_table.css.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_compInspect_table.css.meta new file mode 100644 index 0000000..6d1ad7a --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_compInspect_table.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/commander/stylesheet/compInspect/table +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_new.css b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_new.css new file mode 100644 index 0000000..1f80e5c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_new.css @@ -0,0 +1,26 @@ +.kk-commander-log-note{ + font-style:italic; font-size:small; +} +.kk-commander-log-item { + color:green; +} + +/* This is missing and I added it */ +.cmd-txt-area{ + min-width:25ch; +} + +.cmd-txt-area2{ + min-width:50ch; +} + +/* Correct this later*/ +.kk-cmd-label{ + display:inline-block; + width:85px; +} + +.kk-cmd-label2{ + display:inline-block; + width:120px; +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_new.css.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_new.css.meta new file mode 100644 index 0000000..5131b0e --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_new.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/commander/stylesheet/new +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_select-width.css b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_select-width.css new file mode 100644 index 0000000..ad151ec --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_select-width.css @@ -0,0 +1,7 @@ +.cmd-sl{ + width:8ch; +} + +.cmd-select-wd{ + min-width:25ch; +} diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_select-width.css.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_select-width.css.meta new file mode 100644 index 0000000..028dd5c --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_select-width.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/commander/stylesheet/select-width +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_flexbox.css b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_flexbox.css new file mode 100644 index 0000000..02becf0 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_flexbox.css @@ -0,0 +1,29 @@ +.cmd-snr-row { + display: flex; + flex-direction: row; + flex-wrap: wrap; + width: 100%; +} +.cmd-snr-column { + display: flex; + flex-direction: column; + flex-basis: 100%; + flex: 1 +} + +.cmd-snr-double-column { + display: flex; + flex-direction: column; + flex-basis: 100%; + flex: 2 +} + +@media screen and (min-width: 800px) { + .cmd-snr-column { + flex: 1 + } + + .cmd-snr-double-column { + flex: 2 + } +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_flexbox.css.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_flexbox.css.meta new file mode 100644 index 0000000..d1ba742 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_flexbox.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/commander/stylesheet/snr/flexbox +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_form.css b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_form.css new file mode 100644 index 0000000..08bef25 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_form.css @@ -0,0 +1,28 @@ +.cmd-snr-form{ + width:100%; +} + +.cmd-snr-textbox { + width:100%; + box-sizing: border-box; + max-width:40ch; + } + +.cmd-snr-form select, .cmd-snr-form input{ + margin: 0.2rem; +} +.cmd-snr-form legend{ + background: #f5f5f5; + padding: 3px 6px; +} + +.cmd-snr-form { padding:20px; } +.cmd-snr-form .item { padding: 2px; margin:2px; } +.cmd-snr-form .item label { display:inline-block; width:100px; margin-left:5px; } +.cmd-snr-form .item input { display:inline-block; } +.cmd-snr-form .item select { display:inline-block; } + +/* only for relink checkbox on renaming tiddler */ +.cmd-snr-form .item-relink { padding: 2px; margin:2px; } + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_form.css.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_form.css.meta new file mode 100644 index 0000000..529ad53 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_snr_form.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/commander/stylesheet/snr/form +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_tiddler-list.css b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_tiddler-list.css new file mode 100644 index 0000000..1698305 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_tiddler-list.css @@ -0,0 +1,15 @@ +.kk-commander-tiddler-list { + font-size:small; + border-left:0.5px + dotted grey; + padding-left:10px; + overflow-y:auto; + max-width:100%; + max-height:$(height)$; +} + +.kk-commander-columns1 { display:block; column-count:1; column-gap:1em; } +.kk-commander-columns2 { display:block; column-count:2; column-gap:1em; } +.kk-commander-columns3 { display:block; column-count:3; column-gap:1em; } +.kk-commander-columns4 { display:block; column-count:4; column-gap:1em; } +.kk-commander-columns5 { display:block; column-count:5; column-gap:1em; } \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_tiddler-list.css.meta b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_tiddler-list.css.meta new file mode 100644 index 0000000..bf2285b --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_stylesheet_tiddler-list.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/commander/stylesheet/tiddler-list +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_macros_add-remove-replace.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_macros_add-remove-replace.tid new file mode 100644 index 0000000..9af2786 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_macros_add-remove-replace.tid @@ -0,0 +1,53 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/tag/macros/add-remove-replace +type: text/vnd.tiddlywiki + +\define add-new-tag-bulk(newTag:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__newTag__>!is[blank]]" variable=null> +<> +<$list filter="[subfilter!tag<__newTag__>]"> +<$fieldmangler> +<$action-sendmessage $message="tm-add-tag" $param=<<__newTag__>> /> + +<$macrocall $name="log-add-single-operation" msg="""new tag `$newTag$` added""" tidItem=<> /> + + + +\end + +\define remove-old-tag-bulk(oldTag:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__oldTag__>!is[blank]]" variable=null> +<> +<$list filter="[subfiltertag<__oldTag__>]"> +<$fieldmangler> +<$action-sendmessage $message="tm-remove-tag" $param=<<__oldTag__>> /> + +<$macrocall $name="log-add-single-operation" msg="""old tag `$oldTag$` removed""" tidItem=<> /> + + + +\end + + +\define replace-tag-bulk(oldTag:"", newTag:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__oldTag__>!is[blank]]" variable=null> +<$list filter="[<__newTag__>!is[blank]]" variable=null> +<> +<$list filter="[subfilter]"> +<$list filter="[tag<__oldTag__>]" variable=ignore + emptyMessage="""<$macrocall $name="log-add-single-operation" msg="//has not tag `$oldTag$`. Operation ignored.//" tidItem=<> /> """> +<$fieldmangler> +<$action-sendmessage $message="tm-add-tag" $param=<<__newTag__>> /> +<$action-sendmessage $message="tm-remove-tag" $param=<<__oldTag__>> /> + +<$macrocall $name="log-add-single-operation" msg="""tag `$oldTag$` replaced with `$newTag$`""" tidItem=<> /> + + + + + +\end + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_ui.tid new file mode 100644 index 0000000..086707a --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_ui.tid @@ -0,0 +1,10 @@ +caption: Tag +list-after: $:/plugins/kookma/commander/title/ui +tags: $:/tags/Commander +title: $:/plugins/kookma/commander/tag/ui +type: text/vnd.tiddlywiki + +<> + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_uicomp_add-remove-tags.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_uicomp_add-remove-tags.tid new file mode 100644 index 0000000..c64b2d0 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_uicomp_add-remove-tags.tid @@ -0,0 +1,24 @@ +caption: Add remove tags +tags: $:/tags/Commander/TagOps +title: $:/plugins/kookma/commander/tag/uicomp/add-remove-tags +type: text/vnd.tiddlywiki + +<$edit-text +tiddler="$:/temp/commander/tag-add-remove/new" +tag="input" +default="" +class="cmd-txt-area" +placeholder=" new tag"/> +<$button class="cmd-btn cmd-btn-wd"> Add new tag +<$macrocall $name="add-new-tag-bulk" newTag={{$:/temp/commander/tag-add-remove/new}} /> + + +<$select class="cmd-select-wd" tiddler="$:/temp/commander/tag-add-remove/old" default="" > +<$list filter="[subfilter!is[missing]tags[]sort[]]-[]" > + + + +<$button class="cmd-btn cmd-btn-wd"> Remove old tag +<$macrocall $name="remove-old-tag-bulk" oldTag={{$:/temp/commander/tag-add-remove/old}} /> + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_uicomp_replace-tags.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_uicomp_replace-tags.tid new file mode 100644 index 0000000..650b805 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tag_uicomp_replace-tags.tid @@ -0,0 +1,25 @@ +caption: Replace tags +list-after: $:/plugins/kookma/commander/tag/uicomp/add-remove-tags +tags: $:/tags/Commander/TagOps +title: $:/plugins/kookma/commander/tag/uicomp/replace-tags +type: text/vnd.tiddlywiki + +<$select class="cmd-select-wd" tiddler="$:/temp/commander/replace-tags/old" default=""> +<$list filter="[subfilter!is[missing]tags[]sort[]]-[]" > + + + + +<$edit-text +tiddler="$:/temp/commander/replace-tags/new" +tag="input" +default="" +class="cmd-txt-area" +placeholder=" new tag" +/> +<$button class="cmd-btn cmd-btn-wd"> Replace tag +<$macrocall $name="replace-tag-bulk" +oldTag={{$:/temp/commander/replace-tags/old}} +newTag={{$:/temp/commander/replace-tags/new}} /> + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_base.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_base.tid new file mode 100644 index 0000000..024c107 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_base.tid @@ -0,0 +1,6 @@ +caption: base +tags: $:/tags/Commander/Template +title: $:/plugins/kookma/commander/template/base +type: text/vnd.tiddlywiki + +This is a simple one! \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_doc.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_doc.tid new file mode 100644 index 0000000..e098a78 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_doc.tid @@ -0,0 +1,35 @@ +caption: documentation +tags: $:/tags/Commander/Template +title: $:/plugins/kookma/commander/template/doc +type: text/vnd.tiddlywiki +version: beta + +!! Introduction +<<< +short introduction +<<< + +!! Content and parameters +<<< +The content, attributes and parameters + +|!Parameter |!Description | +|par1 |description | +|par2 |description | +<<< + +!! Example i +<<< +example here +<<< + +!! Example ii +<<< +another example here +<<< + +!! References +<<< +# one +# Two +<<< \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_simple.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_simple.tid new file mode 100644 index 0000000..ace0179 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_template_simple.tid @@ -0,0 +1,29 @@ +caption: simple +tags: $:/tags/Commander/Template +title: $:/plugins/kookma/commander/template/simple +type: text/vnd.tiddlywiki +version: beta + +! Heading one +This is sunsection i + +!! Heading two +This is subsection ii. + +* one +* two +* three + +!!! Heading three +This is subsction iii + +``` +A sample code +``` + +!! Sample table +|Table 1. This is caption|c +|Heading one|Heading Two|Heading Three|h +|r1|100|200| +|r2|02|03| +|r3|-1|-2| diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_create.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_create.tid new file mode 100644 index 0000000..55d35de --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_create.tid @@ -0,0 +1,57 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/tiddler/macros/create +type: text/vnd.tiddlywiki + +\define log-create(msg:"Tiddler existed, operation ignored") +<$action-setfield $tiddler={{$:/state/commander/log-tiddler}} $index="$(newTitle)$" $value="$msg$" /> +\end + +\define bulk-tiddler-creator(baseTitle, baseTags, datafieldsTid, numberTiddler:"1") +<$list filter="[<__baseTitle__>!is[blank]]" variable=ignore> +<> +<$list filter="[range[9]addprefix[00]] [range[10,99]addprefix[0]] [range[100,500]] +[limit<__numberTiddler__>]" variable="L1"> +<$list filter="[<__baseTitle__>addsuffix]" variable="newTitle"> +<$list filter="[] -[has[title]]" variable="ignore" emptyMessage=<> > +<$action-createtiddler $basetitle=<> tags=<<__baseTags__>> /> +<$vars datafieldsTid=<<__datafieldsTid__>> > +<> + +<> + + + + +\end + +\define oneTid-with-template() +<$tiddler tiddler=<> > + <$action-setfield $tiddler=<> title=<> /> + <$fieldmangler> + <$list filter="[enlist]" variable=newTag> + <$action-sendmessage $message="tm-add-tag" $param=<> /> + + <$action-sendmessage $message="tm-remove-tag" $param="$:/tags/Commander/Template" /> + + +\end + + +\define bulk-tiddler-with-template-creator(baseTitle, baseTags, datafieldsTid, numberTiddler:"1", template:"") +<$list filter="[<__baseTitle__>!is[blank]]" variable=ignore> +<> +<$vars datafieldsTid=<<__datafieldsTid__>> + myTags=<<__baseTags__>> + myTemplate=<<__template__>> > +<$list filter="[range[9]addprefix[00]] [range[10,99]addprefix[0]] [range[100,500]] +[limit<__numberTiddler__>]" variable="L1"> +<$list filter="[<__baseTitle__>addsuffix]" variable="newTitle"> +<$list filter="[!has[title]]" variable="ignore" emptyMessage=<> > + <> + <> + <> + + + + + +\end + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_delete.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_delete.tid new file mode 100644 index 0000000..2452343 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_delete.tid @@ -0,0 +1,17 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/tiddler/macros/delete +type: text/vnd.tiddlywiki + +\define log-delete-selectively(item, msg:"Tiddler deleted") +<$action-setfield $tiddler={{$:/state/commander/log-tiddler}} $index=<<__item__>> $value="$msg$" /> +\end + +\define delete-tiddlers-selective-bulk() +<$list filter="[subfilterlimit[1]]" variable="ignore"> +<> +<$list filter="[subfilter]" variable="Item"> +<$action-deletetiddler $tiddler=<> /> +<$macrocall $name="log-delete-selectively" item=<> /> + + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_export.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_export.tid new file mode 100644 index 0000000..706bf0a --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_macros_export.tid @@ -0,0 +1,61 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/tiddler/macros/export +type: text/vnd.tiddlywiki + +\define add-export-tag() +<$list filter=<> > +<$fieldmangler> +<$list filter="[enlist{$(exportTagTid)$}]~[[exported]]" variable="exportTag" > +<$action-sendmessage $message="tm-add-tag" $param=<> /> + +<$action-sendmessage $message="tm-remove-tag" $param=<> /> + + +\end + +\define remove-export-tag() +<$list filter=<> > +<$fieldmangler> +<$list filter="[get[text]match[yes]]" variable=ignore> +<$action-sendmessage $message="tm-add-tag" $param=<> /> + +<$list filter="[enlist{$(exportTagTid)$}]~[[exported]]" variable="exportTag" > +<$action-sendmessage $message="tm-remove-tag" $param=<> /> + + + +\end + +\define log-export-selectively(msg:"Tiddler exported") +<$list filter="[subfilter]" variable="item"> +<$action-setfield $tiddler={{$:/state/commander/log-tiddler}} $index=<> $value="$msg$" /> + +\end + + +\define commander-exportButton(exportFilter:"[!is[system]sort[title]]",lingoBase,baseFilename:"tiddlers") +<$button popup=<> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<> selectedClass="tc-selected"> +<$list filter="[match[yes]]"> +{{$:/core/images/export-button}} + +<$list filter="[match[yes]]"> +<$text text={{$lingoBase$Caption}}/> + +<$reveal state=<> type="popup" position="below" animate="yes"> +
+<$list filter="[all[shadows+tiddlers]tag[$:/tags/Exporter]]"> +<$set name="extension" value={{!!extension}}> +<$button class="tc-btn-invisible"> +<> +<$macrocall $name="log-export-selectively"/> +<> +<$action-sendmessage $message="tm-download-file" $param=<> exportFilter="""$exportFilter$""" filename=<>/> +<$action-deletetiddler $tiddler=<>/> +<$transclude field="description"/> +<> + + + +
+ +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_ui.tid new file mode 100644 index 0000000..2681a6b --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_ui.tid @@ -0,0 +1,10 @@ +caption: Tiddler +list-before: $:/plugins/kookma/commander/title/ui +tags: $:/tags/Commander +title: $:/plugins/kookma/commander/tiddler/ui +type: text/vnd.tiddlywiki + +<> diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_create-tiddlers.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_create-tiddlers.tid new file mode 100644 index 0000000..a0744b1 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_create-tiddlers.tid @@ -0,0 +1,78 @@ +caption: Create tiddlers +tags: $:/tags/Commander/TiddlerOps +title: $:/plugins/kookma/commander/tiddler/uicomp/create-tiddlers +type: text/vnd.tiddlywiki + + +<$edit-text + tiddler="$:/temp/commander/tiddler-base-title" + tag="input" default="" + placeholder=" base title" + class="cmd-txt-area"/>
+ + +<$edit-text + tiddler="$:/temp/commander/tiddler-base-tags" + tag="input" default="" + placeholder=" tags" + class="cmd-txt-area" +/> + + +<$macrocall $name="add-more-fields-selective-ui" + datafieldsTid="$:/temp/commander/tiddler/datafields/createTiddler" + stateTiddler="$:/state/commander/tiddler-addfields-status" /> + + +<$checkbox + tiddler="$:/state/commander/tiddler-template-status" + field="text" + checked="use-template" unchecked="no-template" + default="no-template"> + Use template? + + +<$reveal type="match" state="$:/state/commander/tiddler-template-status" text="use-template" default="no-template" > +Template +<$select tiddler="$:/temp/commander/template-newtiddler" + default="$:/plugins/kookma/commander/template/base"> +<$list filter='[all[shadows+tiddlers]tag[$:/tags/Commander/Template]]'> + + + +<$button class="tc-btn-invisible"> {{$:/core/images/edit-button}} + <$action-sendmessage $message="tm-edit-tiddler" + $param={{{ [[$:/temp/commander/template-newtiddler]get[text]]~[[$:/plugins/kookma/commander/template/base]] }}} /> + + + + +Number of tiddlers   +<$select tiddler="$:/temp/commander/tiddler-base-number" default='1'> +<$list filter='[range[1,19, 1]] [range[20,50, 5]] [range[60,100,10]] [range[200,500,100]]'> + + + + + +<$reveal type="nomatch" state="$:/state/commander/tiddler-template-status" text="use-template" default="no-template"> + <$button class="cmd-btn cmd-btn-wd"> Create tiddlers + <$macrocall $name="bulk-tiddler-creator" + baseTitle={{$:/temp/commander/tiddler-base-title}} + baseTags={{$:/temp/commander/tiddler-base-tags}} + datafieldsTid="$:/temp/commander/tiddler/datafields/createTiddler" + numberTiddler={{$:/temp/commander/tiddler-base-number}} /> + + +<$reveal type="match" state="$:/state/commander/tiddler-template-status" text="use-template" default="no-template"> + <$button class="cmd-btn cmd-btn-wd"> Create tiddlers + <$macrocall $name="bulk-tiddler-with-template-creator" + baseTitle={{$:/temp/commander/tiddler-base-title}} + baseTags={{$:/temp/commander/tiddler-base-tags}} + datafieldsTid="$:/temp/commander/tiddler/datafields/createTiddler" + numberTiddler={{$:/temp/commander/tiddler-base-number}} + template={{$:/temp/commander/template-newtiddler}}/> + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_delete-tiddlers.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_delete-tiddlers.tid new file mode 100644 index 0000000..98c15aa --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_delete-tiddlers.tid @@ -0,0 +1,26 @@ +caption: Delete tiddlers +list-after: $:/plugins/kookma/commander/tiddler/uicomp/create-tiddlers +tags: $:/tags/Commander/TiddlerOps +title: $:/plugins/kookma/commander/tiddler/uicomp/delete-tiddlers +type: text/vnd.tiddlywiki + +<$set name=numTids value={{{[subfilter!is[missing]count[]] }}}> +<$reveal type="match" text="0" default=<> > +No tiddlers is selected for deleteion! + +<$reveal type="gt" text="0" default=<> > + +Number of tiddlers selected for deletion: <>
+Note that, the delete operation cannot be undone!! +
+ +<$macrocall $name="compConfirmAction" +countFilter="[subfilter]" +actionMacro="delete-tiddlers-selective-bulk" +stateTiddler="$:/state/commander/SelectiveDeleteDropdown" +/> + + + + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_export-tiddlers.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_export-tiddlers.tid new file mode 100644 index 0000000..c5ef2c4 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_tiddler_uicomp_export-tiddlers.tid @@ -0,0 +1,35 @@ +caption: Export tiddlers +list-after: $:/plugins/kookma/commander/tiddler/uicomp/delete-tiddlers +tags: $:/tags/Commander/TiddlerOps +title: $:/plugins/kookma/commander/tiddler/uicomp/export-tiddlers +type: text/vnd.tiddlywiki + +\define export-tiddler-ui(baseFilename) +<$set name="exportList" filter=<> > +<$vars tv-config-toolbar-text="yes" tv-config-toolbar-class="tc-button tt-button"> +<$macrocall $name="commander-exportButton" exportFilter=<> lingoBase="$:/language/Buttons/ExportTiddlers/" baseFilename="""$baseFilename$"""/> + + +\end + +\define exportFileName-and-Tags-ui() +<$edit-text tiddler="$:/temp/commander/exportFilename" tag=input default="tiddlers" placeholder="tiddlers" class="cmd-txt-area"/> +
+ +<$edit-text tiddler="$:/temp/commander/exportTag" tag=input default="exported" placeholder="exported" class="cmd-txt-area"/>
+\end + +<$set name=numTids value={{{[subfilter!is[missing]count[]] }}}> +<$reveal type="match" text="0" default=<> > +No tiddlers is selected for export! + + +<$reveal type="gt" text="0" default=<> > + +Number of tiddlers selected for export: <>
+ +<> +<$macrocall $name="export-tiddler-ui" baseFilename={{{[[$:/temp/commander/exportFilename]get[text]]~[[tiddlers]]}}} /> + + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_prefix.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_prefix.tid new file mode 100644 index 0000000..ca7ee10 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_prefix.tid @@ -0,0 +1,39 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/title/macros/prefix +type: text/vnd.tiddlywiki + +\define log-changePrefix(message, oldTitle, newTitle) +<$macrocall $name="log-add-single-operation" msg="""$message$. New title [[$newTitle$]]""" tidItem=<<__oldTitle__>> /> +\end + +\define addPrefix-to-tiltle-bulk(prefix:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__prefix__>!is[blank]]" variable=null> +<> +<$list filter="[subfilter]"> +<$list filter="""[addprefix[$prefix$]] -[]""" variable="newTitle"> +<$list filter="[] -[has[title]]" variable="ignore"> + <$action-sendmessage $message="tm-rename-tiddler" from=<> to=<> /> + <$macrocall $name=log-changePrefix message="title prefix: `$prefix$` added" oldTitle=<> newTitle=<> /> + + + + + +\end + +\define removePrefix-from-tiltle-bulk(prefix:"") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__prefix__>!is[blank]]" variable=null> +<> +<$list filter="[subfilter]"> +<$list filter="""[removeprefix[$prefix$]] -[]""" variable="newTitle"> +<$list filter="[] -[has[title]]" variable="ignore"> + <$action-sendmessage $message="tm-rename-tiddler" from=<> to=<> /> + <$macrocall $name=log-changePrefix message="title prefix: `$prefix$` removed" oldTitle=<> newTitle=<> /> + + + + + +\end diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_remove-cahrs-end.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_remove-cahrs-end.tid new file mode 100644 index 0000000..c8f75b0 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_remove-cahrs-end.tid @@ -0,0 +1,39 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/title/macros/remove-cahrs-end +type: text/vnd.tiddlywiki + +\define suffix-actions2() +<$list filter="[subfilter]+[prefix]" variable="item"> + <$action-sendmessage $message="tm-rename-tiddler" from=<> to=<> /> + <$macrocall $name="log-add-single-operation" msg="""characters removed from end. New title [[$(sfx)$]]""" tidItem=<> /> + +\end + + +\define makelink2() [[$(newTitle)$]] + +\define generate-suffixes2(n:"0") +<$list filter="[<__n__>] -0" variable=null> +<$list filter="[subfilter]" variable="item"> +<$list filter="""[split[]butlast[$n$]join[]trim[]]""" variable="newTitle"> +<$text text=<>/> + + + +\end + +\define remove-chars-from-end-tiltle-bulk(num:"0") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__num__>] -0" variable=null> +<> +<$vars n=<<__num__>> > +<$wikify text="""<>""" name="outputs"> + <$list filter="[subfilter]" variable="sfx"> +<$list filter="[subfilter]+[prefixlimit[2]count[]regexp[2]]" emptyMessage=<> variable="cnt"> + + + + + + +\end diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_remove-cahrs-start.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_remove-cahrs-start.tid new file mode 100644 index 0000000..31274e0 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_remove-cahrs-start.tid @@ -0,0 +1,40 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/title/macros/remove-cahrs-start +type: text/vnd.tiddlywiki + +\define suffix-actions() +<$list filter="[subfilter]+[suffix]" variable="item"> + <$action-sendmessage $message="tm-rename-tiddler" from=<> to=<> /> + <$macrocall $name="log-add-single-operation" msg="""characters removed from start. New title [[$(sfx)$]]""" tidItem=<> /> + +\end + + +\define makelink() [[$(newTitle)$]] + +\define generate-suffixes(n:"0") +<$list filter="[<__n__>] -0" variable=null> +<$list filter="[subfilterhas[title]]" variable="item"> +<$list filter="""[split[]rest[$n$]join[]trim[]]""" variable="newTitle"> +<$text text=<>/> + + + +\end + +\define remove-chars-from-begining-tiltle-bulk(num:"0") +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<$list filter="[<__num__>] -0" variable=null> +<> +<$vars n=<<__num__>> > +<$wikify text="""<>""" name="outputs"> + <$list filter="[subfilter]" variable="sfx"> + <$list filter="[subfilter]+[suffixlimit[2]count[]regexp[2]]" + emptyMessage=<> variable="cnt"> + + + + + + +\end diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_suffix.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_suffix.tid new file mode 100644 index 0000000..1c4784b --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_macros_suffix.tid @@ -0,0 +1,39 @@ +tags: $:/tags/Commander/Macro +title: $:/plugins/kookma/commander/title/macros/suffix +type: text/vnd.tiddlywiki + +\define log-changeSuffix(message, oldTitle, newTitle) +<$macrocall $name="log-add-single-operation" msg="""$message$. New title [[$newTitle$]]""" tidItem=<<__oldTitle__>> /> +\end + +\define addSuffix-to-tiltle-bulk(suffix:"") +<$list filter="[<__suffix__>!is[blank]]" variable=null> +<$list filter="[subfilterlimit[1]]" variable=ignore> +<> +<$list filter="[subfilter]"> +<$list filter="""[addsuffix[$suffix$]] -[]""" variable="newTitle"> +<$list filter="[] -[has[title]]" variable="ignore"> + <$action-sendmessage $message="tm-rename-tiddler" from=<> to=<> /> + <$macrocall $name=log-changeSuffix message="title suffix: `$suffix$` added" oldTitle=<> newTitle=<> /> + + + + + +\end + +\define removeSuffix-from-tiltle-bulk(suffix:"") +<$list filter="[<__suffix__>!is[blank]]" variable=null> +<$list filter="[subfilter!is[missing]limit[1]]" variable=ignore> +<> +<$list filter="[subfilter]"> +<$list filter="""[removesuffix[$suffix$]] -[]""" variable="newTitle"> +<$list filter="[] -[has[title]]" variable="ignore"> + <$action-sendmessage $message="tm-rename-tiddler" from=<> to=<> /> + <$macrocall $name=log-changeSuffix message="title suffix: `$suffix$` removed" oldTitle=<> newTitle=<> /> + + + + + +\end diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_ui.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_ui.tid new file mode 100644 index 0000000..9daa6de --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_ui.tid @@ -0,0 +1,13 @@ +caption: Title +list-after: $:/plugins/kookma/commander/tiddler/ui +tags: $:/tags/Commander +title: $:/plugins/kookma/commander/title/ui +type: text/vnd.tiddlywiki + +<> + + +{{$:/plugins/kookma/commander/config/relink}} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-chars.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-chars.tid new file mode 100644 index 0000000..79226c0 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-chars.tid @@ -0,0 +1,30 @@ +caption: Remove chars +list-after: $:/plugins/kookma/commander/title/uicomp/add-remove-suffix +tags: $:/tags/Commander/TitleOps +title: $:/plugins/kookma/commander/title/uicomp/add-remove-chars +type: text/vnd.tiddlywiki + +\define rngcat() [range[0,$(minchars)$]] -0 + + +<$select tiddler="$:/temp/commander/title-remove-chars" default="0" class="cmd-sl"> +<$list filter="[subfilterlength[]minall[]subtract[1]] -Infinity" variable="minchars"> +<$list filter=<> > + + + +
+ +<$button class="cmd-btn cmd-btn-wd"> First n characters +<$macrocall + $name="remove-chars-from-begining-tiltle-bulk" + num={{$:/temp/commander/title-remove-chars}} /> + + +<$button class="cmd-btn cmd-btn-wd"> Last n characters +<$macrocall + $name="remove-chars-from-end-tiltle-bulk" + num={{$:/temp/commander/title-remove-chars}} /> + + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-prefix.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-prefix.tid new file mode 100644 index 0000000..71125c5 --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-prefix.tid @@ -0,0 +1,27 @@ +caption: Add remove prefix +tags: $:/tags/Commander/TitleOps +title: $:/plugins/kookma/commander/title/uicomp/add-remove-prefix +type: text/vnd.tiddlywiki + +<$edit-text +tiddler="$:/temp/commander/title-prefix" +tag="input" +default="" +class="cmd-txt-area" +placeholder=" prefix" +/>
+ +<$button class="cmd-btn cmd-btn-wd"> Add prefix +<$macrocall + $name="addPrefix-to-tiltle-bulk" + prefix={{$:/temp/commander/title-prefix}} +/> + + +<$button class="cmd-btn cmd-btn-wd"> Remove prefix +<$macrocall + $name="removePrefix-from-tiltle-bulk" + prefix={{$:/temp/commander/title-prefix}} +/> + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-suffix.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-suffix.tid new file mode 100644 index 0000000..7b4554a --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_title_uicomp_add-remove-suffix.tid @@ -0,0 +1,24 @@ +caption: Add remove suffix +list-after: $:/plugins/kookma/commander/title/uicomp/add-remove-prefix +tags: $:/tags/Commander/TitleOps +title: $:/plugins/kookma/commander/title/uicomp/add-remove-suffix +type: text/vnd.tiddlywiki + +<$edit-text +tiddler="$:/temp/commander/title-suffix" +tag="input" default="" +class="cmd-txt-area" placeholder=" suffix" />
+ +<$button class="cmd-btn cmd-btn-wd"> Add suffix +<$macrocall + $name="addSuffix-to-tiltle-bulk" + suffix={{$:/temp/commander/title-suffix}} /> + + +<$button class="cmd-btn cmd-btn-wd"> Remove suffix +<$macrocall + $name="removeSuffix-from-tiltle-bulk" + suffix={{$:/temp/commander/title-suffix}} +/> + + diff --git a/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_viewtemplate_import.tid b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_viewtemplate_import.tid new file mode 100644 index 0000000..b49b55f --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/$__plugins_kookma_commander_viewtemplate_import.tid @@ -0,0 +1,9 @@ +tags: $:/tags/ViewTemplate +title: $:/plugins/kookma/commander/viewtemplate/import +type: text/vnd.tiddlywiki + +<$list filter="[all[current]match[$:/Import]status[complete]]" variable="null"> +<$button actions="""<$action-setfield $tiddler="$:/temp/commander/search-box" text="[[$:/Import]links[]]"/><$action-navigate $to="$:/Commander"/>"""> +{{$:/plugins/kookma/commander/images/commander.svg}} Batch edit + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/commander/plugin.info b/Wiki-OcttKB/plugins/commander/plugin.info new file mode 100644 index 0000000..d19cefc --- /dev/null +++ b/Wiki-OcttKB/plugins/commander/plugin.info @@ -0,0 +1,13 @@ +{ + "title": "$:/plugins/kookma/commander", + "name": "Tiddler Commander", + "description": "Tiddler Commander", + "author": "Mohammad Rahmani", + "version": "2.1.4", + "core-version": ">=5.2.0", + "source": "https://github.com/kookma/TW-Commander", + "list": "readme license history", + "plugin-type": "plugin", + "parent-plugin": "", + "dependents": "" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_about.tid b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_about.tid new file mode 100644 index 0000000..4b3e4db --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_about.tid @@ -0,0 +1,26 @@ +created: 20200603211101398 +modified: 20200603211101398 +tags: +title: $:/plugins/telmiger/details/about + +Create HTML 5 `
` elements including a `` using this widget. + +<$details summary="The details element – W3C definition"> + +<<< +The [[details|http://w3c.github.io/html/interactive-elements.html#elementdef-details]] element represents a disclosure widget from which the user can obtain additional information or controls. +<<< W3C + + + +<$details summary="Code example" open="no"> + +``` +<$details summary="This should be open" open="yes"> + +Content will be immediately visible if open is set to "yes". + + +``` + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_colours.css.tid b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_colours.css.tid new file mode 100644 index 0000000..1d510a8 --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_colours.css.tid @@ -0,0 +1,32 @@ +created: 20180925155320737 +creator: Thomas Elmiger +modified: 20180926204140772 +modifier: Thomas Elmiger +tags: $:/tags/Stylesheet +title: $:/plugins/telmiger/details/colours.css + +/* details and summary colours */ + +details { + background-color: <>; + color: <>; +} + +details summary { + background-color: <>; +} + +details.notification summary { + background-color: <>; + /* TW leaves color undefined/uses foreground */ +} + +details.warning summary { + background-color: #ffbbaf; + color: #000; +} + +details.success summary { + background-color: #88edc5; + color: #000; +} diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.css.tid b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.css.tid new file mode 100644 index 0000000..362ea5e --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.css.tid @@ -0,0 +1,44 @@ +created: 20170122140815442 +creator: Thomas Elmiger +modified: 20180929131615369 +modifier: Thomas Elmiger +tags: $:/tags/Stylesheet +title: $:/plugins/telmiger/details/details.css + +/* details and summary */ + +details { + transition: height 1s ease; + padding: 0 0.5em 0 0.66em; + margin-top: 0.66em; + margin-bottom: 0.66em; +} + +details + details { + margin-top: -0.46em; +} + +details[open] { + padding-bottom: 1em; +} + +details:not([open]) { + cursor: pointer; +} + +details > summary { + display: list-item; + margin: 0 -0.5em 0 -0.66em; + padding: 0.2em 0.5em 0.2em 0.66em; + padding-left: 1.76em; /* adjust for indentation */ + text-indent: -1.1em; + cursor: pointer; +} + +details[open] > summary { + margin-bottom: 1em; +} + +details[open] > *:first-child:not(summary) { + margin-top: 1em; +} diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.js b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.js new file mode 100644 index 0000000..895628f --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.js @@ -0,0 +1,247 @@ +/*\ +title: $:/plugins/telmiger/details/details.js +type: application/javascript +module-type: widget + +Details widget v 0.8 + +Will output an HTML 5
section including a + +``` +
+ This sums it up + All the details follow here. +
+``` + +|Parameter |Description |h +|summary |Optional text to display as summary. Wins over field (see below). | +|open |Optional initial state, set to "open" to show details on load. Defaults to "". | +|state |An optional TextReference containing the state. Wins over open. | +|field |Optionally, the summary is taken from the field with this name in a given tiddler. Defaults to "title". | +|tiddler |Optional title of a tiddler to watch, connected to field. Defaults to current tiddler. | +|class |Optional CSS classes to be assigned to the details tag. | + + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +var Widget = require("$:/core/modules/widgets/widget.js").widget; + +var DetailsWidget = function(parseTreeNode,options) { + this.initialise(parseTreeNode,options); +}; + +/* +Inherit from the base widget class +*/ +DetailsWidget.prototype = new Widget(); + +/* +Render this widget into the DOM +*/ +DetailsWidget.prototype.render = function(parent,nextSibling) { + // Save the parent dom node + this.parentDomNode = parent; + // Compute attributes + this.computeAttributes(); + // Execute logic + this.execute(); + // Create elements + this.detailsDomNode = this.document.createElement("details"); + if(this.detailsClass !== "") { + // this.detailsClass += " "; + // this.detailsClass += "tc-details"; + this.detailsDomNode.setAttribute("class",this.detailsClass); + } + if(this.detailsOpen == "open") { + this.detailsDomNode.setAttribute("open","open"); + } + if(this.detailsSummary !== "") { + this.summaryDomNode = this.document.createElement("summary"); + // this.summaryDomNode.setAttribute("class","tc-summary"); + this.detailsDomNode.appendChild(this.summaryDomNode); + this.summaryDomNode.appendChild(this.document.createTextNode(this.detailsSummary)); + } +// register an event listener +/* Maybe this can be reactivated later, see below. + if(this.detailsStateTitle) { + $tw.utils.addEventListeners(this.detailsDomNode,[ + {name: "toggle", handlerObject: this, handlerMethod: "handleToggleEvent"}, + ]); + } +*/ +// As iOS mobile browsers lack support of toggle events on details +// we emulate the toggle event using click + if(this.detailsStateTitle && this.summaryDomNode) { + $tw.utils.addEventListeners(this.summaryDomNode,[ + {name: "click", handlerObject: this, handlerMethod: "handleToggleEvent"}, + ]); + } else { + if(this.detailsStateTitle) { + $tw.utils.addEventListeners(this.detailsDomNode,[ + {name: "click", handlerObject: this, handlerMethod: "handleToggleEvent"}, + ]); + } + } + // Insert the details into the DOM and render any children + this.parentDomNode.insertBefore(this.detailsDomNode,nextSibling); + this.renderChildren(this.detailsDomNode,null); + this.domNodes.push(this.detailsDomNode); +}; + +/* +Retrieve the value of the summary +*/ +DetailsWidget.prototype.getSummary = function() { + var summary = ""; + if(this.summaryTitle === "Tiddler not found" && this.summaryField === "") { + // nothing defined: leave empty + summary = ""; + } else { + // tiddler defined? use defined field or title + if(this.myTiddler) { + if(this.summaryField === "title" || this.summaryField === "") { + summary = this.summaryTitle; + } else { + if(this.summaryField === "text") { + // getTiddlerText() triggers lazy loading of skinny tiddlers + summary = this.wiki.getTiddlerText(this.summaryTitle); + } else { + summary = this.myTiddler.fields[this.summaryField]; + } + } + } else { + if(this.summaryField !== "" && this.summaryField !== "text") { + // try defined field in current tiddler + var tiddler = this.wiki.getTiddler(this.getVariable("currentTiddler")); + summary = tiddler.fields[this.summaryField]; + } else { + summary = ""; + } + } + } + return summary; +}; + +/* +Retrieve the value of the state text reference +*/ +DetailsWidget.prototype.getStateFromReference = function() { + var state = this.detailsStateTitle ? this.wiki.getTextReference(this.detailsStateTitle,"",this.getVariable("currentTiddler")) : ""; + return state; +}; + +/* +Check all open signals, state fields/tiddlers get priority +*/ +DetailsWidget.prototype.getOpenState = function() { + var result = ""; + if((this.detailsOpenDefault !== "" && this.detailsOpenDefault !== "no") + || this.detailsState === "open") { + result = "open"; + } + if(this.detailsStateTitle !=="" && this.detailsState !== "open") { + result = ""; + } + return result; +}; + +/* +Update the state text reference after click event +*/ +DetailsWidget.prototype.updateState = function(openState) { + var fieldValue = "false"; + var currentTiddler = this.getVariable("currentTiddler"); + // get the title for the (existing/new) tiddler + var tr = $tw.utils.parseTextReference(this.detailsStateTitle); + var tidTitle = tr.title || currentTiddler; + // is it an existing state tiddler? + var isStateTiddler = (tr.title === this.detailsStateTitle); + var hasStateTiddler = this.wiki.tiddlerExists(tr.title); + var currentStateTiddler = (tr.title === currentTiddler); + if(isStateTiddler || hasStateTiddler || (currentStateTiddler && tr.field !== "text")) { + // Set the state field (but never overwrite the current tiddler’s text field + this.wiki.setText(tidTitle,tr.field,tr.index,openState); + } else { + if(!hasStateTiddler && tidTitle !== currentTiddler) { + this.createTiddler(tidTitle); + this.wiki.setText(tidTitle,tr.field,tr.index,openState); + } else { + console.log ("Something went wrong in updateState"); + } + } +}; + +/* +Create a tiddler with a title only +*/ +DetailsWidget.prototype.createTiddler = function(tidTitle) { + this.wiki.addTiddler(new $tw.Tiddler( + this.wiki.getCreationFields(), + this.wiki.getModificationFields(), + { + title: tidTitle, + tags: [] + } + )); +}; + +/* +Set openState according to click +*/ +DetailsWidget.prototype.handleToggleEvent = function(event) { + // check if an open attribute is present + var newState = this.detailsDomNode.open ? "" : "open"; + // update only, if the node has a new state + if(newState !== this.detailsState) { + this.updateState(newState); + } +}; + +/* +Compute the internal state of the widget +*/ +DetailsWidget.prototype.execute = function() { + // Get the parameters from the attributes + var tryTiddler = this.getAttribute("tiddler"); + this.myTiddler = this.wiki.getTiddler(tryTiddler); + this.summaryTitle = this.myTiddler ? tryTiddler : "Tiddler not found"; + this.summaryField = this.getAttribute("field",""); + this.detailsSummary = this.getAttribute("summary") || this.getSummary(); + this.detailsStateTitle = this.getAttribute("state",""); + this.detailsState = this.getStateFromReference(); + this.detailsOpenDefault = this.getAttribute("open",""); + this.detailsOpen = this.getOpenState(); + this.detailsClass = this.getAttribute("class",""); + // Construct the child widgets + this.makeChildWidgets(); +}; + +/* +Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering +*/ +DetailsWidget.prototype.refresh = function(changedTiddlers) { + var changedAttributes = this.computeAttributes(); + if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.summary || changedAttributes.state || changedAttributes.open || changedAttributes["class"]) { + this.refreshSelf(); + return true; + } else { + var refreshed = false; + var testState = this.getStateFromReference(); + if(testState !== this.detailsState) { + // state change + this.refreshSelf(); + refreshed = true; + } + return this.refreshChildren(changedTiddlers) || refreshed; + } +}; + +exports.details = DetailsWidget; + +})(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.js.meta b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.js.meta new file mode 100644 index 0000000..8728470 --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_details.js.meta @@ -0,0 +1,8 @@ +created: 20170124173619910 +creator: Thomas Elmiger +modified: 20180929212032187 +modifier: Thomas Elmiger +module-type: widget +tags: Plugins +title: $:/plugins/telmiger/details/details.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_icon.tid b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_icon.tid new file mode 100644 index 0000000..2e9830f --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_icon.tid @@ -0,0 +1,10 @@ +created: 20170205205314072 +modified: 20171219183752113 +tags: +title: $:/plugins/telmiger/details/icon + +T + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_license.tid b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_license.tid new file mode 100644 index 0000000..ddd0cad --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_license.tid @@ -0,0 +1,17 @@ +created: 20170205213335455 +modified: 20170205214435064 +tags: +title: $:/plugins/telmiger/details/license + +!! Plugin license +!!!The MIT License (MIT) + +``` +Copyright © 2017/2018 Thomas Elmiger – thomas-elmiger.ch + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_readme.tid b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_readme.tid new file mode 100644 index 0000000..9d8d404 --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_readme.tid @@ -0,0 +1,10 @@ +created: 20170205212323032 +modified: 20200603211110057 +tags: +title: $:/plugins/telmiger/details/readme + +! ~DetailsWidget + +{{$:/plugins/telmiger/details/about}} + +Documentation can be found at http://tid.li/tw5/plugins.html#DetailsWidget diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_support.tid b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_support.tid new file mode 100644 index 0000000..c263c15 --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_details_support.tid @@ -0,0 +1,6 @@ +created: 20200603204816640 +modified: 20220425065858878 +tags: +title: $:/plugins/telmiger/details/support + +{{$:/plugins/telmiger/support}} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/details/$__plugins_telmiger_support.tid b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_support.tid new file mode 100644 index 0000000..a32226b --- /dev/null +++ b/Wiki-OcttKB/plugins/details/$__plugins_telmiger_support.tid @@ -0,0 +1,41 @@ +created: 20181103150753927 +creator: Thomas Elmiger +modified: 20181104091650389 +modifier: Thomas Elmiger +tags: +title: $:/plugins/telmiger/support + +!! Support the Author + +''Hi!'' I’m Thomas, the author of [[tid.li/tw5/plugins.html|https://tid.li/tw5/plugins.html]]. Feedback is always welcome, as well as funding for maintenance, support and new projects :) + +--- + +!!! One Time Support + +If using my plugins just makes you happy, consider a one time payment via ~PayPal to reward the effort: + +https://www.paypal.me/telmiger + +--- + +!!! Permanent Support + +If my tools make you more productive or save you time in your job or your everyday life, you can support me as a Patron: + +https://www.patreon.com/telmiger + +--- + +!!! Thank You + +Substantial parts of my availabe time go to the deveopment of useful plugins for [[TiddlyWiki|https://tiddlywiki.com/]]. – Many others do the same and I would like to thank them all, especially [[Jeremy Ruston|https://tiddlywiki.com/#JeremyRuston]] and all the active members of the community! + +//Hereby I promise to share future revenues (if any) with other developers who’s works I use or who inspired me.// + +If you like my work, I would be very happy to hear from you. + +''Thank you very much for your support!''
+//Thomas// + +https://thomas-elmiger.ch \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/details/plugin.info b/Wiki-OcttKB/plugins/details/plugin.info new file mode 100644 index 0000000..61f717a --- /dev/null +++ b/Wiki-OcttKB/plugins/details/plugin.info @@ -0,0 +1,14 @@ +{ + "created": "20170205215504722", + "title": "$:/plugins/telmiger/details", + "author": "Thomas Elmiger", + "core-version": "5.1.13", + "description": "Disclosure HTML element", + "list": "readme license support", + "modified": "20220426222014097", + "name": "DetailsWidget", + "plugin-type": "plugin", + "source": "https://tid.li/tw5/plugins.html", + "version": "0.7.6", + "dependents": "" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_LICENSE.txt b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_LICENSE.txt new file mode 100644 index 0000000..24770d5 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_LICENSE.txt @@ -0,0 +1,22 @@ + +MIT License + +Copyright (c) 2023 Gk0Wk(nmg_wk@yeah.net) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_LICENSE.txt.meta b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_LICENSE.txt.meta new file mode 100644 index 0000000..693b154 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_LICENSE.txt.meta @@ -0,0 +1,2 @@ +title: $:/plugins/Gk0Wk/echarts/LICENSE +type: text/plain \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_Snippets_TheBrain.tid b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_Snippets_TheBrain.tid new file mode 100644 index 0000000..cdf0a58 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_Snippets_TheBrain.tid @@ -0,0 +1,6 @@ +caption: Add a new Graph Chart, "levels" (default to 1) controls how many levels will it reach from "focussedTiddler" (default to $:/temp/focussedTiddler); "graphTitle" decided the title of the chart +tags: $:/tags/TextEditor/Snippet +title: $:/plugins/Gk0Wk/echarts/Snippets/TheBrain +type: text/vnd.tiddlywiki + +<$echarts $tiddler="$:/plugins/Gk0Wk/echarts/addons/TheBrain.js" aliasField="caption" levels=2 focussedTiddler="Index" graphTitle="Graph" /> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_GitHubHeatMap.js.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_GitHubHeatMap.js.json new file mode 100644 index 0000000..1101b6d --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_GitHubHeatMap.js.json @@ -0,0 +1,10 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/addons/GitHubHeatMap.js", + "text": "\"use strict\";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(t,r,a,o)=>{if(r&&\"object\"==typeof r||\"function\"==typeof r)for(let e of __getOwnPropNames(r))__hasOwnProp.call(t,e)||e===a||__defProp(t,e,{get:()=>r[e],enumerable:!(o=__getOwnPropDesc(r,e))||o.enumerable});return t},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,\"default\",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},\"__esModule\",{value:!0}),e),GitHubHeatMap_exports={},ECharts=(__export(GitHubHeatMap_exports,{\"default\":()=>GitHubHeatMap_default}),module.exports=__toCommonJS(GitHubHeatMap_exports),__toESM(require(\"$:/plugins/Gk0Wk/echarts/echarts.min.js\"))),getFilterByDate=(e,t)=>`[all[tiddlers]sameday:created[${e}]][all[tiddlers]sameday:modified[${e}]] +${t} +[sort[]]`,yearDates=new Map,dayTime=864e5,getData=(t,a)=>{if(!yearDates.has(t)){var r=ECharts.number.parseDate(t+\"-01-01\").getTime(),o=ECharts.number.parseDate(t+1+\"-01-01\").getTime(),l=[];for(let e=r;e{var r=$tw.wiki.filterTiddlers(getFilterByDate(t,a)).length;return n+=r,[e,r]}),n]},getPlatteColor=e=>$tw.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",`<$transclude tiddler={{$:/palette}} index=\"${e}\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"${e}\"><$transclude tiddler=\"$:/config/DefaultColourMappings/${e}\"/>`,{}),checkIfChinese=()=>{var e;return!0===(null==(e=$tw.wiki.getTiddlerText(\"$:/language\"))?void 0:e.includes(\"zh\"))},checkIfDarkMode=()=>{var e;return\"dark\"===(null==(e=null==(e=$tw.wiki.getTiddler($tw.wiki.getTiddlerText(\"$:/palette\")))?void 0:e.fields)?void 0:e[\"color-scheme\"])},GitHubHeatMapAddon={shouldUpdate:(e,t)=>0<$tw.utils.count(t),onUpdate:(e,t,r)=>{var a=parseInt(r.year,10)||(new Date).getFullYear();const p=r.subfilter||\"[!is[shadow]!prefix[$:/]]\";var[o,l]=getData(a,p);let i=\"\",d=0,n;e.setOption({title:{top:0,left:\"center\",text:checkIfChinese()?`今年产出 ${l} 篇文章`:`Produced ${l} tiddlers this year`},tooltip:{position:\"top\",formatter:({value:[e,t]})=>(e===i&&t===d&&n||(n=((e,t)=>{if(0===t)return checkIfChinese()?ECharts.format.formatTime(\"yyyy年M月d日\",e)+\" 无条目。\":$tw.utils.formatDateString($tw.utils.parseDate(e.replace(/-/g,\"\")),\"MMM DDD, YYYY\")+\" no tiddler.\";var r=$tw.utils.domMaker(\"p\",{text:checkIfChinese()?ECharts.format.formatTime(\"yyyy年M月d日\",e)+` 共有 ${t} 篇:`:$tw.utils.formatDateString($tw.utils.parseDate(e.replace(/-/g,\"\")),\"MMM DDD, YYYY\")+` ${t} tiddler${1(new $tw.Story).navigateTiddler(s)),i.appendChild(d),a.appendChild(i)}return[r,a]})(e,t),i=e,d=t),n),triggerOn:\"mousemove|click\",enterable:!0,hideDelay:800,backgroundColor:getPlatteColor(\"page-background\"),borderColor:getPlatteColor(\"very-muted-foreground\")},visualMap:{type:\"piecewise\",orient:\"horizontal\",calculable:!0,showLabel:!1,right:0,top:175,pieces:[{lte:0,color:checkIfDarkMode()?\"#161B22\":\"#EBEDF0\"},{gt:0,lte:3,color:\"#0E4429\"},{gt:3,lte:7,color:\"#006D32\"},{gt:7,lte:15,color:\"#26A641\"},{gt:15,color:\"#39D353\"}]},calendar:{top:60,left:0,right:0,cellSize:15,orient:\"horizontal\",range:a,itemStyle:{borderWidth:3,borderCap:\"round\",borderJoin:\"round\",borderColor:getPlatteColor(\"background\")},splitLine:{show:!1},dayLabel:{show:!0,nameMap:checkIfChinese()?\"ZH\":\"EN\"},monthLabel:{show:!0,nameMap:checkIfChinese()?\"ZH\":\"EN\"},yearLabel:{show:!0,position:\"bottom\",margin:12,verticalAlign:\"top\"}},series:{type:\"heatmap\",coordinateSystem:\"calendar\",calendarIndex:0,data:o}})}},GitHubHeatMap_default=GitHubHeatMapAddon;", + "Modern.TiddlyDev#IncludeSource": "true", + "Modern.TiddlyDev#Origin": "addons/Gk0Wk/GitHubHeatMap.ts", + "module-type": "echarts-component", + "type": "application/javascript" + } +] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_GitHubHeatMap.ts.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_GitHubHeatMap.ts.json new file mode 100644 index 0000000..241a8bb --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_GitHubHeatMap.ts.json @@ -0,0 +1,8 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/addons/GitHubHeatMap.ts", + "text": "import { IScriptAddon } from '../../scriptAddon';\nimport * as ECharts from '$:/plugins/Gk0Wk/echarts/echarts.min.js';\n\nconst getFilterByDate = (date: string, subfilter: string) =>\n `[all[tiddlers]sameday:created[${date}]][all[tiddlers]sameday:modified[${date}]] +${subfilter} +[sort[]]`;\nconst yearDates: Map = new Map();\nconst dayTime = 3600 * 24 * 1000;\nconst getData = (year: number, subfilter: string) => {\n if (!yearDates.has(year)) {\n const startDate = (ECharts as any).number\n .parseDate(`${year}-01-01`)\n .getTime();\n const endDate = (ECharts as any).number\n .parseDate(`${year + 1}-01-01`)\n .getTime();\n const dates: [string, string][] = [];\n for (let time = startDate; time < endDate; time += dayTime) {\n const timeFmt: string = (ECharts as any).format.formatTime(\n 'yyyy-MM-dd',\n time,\n );\n const timeTW = timeFmt.replace(/-/g, '');\n dates.push([timeFmt, timeTW]);\n }\n yearDates.set(year, dates);\n }\n let total = 0;\n return [\n yearDates.get(year)!.map(([timeFmt, timeTW]) => {\n const count = $tw.wiki.filterTiddlers(\n getFilterByDate(timeTW, subfilter),\n ).length;\n total += count;\n return [timeFmt, count];\n }),\n total,\n ] as [[string, number][], number];\n};\n\nconst getPlatteColor = (name: string) =>\n $tw.wiki.renderText(\n 'text/plain',\n 'text/vnd.tiddlywiki',\n `<$transclude tiddler={{$:/palette}} index=\"${name}\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"${name}\"><$transclude tiddler=\"$:/config/DefaultColourMappings/${name}\"/>`,\n {},\n );\n\nconst checkIfChinese = () =>\n $tw.wiki.getTiddlerText('$:/language')?.includes('zh') === true;\n\nconst checkIfDarkMode = () =>\n $tw.wiki.getTiddler($tw.wiki.getTiddlerText('$:/palette')!)?.fields?.[\n 'color-scheme'\n ] === 'dark';\n\nconst GitHubHeatMapAddon: IScriptAddon = {\n shouldUpdate: (_, changedTiddlers) => $tw.utils.count(changedTiddlers) > 0,\n onUpdate: (myChart, _state, addonAttributes) => {\n const year = parseInt(addonAttributes.year, 10) || new Date().getFullYear();\n const subfilter = addonAttributes.subfilter || '[!is[shadow]!prefix[$:/]]';\n const [data, total] = getData(year, subfilter);\n const tooltipFormatter = (dateValue: string, count: number) => {\n if (count === 0) {\n return checkIfChinese()\n ? `${(ECharts as any).format.formatTime(\n 'yyyy年M月d日',\n dateValue,\n )} 无条目。`\n : `${$tw.utils.formatDateString(\n $tw.utils.parseDate(dateValue.replace(/-/g, ''))!,\n 'MMM DDD, YYYY',\n )} no tiddler.`;\n }\n const p = $tw.utils.domMaker('p', {\n text: checkIfChinese()\n ? `${(ECharts as any).format.formatTime(\n 'yyyy年M月d日',\n dateValue,\n )} 共有 ${count} 篇:`\n : `${$tw.utils.formatDateString(\n $tw.utils.parseDate(dateValue.replace(/-/g, ''))!,\n 'MMM DDD, YYYY',\n )} ${count} tiddler${count > 1 ? 's' : ''}.`,\n });\n const ul = $tw.utils.domMaker('ul', {});\n const tiddlers = $tw.wiki.filterTiddlers(\n getFilterByDate(dateValue.replace(/-/g, ''), subfilter),\n );\n const len = tiddlers.length;\n for (let i = 0; i < len; i++) {\n const tiddler = tiddlers[i];\n const li = $tw.utils.domMaker('li', {});\n const a = $tw.utils.domMaker('a', {\n text: tiddler,\n class:\n 'tc-tiddlylink tc-tiddlylink-resolves tc-popup-handle tc-popup-absolute',\n style: {\n cursor: 'pointer',\n },\n });\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n a.addEventListener('click', () =>\n new $tw.Story().navigateTiddler(tiddler),\n );\n li.appendChild(a);\n ul.appendChild(li);\n }\n return [p, ul];\n };\n let lastDateValue = '';\n let lastCount = 0;\n let cache: Element[] | string | undefined;\n const cachedTooltipFormatter = ({\n value: [dateValue, count],\n }: {\n value: [string, number];\n }) => {\n if (dateValue !== lastDateValue || count !== lastCount || !cache) {\n cache = tooltipFormatter(dateValue, count);\n lastDateValue = dateValue;\n lastCount = count;\n }\n return cache;\n };\n myChart.setOption({\n title: {\n top: 0,\n left: 'center',\n text: checkIfChinese()\n ? `今年产出 ${total} 篇文章`\n : `Produced ${total} tiddlers this year`,\n },\n tooltip: {\n position: 'top',\n formatter: cachedTooltipFormatter,\n triggerOn: 'mousemove|click',\n enterable: true,\n hideDelay: 800,\n backgroundColor: getPlatteColor('page-background'),\n borderColor: getPlatteColor('very-muted-foreground'),\n },\n visualMap: {\n type: 'piecewise',\n orient: 'horizontal',\n calculable: true,\n showLabel: false,\n right: 0,\n top: 175,\n pieces: [\n // 设置分段范围\n { lte: 0, color: checkIfDarkMode() ? '#161B22' : '#EBEDF0' },\n { gt: 0, lte: 3, color: '#0E4429' },\n { gt: 3, lte: 7, color: '#006D32' },\n { gt: 7, lte: 15, color: '#26A641' },\n { gt: 15, color: '#39D353' },\n ],\n },\n calendar: {\n top: 60,\n left: 0,\n right: 0,\n cellSize: 15,\n orient: 'horizontal',\n range: year,\n itemStyle: {\n borderWidth: 3,\n borderCap: 'round',\n borderJoin: 'round',\n borderColor: getPlatteColor('background'),\n },\n splitLine: {\n show: false,\n },\n dayLabel: {\n show: true,\n nameMap: checkIfChinese() ? 'ZH' : 'EN',\n },\n monthLabel: {\n show: true,\n nameMap: checkIfChinese() ? 'ZH' : 'EN',\n },\n yearLabel: {\n show: true,\n position: 'bottom',\n margin: 12,\n verticalAlign: 'top',\n },\n },\n series: {\n type: 'heatmap',\n coordinateSystem: 'calendar',\n calendarIndex: 0,\n data,\n },\n } as any);\n },\n};\n\nexport default GitHubHeatMapAddon;\n", + "Modern.TiddlyDev#IncludeSource": "true", + "type": "application/javascript" + } +] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_PluginsSize.tid b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_PluginsSize.tid new file mode 100644 index 0000000..028895e --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_PluginsSize.tid @@ -0,0 +1,58 @@ +title: $:/plugins/Gk0Wk/echarts/addons/PluginsSize +type: text/vnd.tiddlywiki + +`{ + "tooltip": { + "trigger": "item" + }, + "series": [ + { + "type": "treemap", + "visibleMin": 300, + "name": "Plugin Size", + "leafDepth": 1, + "data": [ +` +<$list filter="[!plugin-type[]!title[$:/core]!title[$:/temp/info-plugin]]" variable="pluginName" counter="counter1"> +` { + "name": "`<$list filter="[has[name]]"><$text text={{{ [get[name]] }}}/><$list filter="[!has[name]]"><$text text={{{ [has[name]elsesplit[/]nth[4]] }}}/>`", + "value": `<$text text={{{ [get[text]length[]else[0]] }}}/>`, + "children": [ +` +<$list filter="[plugintiddlers[]]" variable="pluginShadow" counter="counter2"> +` { + "name": "`<$text text={{{ [removeprefixremoveprefix[/]else] }}}/>`", + "value": `<$text text={{{ [get[text]length[]else[0]] }}}/>` + }`<$list filter="[match[no]]">`,`` +` + +` ] + }`<$list filter="[match[no]]">`,`` +` + +` + ], + "levels": [ + { + "itemStyle": { + "borderColor": "#555", + "borderWidth": 4, + "gapWidth": 4 + } + }, + { + "colorSaturation": [0.3, 0.6], + "itemStyle": { + "borderColorSaturation": 0.7, + "gapWidth": 2, + "borderWidth": 2 + } + } + ], + "upperLabel": { + "show": true, + "height": 30 + } + } + ] +}` diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_SimpleExample.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_SimpleExample.json new file mode 100644 index 0000000..a6f507f --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_SimpleExample.json @@ -0,0 +1,19 @@ +{ + "xAxis": { + "type": "category", + "data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] + }, + "yAxis": { + "type": "value" + }, + "series": [ + { + "data": [120, 200, 150, 80, 70, 110, 130], + "type": "bar", + "showBackground": true, + "backgroundStyle": { + "color": "rgba(180, 180, 180, 0.2)" + } + } + ] +} diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_SimpleExample.json.meta b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_SimpleExample.json.meta new file mode 100644 index 0000000..51eab4d --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_SimpleExample.json.meta @@ -0,0 +1,2 @@ +title: $:/plugins/Gk0Wk/echarts/addons/SimpleExample.json +type: application/json \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloud.js.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloud.js.json new file mode 100644 index 0000000..347c730 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloud.js.json @@ -0,0 +1,10 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/addons/TagCloud.js", + "text": "\"use strict\";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(t,e)=>{for(var o in e)__defProp(t,o,{get:e[o],enumerable:!0})},__copyProps=(e,o,r,a)=>{if(o&&\"object\"==typeof o||\"function\"==typeof o)for(let t of __getOwnPropNames(o))__hasOwnProp.call(e,t)||t===r||__defProp(e,t,{get:()=>o[t],enumerable:!(a=__getOwnPropDesc(o,t))||a.enumerable});return e},__toCommonJS=t=>__copyProps(__defProp({},\"__esModule\",{value:!0}),t),TagCloud_exports={},getPlatteColor=(__export(TagCloud_exports,{\"default\":()=>TagCloud_default}),module.exports=__toCommonJS(TagCloud_exports),t=>$tw.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",`<$transclude tiddler={{$:/palette}} index=\"${t}\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"${t}\"><$transclude tiddler=\"$:/config/DefaultColourMappings/${t}\"/>`,{})),addon={shouldUpdate:(t,e)=>0<$tw.utils.count(e),onUpdate:t=>{const r=new Map;let e=\"\",o;var a=t.getOption();const l=!0===a.darkMode;a=a.filter||\"[tags[]!is[system]sort[title]]\",l,l,r.clear(),a=$tw.wiki.filterTiddlers(a).map(t=>({name:t,value:Math.sqrt($tw.wiki.getTiddlersWithTag(t).length),textStyle:{color:(e=>{if(!r.get(e)){var o=[];for(let t=0;t<3;t++)o.push(l?255-Math.round(160*Math.random()):Math.round(160*Math.random()));r.set(e,`rgb(${o.join(\",\")})`)}return r.get(e)})(t)}}));t.setOption({series:[{type:\"wordCloud\",gridSize:4,shape:\"pentagon\",data:a,layoutAnimation:!0,textStyle:{fontFamily:\"sans-serif\",fontWeight:\"bold\"},emphasis:{focus:\"self\",textStyle:{textShadowBlur:10,textShadowColor:\"#333\"}}}],tooltip:{position:\"top\",formatter:({data:{name:t}})=>(t===e&&o||(o=(t=>{var e=$tw.utils.domMaker(\"ul\",{}),o=$tw.wiki.getTiddlersWithTag(t),r=o.length;for(let d=0;d(new $tw.Story).navigateTiddler(n)),a.appendChild(l),e.appendChild(a)}return[e]})(t),e=t),o),triggerOn:\"mousemove|click\",enterable:!0,hideDelay:800,textStyle:{color:\"inherit\",fontFamily:\"inherit\",fontSize:\"inherit\"},backgroundColor:getPlatteColor(\"page-background\"),borderColor:getPlatteColor(\"very-muted-foreground\")}})}},TagCloud_default=addon;", + "Modern.TiddlyDev#IncludeSource": "true", + "Modern.TiddlyDev#Origin": "addons/Gk0Wk/TagCloud.ts", + "module-type": "echarts-component", + "type": "application/javascript" + } +] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloud.ts.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloud.ts.json new file mode 100644 index 0000000..a528126 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloud.ts.json @@ -0,0 +1,8 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/addons/TagCloud.ts", + "text": "import type { IScriptAddon } from '../../scriptAddon';\n\nconst getPlatteColor = (name: string) =>\n $tw.wiki.renderText(\n 'text/plain',\n 'text/vnd.tiddlywiki',\n `<$transclude tiddler={{$:/palette}} index=\"${name}\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"${name}\"><$transclude tiddler=\"$:/config/DefaultColourMappings/${name}\"/>`,\n {},\n );\nconst addon: IScriptAddon = {\n shouldUpdate: (_state, changedTiddlers) => {\n return $tw.utils.count(changedTiddlers) > 0;\n },\n // See https://github.com/ecomfe/echarts-wordcloud\n onUpdate: myChart => {\n let previousDarkMode;\n const colorCache = new Map();\n const getColor = (tag: string) => {\n if (!colorCache.get(tag)) {\n const rgb = [];\n for (let i = 0; i < 3; i++) {\n rgb.push(\n isDarkMode\n ? 255 - Math.round(Math.random() * 160)\n : Math.round(Math.random() * 160),\n );\n }\n colorCache.set(tag, `rgb(${rgb.join(',')})`);\n }\n return colorCache.get(tag);\n };\n const tooltipFormatter = (tag: string) => {\n const ul = $tw.utils.domMaker('ul', {});\n const tiddlers = $tw.wiki.getTiddlersWithTag(tag);\n const len = tiddlers.length;\n for (let i = 0; i < len; i++) {\n const tiddler = tiddlers[i];\n const li = $tw.utils.domMaker('li', {});\n const a = $tw.utils.domMaker('a', {\n text: tiddler,\n class:\n 'tc-tiddlylink tc-tiddlylink-resolves tc-popup-handle tc-popup-absolute',\n style: {\n cursor: 'pointer',\n },\n });\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n a.addEventListener('click', () =>\n new $tw.Story().navigateTiddler(tiddler),\n );\n li.appendChild(a);\n ul.appendChild(li);\n }\n return [ul];\n };\n let lastTag = '';\n let cache: Element[] | string | undefined;\n const cachedTooltipFormatter = ({\n data: { name },\n }: {\n data: { name: string };\n }) => {\n if (name !== lastTag || !cache) {\n cache = tooltipFormatter(name);\n lastTag = name;\n }\n return cache;\n };\n const chartOptions = myChart.getOption();\n const isDarkMode = (chartOptions as any).darkMode === true;\n const filter =\n (chartOptions as any).filter || '[tags[]!is[system]sort[title]]';\n if (previousDarkMode !== isDarkMode) {\n previousDarkMode = isDarkMode;\n colorCache.clear();\n }\n const data = $tw.wiki.filterTiddlers(filter).map(tag => ({\n name: tag,\n value: Math.sqrt($tw.wiki.getTiddlersWithTag(tag).length),\n textStyle: {\n color: getColor(tag),\n },\n }));\n myChart.setOption({\n series: [\n {\n type: 'wordCloud',\n gridSize: 4,\n shape: 'pentagon',\n data,\n layoutAnimation: true,\n textStyle: {\n fontFamily: 'sans-serif',\n fontWeight: 'bold',\n },\n emphasis: {\n focus: 'self',\n textStyle: {\n textShadowBlur: 10,\n textShadowColor: '#333',\n },\n },\n },\n ],\n tooltip: {\n position: 'top',\n formatter: cachedTooltipFormatter,\n triggerOn: 'mousemove|click',\n enterable: true,\n hideDelay: 800,\n textStyle: {\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n },\n backgroundColor: getPlatteColor('page-background'),\n borderColor: getPlatteColor('very-muted-foreground'),\n },\n } as any);\n },\n};\n\nexport default addon;\n", + "Modern.TiddlyDev#IncludeSource": "true", + "type": "application/javascript" + } +] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloudTagView.tid b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloudTagView.tid new file mode 100644 index 0000000..000a203 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TagCloudTagView.tid @@ -0,0 +1,23 @@ +title: $:/plugins/Gk0Wk/echarts/addons/TagCloudTagView + +<$set name="tagName" value={{$:/temp/Gk0Wk/echarts/addons/TagCloud/currentTag}}> + +<$list filter="[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]" variable="lang"> +<$list filter="[search[zh]]"> + +!! 包含 <$link to=<>/> 标签的条目 + + + +<$list filter="[!search[zh]]"> + +!! Tiddlers tagged with <$link to=<>/> + + + + +
+<$macrocall $name="toc" tag=<> sort="sort[title]"/> +
+ + diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrain.js.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrain.js.json new file mode 100644 index 0000000..4580b9a --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrain.js.json @@ -0,0 +1,10 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/addons/TheBrain.js", + "text": "\"use strict\";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(t,i,o,r)=>{if(i&&\"object\"==typeof i||\"function\"==typeof i)for(let e of __getOwnPropNames(i))__hasOwnProp.call(t,e)||e===o||__defProp(t,e,{get:()=>i[e],enumerable:!(r=__getOwnPropDesc(i,e))||r.enumerable});return t},__toCommonJS=e=>__copyProps(__defProp({},\"__esModule\",{value:!0}),e),TheBrain_exports={},colors=(__export(TheBrain_exports,{\"default\":()=>TheBrain_default}),module.exports=__toCommonJS(TheBrain_exports),[\"#5470c6\",\"#91cc75\",\"#fac858\",\"#ee6666\",\"#73c0de\",\"#3ba272\",\"#fc8452\",\"#9a60b4\",\"#ea7ccc\"]),CategoriesEn=[\"Focusing\",\"History\",\"Link To\",\"Backlink From\",\"Tag To\",\"Tag By\",\"Transclude\"].map((e,t)=>({name:e,itemStyle:{color:colors[t%colors.length]}})),CategoriesZh=[\"聚焦\",\"历史\",\"链接\",\"反链\",\"标签\",\"作为标签\",\"嵌套\"].map((e,t)=>({name:e,itemStyle:{color:colors[t%colors.length]}})),attributes=new Set([\"focussedTiddler\",\"levels\",\"graphTitle\",\"aliasField\",\"excludeFilter\",\"previewDelay\"]),getPlatteColor=e=>$tw.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",`<$transclude tiddler={{$:/palette}} index=\"${e}\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"${e}\"><$transclude tiddler=\"$:/config/DefaultColourMappings/${e}\"/>`,{}),findIcon=e=>{var t,i=null==(i=$tw.wiki.getTiddler(e))?void 0:i.fields;if(null!=i&&i.icon)return(t=null==(t=$tw.wiki.getTiddler(i.icon))?void 0:t.fields)?t._canonical_uri?\"image://\"+t._canonical_uri:t.title.startsWith(\"$:/core/images/\")?void 0:`image://data:${t.type};base64,`+t.text:/^https?:\\/\\//.test(i.icon)?\"image://\"+i.icon:void 0},getAliasOrTitle=(e,t)=>{var i;return void 0===t||\"title\"===t?[e,Boolean($tw.wiki.getTiddler(e))]:(i=$tw.wiki.getTiddler(e))?[\"string\"==typeof(i=i.fields[t])?$tw.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",i,{variables:{currentTiddler:e}}):e,!0]:[e,!1]},TheBrainAddon={onMount:(e,t)=>(e.on(\"click\",{dataType:\"node\"},e=>{(new $tw.Story).navigateTiddler(e.data.name)}),{historyTiddlers:[],viewingTiddlers:new Set,focusing:t.focussedTiddler}),shouldUpdate:({viewingTiddlers:t,focusing:e,currentlyFocused:i},o,r)=>Object.keys(o).some(e=>t.has(e))||Object.keys(r).some(e=>attributes.has(e))||void 0===e&&$tw.wiki.getTiddlerText(\"$:/temp/focussedTiddler\")!==i,onUpdate:(r,l,d)=>{let s=d.focussedTiddler||$tw.wiki.getTiddlerText(\"$:/temp/focussedTiddler\");if(l.viewingTiddlers.clear(),l.focusing=d.focussedTiddler,l.currentlyFocused=s){l.viewingTiddlers.add(s),null!=(n=$tw.wiki.getTiddler(s))&&n.fields[\"draft.of\"]&&(s=$tw.wiki.getTiddler(s).fields[\"draft.of\"]);const T=[],b=[];var n=!0===(null==(n=$tw.wiki.getTiddlerText(\"$:/language\"))?void 0:n.includes(\"zh\"));let e=Number(d.levels);Number.isNaN(e)&&(e=1),e=Math.max(e,0);var g=d.graphTitle||(n?\"聚焦\":\"Focusing Map\");const v=\"\"===d.aliasField?void 0:d.aliasField,k=\"\"===d.excludeFilter?void 0:$tw.wiki.compileFilter(null!=(h=d.excludeFilter)?h:\"[prefix[$:/]]\"),$=new Map;T.push({name:s,category:0,label:{formatter:getAliasOrTitle(s,v)[0],fontWeight:\"bold\",fontSize:\"15px\"},symbol:findIcon(s),symbolSize:15,select:{disabled:!0},itemStyle:{opacity:1,borderColor:colors[0]+\"66\",borderWidth:15},isTag:!1,tooltip:{show:!1}});let a=[s];if(k){var u=new Set(a);for(const _ of k.call($tw.wiki,a))u[\"delete\"](_);a=Array.from(u)}$.set(s,!0),$.set(\"\",!1);for(var y=(e,t,i)=>{var o,r,l;return!(k&&0({name:x,label:{formatter:e},itemStyle:{opacity:t?1:.65},symbol:findIcon(x),category:2,isTag:!1}),e=>({source:S,target:x,lineStyle:{color:colors[2],type:e?\"solid\":\"dashed\"}}));for(const O of $tw.wiki.getTiddlerBacklinks(S))y(O,(e,t)=>({name:O,label:{formatter:e},itemStyle:{opacity:t?1:.65},symbol:findIcon(O),category:3,isTag:!1}),e=>({source:O,target:S,lineStyle:{color:colors[3],type:e?\"solid\":\"dashed\"}}));for(const P of null!=(m=null==(m=null==(m=$tw.wiki.getTiddler(s))?void 0:m.fields)?void 0:m.tags)?m:[])y(P,(e,t)=>({name:P,label:{formatter:e},itemStyle:{opacity:t?1:.65},symbol:findIcon(P),category:4,isTag:!0}),e=>({source:S,target:P,lineStyle:{color:colors[4],type:e?\"solid\":\"dashed\"}}));for(const C of $tw.wiki.getTiddlersWithTag(S))y(C,(e,t)=>({name:C,label:{formatter:e},itemStyle:{opacity:t?1:.65},symbol:findIcon(C),category:5,isTag:!1}),e=>({source:C,target:S,lineStyle:{color:colors[5],type:e?\"solid\":\"dashed\"}}));var m=$tw.wiki.getTiddler(S);if(m){m=m.fields.type||\"text/vnd.tiddlywiki\";if(\"text/vnd.tiddlywiki\"===m||\"text/x-markdown\"===m){const B=new Set,F=e=>{var t=e[\"length\"];for(let r=0;r({name:M,label:{formatter:e},itemStyle:{opacity:t?1:.65},symbol:findIcon(M),category:6,isTag:!1}),e=>({source:S,target:M,lineStyle:{color:colors[6],type:e?\"solid\":\"dashed\"}}))}}}}let t=s;var w=new Set;for(let o=l.historyTiddlers.length-2;0<=o;o--){const I=l.historyTiddlers[o];w.has(I)||I===t||I.startsWith(\"$:/\")||(y(I,(e,t)=>({name:I,label:{formatter:e,fontSize:\"10px\"},category:1,symbol:findIcon(I),symbolSize:3,itemStyle:{opacity:t?.65:.4},isTag:!1}),e=>({source:I,target:t,lineStyle:{color:colors[1],type:e?\"dashed\":\"dotted\",opacity:.5}})),t=I)}var h=l.historyTiddlers.indexOf(s);-1e.name),icon:\"circle\"}],title:{text:g,show:!0,top:\"bottom\",left:\"right\"},toolbox:{show:!0,left:0,bottom:0,feature:{restore:{},saveAsImage:{}}},tooltip:{position:\"top\",formatter:({data:{name:t,isTag:e},dataType:i})=>{if(\"node\"!==i)return[];if(t!==c||!p){var o=$tw.utils.domMaker(\"div\",{style:{maxWidth:\"40vw\",maxHeight:\"50vh\",overflowY:\"auto\",whiteSpace:\"normal\"},\"class\":\"gk0wk-echarts-thebrain-popuptiddler-container\"});if(e){var r=$tw.utils.domMaker(\"ul\",{}),l=$tw.wiki.getTiddlersWithTag(t),a=l.length;for(let e=0;e(new $tw.Story).navigateTiddler(n)),d.appendChild(s),r.appendChild(d)}p=[r]}else $tw.wiki.makeWidget($tw.wiki.parseTiddler(\"$:/plugins/Gk0Wk/echarts/addons/TheBrainPopup\"),{document:document,parseAsInline:!0,variables:{currentTiddler:t}}).render(o,null),p=[o,$tw.utils.domMaker(\"style\",{innerHTML:\".gk0wk-echarts-thebrain-popuptiddler-container::-webkit-scrollbar {display: none;} .gk0wk-echarts-thebrain-popuptiddler-container .tc-tiddler-controls { display: none; }\"})];c=t}return p},triggerOn:0<=i?\"mousemove\":\"none\",enterable:!0,showDelay:Math.max(0,i),hideDelay:800,confine:!0,textStyle:{color:\"inherit\",fontFamily:\"inherit\",fontSize:\"inherit\"},appendToBody:!0,backgroundColor:getPlatteColor(\"page-background\"),borderColor:getPlatteColor(\"very-muted-foreground\")},series:[{name:g,type:\"graph\",layout:\"force\",top:0,bottom:0,left:0,right:0,height:\"100%\",width:\"100%\",nodes:T,edges:b,categories:n?CategoriesZh:CategoriesEn,roam:!0,draggable:!0,zoom:4,label:{position:\"right\",show:!0,backgroundColor:\"transparent\"},labelLayout:{moveOverlap:!0},force:{repulsion:50},cursor:\"pointer\",symbolSize:6,edgeSymbol:[\"none\",\"arrow\"],edgeSymbolSize:[0,5],lineStyle:{width:1,opacity:.75,curveness:.15},itemStyle:{opacity:.9}}]})}}},TheBrain_default=TheBrainAddon;", + "Modern.TiddlyDev#IncludeSource": "true", + "Modern.TiddlyDev#Origin": "addons/Gk0Wk/TheBrain.ts", + "module-type": "echarts-component", + "type": "application/javascript" + } +] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrain.ts.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrain.ts.json new file mode 100644 index 0000000..41eb129 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrain.ts.json @@ -0,0 +1,8 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/addons/TheBrain.ts", + "text": "/* eslint-disable max-lines */\nimport type { IParseTreeNode } from 'tiddlywiki';\nimport type { IScriptAddon } from '../../scriptAddon';\n\nconst colors = [\n '#5470c6',\n '#91cc75',\n '#fac858',\n '#ee6666',\n '#73c0de',\n '#3ba272',\n '#fc8452',\n '#9a60b4',\n '#ea7ccc',\n];\nconst CategoriesEn = [\n 'Focusing',\n 'History',\n 'Link To',\n 'Backlink From',\n 'Tag To',\n 'Tag By',\n 'Transclude',\n].map((name, index) => ({\n name,\n itemStyle: { color: colors[index % colors.length] },\n}));\nconst CategoriesZh = [\n '聚焦',\n '历史',\n '链接',\n '反链',\n '标签',\n '作为标签',\n '嵌套',\n].map((name, index) => ({\n name,\n itemStyle: { color: colors[index % colors.length] },\n}));\nconst attributes = new Set([\n 'focussedTiddler',\n 'levels',\n 'graphTitle',\n 'aliasField',\n 'excludeFilter',\n 'previewDelay',\n]);\nconst getPlatteColor = (name: string) =>\n $tw.wiki.renderText(\n 'text/plain',\n 'text/vnd.tiddlywiki',\n `<$transclude tiddler={{$:/palette}} index=\"${name}\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"${name}\"><$transclude tiddler=\"$:/config/DefaultColourMappings/${name}\"/>`,\n {},\n );\n\nconst findIcon = (title: string) => {\n const fields = $tw.wiki.getTiddler(title)?.fields;\n if (!fields?.icon) {\n return undefined;\n }\n const iconFields = $tw.wiki.getTiddler(fields.icon as string)?.fields;\n if (!iconFields) {\n if (/^https?:\\/\\//.test(fields.icon as string)) {\n return `image://${fields.icon as string}`;\n }\n return undefined;\n }\n if (iconFields._canonical_uri) {\n return `image://${iconFields._canonical_uri}`;\n } else if (iconFields.title.startsWith('$:/core/images/')) {\n return undefined;\n } else {\n return `image://data:${iconFields.type};base64,${iconFields.text}`;\n }\n};\nconst getAliasOrTitle = (\n tiddlerTitle: string,\n aliasField: string | undefined,\n): [string, boolean] => {\n if (aliasField === undefined || aliasField === 'title') {\n return [tiddlerTitle, Boolean($tw.wiki.getTiddler(tiddlerTitle))];\n }\n const tiddler = $tw.wiki.getTiddler(tiddlerTitle);\n if (tiddler) {\n const aliasValue = tiddler.fields[aliasField];\n return [\n typeof aliasValue === 'string'\n ? $tw.wiki.renderText('text/plain', 'text/vnd.tiddlywiki', aliasValue, {\n variables: { currentTiddler: tiddlerTitle },\n })\n : tiddlerTitle,\n true,\n ];\n } else {\n return [tiddlerTitle, false];\n }\n};\n\ninterface ITheBrainState {\n currentlyFocused?: string;\n historyTiddlers: string[];\n viewingTiddlers: Set;\n focusing?: string;\n}\n\nconst TheBrainAddon: IScriptAddon = {\n onMount: (myChart, attributes) => {\n myChart.on('click', { dataType: 'node' }, (event: any) => {\n new $tw.Story().navigateTiddler(event.data.name);\n });\n return {\n historyTiddlers: [],\n viewingTiddlers: new Set(),\n focusing: attributes.focussedTiddler,\n };\n },\n shouldUpdate: (\n { viewingTiddlers, focusing, currentlyFocused },\n changedTiddlers,\n changedAttributes,\n ) => {\n return (\n Object.keys(changedTiddlers).some(title => viewingTiddlers.has(title)) ||\n Object.keys(changedAttributes).some(attribute =>\n attributes.has(attribute),\n ) ||\n (focusing === undefined &&\n $tw.wiki.getTiddlerText('$:/temp/focussedTiddler') !== currentlyFocused)\n );\n },\n // eslint-disable-next-line complexity\n onUpdate: (\n myCharts,\n state,\n addonAttributes: {\n focussedTiddler?: string;\n levels?: number;\n graphTitle?: string;\n aliasField?: string;\n excludeFilter?: string;\n previewDelay?: string;\n },\n ) => {\n /** 参数:focussedTiddler 是图的中央节点 */\n let focussedTiddler =\n addonAttributes.focussedTiddler ||\n $tw.wiki.getTiddlerText('$:/temp/focussedTiddler')!;\n state.viewingTiddlers.clear();\n state.focusing = addonAttributes.focussedTiddler;\n state.currentlyFocused = focussedTiddler;\n if (!focussedTiddler) {\n return;\n }\n state.viewingTiddlers.add(focussedTiddler);\n if ($tw.wiki.getTiddler(focussedTiddler)?.fields['draft.of']) {\n focussedTiddler = $tw.wiki.getTiddler(focussedTiddler)!.fields[\n 'draft.of'\n ] as string;\n }\n const nodes: any[] = [];\n const edges: any[] = [];\n const ifChinese =\n $tw.wiki.getTiddlerText('$:/language')?.includes('zh') === true;\n /** 参数:levels 指定图向外展开几级 */\n let levels = Number(addonAttributes.levels);\n if (Number.isNaN(levels)) {\n levels = 1;\n }\n levels = Math.max(levels, 0);\n /** 参数:graphTitle 指定右下角显示的标题 */\n const graphTitle =\n addonAttributes.graphTitle || (ifChinese ? '聚焦' : 'Focusing Map');\n /** 参数:aliasField 用于指定展示为节点标题的字段,例如 caption */\n const aliasField =\n addonAttributes.aliasField === ''\n ? undefined\n : addonAttributes.aliasField;\n /** 参数:excludeFilter 用于排除部分节点 */\n const excludeFilter =\n addonAttributes.excludeFilter === ''\n ? undefined\n : $tw.wiki.compileFilter(\n addonAttributes.excludeFilter ?? '[prefix[$:/]]',\n );\n const nodeMap: Map = new Map();\n\n // 聚焦点\n nodes.push({\n name: focussedTiddler,\n // fixed: true,\n category: 0,\n label: {\n formatter: getAliasOrTitle(focussedTiddler, aliasField)[0],\n fontWeight: 'bold',\n fontSize: '15px',\n },\n symbol: findIcon(focussedTiddler),\n symbolSize: 15,\n select: {\n disabled: true,\n },\n itemStyle: {\n opacity: 1,\n borderColor: `${colors[0]}66`,\n borderWidth: 15,\n },\n isTag: false,\n tooltip: {\n show: false,\n },\n });\n\n // 初始化:当前关注的 Tiddler\n let tiddlerQueue = [focussedTiddler];\n if (excludeFilter) {\n const tiddlers = new Set(tiddlerQueue);\n for (const excluded of excludeFilter.call($tw.wiki, tiddlerQueue)) {\n tiddlers.delete(excluded);\n }\n tiddlerQueue = Array.from(tiddlers);\n }\n nodeMap.set(focussedTiddler, true);\n nodeMap.set('', false);\n\n const tryPush = (\n title: string,\n node: (label: string, exist: boolean) => any,\n edge: (exist: boolean) => any,\n ) => {\n if (excludeFilter && excludeFilter.call($tw.wiki, [title]).length > 0) {\n return false;\n }\n const nodeState = nodeMap.get(title);\n const [label, exist] =\n nodeState === undefined\n ? getAliasOrTitle(title, aliasField)\n : ['', nodeState];\n if (nodeState === undefined) {\n nodes.push(node(label, exist));\n nodeMap.set(title, exist);\n if (exist) {\n tiddlerQueue.push(title);\n }\n }\n edges.push(edge(exist));\n return exist;\n };\n\n // 广搜 levels 层\n while (tiddlerQueue.length && levels-- > 0) {\n const tiddlers = tiddlerQueue;\n tiddlerQueue = [];\n for (const tiddler of tiddlers) {\n // 链接\n for (const linksTo of $tw.wiki.getTiddlerLinks(tiddler)) {\n tryPush(\n linksTo,\n (label, exist) => ({\n name: linksTo,\n label: { formatter: label },\n itemStyle: { opacity: exist ? 1 : 0.65 },\n symbol: findIcon(linksTo),\n category: 2,\n isTag: false,\n }),\n exist => ({\n source: tiddler,\n target: linksTo,\n lineStyle: {\n color: colors[2],\n type: exist ? 'solid' : 'dashed',\n },\n }),\n );\n }\n // 反链\n for (const backlinksFrom of $tw.wiki.getTiddlerBacklinks(tiddler)) {\n tryPush(\n backlinksFrom,\n (label, exist) => ({\n name: backlinksFrom,\n label: { formatter: label },\n itemStyle: { opacity: exist ? 1 : 0.65 },\n symbol: findIcon(backlinksFrom),\n category: 3,\n isTag: false,\n }),\n exist => ({\n source: backlinksFrom,\n target: tiddler,\n lineStyle: {\n color: colors[3],\n type: exist ? 'solid' : 'dashed',\n },\n }),\n );\n }\n // 标签\n for (const tag of $tw.wiki.getTiddler(focussedTiddler)?.fields?.tags ??\n []) {\n tryPush(\n tag,\n (label, exist) => ({\n name: tag,\n label: { formatter: label },\n itemStyle: { opacity: exist ? 1 : 0.65 },\n symbol: findIcon(tag),\n category: 4,\n isTag: true,\n }),\n exist => ({\n source: tiddler,\n target: tag,\n lineStyle: {\n color: colors[4],\n type: exist ? 'solid' : 'dashed',\n },\n }),\n );\n }\n // 作为标签\n for (const tagBy of $tw.wiki.getTiddlersWithTag(tiddler)) {\n tryPush(\n tagBy,\n (label, exist) => ({\n name: tagBy,\n label: { formatter: label },\n itemStyle: { opacity: exist ? 1 : 0.65 },\n symbol: findIcon(tagBy),\n category: 5,\n isTag: false,\n }),\n exist => ({\n source: tagBy,\n target: tiddler,\n lineStyle: {\n color: colors[5],\n type: exist ? 'solid' : 'dashed',\n },\n }),\n );\n }\n // 嵌入\n const tiddler_ = $tw.wiki.getTiddler(tiddler);\n if (tiddler_) {\n const type = tiddler_.fields.type || 'text/vnd.tiddlywiki';\n if (type === 'text/vnd.tiddlywiki' || type === 'text/x-markdown') {\n const transcluded: Set = new Set();\n const findTransclude = (children: IParseTreeNode[]) => {\n const { length } = children;\n for (let i = 0; i < length; i++) {\n const node = children[i];\n if (node.type === 'tiddler') {\n const title = node.attributes!.tiddler?.value as\n | string\n | undefined;\n if (title) {\n transcluded.add(title);\n }\n } else if (Array.isArray((node as any).children)) {\n findTransclude((node as any).children);\n }\n }\n };\n findTransclude($tw.wiki.parseTiddler(tiddler).tree);\n // eslint-disable-next-line max-depth\n for (const transcludeTiddler of transcluded) {\n tryPush(\n transcludeTiddler,\n (label, exist) => ({\n name: transcludeTiddler,\n label: { formatter: label },\n itemStyle: { opacity: exist ? 1 : 0.65 },\n symbol: findIcon(transcludeTiddler),\n category: 6,\n isTag: false,\n }),\n exist => ({\n source: tiddler,\n target: transcludeTiddler,\n lineStyle: {\n color: colors[6],\n type: exist ? 'solid' : 'dashed',\n },\n }),\n );\n }\n }\n }\n }\n }\n\n // 历史路径\n let nextTiddler = focussedTiddler;\n const historyMap: Set = new Set();\n for (let index = state.historyTiddlers.length - 2; index >= 0; index--) {\n const tiddlerTitle = state.historyTiddlers[index];\n if (\n historyMap.has(tiddlerTitle) ||\n tiddlerTitle === nextTiddler ||\n tiddlerTitle.startsWith('$:/')\n ) {\n continue;\n }\n tryPush(\n tiddlerTitle,\n (label, exist) => ({\n name: tiddlerTitle,\n label: { formatter: label, fontSize: '10px' },\n category: 1,\n symbol: findIcon(tiddlerTitle),\n symbolSize: 3,\n itemStyle: { opacity: exist ? 0.65 : 0.4 },\n isTag: false,\n }),\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n exist => ({\n source: tiddlerTitle,\n target: nextTiddler,\n lineStyle: {\n color: colors[1],\n type: exist ? 'dashed' : 'dotted',\n opacity: 0.5,\n },\n }),\n );\n nextTiddler = tiddlerTitle;\n }\n\n // 更新历史\n const historyIndex = state.historyTiddlers.indexOf(focussedTiddler);\n if (historyIndex > -1) {\n state.historyTiddlers.splice(historyIndex, 1);\n }\n state.historyTiddlers.push(focussedTiddler);\n state.historyTiddlers.slice(-10);\n\n let lastTitle = '';\n let cache: Element[] | undefined;\n const cachedTooltipFormatter = ({\n data: { name, isTag },\n dataType,\n }: {\n data: { name: string; isTag: boolean };\n dataType: string;\n }) => {\n if (dataType !== 'node') {\n return [];\n }\n if (name !== lastTitle || !cache) {\n const container = $tw.utils.domMaker('div', {\n style: {\n maxWidth: '40vw',\n maxHeight: '50vh',\n overflowY: 'auto',\n whiteSpace: 'normal',\n },\n class: 'gk0wk-echarts-thebrain-popuptiddler-container',\n });\n if (isTag) {\n const ul = $tw.utils.domMaker('ul', {});\n const tiddlers = $tw.wiki.getTiddlersWithTag(name);\n const len = tiddlers.length;\n for (let i = 0; i < len; i++) {\n const tiddler = tiddlers[i];\n const li = $tw.utils.domMaker('li', {});\n const a = $tw.utils.domMaker('a', {\n text: tiddler,\n class:\n 'tc-tiddlylink tc-tiddlylink-resolves tc-popup-handle tc-popup-absolute',\n style: {\n cursor: 'pointer',\n },\n });\n // eslint-disable-next-line @typescript-eslint/no-loop-func\n a.addEventListener('click', () =>\n new $tw.Story().navigateTiddler(tiddler),\n );\n li.appendChild(a);\n ul.appendChild(li);\n }\n cache = [ul];\n } else {\n // 不可以直接 renderText, 那种是 headless 渲染\n $tw.wiki\n .makeWidget(\n $tw.wiki.parseTiddler(\n '$:/plugins/Gk0Wk/echarts/addons/TheBrainPopup',\n ),\n {\n document,\n parseAsInline: true,\n variables: { currentTiddler: name },\n } as any,\n )\n .render(container, null);\n cache = [\n container,\n $tw.utils.domMaker('style', {\n innerHTML: `.gk0wk-echarts-thebrain-popuptiddler-container::-webkit-scrollbar {display: none;} .gk0wk-echarts-thebrain-popuptiddler-container .tc-tiddler-controls { display: none; }`,\n }),\n ];\n }\n lastTitle = name;\n }\n return cache;\n };\n\n let previewDelay = Number(addonAttributes.previewDelay || '1000');\n if (!Number.isSafeInteger(previewDelay)) {\n previewDelay = -1;\n }\n myCharts.setOption({\n backgroundColor: 'transparent',\n legend: [\n {\n data: (ifChinese ? CategoriesZh : CategoriesEn).map(a => {\n return a.name;\n }),\n icon: 'circle',\n },\n ],\n title: {\n text: graphTitle,\n show: true,\n top: 'bottom',\n left: 'right',\n },\n toolbox: {\n show: true,\n left: 0,\n bottom: 0,\n feature: {\n restore: {},\n saveAsImage: {},\n },\n },\n tooltip: {\n position: 'top',\n formatter: cachedTooltipFormatter,\n triggerOn: previewDelay >= 0 ? 'mousemove' : 'none',\n enterable: true,\n showDelay: Math.max(0, previewDelay),\n hideDelay: 800,\n confine: true,\n textStyle: {\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n },\n appendToBody: true,\n backgroundColor: getPlatteColor('page-background'),\n borderColor: getPlatteColor('very-muted-foreground'),\n },\n series: [\n {\n name: graphTitle,\n type: 'graph',\n layout: 'force',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n height: '100%',\n width: '100%',\n nodes,\n edges,\n categories: ifChinese ? CategoriesZh : CategoriesEn,\n roam: true,\n draggable: true,\n zoom: 4,\n label: {\n position: 'right',\n show: true,\n backgroundColor: 'transparent',\n },\n labelLayout: {\n moveOverlap: true,\n },\n force: {\n repulsion: 50,\n },\n cursor: 'pointer',\n symbolSize: 6,\n edgeSymbol: ['none', 'arrow'],\n edgeSymbolSize: [0, 5],\n lineStyle: {\n width: 1,\n opacity: 0.75,\n curveness: 0.15,\n },\n itemStyle: {\n opacity: 0.9,\n },\n },\n ],\n } as any);\n },\n};\n\nexport default TheBrainAddon;\n/* eslint-enable max-lines */\n", + "Modern.TiddlyDev#IncludeSource": "true", + "type": "application/javascript" + } +] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrainPopup.tid b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrainPopup.tid new file mode 100644 index 0000000..5a499e8 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_addons_TheBrainPopup.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/echarts/addons/TheBrainPopup + +

<$text text=<> />

<$list filter="[tags[]count[]match[0]]"><$transclude tiddler="$:/core/ui/ViewTemplate/tags" /><$transclude tiddler="$:/core/ui/ViewTemplate/body" mode="inline" /> diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_banner.jpg b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_banner.jpg new file mode 100644 index 0000000..2509300 Binary files /dev/null and b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_banner.jpg differ diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_banner.jpg.meta b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_banner.jpg.meta new file mode 100644 index 0000000..a72447d --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_banner.jpg.meta @@ -0,0 +1,2 @@ +title: $:/plugins/Gk0Wk/echarts/banner +type: image/jpeg \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_echarts-wordcloud.min.js.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_echarts-wordcloud.min.js.json new file mode 100644 index 0000000..c4c3789 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_echarts-wordcloud.min.js.json @@ -0,0 +1,10 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/echarts-wordcloud.min.js", + "text": "/*! For license information please see echarts-wordcloud.min.js.LICENSE.txt */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"$:/plugins/Gk0Wk/echarts/echarts.min.js\")):\"function\"==typeof define&&define.amd?define([\"echarts\"],e):\"object\"==typeof exports?exports[\"echarts-wordcloud\"]=e(require(\"echarts\")):t[\"echarts-wordcloud\"]=e(t.echarts)}(self,(function(t){return(()=>{\"use strict\";var e={638:(t,e,a)=>{a.r(e);var r=a(83);r.extendSeriesModel({type:\"series.wordCloud\",visualStyleAccessPath:\"textStyle\",visualStyleMapper:function(t){return{fill:t.get(\"color\")}},visualDrawType:\"fill\",optionUpdated:function(){var t=this.option;t.gridSize=Math.max(Math.floor(t.gridSize),4)},getInitialData:function(t,e){var a=r.helper.createDimensions(t.data,{coordDimensions:[\"value\"]}),i=new r.List(a,this);return i.initData(t.data),i},defaultOption:{maskImage:null,shape:\"circle\",keepAspect:!1,left:\"center\",top:\"center\",width:\"70%\",height:\"80%\",sizeRange:[12,60],rotationRange:[-90,90],rotationStep:45,gridSize:8,drawOutOfBound:!1,shrinkToFit:!1,textStyle:{fontWeight:\"normal\"}}}),r.extendChartView({type:\"wordCloud\",render:function(t,e,a){var i=this.group;i.removeAll();var o=t.getData(),n=t.get(\"gridSize\");t.layoutInstance.ondraw=function(e,a,s,l){var d=o.getItemModel(s),u=d.getModel(\"textStyle\"),f=new r.graphic.Text({style:r.helper.createTextStyle(u),scaleX:1/l.info.mu,scaleY:1/l.info.mu,x:(l.gx+l.info.gw/2)*n,y:(l.gy+l.info.gh/2)*n,rotation:l.rot});f.setStyle({x:l.info.fillTextOffsetX,y:l.info.fillTextOffsetY+.5*a,text:e,verticalAlign:\"middle\",fill:o.getItemVisual(s,\"style\").fill,fontSize:a}),i.add(f),o.setItemGraphicEl(s,f),f.ensureState(\"emphasis\").style=r.helper.createTextStyle(d.getModel([\"emphasis\",\"textStyle\"]),{state:\"emphasis\"}),f.ensureState(\"blur\").style=r.helper.createTextStyle(d.getModel([\"blur\",\"textStyle\"]),{state:\"blur\"}),r.helper.enableHoverEmphasis(f,d.get([\"emphasis\",\"focus\"]),d.get([\"emphasis\",\"blurScope\"])),f.stateTransition={duration:t.get(\"animation\")?t.get([\"stateAnimation\",\"duration\"]):0,easing:t.get([\"stateAnimation\",\"easing\"])},f.__highDownDispatcher=!0},this._model=t},remove:function(){this.group.removeAll(),this._model.layoutInstance.dispose()},dispose:function(){this._model.layoutInstance.dispose()}}),window.setImmediate||(window.setImmediate=window.msSetImmediate||window.webkitSetImmediate||window.mozSetImmediate||window.oSetImmediate||function(){if(!window.postMessage||!window.addEventListener)return null;var t=[void 0],e=\"zero-timeout-message\";return window.addEventListener(\"message\",(function(a){if(\"string\"==typeof a.data&&a.data.substr(0,e.length)===e){a.stopImmediatePropagation();var r=parseInt(a.data.substr(e.length),36);t[r]&&(t[r](),t[r]=void 0)}}),!0),window.clearImmediate=function(e){t[e]&&(t[e]=void 0)},function(a){var r=t.length;return t.push(a),window.postMessage(e+r.toString(36),\"*\"),r}}()||function(t){window.setTimeout(t,0)}),window.clearImmediate||(window.clearImmediate=window.msClearImmediate||window.webkitClearImmediate||window.mozClearImmediate||window.oClearImmediate||function(t){window.clearTimeout(t)});var i=function(){var t=document.createElement(\"canvas\");if(!t||!t.getContext)return!1;var e=t.getContext(\"2d\");return!!(e&&e.getImageData&&e.fillText&&Array.prototype.some&&Array.prototype.push)}(),o=function(){if(i){for(var t,e,a=document.createElement(\"canvas\").getContext(\"2d\"),r=20;r;){if(a.font=r.toString(10)+\"px sans-serif\",a.measureText(\"W\").width===t&&a.measureText(\"m\").width===e)return r+1;t=a.measureText(\"W\").width,e=a.measureText(\"m\").width,r--}return 0}}(),n=function(t){for(var e,a,r=t.length;r;)e=Math.floor(Math.random()*r),a=t[--r],t[r]=t[e],t[e]=a;return t},s={},l=function(t,e){if(i){var a=Math.floor(Math.random()*Date.now());Array.isArray(t)||(t=[t]),t.forEach((function(e,a){if(\"string\"==typeof e){if(t[a]=document.getElementById(e),!t[a])throw new Error(\"The element id specified is not found.\")}else if(!e.tagName&&!e.appendChild)throw new Error(\"You must pass valid HTML elements, or ID of the element.\")}));var r={list:[],fontFamily:'\"Trebuchet MS\", \"Heiti TC\", \"微軟正黑體\", \"Arial Unicode MS\", \"Droid Fallback Sans\", sans-serif',fontWeight:\"normal\",color:\"random-dark\",minSize:0,weightFactor:1,clearCanvas:!0,backgroundColor:\"#fff\",gridSize:8,drawOutOfBound:!1,shrinkToFit:!1,origin:null,drawMask:!1,maskColor:\"rgba(255,0,0,0.3)\",maskGapWidth:.3,layoutAnimation:!0,wait:0,abortThreshold:0,abort:function(){},minRotation:-Math.PI/2,maxRotation:Math.PI/2,rotationStep:.1,shuffle:!0,rotateRatio:.1,shape:\"circle\",ellipticity:.65,classes:null,hover:null,click:null};if(e)for(var l in e)l in r&&(r[l]=e[l]);if(\"function\"!=typeof r.weightFactor){var d=r.weightFactor;r.weightFactor=function(t){return t*d}}if(\"function\"!=typeof r.shape)switch(r.shape){case\"circle\":default:r.shape=\"circle\";break;case\"cardioid\":r.shape=function(t){return 1-Math.sin(t)};break;case\"diamond\":r.shape=function(t){var e=t%(2*Math.PI/4);return 1/(Math.cos(e)+Math.sin(e))};break;case\"square\":r.shape=function(t){return Math.min(1/Math.abs(Math.cos(t)),1/Math.abs(Math.sin(t)))};break;case\"triangle-forward\":r.shape=function(t){var e=t%(2*Math.PI/3);return 1/(Math.cos(e)+Math.sqrt(3)*Math.sin(e))};break;case\"triangle\":case\"triangle-upright\":r.shape=function(t){var e=(t+3*Math.PI/2)%(2*Math.PI/3);return 1/(Math.cos(e)+Math.sqrt(3)*Math.sin(e))};break;case\"pentagon\":r.shape=function(t){var e=(t+.955)%(2*Math.PI/5);return 1/(Math.cos(e)+.726543*Math.sin(e))};break;case\"star\":r.shape=function(t){var e=(t+.955)%(2*Math.PI/10);return(t+.955)%(2*Math.PI/5)-2*Math.PI/10>=0?1/(Math.cos(2*Math.PI/10-e)+3.07768*Math.sin(2*Math.PI/10-e)):1/(Math.cos(e)+3.07768*Math.sin(e))}}r.gridSize=Math.max(Math.floor(r.gridSize),4);var u,f,c,h,m,g,w,v,p=r.gridSize,y=p-r.maskGapWidth,x=Math.abs(r.maxRotation-r.minRotation),M=Math.min(r.maxRotation,r.minRotation),S=r.rotationStep;switch(r.color){case\"random-dark\":w=function(){return L(10,50)};break;case\"random-light\":w=function(){return L(50,90)};break;default:\"function\"==typeof r.color&&(w=r.color)}\"function\"==typeof r.fontWeight&&(v=r.fontWeight);var b=null;\"function\"==typeof r.classes&&(b=r.classes);var I,T=!1,k=[],C=function(t){var e,a,r=t.currentTarget,i=r.getBoundingClientRect();t.touches?(e=t.touches[0].clientX,a=t.touches[0].clientY):(e=t.clientX,a=t.clientY);var o=e-i.left,n=a-i.top,s=Math.floor(o*(r.width/i.width||1)/p),l=Math.floor(n*(r.height/i.height||1)/p);return k[s]?k[s][l]:null},E=function(t){var e=C(t);I!==e&&(I=e,e?r.hover(e.item,e.dimension,t):r.hover(void 0,void 0,t))},A=function(t){var e=C(t);e&&(r.click(e.item,e.dimension,t),t.preventDefault())},O=[],F=function(t){if(O[t])return O[t];var e=8*t,a=e,i=[];for(0===t&&i.push([h[0],h[1],0]);a--;){var o=1;\"circle\"!==r.shape&&(o=r.shape(a/e*2*Math.PI)),i.push([h[0]+t*o*Math.cos(-a/e*2*Math.PI),h[1]+t*o*Math.sin(-a/e*2*Math.PI)*r.ellipticity,a/e*2*Math.PI])}return O[t]=i,i},D=function(){return r.abortThreshold>0&&(new Date).getTime()-g>r.abortThreshold},P=function(e,a,r,i,o){e>=f||a>=c||e<0||a<0||(u[e][a]=!1,r&&t[0].getContext(\"2d\").fillRect(e*p,a*p,y,y),T&&(k[e][a]={item:o,dimension:i}))},R=function e(a,i){if(i>20)return null;var s,l,d;Array.isArray(a)?(s=a[0],l=a[1]):(s=a.word,l=a.weight,d=a.attributes);var h,g,y,I=0===r.rotateRatio||Math.random()>r.rotateRatio?0:0===x?M:M+Math.round(Math.random()*x/S)*S,k=function(t){if(Array.isArray(t)){var e=t.slice();return e.splice(0,2),e}return[]}(a),C=function(t,e,a,i){var n=r.weightFactor(e);if(n<=r.minSize)return!1;var s,l=1;nF[1]&&(F[1]=O),kF[2]&&(F[2]=k);break t}}return{mu:l,occupied:A,bounds:F,gw:S,gh:M,fillTextOffsetX:y,fillTextOffsetY:x,fillTextWidth:f,fillTextHeight:c,fontSize:n}}(s,l,I,k);if(!C)return!1;if(D())return!1;if(!r.drawOutOfBound&&!r.shrinkToFit){var E=C.bounds;if(E[1]-E[3]+1>f||E[2]-E[0]+1>c)return!1}for(var A=m+1;A--;){var O=F(m-A);r.shuffle&&(O=[].concat(O),n(O));for(var R=0;R=f||l>=c||s<0||l<0){if(!r.drawOutOfBound)return!1}else if(!u[s][l])return!1}return!0}(g,y,0,0,C.occupied)&&(function(e,a,i,o,n,s,l,d,u,f){var c,h,m,g=i.fontSize;c=w?w(o,n,g,s,l,f):r.color,h=v?v(o,n,g,f):r.fontWeight,m=b?b(o,n,g,f):r.classes,t.forEach((function(t){if(t.getContext){var n=t.getContext(\"2d\"),s=i.mu;n.save(),n.scale(1/s,1/s),n.font=h+\" \"+(g*s).toString(10)+\"px \"+r.fontFamily,n.fillStyle=c,n.translate((e+i.gw/2)*p*s,(a+i.gh/2)*p*s),0!==d&&n.rotate(-d),n.textBaseline=\"middle\",n.fillText(o,i.fillTextOffsetX*s,(i.fillTextOffsetY+.5*g)*s),n.restore()}else{var l=document.createElement(\"span\"),f=\"\";f=\"rotate(\"+-d/Math.PI*180+\"deg) \",1!==i.mu&&(f+=\"translateX(-\"+i.fillTextWidth/4+\"px) scale(\"+1/i.mu+\")\");var w={position:\"absolute\",display:\"block\",font:h+\" \"+g*i.mu+\"px \"+r.fontFamily,left:(e+i.gw/2)*p+i.fillTextOffsetX+\"px\",top:(a+i.gh/2)*p+i.fillTextOffsetY+\"px\",width:i.fillTextWidth+\"px\",height:i.fillTextHeight+\"px\",lineHeight:g+\"px\",whiteSpace:\"nowrap\",transform:f,webkitTransform:f,msTransform:f,transformOrigin:\"50% 40%\",webkitTransformOrigin:\"50% 40%\",msTransformOrigin:\"50% 40%\"};for(var v in c&&(w.color=c),l.textContent=o,w)l.style[v]=w[v];if(u)for(var y in u)l.setAttribute(y,u[y]);m&&(l.className+=m),t.appendChild(l)}}))}(g,y,C,s,l,m-A,h[2],I,d,k),function(e,a,i,o,n,s){var l,d,u=n.occupied,h=r.drawMask;if(h&&((l=t[0].getContext(\"2d\")).save(),l.fillStyle=r.maskColor),T){var m=n.bounds;d={x:(e+m[3])*p,y:(a+m[0])*p,w:(m[1]-m[3]+1)*p,h:(m[2]-m[0]+1)*p}}for(var g=u.length;g--;){var w=e+u[g][0],v=a+u[g][1];w>=f||v>=c||w<0||v<0||P(w,v,h,d,s)}h&&l.restore()}(g,y,0,0,C,a),{gx:g,gy:y,rot:I,info:C}));if(z)return z}}return r.shrinkToFit?(Array.isArray(a)?a[1]=3*a[1]/4:a.weight=3*a.weight/4,e(a,i+1)):null},z=function(e,a,r){if(a)return!t.some((function(t){var a=new CustomEvent(e,{detail:r||{}});return!t.dispatchEvent(a)}),this);t.forEach((function(t){var a=new CustomEvent(e,{detail:r||{}});t.dispatchEvent(a)}),this)};!function(){var e=t[0];if(e.getContext)f=Math.ceil(e.width/p),c=Math.ceil(e.height/p);else{var i=e.getBoundingClientRect();f=Math.ceil(i.width/p),c=Math.ceil(i.height/p)}if(z(\"wordcloudstart\",!0)){var o,n,l,d,w;if(h=r.origin?[r.origin[0]/p,r.origin[1]/p]:[f/2,c/2],m=Math.floor(Math.sqrt(f*f+c*c)),u=[],!e.getContext||r.clearCanvas)for(t.forEach((function(t){if(t.getContext){var e=t.getContext(\"2d\");e.fillStyle=r.backgroundColor,e.clearRect(0,0,f*(p+1),c*(p+1)),e.fillRect(0,0,f*(p+1),c*(p+1))}else t.textContent=\"\",t.style.backgroundColor=r.backgroundColor,t.style.position=\"relative\"})),o=f;o--;)for(u[o]=[],n=c;n--;)u[o][n]=!0;else{var v=document.createElement(\"canvas\").getContext(\"2d\");v.fillStyle=r.backgroundColor,v.fillRect(0,0,1,1);var y,x,M=v.getImageData(0,0,1,1).data,S=e.getContext(\"2d\").getImageData(0,0,f*p,c*p).data;for(o=f;o--;)for(u[o]=[],n=c;n--;){x=p;t:for(;x--;)for(y=p;y--;)for(l=4;l--;)if(S[4*((n*p+x)*f*p+(o*p+y))+l]!==M[l]){u[o][n]=!1;break t}!1!==u[o][n]&&(u[o][n]=!0)}S=v=M=void 0}if(r.hover||r.click){for(T=!0,o=f+1;o--;)k[o]=[];r.hover&&e.addEventListener(\"mousemove\",E),r.click&&(e.addEventListener(\"click\",A),e.addEventListener(\"touchstart\",A),e.addEventListener(\"touchend\",(function(t){t.preventDefault()})),e.style.webkitTapHighlightColor=\"rgba(0, 0, 0, 0)\"),e.addEventListener(\"wordcloudstart\",(function t(){e.removeEventListener(\"wordcloudstart\",t),e.removeEventListener(\"mousemove\",E),e.removeEventListener(\"click\",A),I=void 0}))}l=0;var b=!0;r.layoutAnimation?0!==r.wait?(d=window.setTimeout,w=window.clearTimeout):(d=window.setImmediate,w=window.clearImmediate):(d=function(t){t()},w=function(){b=!1});var C=function(e,a){t.forEach((function(t){t.removeEventListener(e,a)}),this)},O=function t(){C(\"wordcloudstart\",t),w(s[a])};!function(e,a){t.forEach((function(t){t.addEventListener(\"wordcloudstart\",a)}),this)}(0,O),s[a]=(r.layoutAnimation?d:setTimeout)((function t(){if(b){if(l>=r.list.length)return w(s[a]),z(\"wordcloudstop\",!1),C(\"wordcloudstart\",O),void delete s[a];g=(new Date).getTime();var e=R(r.list[l],0),i=!z(\"wordclouddrawn\",!0,{item:r.list[l],drawn:e});if(D()||i)return w(s[a]),r.abort(),z(\"wordcloudabort\",!1),z(\"wordcloudstop\",!1),void C(\"wordcloudstart\",O);l++,s[a]=d(t,r.wait)}}),r.wait)}}()}function L(t,e){return\"hsl(\"+(360*Math.random()).toFixed()+\",\"+(30*Math.random()+70).toFixed()+\"%,\"+(Math.random()*(e-t)+t).toFixed()+\"%)\"}};l.isSupported=i,l.minFontSize=o;const d=l;if(!d.isSupported)throw new Error(\"Sorry your browser not support wordCloud\");r.registerLayout((function(t,e){t.eachSeriesByType(\"wordCloud\",(function(a){var i=r.helper.getLayoutRect(a.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),o=a.get(\"keepAspect\"),n=a.get(\"maskImage\"),s=n?n.width/n.height:1;o&&function(t,e){var a=t.width,r=t.height;a>r*e?(t.x+=(a-r*e)/2,t.width=r*e):(t.y+=(r-a/e)/2,t.height=a/e)}(i,s);var l=a.getData(),u=document.createElement(\"canvas\");u.width=i.width,u.height=i.height;var f=u.getContext(\"2d\");if(n)try{f.drawImage(n,0,0,u.width,u.height),function(t){for(var e=t.getContext(\"2d\"),a=e.getImageData(0,0,t.width,t.height),r=e.createImageData(a),i=0,o=0,n=0;n128&&(i+=l=a.data[n]+a.data[n+1]+a.data[n+2],++o);var s=i/o;for(n=0;ns?(r.data[n]=0,r.data[n+1]=0,r.data[n+2]=0,r.data[n+3]=0):(r.data[n]=255,r.data[n+1]=255,r.data[n+2]=255,r.data[n+3]=255)}e.putImageData(r,0,0)}(u)}catch(t){console.error(\"Invalid mask image\"),console.error(t.toString())}var c=a.get(\"sizeRange\"),h=a.get(\"rotationRange\"),m=l.getDataExtent(\"value\"),g=Math.PI/180,w=a.get(\"gridSize\");function v(t){var e=t.detail.item;t.detail.drawn&&a.layoutInstance.ondraw&&(t.detail.drawn.gx+=i.x/w,t.detail.drawn.gy+=i.y/w,a.layoutInstance.ondraw(e[0],e[1],e[2],t.detail.drawn))}d(u,{list:l.mapArray(\"value\",(function(t,e){var a=l.getItemModel(e);return[l.getName(e),a.get(\"textStyle.fontSize\",!0)||r.number.linearMap(t,m,c),e]})).sort((function(t,e){return e[1]-t[1]})),fontFamily:a.get(\"textStyle.fontFamily\")||a.get(\"emphasis.textStyle.fontFamily\")||t.get(\"textStyle.fontFamily\"),fontWeight:a.get(\"textStyle.fontWeight\")||a.get(\"emphasis.textStyle.fontWeight\")||t.get(\"textStyle.fontWeight\"),gridSize:w,ellipticity:i.height/i.width,minRotation:h[0]*g,maxRotation:h[1]*g,clearCanvas:!n,rotateRatio:1,rotationStep:a.get(\"rotationStep\")*g,drawOutOfBound:a.get(\"drawOutOfBound\"),shrinkToFit:a.get(\"shrinkToFit\"),layoutAnimation:a.get(\"layoutAnimation\"),shuffle:!1,shape:a.get(\"shape\")}),u.addEventListener(\"wordclouddrawn\",v),a.layoutInstance&&a.layoutInstance.dispose(),a.layoutInstance={ondraw:null,dispose:function(){u.removeEventListener(\"wordclouddrawn\",v),u.addEventListener(\"wordclouddrawn\",(function(t){t.preventDefault()}))}}}))})),r.registerPreprocessor((function(t){var e=(t||{}).series;!r.util.isArray(e)&&(e=e?[e]:[]);var a=[\"shadowColor\",\"shadowBlur\",\"shadowOffsetX\",\"shadowOffsetY\"];function i(t){t&&r.util.each(a,(function(e){t.hasOwnProperty(e)&&(t[\"text\"+r.format.capitalFirst(e)]=t[e])}))}r.util.each(e,(function(t){if(t&&\"wordCloud\"===t.type){var e=t.textStyle||{};i(e.normal),i(e.emphasis)}}))}))},83:e=>{e.exports=t}},a={};function r(t){if(a[t])return a[t].exports;var i=a[t]={exports:{}};return e[t](i,i.exports,r),i.exports}return r.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r(638)})()}));\n//# sourceMappingURL=echarts-wordcloud.min.js.map\n", + "Modern.TiddlyDev#Minify": "false", + "module-type": "echarts-extension", + "type": "application/javascript", + "version": "2.1.0" + } +] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_echarts.min.js.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_echarts.min.js.json new file mode 100644 index 0000000..b05b02e --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_echarts.min.js.json @@ -0,0 +1,10 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/echarts.min.js", + "text": "\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=\"undefined\"!=typeof globalThis?globalThis:t||self).echarts={})}(this,(function(t){\"use strict\";\n/*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if(\"function\"!=typeof n&&null!==n)throw new TypeError(\"Class extends value \"+String(n)+\" is not a constructor or null\");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var i=function(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1},r=new function(){this.browser=new i,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=\"undefined\"!=typeof window};\"object\"==typeof wx&&\"function\"==typeof wx.getSystemInfoSync?(r.wxa=!0,r.touchEventsSupported=!0):\"undefined\"==typeof document&&\"undefined\"!=typeof self?r.worker=!0:\"undefined\"==typeof navigator?(r.node=!0,r.svgSupported=!0):function(t,e){var n=e.browser,i=t.match(/Firefox\\/([\\d.]+)/),r=t.match(/MSIE\\s([\\d.]+)/)||t.match(/Trident\\/.+?rv:(([\\d.]+))/),o=t.match(/Edge?\\/([\\d.]+)/),a=/micromessenger/i.test(t);i&&(n.firefox=!0,n.version=i[1]);r&&(n.ie=!0,n.version=r[1]);o&&(n.edge=!0,n.version=o[1],n.newEdge=+o[1].split(\".\")[0]>18);a&&(n.weChat=!0);e.svgSupported=\"undefined\"!=typeof SVGRect,e.touchEventsSupported=\"ontouchstart\"in window&&!n.ie&&!n.edge,e.pointerEventsSupported=\"onpointerdown\"in window&&(n.edge||n.ie&&+n.version>=11),e.domSupported=\"undefined\"!=typeof document;var s=document.documentElement.style;e.transform3dSupported=(n.ie&&\"transition\"in s||n.edge||\"WebKitCSSMatrix\"in window&&\"m11\"in new WebKitCSSMatrix||\"MozPerspective\"in s)&&!(\"OTransition\"in s),e.transformSupported=e.transform3dSupported||n.ie&&+n.version>=9}(navigator.userAgent,r);var o=\"sans-serif\",a=\"12px sans-serif\";var s,l,u=function(t){var e={};if(\"undefined\"==typeof JSON)return e;for(var n=0;n=0)o=r*t.length;else for(var c=0;c>1)%2;a.style.cssText=[\"position: absolute\",\"visibility: hidden\",\"padding: 0\",\"margin: 0\",\"border-width: 0\",\"user-select: none\",\"width:0\",\"height:0\",i[s]+\":0\",r[l]+\":0\",i[1-s]+\":auto\",r[1-l]+\":auto\",\"\"].join(\"!important;\"),t.appendChild(a),n.push(a)}return n}(e,a),l=function(t,e,n){for(var i=n?\"invTrans\":\"trans\",r=e[i],o=e.srcCoords,a=[],s=[],l=!0,u=0;u<4;u++){var h=t[u].getBoundingClientRect(),c=2*u,p=h.left,d=h.top;a.push(p,d),l=l&&o&&p===o[c]&&d===o[c+1],s.push(t[u].offsetLeft,t[u].offsetTop)}return l&&r?r:(e.srcCoords=a,e[i]=n?$t(s,a):$t(a,s))}(s,a,o);if(l)return l(t,n,i),!0}return!1}function te(t){return\"CANVAS\"===t.nodeName.toUpperCase()}var ee=/([&<>\"'])/g,ne={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};function ie(t){return null==t?\"\":(t+\"\").replace(ee,(function(t,e){return ne[e]}))}var re=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,oe=[],ae=r.browser.firefox&&+r.browser.version.split(\".\")[0]<39;function se(t,e,n,i){return n=n||{},i?le(t,e,n):ae&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):le(t,e,n),n}function le(t,e,n){if(r.domSupported&&t.getBoundingClientRect){var i=e.clientX,o=e.clientY;if(te(t)){var a=t.getBoundingClientRect();return n.zrX=i-a.left,void(n.zrY=o-a.top)}if(Qt(oe,t,i,o))return n.zrX=oe[0],void(n.zrY=oe[1])}n.zrX=n.zrY=0}function ue(t){return t||window.event}function he(t,e,n){if(null!=(e=ue(e)).zrX)return e;var i=e.type;if(i&&i.indexOf(\"touch\")>=0){var r=\"touchend\"!==i?e.targetTouches[0]:e.changedTouches[0];r&&se(t,r,e,n)}else{se(t,e,e,n);var o=function(t){var e=t.wheelDelta;if(e)return e;var n=t.deltaX,i=t.deltaY;if(null==n||null==i)return e;return 3*(0!==i?Math.abs(i):Math.abs(n))*(i>0?-1:i<0?1:n>0?-1:1)}(e);e.zrDelta=o?o/120:-(e.detail||0)/3}var a=e.button;return null==e.which&&void 0!==a&&re.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ce(t,e,n,i){t.addEventListener(e,n,i)}var pe=function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0};function de(t){return 2===t.which||3===t.which}var fe=function(){function t(){this._track=[]}return t.prototype.recognize=function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},t.prototype.clear=function(){return this._track.length=0,this},t.prototype._doTrack=function(t,e,n){var i=t.touches;if(i){for(var r={points:[],touches:[],target:e,event:t},o=0,a=i.length;o1&&r&&r.length>1){var a=ge(r)/ge(o);!isFinite(a)&&(a=1),e.pinchScale=a;var s=[((i=r)[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2];return e.pinchX=s[0],e.pinchY=s[1],{type:\"pinch\",target:t[0].target,event:e}}}}};function ve(){return[1,0,0,1,0,0]}function me(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function xe(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function _e(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],o=e[0]*n[2]+e[2]*n[3],a=e[1]*n[2]+e[3]*n[3],s=e[0]*n[4]+e[2]*n[5]+e[4],l=e[1]*n[4]+e[3]*n[5]+e[5];return t[0]=i,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=l,t}function be(t,e,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+n[0],t[5]=e[5]+n[1],t}function we(t,e,n){var i=e[0],r=e[2],o=e[4],a=e[1],s=e[3],l=e[5],u=Math.sin(n),h=Math.cos(n);return t[0]=i*h+a*u,t[1]=-i*u+a*h,t[2]=r*h+s*u,t[3]=-r*u+h*s,t[4]=h*o+u*l,t[5]=h*l-u*o,t}function Se(t,e,n){var i=n[0],r=n[1];return t[0]=e[0]*i,t[1]=e[1]*r,t[2]=e[2]*i,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*r,t}function Me(t,e){var n=e[0],i=e[2],r=e[4],o=e[1],a=e[3],s=e[5],l=n*a-o*i;return l?(l=1/l,t[0]=a*l,t[1]=-o*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-a*r)*l,t[5]=(o*r-n*s)*l,t):null}function Ie(t){var e=[1,0,0,1,0,0];return xe(e,t),e}var Te=Object.freeze({__proto__:null,create:ve,identity:me,copy:xe,mul:_e,translate:be,rotate:we,scale:Se,invert:Me,clone:Ie}),Ce=function(){function t(t,e){this.x=t||0,this.y=e||0}return t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.set=function(t,e){return this.x=t,this.y=e,this},t.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.scale=function(t){this.x*=t,this.y*=t},t.prototype.scaleAndAdd=function(t,e){this.x+=t.x*e,this.y+=t.y*e},t.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},t.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},t.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},t.prototype.distanceSquare=function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.transform=function(t){if(t){var e=this.x,n=this.y;return this.x=t[0]*e+t[2]*n+t[4],this.y=t[1]*e+t[3]*n+t[5],this}},t.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},t.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},t.set=function(t,e,n){t.x=e,t.y=n},t.copy=function(t,e){t.x=e.x,t.y=e.y},t.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},t.lenSquare=function(t){return t.x*t.x+t.y*t.y},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.add=function(t,e,n){t.x=e.x+n.x,t.y=e.y+n.y},t.sub=function(t,e,n){t.x=e.x-n.x,t.y=e.y-n.y},t.scale=function(t,e,n){t.x=e.x*n,t.y=e.y*n},t.scaleAndAdd=function(t,e,n,i){t.x=e.x+n.x*i,t.y=e.y+n.y*i},t.lerp=function(t,e,n,i){var r=1-i;t.x=r*e.x+i*n.x,t.y=r*e.y+i*n.y},t}(),De=Math.min,Ae=Math.max,ke=new Ce,Le=new Ce,Pe=new Ce,Oe=new Ce,Re=new Ce,Ne=new Ce,Ee=function(){function t(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}return t.prototype.union=function(t){var e=De(t.x,this.x),n=De(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Ae(t.x+t.width,this.x+this.width)-e:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=Ae(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=e,this.y=n},t.prototype.applyTransform=function(e){t.applyTransform(this,this,e)},t.prototype.calculateTransform=function(t){var e=this,n=t.width/e.width,i=t.height/e.height,r=[1,0,0,1,0,0];return be(r,r,[-e.x,-e.y]),Se(r,r,[n,i]),be(r,r,[t.x,t.y]),r},t.prototype.intersect=function(e,n){if(!e)return!1;e instanceof t||(e=t.create(e));var i=this,r=i.x,o=i.x+i.width,a=i.y,s=i.y+i.height,l=e.x,u=e.x+e.width,h=e.y,c=e.y+e.height,p=!(of&&(f=x,gf&&(f=_,v=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.copy=function(e){t.copy(this,e)},t.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},t.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},t.prototype.isZero=function(){return 0===this.width||0===this.height},t.create=function(e){return new t(e.x,e.y,e.width,e.height)},t.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},t.applyTransform=function(e,n,i){if(i){if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var r=i[0],o=i[3],a=i[4],s=i[5];return e.x=n.x*r+a,e.y=n.y*o+s,e.width=n.width*r,e.height=n.height*o,e.width<0&&(e.x+=e.width,e.width=-e.width),void(e.height<0&&(e.y+=e.height,e.height=-e.height))}ke.x=Pe.x=n.x,ke.y=Oe.y=n.y,Le.x=Oe.x=n.x+n.width,Le.y=Pe.y=n.y+n.height,ke.transform(i),Oe.transform(i),Le.transform(i),Pe.transform(i),e.x=De(ke.x,Le.x,Pe.x,Oe.x),e.y=De(ke.y,Le.y,Pe.y,Oe.y);var l=Ae(ke.x,Le.x,Pe.x,Oe.x),u=Ae(ke.y,Le.y,Pe.y,Oe.y);e.width=l-e.x,e.height=u-e.y}else e!==n&&t.copy(e,n)},t}(),ze=\"silent\";function Ve(){pe(this.event)}var Be=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.handler=null,e}return n(e,t),e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(jt),Fe=function(t,e){this.x=t,this.y=e},Ge=[\"click\",\"dblclick\",\"mousewheel\",\"mouseout\",\"mouseup\",\"mousedown\",\"mousemove\",\"contextmenu\"],We=new Ee(0,0,0,0),He=function(t){function e(e,n,i,r,o){var a=t.call(this)||this;return a._hovered=new Fe(0,0),a.storage=e,a.painter=n,a.painterRoot=r,a._pointerSize=o,i=i||new Be,a.proxy=null,a.setHandlerProxy(i),a._draggingMgr=new Zt(a),a}return n(e,t),e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(E(Ge,(function(e){t.on&&t.on(e,this[e],this)}),this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var e=t.zrX,n=t.zrY,i=Xe(this,e,n),r=this._hovered,o=r.target;o&&!o.__zr&&(o=(r=this.findHover(r.x,r.y)).target);var a=this._hovered=i?new Fe(e,n):this.findHover(e,n),s=a.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:\"default\"),o&&s!==o&&this.dispatchToElement(r,\"mouseout\",t),this.dispatchToElement(a,\"mousemove\",t),s&&s!==o&&this.dispatchToElement(a,\"mouseover\",t)},e.prototype.mouseout=function(t){var e=t.zrEventControl;\"only_globalout\"!==e&&this.dispatchToElement(this._hovered,\"mouseout\",t),\"no_globalout\"!==e&&this.trigger(\"globalout\",{type:\"globalout\",event:t})},e.prototype.resize=function(){this._hovered=new Fe(0,0)},e.prototype.dispatch=function(t,e){var n=this[t];n&&n.call(this,e)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},e.prototype.dispatchToElement=function(t,e,n){var i=(t=t||{}).target;if(!i||!i.silent){for(var r=\"on\"+e,o=function(t,e,n){return{type:t,event:n,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:n.zrX,offsetY:n.zrY,gestureEvent:n.gestureEvent,pinchX:n.pinchX,pinchY:n.pinchY,pinchScale:n.pinchScale,wheelDelta:n.zrDelta,zrByTouch:n.zrByTouch,which:n.which,stop:Ve}}(e,t,n);i&&(i[r]&&(o.cancelBubble=!!i[r].call(i,o)),i.trigger(e,o),i=i.__hostTarget?i.__hostTarget:i.parent,!o.cancelBubble););o.cancelBubble||(this.trigger(e,o),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer((function(t){\"function\"==typeof t[r]&&t[r].call(t,o),t.trigger&&t.trigger(e,o)})))}},e.prototype.findHover=function(t,e,n){var i=this.storage.getDisplayList(),r=new Fe(t,e);if(Ue(i,r,t,e,n),this._pointerSize&&!r.target){for(var o=[],a=this._pointerSize,s=a/2,l=new Ee(t-s,e-s,a,a),u=i.length-1;u>=0;u--){var h=i[u];h===n||h.ignore||h.ignoreCoarsePointer||h.parent&&h.parent.ignoreCoarsePointer||(We.copy(h.getBoundingRect()),h.transform&&We.applyTransform(h.transform),We.intersect(l)&&o.push(h))}if(o.length)for(var c=Math.PI/12,p=2*Math.PI,d=0;d=0;o--){var a=t[o],s=void 0;if(a!==r&&!a.ignore&&(s=Ye(a,n,i))&&(!e.topTarget&&(e.topTarget=a),s!==ze)){e.target=a;break}}}function Xe(t,e,n){var i=t.painter;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}E([\"click\",\"mousedown\",\"mouseup\",\"mousewheel\",\"dblclick\",\"contextmenu\"],(function(t){He.prototype[t]=function(e){var n,i,r=e.zrX,o=e.zrY,a=Xe(this,r,o);if(\"mouseup\"===t&&a||(i=(n=this.findHover(r,o)).target),\"mousedown\"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if(\"mouseup\"===t)this._upEl=i;else if(\"click\"===t){if(this._downEl!==this._upEl||!this._downPoint||Vt(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}));function Ze(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function je(t,e,n,i,r){for(i===e&&i++;i>>1])<0?l=o:s=o+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=a}}function qe(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])>0){for(s=i-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}else{for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}for(a++;a>>1);o(t,e[n+h])>0?a=h+1:l=h}return l}function Ke(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])<0){for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}else{for(s=i-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}for(a++;a>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function $e(t,e){var n,i,r=7,o=0;t.length;var a=[];function s(s){var l=n[s],u=i[s],h=n[s+1],c=i[s+1];i[s]=u+c,s===o-3&&(n[s+1]=n[s+2],i[s+1]=i[s+2]),o--;var p=Ke(t[h],t,l,u,0,e);l+=p,0!==(u-=p)&&0!==(c=qe(t[l+u-1],t,h,c,c-1,e))&&(u<=c?function(n,i,o,s){var l=0;for(l=0;l=7||d>=7);if(f)break;g<0&&(g=0),g+=2}if((r=g)<1&&(r=1),1===i){for(l=0;l=0;l--)t[d+l]=t[p+l];return void(t[c]=a[h])}var f=r;for(;;){var g=0,y=0,v=!1;do{if(e(a[h],t[u])<0){if(t[c--]=t[u--],g++,y=0,0==--i){v=!0;break}}else if(t[c--]=a[h--],y++,g=0,1==--s){v=!0;break}}while((g|y)=0;l--)t[d+l]=t[p+l];if(0===i){v=!0;break}}if(t[c--]=a[h--],1==--s){v=!0;break}if(0!==(y=s-qe(t[u],a,0,s,s-1,e))){for(s-=y,d=(c-=y)+1,p=(h-=y)+1,l=0;l=7||y>=7);if(v)break;f<0&&(f=0),f+=2}(r=f)<1&&(r=1);if(1===s){for(d=(c-=i)+1,p=(u-=i)+1,l=i-1;l>=0;l--)t[d+l]=t[p+l];t[c]=a[h]}else{if(0===s)throw new Error;for(p=c-(s-1),l=0;l1;){var t=o-2;if(t>=1&&i[t-1]<=i[t]+i[t+1]||t>=2&&i[t-2]<=i[t]+i[t-1])i[t-1]i[t+1])break;s(t)}},forceMergeRuns:function(){for(;o>1;){var t=o-2;t>0&&i[t-1]=32;)e|=1&t,t>>=1;return t+e}(r);do{if((o=Ze(t,n,i,e))s&&(l=s),je(t,n,n+l,n+o,e),o=l}a.pushRun(n,o),a.mergeRuns(),r-=o,n+=o}while(0!==r);a.forceMergeRuns()}}}var Qe=!1;function tn(){Qe||(Qe=!0,console.warn(\"z / z2 / zlevel of displayable is invalid, which may cause unexpected errors\"))}function en(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}var nn=function(){function t(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=en}return t.prototype.traverse=function(t,e){for(var n=0;n0&&(u.__clipPaths=[]),isNaN(u.z)&&(tn(),u.z=0),isNaN(u.z2)&&(tn(),u.z2=0),isNaN(u.zlevel)&&(tn(),u.zlevel=0),this._displayList[this._displayListLen++]=u}var h=t.getDecalElement&&t.getDecalElement();h&&this._updateAndAddDisplayable(h,e,n);var c=t.getTextGuideLine();c&&this._updateAndAddDisplayable(c,e,n);var p=t.getTextContent();p&&this._updateAndAddDisplayable(p,e,n)}},t.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},t.prototype.delRoot=function(t){if(t instanceof Array)for(var e=0,n=t.length;e=0&&this._roots.splice(i,1)}},t.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},t.prototype.getRoots=function(){return this._roots},t.prototype.dispose=function(){this._displayList=null,this._roots=null},t}(),rn=r.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){return setTimeout(t,16)},on={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-on.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*on.bounceIn(2*t):.5*on.bounceOut(2*t-1)+.5}},an=Math.pow,sn=Math.sqrt,ln=1e-8,un=1e-4,hn=sn(3),cn=1/3,pn=Mt(),dn=Mt(),fn=Mt();function gn(t){return t>-1e-8&&tln||t<-1e-8}function vn(t,e,n,i,r){var o=1-r;return o*o*(o*t+3*r*e)+r*r*(r*i+3*o*n)}function mn(t,e,n,i,r){var o=1-r;return 3*(((e-t)*o+2*(n-e)*r)*o+(i-n)*r*r)}function xn(t,e,n,i,r,o){var a=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*a*l,c=s*l-9*a*u,p=l*l-3*s*u,d=0;if(gn(h)&&gn(c)){if(gn(s))o[0]=0;else(M=-l/s)>=0&&M<=1&&(o[d++]=M)}else{var f=c*c-4*h*p;if(gn(f)){var g=c/h,y=-g/2;(M=-s/a+g)>=0&&M<=1&&(o[d++]=M),y>=0&&y<=1&&(o[d++]=y)}else if(f>0){var v=sn(f),m=h*s+1.5*a*(-c+v),x=h*s+1.5*a*(-c-v);(M=(-s-((m=m<0?-an(-m,cn):an(m,cn))+(x=x<0?-an(-x,cn):an(x,cn))))/(3*a))>=0&&M<=1&&(o[d++]=M)}else{var _=(2*h*s-3*a*c)/(2*sn(h*h*h)),b=Math.acos(_)/3,w=sn(h),S=Math.cos(b),M=(-s-2*w*S)/(3*a),I=(y=(-s+w*(S+hn*Math.sin(b)))/(3*a),(-s+w*(S-hn*Math.sin(b)))/(3*a));M>=0&&M<=1&&(o[d++]=M),y>=0&&y<=1&&(o[d++]=y),I>=0&&I<=1&&(o[d++]=I)}}return d}function _n(t,e,n,i,r){var o=6*n-12*e+6*t,a=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(gn(a)){if(yn(o))(h=-s/o)>=0&&h<=1&&(r[l++]=h)}else{var u=o*o-4*a*s;if(gn(u))r[0]=-o/(2*a);else if(u>0){var h,c=sn(u),p=(-o-c)/(2*a);(h=(-o+c)/(2*a))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}function bn(t,e,n,i,r,o){var a=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-a)*r+a,h=(l-s)*r+s,c=(h-u)*r+u;o[0]=t,o[1]=a,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=i}function wn(t,e,n,i,r,o,a,s,l,u,h){var c,p,d,f,g,y=.005,v=1/0;pn[0]=l,pn[1]=u;for(var m=0;m<1;m+=.05)dn[0]=vn(t,n,r,a,m),dn[1]=vn(e,i,o,s,m),(f=Ft(pn,dn))=0&&f=0&&y=1?1:xn(0,i,o,1,t,s)&&vn(0,r,a,1,s[0])}}}var Pn=function(){function t(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||bt,this.ondestroy=t.ondestroy||bt,this.onrestart=t.onrestart||bt,t.easing&&this.setEasing(t.easing)}return t.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),!this._paused){var n=this._life,i=t-this._startTime-this._pausedTime,r=i/n;r<0&&(r=0),r=Math.min(r,1);var o=this.easingFunc,a=o?o(r):r;if(this.onframe(a),1===r){if(!this.loop)return!0;var s=i%n;this._startTime=t-s,this._pausedTime=0,this.onrestart()}return!1}this._pausedTime+=e},t.prototype.pause=function(){this._paused=!0},t.prototype.resume=function(){this._paused=!1},t.prototype.setEasing=function(t){this.easing=t,this.easingFunc=U(t)?t:on[t]||Ln(t)},t}(),On=function(t){this.value=t},Rn=function(){function t(){this._len=0}return t.prototype.insert=function(t){var e=new On(t);return this.insertEntry(e),e},t.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},t.prototype.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},t.prototype.len=function(){return this._len},t.prototype.clear=function(){this.head=this.tail=null,this._len=0},t}(),Nn=function(){function t(t){this._list=new Rn,this._maxSize=10,this._map={},this._maxSize=t}return t.prototype.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var o=n.len(),a=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}a?a.value=e:a=new On(e),a.key=t,n.insertEntry(a),i[t]=a}return r},t.prototype.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},t.prototype.clear=function(){this._list.clear(),this._map={}},t.prototype.len=function(){return this._list.len()},t}(),En={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function zn(t){return(t=Math.round(t))<0?0:t>255?255:t}function Vn(t){return t<0?0:t>1?1:t}function Bn(t){var e=t;return e.length&&\"%\"===e.charAt(e.length-1)?zn(parseFloat(e)/100*255):zn(parseInt(e,10))}function Fn(t){var e=t;return e.length&&\"%\"===e.charAt(e.length-1)?Vn(parseFloat(e)/100):Vn(parseFloat(e))}function Gn(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function Wn(t,e,n){return t+(e-t)*n}function Hn(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function Yn(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var Un=new Nn(20),Xn=null;function Zn(t,e){Xn&&Yn(Xn,e),Xn=Un.put(t,Xn||e.slice())}function jn(t,e){if(t){e=e||[];var n=Un.get(t);if(n)return Yn(e,n);var i=(t+=\"\").replace(/ /g,\"\").toLowerCase();if(i in En)return Yn(e,En[i]),Zn(t,e),e;var r,o=i.length;if(\"#\"===i.charAt(0))return 4===o||5===o?(r=parseInt(i.slice(1,4),16))>=0&&r<=4095?(Hn(e,(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,5===o?parseInt(i.slice(4),16)/15:1),Zn(t,e),e):void Hn(e,0,0,0,1):7===o||9===o?(r=parseInt(i.slice(1,7),16))>=0&&r<=16777215?(Hn(e,(16711680&r)>>16,(65280&r)>>8,255&r,9===o?parseInt(i.slice(7),16)/255:1),Zn(t,e),e):void Hn(e,0,0,0,1):void 0;var a=i.indexOf(\"(\"),s=i.indexOf(\")\");if(-1!==a&&s+1===o){var l=i.substr(0,a),u=i.substr(a+1,s-(a+1)).split(\",\"),h=1;switch(l){case\"rgba\":if(4!==u.length)return 3===u.length?Hn(e,+u[0],+u[1],+u[2],1):Hn(e,0,0,0,1);h=Fn(u.pop());case\"rgb\":return u.length>=3?(Hn(e,Bn(u[0]),Bn(u[1]),Bn(u[2]),3===u.length?h:Fn(u[3])),Zn(t,e),e):void Hn(e,0,0,0,1);case\"hsla\":return 4!==u.length?void Hn(e,0,0,0,1):(u[3]=Fn(u[3]),qn(u,e),Zn(t,e),e);case\"hsl\":return 3!==u.length?void Hn(e,0,0,0,1):(qn(u,e),Zn(t,e),e);default:return}}Hn(e,0,0,0,1)}}function qn(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=Fn(t[1]),r=Fn(t[2]),o=r<=.5?r*(i+1):r+i-r*i,a=2*r-o;return Hn(e=e||[],zn(255*Gn(a,o,n+1/3)),zn(255*Gn(a,o,n)),zn(255*Gn(a,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Kn(t,e){var n=jn(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:n[i]<0&&(n[i]=0);return ii(n,4===n.length?\"rgba\":\"rgb\")}}function $n(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=e[r],s=e[o],l=i-r;return n[0]=zn(Wn(a[0],s[0],l)),n[1]=zn(Wn(a[1],s[1],l)),n[2]=zn(Wn(a[2],s[2],l)),n[3]=Vn(Wn(a[3],s[3],l)),n}}var Jn=$n;function Qn(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=jn(e[r]),s=jn(e[o]),l=i-r,u=ii([zn(Wn(a[0],s[0],l)),zn(Wn(a[1],s[1],l)),zn(Wn(a[2],s[2],l)),Vn(Wn(a[3],s[3],l))],\"rgba\");return n?{color:u,leftIndex:r,rightIndex:o,value:i}:u}}var ti=Qn;function ei(t,e,n,i){var r=jn(t);if(t)return r=function(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(i,r,o),s=Math.max(i,r,o),l=s-a,u=(s+a)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+a):l/(2-s-a);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,p=((s-o)/6+l/2)/l;i===s?e=p-c:r===s?e=1/3+h-p:o===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var d=[360*e,n,u];return null!=t[3]&&d.push(t[3]),d}}(r),null!=e&&(r[0]=function(t){return(t=Math.round(t))<0?0:t>360?360:t}(e)),null!=n&&(r[1]=Fn(n)),null!=i&&(r[2]=Fn(i)),ii(qn(r),\"rgba\")}function ni(t,e){var n=jn(t);if(n&&null!=e)return n[3]=Vn(e),ii(n,\"rgba\")}function ii(t,e){if(t&&t.length){var n=t[0]+\",\"+t[1]+\",\"+t[2];return\"rgba\"!==e&&\"hsva\"!==e&&\"hsla\"!==e||(n+=\",\"+t[3]),e+\"(\"+n+\")\"}}function ri(t,e){var n=jn(t);return n?(.299*n[0]+.587*n[1]+.114*n[2])*n[3]/255+(1-n[3])*e:0}var oi=Object.freeze({__proto__:null,parse:jn,lift:Kn,toHex:function(t){var e=jn(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)},fastLerp:$n,fastMapToColor:Jn,lerp:Qn,mapToColor:ti,modifyHSL:ei,modifyAlpha:ni,stringify:ii,lum:ri,random:function(){return ii([Math.round(255*Math.random()),Math.round(255*Math.random()),Math.round(255*Math.random())],\"rgb\")}}),ai=Math.round;function si(t){var e;if(t&&\"transparent\"!==t){if(\"string\"==typeof t&&t.indexOf(\"rgba\")>-1){var n=jn(t);n&&(t=\"rgb(\"+n[0]+\",\"+n[1]+\",\"+n[2]+\")\",e=n[3])}}else t=\"none\";return{color:t,opacity:null==e?1:e}}var li=1e-4;function ui(t){return t-1e-4}function hi(t){return ai(1e3*t)/1e3}function ci(t){return ai(1e4*t)/1e4}var pi={left:\"start\",right:\"end\",center:\"middle\",middle:\"middle\"};function di(t){return t&&!!t.image}function fi(t){return di(t)||function(t){return t&&!!t.svgElement}(t)}function gi(t){return\"linear\"===t.type}function yi(t){return\"radial\"===t.type}function vi(t){return t&&(\"linear\"===t.type||\"radial\"===t.type)}function mi(t){return\"url(#\"+t+\")\"}function xi(t){var e=t.getGlobalScale(),n=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(n)/Math.log(10)),1)}function _i(t){var e=t.x||0,n=t.y||0,i=(t.rotation||0)*wt,r=rt(t.scaleX,1),o=rt(t.scaleY,1),a=t.skewX||0,s=t.skewY||0,l=[];return(e||n)&&l.push(\"translate(\"+e+\"px,\"+n+\"px)\"),i&&l.push(\"rotate(\"+i+\")\"),1===r&&1===o||l.push(\"scale(\"+r+\",\"+o+\")\"),(a||s)&&l.push(\"skew(\"+ai(a*wt)+\"deg, \"+ai(s*wt)+\"deg)\"),l.join(\" \")}var bi=r.hasGlobalWindow&&U(window.btoa)?function(t){return window.btoa(unescape(encodeURIComponent(t)))}:\"undefined\"!=typeof Buffer?function(t){return Buffer.from(t).toString(\"base64\")}:function(t){return null},wi=Array.prototype.slice;function Si(t,e,n){return(e-t)*n+t}function Mi(t,e,n,i){for(var r=e.length,o=0;oi?e:t,o=Math.min(n,i),a=r[o-1]||{color:[0,0,0,0],offset:0},s=o;sa)i.length=a;else for(var s=o;s=1},t.prototype.getAdditiveTrack=function(){return this._additiveTrack},t.prototype.addKeyframe=function(t,e,n){this._needsSort=!0;var i=this.keyframes,r=i.length,o=!1,a=6,s=e;if(N(e)){var l=function(t){return N(t&&t[0])?2:1}(e);a=l,(1===l&&!j(e[0])||2===l&&!j(e[0][0]))&&(o=!0)}else if(j(e)&&!nt(e))a=0;else if(X(e))if(isNaN(+e)){var u=jn(e);u&&(s=u,a=3)}else a=0;else if(Q(e)){var h=A({},s);h.colorStops=z(e.colorStops,(function(t){return{offset:t.offset,color:jn(t.color)}})),gi(e)?a=4:yi(e)&&(a=5),s=h}0===r?this.valType=a:a===this.valType&&6!==a||(o=!0),this.discrete=this.discrete||o;var c={time:t,value:s,rawValue:e,percent:0};return n&&(c.easing=n,c.easingFunc=U(n)?n:on[n]||Ln(n)),i.push(c),c},t.prototype.prepare=function(t,e){var n=this.keyframes;this._needsSort&&n.sort((function(t,e){return t.time-e.time}));for(var i=this.valType,r=n.length,o=n[r-1],a=this.discrete,s=Pi(i),l=Li(i),u=0;u=0&&!(l[n].percent<=e);n--);n=d(n,u-2)}else{for(n=p;ne);n++);n=d(n-1,u-2)}r=l[n+1],i=l[n]}if(i&&r){this._lastFr=n,this._lastFrP=e;var f=r.percent-i.percent,g=0===f?1:d((e-i.percent)/f,1);r.easingFunc&&(g=r.easingFunc(g));var y=o?this._additiveValue:c?Oi:t[h];if(!Pi(s)&&!c||y||(y=this._additiveValue=[]),this.discrete)t[h]=g<1?i.rawValue:r.rawValue;else if(Pi(s))1===s?Mi(y,i[a],r[a],g):function(t,e,n,i){for(var r=e.length,o=r&&e[0].length,a=0;a0&&s.addKeyframe(0,Ai(l),i),this._trackKeys.push(a)}s.addKeyframe(t,Ai(e[a]),i)}return this._maxTime=Math.max(this._maxTime,t),this},t.prototype.pause=function(){this._clip.pause(),this._paused=!0},t.prototype.resume=function(){this._clip.resume(),this._paused=!1},t.prototype.isPaused=function(){return!!this._paused},t.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},t.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,n=0;n0)){this._started=1;for(var e=this,n=[],i=this._maxTime||0,r=0;r1){var a=o.pop();r.addKeyframe(a.time,t[i]),r.prepare(this._maxTime,r.getAdditiveTrack())}}}},t}();function Ei(){return(new Date).getTime()}var zi,Vi,Bi=function(t){function e(e){var n=t.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,e=e||{},n.stage=e.stage||{},n}return n(e,t),e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var e=t.getClip();e&&this.addClip(e)},e.prototype.removeClip=function(t){if(t.animation){var e=t.prev,n=t.next;e?e.next=n:this._head=n,n?n.prev=e:this._tail=e,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var e=t.getClip();e&&this.removeClip(e),t.animation=null},e.prototype.update=function(t){for(var e=Ei()-this._pausedTime,n=e-this._time,i=this._head;i;){var r=i.next;i.step(e,n)?(i.ondestroy(),this.removeClip(i),i=r):i=r}this._time=e,t||(this.trigger(\"frame\",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0,rn((function e(){t._running&&(rn(e),!t._paused&&t.update())}))},e.prototype.start=function(){this._running||(this._time=Ei(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=Ei(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=Ei()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var e=t.next;t.prev=t.next=t.animation=null,t=e}this._head=this._tail=null},e.prototype.isFinished=function(){return null==this._head},e.prototype.animate=function(t,e){e=e||{},this.start();var n=new Ni(t,e.loop);return this.addAnimator(n),n},e}(jt),Fi=r.domSupported,Gi=(Vi={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},{mouse:zi=[\"click\",\"dblclick\",\"mousewheel\",\"wheel\",\"mouseout\",\"mouseup\",\"mousedown\",\"mousemove\",\"contextmenu\"],touch:[\"touchstart\",\"touchend\",\"touchmove\"],pointer:z(zi,(function(t){var e=t.replace(\"mouse\",\"pointer\");return Vi.hasOwnProperty(e)?e:t}))}),Wi=[\"mousemove\",\"mouseup\"],Hi=[\"pointermove\",\"pointerup\"],Yi=!1;function Ui(t){var e=t.pointerType;return\"pen\"===e||\"touch\"===e}function Xi(t){t&&(t.zrByTouch=!0)}function Zi(t,e){for(var n=e,i=!1;n&&9!==n.nodeType&&!(i=n.domBelongToZr||n!==e&&n===t.painterRoot);)n=n.parentNode;return i}var ji=function(t,e){this.stopPropagation=bt,this.stopImmediatePropagation=bt,this.preventDefault=bt,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY},qi={mousedown:function(t){t=he(this.dom,t),this.__mayPointerCapture=[t.zrX,t.zrY],this.trigger(\"mousedown\",t)},mousemove:function(t){t=he(this.dom,t);var e=this.__mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||this.__togglePointerCapture(!0),this.trigger(\"mousemove\",t)},mouseup:function(t){t=he(this.dom,t),this.__togglePointerCapture(!1),this.trigger(\"mouseup\",t)},mouseout:function(t){Zi(this,(t=he(this.dom,t)).toElement||t.relatedTarget)||(this.__pointerCapturing&&(t.zrEventControl=\"no_globalout\"),this.trigger(\"mouseout\",t))},wheel:function(t){Yi=!0,t=he(this.dom,t),this.trigger(\"mousewheel\",t)},mousewheel:function(t){Yi||(t=he(this.dom,t),this.trigger(\"mousewheel\",t))},touchstart:function(t){Xi(t=he(this.dom,t)),this.__lastTouchMoment=new Date,this.handler.processGesture(t,\"start\"),qi.mousemove.call(this,t),qi.mousedown.call(this,t)},touchmove:function(t){Xi(t=he(this.dom,t)),this.handler.processGesture(t,\"change\"),qi.mousemove.call(this,t)},touchend:function(t){Xi(t=he(this.dom,t)),this.handler.processGesture(t,\"end\"),qi.mouseup.call(this,t),+new Date-+this.__lastTouchMoment<300&&qi.click.call(this,t)},pointerdown:function(t){qi.mousedown.call(this,t)},pointermove:function(t){Ui(t)||qi.mousemove.call(this,t)},pointerup:function(t){qi.mouseup.call(this,t)},pointerout:function(t){Ui(t)||qi.mouseout.call(this,t)}};E([\"click\",\"dblclick\",\"contextmenu\"],(function(t){qi[t]=function(e){e=he(this.dom,e),this.trigger(t,e)}}));var Ki={pointermove:function(t){Ui(t)||Ki.mousemove.call(this,t)},pointerup:function(t){Ki.mouseup.call(this,t)},mousemove:function(t){this.trigger(\"mousemove\",t)},mouseup:function(t){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger(\"mouseup\",t),e&&(t.zrEventControl=\"only_globalout\",this.trigger(\"mouseout\",t))}};function $i(t,e){var n=e.domHandlers;r.pointerEventsSupported?E(Gi.pointer,(function(i){Qi(e,i,(function(e){n[i].call(t,e)}))})):(r.touchEventsSupported&&E(Gi.touch,(function(i){Qi(e,i,(function(r){n[i].call(t,r),function(t){t.touching=!0,null!=t.touchTimer&&(clearTimeout(t.touchTimer),t.touchTimer=null),t.touchTimer=setTimeout((function(){t.touching=!1,t.touchTimer=null}),700)}(e)}))})),E(Gi.mouse,(function(i){Qi(e,i,(function(r){r=ue(r),e.touching||n[i].call(t,r)}))})))}function Ji(t,e){function n(n){Qi(e,n,(function(i){i=ue(i),Zi(t,i.target)||(i=function(t,e){return he(t.dom,new ji(t,e),!0)}(t,i),e.domHandlers[n].call(t,i))}),{capture:!0})}r.pointerEventsSupported?E(Hi,n):r.touchEventsSupported||E(Wi,n)}function Qi(t,e,n,i){t.mounted[e]=n,t.listenerOpts[e]=i,ce(t.domTarget,e,n,i)}function tr(t){var e,n,i,r,o=t.mounted;for(var a in o)o.hasOwnProperty(a)&&(e=t.domTarget,n=a,i=o[a],r=t.listenerOpts[a],e.removeEventListener(n,i,r));t.mounted={}}var er=function(t,e){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=t,this.domHandlers=e},nr=function(t){function e(e,n){var i=t.call(this)||this;return i.__pointerCapturing=!1,i.dom=e,i.painterRoot=n,i._localHandlerScope=new er(e,qi),Fi&&(i._globalHandlerScope=new er(document,Ki)),$i(i,i._localHandlerScope),i}return n(e,t),e.prototype.dispose=function(){tr(this._localHandlerScope),Fi&&tr(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||\"default\")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,Fi&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var e=this._globalHandlerScope;t?Ji(this,e):tr(e)}},e}(jt),ir=1;r.hasGlobalWindow&&(ir=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var rr=ir,or=\"#333\",ar=\"#ccc\",sr=me,lr=5e-5;function ur(t){return t>lr||t<-5e-5}var hr=[],cr=[],pr=[1,0,0,1,0,0],dr=Math.abs,fr=function(){function t(){}return t.prototype.getLocalTransform=function(e){return t.getLocalTransform(this,e)},t.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},t.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},t.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},t.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},t.prototype.needLocalTransform=function(){return ur(this.rotation)||ur(this.x)||ur(this.y)||ur(this.scaleX-1)||ur(this.scaleY-1)||ur(this.skewX)||ur(this.skewY)},t.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),n=this.transform;e||t?(n=n||[1,0,0,1,0,0],e?this.getLocalTransform(n):sr(n),t&&(e?_e(n,t,n):xe(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)):n&&sr(n)},t.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(null!=e&&1!==e){this.getGlobalScale(hr);var n=hr[0]<0?-1:1,i=hr[1]<0?-1:1,r=((hr[0]-n)*e+n)/hr[0]||0,o=((hr[1]-i)*e+i)/hr[1]||0;t[0]*=r,t[1]*=r,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||[1,0,0,1,0,0],Me(this.invTransform,t)},t.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},t.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),r=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(r),e=Math.sqrt(e),this.skewX=r,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=n,this.originX=0,this.originY=0}},t.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(_e(cr,t.invTransform,e),e=cr);var n=this.originX,i=this.originY;(n||i)&&(pr[4]=n,pr[5]=i,_e(cr,e,pr),cr[4]-=n,cr[5]-=i,e=cr),this.setLocalTransform(e)}},t.prototype.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},t.prototype.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&Wt(n,n,i),n},t.prototype.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&Wt(n,n,i),n},t.prototype.getLineScale=function(){var t=this.transform;return t&&dr(t[0]-1)>1e-10&&dr(t[3]-1)>1e-10?Math.sqrt(dr(t[0]*t[3]-t[2]*t[1])):1},t.prototype.copyTransform=function(t){yr(this,t)},t.getLocalTransform=function(t,e){e=e||[];var n=t.originX||0,i=t.originY||0,r=t.scaleX,o=t.scaleY,a=t.anchorX,s=t.anchorY,l=t.rotation||0,u=t.x,h=t.y,c=t.skewX?Math.tan(t.skewX):0,p=t.skewY?Math.tan(-t.skewY):0;if(n||i||a||s){var d=n+a,f=i+s;e[4]=-d*r-c*f*o,e[5]=-f*o-p*d*r}else e[4]=e[5]=0;return e[0]=r,e[3]=o,e[1]=p*r,e[2]=c*o,l&&we(e,e,l),e[4]+=n+u,e[5]+=i+h,e},t.initDefaultProps=function(){var e=t.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),t}(),gr=[\"x\",\"y\",\"originX\",\"originY\",\"anchorX\",\"anchorY\",\"rotation\",\"scaleX\",\"scaleY\",\"skewX\",\"skewY\"];function yr(t,e){for(var n=0;n=0?parseFloat(t)/100*e:parseFloat(t):t}function Ir(t,e,n){var i=e.position||\"inside\",r=null!=e.distance?e.distance:5,o=n.height,a=n.width,s=o/2,l=n.x,u=n.y,h=\"left\",c=\"top\";if(i instanceof Array)l+=Mr(i[0],n.width),u+=Mr(i[1],n.height),h=null,c=null;else switch(i){case\"left\":l-=r,u+=s,h=\"right\",c=\"middle\";break;case\"right\":l+=r+a,u+=s,c=\"middle\";break;case\"top\":l+=a/2,u-=r,h=\"center\",c=\"bottom\";break;case\"bottom\":l+=a/2,u+=o+r,h=\"center\";break;case\"inside\":l+=a/2,u+=s,h=\"center\",c=\"middle\";break;case\"insideLeft\":l+=r,u+=s,c=\"middle\";break;case\"insideRight\":l+=a-r,u+=s,h=\"right\",c=\"middle\";break;case\"insideTop\":l+=a/2,u+=r,h=\"center\";break;case\"insideBottom\":l+=a/2,u+=o-r,h=\"center\",c=\"bottom\";break;case\"insideTopLeft\":l+=r,u+=r;break;case\"insideTopRight\":l+=a-r,u+=r,h=\"right\";break;case\"insideBottomLeft\":l+=r,u+=o-r,c=\"bottom\";break;case\"insideBottomRight\":l+=a-r,u+=o-r,h=\"right\",c=\"bottom\"}return(t=t||{}).x=l,t.y=u,t.align=h,t.verticalAlign=c,t}var Tr=\"__zr_normal__\",Cr=gr.concat([\"ignore\"]),Dr=V(gr,(function(t,e){return t[e]=!0,t}),{ignore:!1}),Ar={},kr=new Ee(0,0,0,0),Lr=function(){function t(t){this.id=M(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return t.prototype._init=function(t){this.attr(t)},t.prototype.drift=function(t,e,n){switch(this.draggable){case\"horizontal\":e=0;break;case\"vertical\":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.markRedraw()},t.prototype.beforeUpdate=function(){},t.prototype.afterUpdate=function(){},t.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},t.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,r=e.innerTransformable,o=void 0,a=void 0,s=!1;r.parent=i?this:null;var l=!1;if(r.copyTransform(e),null!=n.position){var u=kr;n.layoutRect?u.copy(n.layoutRect):u.copy(this.getBoundingRect()),i||u.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Ar,n,u):Ir(Ar,n,u),r.x=Ar.x,r.y=Ar.y,o=Ar.align,a=Ar.verticalAlign;var h=n.origin;if(h&&null!=n.rotation){var c=void 0,p=void 0;\"center\"===h?(c=.5*u.width,p=.5*u.height):(c=Mr(h[0],u.width),p=Mr(h[1],u.height)),l=!0,r.originX=-r.x+c+(i?0:u.x),r.originY=-r.y+p+(i?0:u.y)}}null!=n.rotation&&(r.rotation=n.rotation);var d=n.offset;d&&(r.x+=d[0],r.y+=d[1],l||(r.originX=-d[0],r.originY=-d[1]));var f=null==n.inside?\"string\"==typeof n.position&&n.position.indexOf(\"inside\")>=0:n.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,v=void 0,m=void 0;f&&this.canBeInsideText()?(y=n.insideFill,v=n.insideStroke,null!=y&&\"auto\"!==y||(y=this.getInsideTextFill()),null!=v&&\"auto\"!==v||(v=this.getInsideTextStroke(y),m=!0)):(y=n.outsideFill,v=n.outsideStroke,null!=y&&\"auto\"!==y||(y=this.getOutsideFill()),null!=v&&\"auto\"!==v||(v=this.getOutsideStroke(y),m=!0)),(y=y||\"#000\")===g.fill&&v===g.stroke&&m===g.autoStroke&&o===g.align&&a===g.verticalAlign||(s=!0,g.fill=y,g.stroke=v,g.autoStroke=m,g.align=o,g.verticalAlign=a,e.setDefaultTextStyle(g)),e.__dirty|=1,s&&e.dirtyStyle(!0)}},t.prototype.canBeInsideText=function(){return!0},t.prototype.getInsideTextFill=function(){return\"#fff\"},t.prototype.getInsideTextStroke=function(t){return\"#000\"},t.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?ar:or},t.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),n=\"string\"==typeof e&&jn(e);n||(n=[255,255,255,1]);for(var i=n[3],r=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(r?0:255)*(1-i);return n[3]=1,ii(n,\"rgba\")},t.prototype.traverse=function(t,e){},t.prototype.attrKV=function(t,e){\"textConfig\"===t?this.setTextConfig(e):\"textContent\"===t?this.setTextContent(e):\"clipPath\"===t?this.setClipPath(e):\"extra\"===t?(this.extra=this.extra||{},A(this.extra,e)):this[t]=e},t.prototype.hide=function(){this.ignore=!0,this.markRedraw()},t.prototype.show=function(){this.ignore=!1,this.markRedraw()},t.prototype.attr=function(t,e){if(\"string\"==typeof t)this.attrKV(t,e);else if(q(t))for(var n=G(t),i=0;i0},t.prototype.getState=function(t){return this.states[t]},t.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},t.prototype.clearStates=function(t){this.useState(Tr,!1,t)},t.prototype.useState=function(t,e,n,i){var r=t===Tr;if(this.hasState()||!r){var o=this.currentStates,a=this.stateTransition;if(!(P(o,t)>=0)||!e&&1!==o.length){var s;if(this.stateProxy&&!r&&(s=this.stateProxy(t)),s||(s=this.states&&this.states[t]),s||r){r||this.saveCurrentToNormalState(s);var l=!!(s&&s.hoverLayer||i);l&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,s,this._normalState,e,!n&&!this.__inHover&&a&&a.duration>0,a);var u=this._textContent,h=this._textGuide;return u&&u.useState(t,e,n,l),h&&h.useState(t,e,n,l),r?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!l&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2),s}I(\"State \"+t+\" not exists.\")}}},t.prototype.useStates=function(t,e,n){if(t.length){var i=[],r=this.currentStates,o=t.length,a=o===r.length;if(a)for(var s=0;s0,d);var f=this._textContent,g=this._textGuide;f&&f.useStates(t,e,c),g&&g.useStates(t,e,c),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2)}else this.clearStates()},t.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(e,1),this.useStates(n)}},t.prototype.replaceState=function(t,e,n){var i=this.currentStates.slice(),r=P(i,t),o=P(i,e)>=0;r>=0?o?i.splice(r,1):i[r]=e:n&&!o&&i.push(e),this.useStates(i)},t.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},t.prototype._mergeStates=function(t){for(var e,n={},i=0;i=0&&e.splice(n,1)})),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},t.prototype.updateDuringAnimation=function(t){this.markRedraw()},t.prototype.stopAnimation=function(t,e){for(var n=this.animators,i=n.length,r=[],o=0;o0&&n.during&&o[0].during((function(t,e){n.during(e)}));for(var p=0;p0||r.force&&!a.length){var w,S=void 0,M=void 0,I=void 0;if(s){M={},p&&(S={});for(_=0;_=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,e){var n=P(this._children,t);return n>=0&&this.replaceAt(e,n),this},e.prototype.replaceAt=function(t,e){var n=this._children,i=n[e];if(t&&t!==this&&t.parent!==this&&t!==i){n[e]=t,i.parent=null;var r=this.__zr;r&&i.removeSelfFromZr(r),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__zr;e&&e!==t.__zr&&t.addSelfToZr(e),e&&e.refresh()},e.prototype.remove=function(t){var e=this.__zr,n=this._children,i=P(n,t);return i<0||(n.splice(i,1),t.parent=null,e&&t.removeSelfFromZr(e),e&&e.refresh()),this},e.prototype.removeAll=function(){for(var t=this._children,e=this.__zr,n=0;n0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},t.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},t.prototype.wakeUp=function(){this.animation.start(),this._stillFrameAccum=0},t.prototype.refreshHover=function(){this._needsRefreshHover=!0},t.prototype.refreshHoverImmediately=function(){this._needsRefreshHover=!1,this.painter.refreshHover&&\"canvas\"===this.painter.getType()&&this.painter.refreshHover()},t.prototype.resize=function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},t.prototype.clearAnimation=function(){this.animation.clear()},t.prototype.getWidth=function(){return this.painter.getWidth()},t.prototype.getHeight=function(){return this.painter.getHeight()},t.prototype.setCursorStyle=function(t){this.handler.setCursorStyle(t)},t.prototype.findHover=function(t,e){return this.handler.findHover(t,e)},t.prototype.on=function(t,e,n){return this.handler.on(t,e,n),this},t.prototype.off=function(t,e){this.handler.off(t,e)},t.prototype.trigger=function(t,e){this.handler.trigger(t,e)},t.prototype.clear=function(){for(var t=this.storage.getRoots(),e=0;e0){if(t<=r)return a;if(t>=o)return s}else{if(t>=r)return a;if(t<=o)return s}else{if(t===r)return a;if(t===o)return s}return(t-r)/l*u+a}function Ur(t,e){switch(t){case\"center\":case\"middle\":t=\"50%\";break;case\"left\":case\"top\":t=\"0%\";break;case\"right\":case\"bottom\":t=\"100%\"}return X(t)?(n=t,n.replace(/^\\s+|\\s+$/g,\"\")).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t;var n}function Xr(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function Zr(t){return t.sort((function(t,e){return t-e})),t}function jr(t){if(t=+t,isNaN(t))return 0;if(t>1e-14)for(var e=1,n=0;n<15;n++,e*=10)if(Math.round(t*e)/e===t)return n;return qr(t)}function qr(t){var e=t.toString().toLowerCase(),n=e.indexOf(\"e\"),i=n>0?+e.slice(n+1):0,r=n>0?n:e.length,o=e.indexOf(\".\"),a=o<0?0:r-1-o;return Math.max(0,a-i)}function Kr(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),o=Math.round(n(Math.abs(e[1]-e[0]))/i),a=Math.min(Math.max(-r+o,0),20);return isFinite(a)?a:20}function $r(t,e){var n=V(t,(function(t,e){return t+(isNaN(e)?0:e)}),0);if(0===n)return[];for(var i=Math.pow(10,e),r=z(t,(function(t){return(isNaN(t)?0:t)/n*i*100})),o=100*i,a=z(r,(function(t){return Math.floor(t)})),s=V(a,(function(t,e){return t+e}),0),l=z(r,(function(t,e){return t-a[e]}));su&&(u=l[c],h=c);++a[h],l[h]=0,++s}return z(a,(function(t){return t/i}))}function Jr(t,e){var n=Math.max(jr(t),jr(e)),i=t+e;return n>20?i:Xr(i,n)}var Qr=9007199254740991;function to(t){var e=2*Math.PI;return(t%e+e)%e}function eo(t){return t>-1e-4&&t=10&&e++,e}function ao(t,e){var n=oo(t),i=Math.pow(10,n),r=t/i;return t=(e?r<1.5?1:r<2.5?2:r<4?3:r<7?5:10:r<1?1:r<2?2:r<3?3:r<5?5:10)*i,n>=-20?+t.toFixed(n<0?-n:0):t}function so(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],o=n-i;return o?r+o*(t[i]-r):r}function lo(t){t.sort((function(t,e){return s(t,e,0)?-1:1}));for(var e=-1/0,n=1,i=0;i=0||r&&P(r,s)<0)){var l=n.getShallow(s,e);null!=l&&(o[t[a][0]]=l)}}return o}}var Jo=$o([[\"fill\",\"color\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"opacity\"],[\"shadowColor\"]]),Qo=function(){function t(){}return t.prototype.getAreaStyle=function(t,e){return Jo(this,t,e)},t}(),ta=new Nn(50);function ea(t){if(\"string\"==typeof t){var e=ta.get(t);return e&&e.image}return t}function na(t,e,n,i,r){if(t){if(\"string\"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var o=ta.get(t),a={hostEl:n,cb:i,cbPayload:r};return o?!ra(e=o.image)&&o.pending.push(a):((e=h.loadImage(t,ia,ia)).__zrImageSrc=t,ta.put(t,e.__cachedImgObj={image:e,pending:[a]})),e}return t}return e}function ia(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e=a;l++)s-=a;var u=mr(n,e);return u>s&&(n=\"\",u=0),s=t-u,r.ellipsis=n,r.ellipsisWidth=u,r.contentWidth=s,r.containerWidth=t,r}function la(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return\"\";var o=mr(t,i);if(o<=n)return t;for(var a=0;;a++){if(o<=r||a>=e.maxIterations){t+=e.ellipsis;break}var s=0===a?ua(t,r,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*r/o):0;o=mr(t=t.substr(0,s),i)}return\"\"===t&&(t=e.placeholder),t}function ua(t,e,n,i){for(var r=0,o=0,a=t.length;o0&&f+i.accumWidth>i.width&&(o=e.split(\"\\n\"),c=!0),i.accumWidth=f}else{var g=ya(e,h,i.width,i.breakAll,i.accumWidth);i.accumWidth=g.accumWidth+d,a=g.linesWidths,o=g.lines}}else o=e.split(\"\\n\");for(var y=0;y=33&&e<=383}(t)||!!fa[t]}function ya(t,e,n,i,r){for(var o=[],a=[],s=\"\",l=\"\",u=0,h=0,c=0;cn:r+h+d>n)?h?(s||l)&&(f?(s||(s=l,l=\"\",h=u=0),o.push(s),a.push(h-u),l+=p,s=\"\",h=u+=d):(l&&(s+=l,l=\"\",u=0),o.push(s),a.push(h),s=p,h=d)):f?(o.push(l),a.push(u),l=p,u=d):(o.push(p),a.push(d)):(h+=d,f?(l+=p,u+=d):(l&&(s+=l,l=\"\",u=0),s+=p))}else l&&(s+=l,h+=u),o.push(s),a.push(h),s=\"\",l=\"\",u=0,h=0}return o.length||s||(s=t,l=\"\",u=0),l&&(s+=l),s&&(o.push(s),a.push(h)),1===o.length&&(h+=r),{accumWidth:h,lines:o,linesWidths:a}}var va=\"__zr_style_\"+Math.round(10*Math.random()),ma={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:\"#000\",opacity:1,blend:\"source-over\"},xa={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};ma[va]=!0;var _a=[\"z\",\"z2\",\"invisible\"],ba=[\"invisible\"],wa=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype._init=function(e){for(var n=G(e),i=0;i1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(ka[0]=Da(r)*n+t,ka[1]=Ca(r)*i+e,La[0]=Da(o)*n+t,La[1]=Ca(o)*i+e,u(s,ka,La),h(l,ka,La),(r%=Aa)<0&&(r+=Aa),(o%=Aa)<0&&(o+=Aa),r>o&&!a?o+=Aa:rr&&(Pa[0]=Da(d)*n+t,Pa[1]=Ca(d)*i+e,u(s,Pa,s),h(l,Pa,l))}var Fa={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Ga=[],Wa=[],Ha=[],Ya=[],Ua=[],Xa=[],Za=Math.min,ja=Math.max,qa=Math.cos,Ka=Math.sin,$a=Math.abs,Ja=Math.PI,Qa=2*Ja,ts=\"undefined\"!=typeof Float32Array,es=[];function ns(t){return Math.round(t/Ja*1e8)/1e8%2*Ja}function is(t,e){var n=ns(t[0]);n<0&&(n+=Qa);var i=n-t[0],r=t[1];r+=i,!e&&r-n>=Qa?r=n+Qa:e&&n-r>=Qa?r=n-Qa:!e&&n>r?r=n+(Qa-ns(n-r)):e&&n0&&(this._ux=$a(n/rr/t)||0,this._uy=$a(n/rr/e)||0)},t.prototype.setDPR=function(t){this.dpr=t},t.prototype.setContext=function(t){this._ctx=t},t.prototype.getContext=function(){return this._ctx},t.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},t.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},t.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(Fa.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},t.prototype.lineTo=function(t,e){var n=$a(t-this._xi),i=$a(e-this._yi),r=n>this._ux||i>this._uy;if(this.addData(Fa.L,t,e),this._ctx&&r&&this._ctx.lineTo(t,e),r)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){return this._drawPendingPt(),this.addData(Fa.C,t,e,n,i,r,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,r,o),this._xi=r,this._yi=o,this},t.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(Fa.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},t.prototype.arc=function(t,e,n,i,r,o){this._drawPendingPt(),es[0]=i,es[1]=r,is(es,o),i=es[0];var a=(r=es[1])-i;return this.addData(Fa.A,t,e,n,n,i,a,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,o),this._xi=qa(r)*n+t,this._yi=Ka(r)*n+e,this},t.prototype.arcTo=function(t,e,n,i,r){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},t.prototype.rect=function(t,e,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,n,i),this.addData(Fa.R,t,e,n,i),this},t.prototype.closePath=function(){this._drawPendingPt(),this.addData(Fa.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&t.closePath(),this._xi=e,this._yi=n,this},t.prototype.fill=function(t){t&&t.fill(),this.toStatic()},t.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},t.prototype.len=function(){return this._len},t.prototype.setData=function(t){var e=t.length;this.data&&this.data.length===e||!ts||(this.data=new Float32Array(e));for(var n=0;nu.length&&(this._expandData(),u=this.data);for(var h=0;h0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},t.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},t.prototype.getBoundingRect=function(){Ha[0]=Ha[1]=Ua[0]=Ua[1]=Number.MAX_VALUE,Ya[0]=Ya[1]=Xa[0]=Xa[1]=-Number.MAX_VALUE;var t,e=this.data,n=0,i=0,r=0,o=0;for(t=0;tn||$a(y)>i||c===e-1)&&(f=Math.sqrt(A*A+y*y),r=g,o=x);break;case Fa.C:var v=t[c++],m=t[c++],x=(g=t[c++],t[c++]),_=t[c++],b=t[c++];f=Sn(r,o,v,m,g,x,_,b,10),r=_,o=b;break;case Fa.Q:f=An(r,o,v=t[c++],m=t[c++],g=t[c++],x=t[c++],10),r=g,o=x;break;case Fa.A:var w=t[c++],S=t[c++],M=t[c++],I=t[c++],T=t[c++],C=t[c++],D=C+T;c+=1;t[c++];d&&(a=qa(T)*M+w,s=Ka(T)*I+S),f=ja(M,I)*Za(Qa,Math.abs(C)),r=qa(D)*M+w,o=Ka(D)*I+S;break;case Fa.R:a=r=t[c++],s=o=t[c++],f=2*t[c++]+2*t[c++];break;case Fa.Z:var A=a-r;y=s-o;f=Math.sqrt(A*A+y*y),r=a,o=s}f>=0&&(l[h++]=f,u+=f)}return this._pathLen=u,u},t.prototype.rebuildPath=function(t,e){var n,i,r,o,a,s,l,u,h,c,p=this.data,d=this._ux,f=this._uy,g=this._len,y=e<1,v=0,m=0,x=0;if(!y||(this._pathSegLen||this._calculateLength(),l=this._pathSegLen,u=e*this._pathLen))t:for(var _=0;_0&&(t.lineTo(h,c),x=0),b){case Fa.M:n=r=p[_++],i=o=p[_++],t.moveTo(r,o);break;case Fa.L:a=p[_++],s=p[_++];var S=$a(a-r),M=$a(s-o);if(S>d||M>f){if(y){if(v+(j=l[m++])>u){var I=(u-v)/j;t.lineTo(r*(1-I)+a*I,o*(1-I)+s*I);break t}v+=j}t.lineTo(a,s),r=a,o=s,x=0}else{var T=S*S+M*M;T>x&&(h=a,c=s,x=T)}break;case Fa.C:var C=p[_++],D=p[_++],A=p[_++],k=p[_++],L=p[_++],P=p[_++];if(y){if(v+(j=l[m++])>u){bn(r,C,A,L,I=(u-v)/j,Ga),bn(o,D,k,P,I,Wa),t.bezierCurveTo(Ga[1],Wa[1],Ga[2],Wa[2],Ga[3],Wa[3]);break t}v+=j}t.bezierCurveTo(C,D,A,k,L,P),r=L,o=P;break;case Fa.Q:C=p[_++],D=p[_++],A=p[_++],k=p[_++];if(y){if(v+(j=l[m++])>u){Cn(r,C,A,I=(u-v)/j,Ga),Cn(o,D,k,I,Wa),t.quadraticCurveTo(Ga[1],Wa[1],Ga[2],Wa[2]);break t}v+=j}t.quadraticCurveTo(C,D,A,k),r=A,o=k;break;case Fa.A:var O=p[_++],R=p[_++],N=p[_++],E=p[_++],z=p[_++],V=p[_++],B=p[_++],F=!p[_++],G=N>E?N:E,W=$a(N-E)>.001,H=z+V,Y=!1;if(y)v+(j=l[m++])>u&&(H=z+V*(u-v)/j,Y=!0),v+=j;if(W&&t.ellipse?t.ellipse(O,R,N,E,B,z,H,F):t.arc(O,R,G,z,H,F),Y)break t;w&&(n=qa(z)*N+O,i=Ka(z)*E+R),r=qa(H)*N+O,o=Ka(H)*E+R;break;case Fa.R:n=r=p[_],i=o=p[_+1],a=p[_++],s=p[_++];var U=p[_++],X=p[_++];if(y){if(v+(j=l[m++])>u){var Z=u-v;t.moveTo(a,s),t.lineTo(a+Za(Z,U),s),(Z-=U)>0&&t.lineTo(a+U,s+Za(Z,X)),(Z-=X)>0&&t.lineTo(a+ja(U-Z,0),s+X),(Z-=U)>0&&t.lineTo(a,s+ja(X-Z,0));break t}v+=j}t.rect(a,s,U,X);break;case Fa.Z:if(y){var j;if(v+(j=l[m++])>u){I=(u-v)/j;t.lineTo(r*(1-I)+n*I,o*(1-I)+i*I);break t}v+=j}t.closePath(),r=n,o=i}}},t.prototype.clone=function(){var e=new t,n=this.data;return e.data=n.slice?n.slice():Array.prototype.slice.call(n),e._len=this._len,e},t.CMD=Fa,t.initDefaultProps=function(){var e=t.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),t}();function os(t,e,n,i,r,o,a){if(0===r)return!1;var s=r,l=0;if(a>e+s&&a>i+s||at+s&&o>n+s||oe+c&&h>i+c&&h>o+c&&h>s+c||ht+c&&u>n+c&&u>r+c&&u>a+c||ue+u&&l>i+u&&l>o+u||lt+u&&s>n+u&&s>r+u||sn||h+ur&&(r+=hs);var p=Math.atan2(l,s);return p<0&&(p+=hs),p>=i&&p<=r||p+hs>=i&&p+hs<=r}function ps(t,e,n,i,r,o){if(o>e&&o>i||or?s:0}var ds=rs.CMD,fs=2*Math.PI;var gs=[-1,-1,-1],ys=[-1,-1];function vs(t,e,n,i,r,o,a,s,l,u){if(u>e&&u>i&&u>o&&u>s||u1&&(h=void 0,h=ys[0],ys[0]=ys[1],ys[1]=h),f=vn(e,i,o,s,ys[0]),d>1&&(g=vn(e,i,o,s,ys[1]))),2===d?ve&&s>i&&s>o||s=0&&h<=1&&(r[l++]=h);else{var u=a*a-4*o*s;if(gn(u))(h=-a/(2*o))>=0&&h<=1&&(r[l++]=h);else if(u>0){var h,c=sn(u),p=(-a-c)/(2*o);(h=(-a+c)/(2*o))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}(e,i,o,s,gs);if(0===l)return 0;var u=Tn(e,i,o);if(u>=0&&u<=1){for(var h=0,c=Mn(e,i,o,u),p=0;pn||s<-n)return 0;var l=Math.sqrt(n*n-s*s);gs[0]=-l,gs[1]=l;var u=Math.abs(i-r);if(u<1e-4)return 0;if(u>=fs-1e-4){i=0,r=fs;var h=o?1:-1;return a>=gs[0]+t&&a<=gs[1]+t?h:0}if(i>r){var c=i;i=r,r=c}i<0&&(i+=fs,r+=fs);for(var p=0,d=0;d<2;d++){var f=gs[d];if(f+t>a){var g=Math.atan2(s,f);h=o?1:-1;g<0&&(g=fs+g),(g>=i&&g<=r||g+fs>=i&&g+fs<=r)&&(g>Math.PI/2&&g<1.5*Math.PI&&(h=-h),p+=h)}}return p}function _s(t,e,n,i,r){for(var o,a,s,l,u=t.data,h=t.len(),c=0,p=0,d=0,f=0,g=0,y=0;y1&&(n||(c+=ps(p,d,f,g,i,r))),m&&(f=p=u[y],g=d=u[y+1]),v){case ds.M:p=f=u[y++],d=g=u[y++];break;case ds.L:if(n){if(os(p,d,u[y],u[y+1],e,i,r))return!0}else c+=ps(p,d,u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case ds.C:if(n){if(as(p,d,u[y++],u[y++],u[y++],u[y++],u[y],u[y+1],e,i,r))return!0}else c+=vs(p,d,u[y++],u[y++],u[y++],u[y++],u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case ds.Q:if(n){if(ss(p,d,u[y++],u[y++],u[y],u[y+1],e,i,r))return!0}else c+=ms(p,d,u[y++],u[y++],u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case ds.A:var x=u[y++],_=u[y++],b=u[y++],w=u[y++],S=u[y++],M=u[y++];y+=1;var I=!!(1-u[y++]);o=Math.cos(S)*b+x,a=Math.sin(S)*w+_,m?(f=o,g=a):c+=ps(p,d,o,a,i,r);var T=(i-x)*w/b+x;if(n){if(cs(x,_,w,S,S+M,I,e,T,r))return!0}else c+=xs(x,_,w,S,S+M,I,T,r);p=Math.cos(S+M)*b+x,d=Math.sin(S+M)*w+_;break;case ds.R:if(f=p=u[y++],g=d=u[y++],o=f+u[y++],a=g+u[y++],n){if(os(f,g,o,g,e,i,r)||os(o,g,o,a,e,i,r)||os(o,a,f,a,e,i,r)||os(f,a,f,g,e,i,r))return!0}else c+=ps(o,g,o,a,i,r),c+=ps(f,a,f,g,i,r);break;case ds.Z:if(n){if(os(p,d,f,g,e,i,r))return!0}else c+=ps(p,d,f,g,i,r);p=f,d=g}}return n||(s=d,l=g,Math.abs(s-l)<1e-4)||(c+=ps(p,d,f,g,i,r)||0),0!==c}var bs=k({fill:\"#000\",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:\"butt\",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},ma),ws={style:k({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},xa.style)},Ss=gr.concat([\"invisible\",\"culling\",\"z\",\"z2\",\"zlevel\",\"parent\"]),Ms=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype.update=function(){var n=this;t.prototype.update.call(this);var i=this.style;if(i.decal){var r=this._decalEl=this._decalEl||new e;r.buildPath===e.prototype.buildPath&&(r.buildPath=function(t){n.buildPath(t,n.shape)}),r.silent=!0;var o=r.style;for(var a in i)o[a]!==i[a]&&(o[a]=i[a]);o.fill=i.fill?i.decal:null,o.decal=null,o.shadowColor=null,i.strokeFirst&&(o.stroke=null);for(var s=0;s.5?or:e>.2?\"#eee\":ar}if(t)return ar}return or},e.prototype.getInsideTextStroke=function(t){var e=this.style.fill;if(X(e)){var n=this.__zr;if(!(!n||!n.isDarkMode())===ri(t,0)<.4)return e}},e.prototype.buildPath=function(t,e,n){},e.prototype.pathUpdated=function(){this.__dirty&=-5},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new rs(!1)},e.prototype.hasStroke=function(){var t=this.style,e=t.stroke;return!(null==e||\"none\"===e||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&\"none\"!==t},e.prototype.getBoundingRect=function(){var t=this._rect,e=this.style,n=!t;if(n){var i=!1;this.path||(i=!0,this.createPathProxy());var r=this.path;(i||4&this.__dirty)&&(r.beginPath(),this.buildPath(r,this.shape,!1),this.pathUpdated()),t=r.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var o=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||n){o.copy(t);var a=e.strokeNoScale?this.getLineScale():1,s=e.lineWidth;if(!this.hasFill()){var l=this.strokeContainThreshold;s=Math.max(s,null==l?4:l)}a>1e-10&&(o.width+=s/a,o.height+=s/a,o.x-=s/a/2,o.y-=s/a/2)}return o}return t},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var o=this.path;if(this.hasStroke()){var a=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(this.hasFill()||(a=Math.max(a,this.strokeContainThreshold)),function(t,e,n,i){return _s(t,e,!0,n,i)}(o,a/s,t,e)))return!0}if(this.hasFill())return function(t,e,n){return _s(t,0,!1,e,n)}(o,t,e)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=4,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate(\"shape\",t)},e.prototype.updateDuringAnimation=function(t){\"style\"===t?this.dirtyStyle():\"shape\"===t?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(e,n){\"shape\"===e?this.setShape(n):t.prototype.attrKV.call(this,e,n)},e.prototype.setShape=function(t,e){var n=this.shape;return n||(n=this.shape={}),\"string\"==typeof t?n[t]=e:A(n,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(4&this.__dirty)},e.prototype.createStyle=function(t){return mt(bs,t)},e.prototype._innerSaveToNormal=function(e){t.prototype._innerSaveToNormal.call(this,e);var n=this._normalState;e.shape&&!n.shape&&(n.shape=A({},this.shape))},e.prototype._applyStateObj=function(e,n,i,r,o,a){t.prototype._applyStateObj.call(this,e,n,i,r,o,a);var s,l=!(n&&r);if(n&&n.shape?o?r?s=n.shape:(s=A({},i.shape),A(s,n.shape)):(s=A({},r?this.shape:i.shape),A(s,n.shape)):l&&(s=i.shape),s)if(o){this.shape=A({},this.shape);for(var u={},h=G(s),c=0;c0},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&\"none\"!==t},e.prototype.createStyle=function(t){return mt(Is,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var e=t.text;null!=e?e+=\"\":e=\"\";var n=_r(e,t.font,t.textAlign,t.textBaseline);if(n.x+=t.x||0,n.y+=t.y||0,this.hasStroke()){var i=t.lineWidth;n.x-=i/2,n.y-=i/2,n.width+=i,n.height+=i}this._rect=n}return this._rect},e.initDefaultProps=void(e.prototype.dirtyRectTolerance=10),e}(wa);Ts.prototype.type=\"tspan\";var Cs=k({x:0,y:0},ma),Ds={style:k({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},xa.style)};var As=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.createStyle=function(t){return mt(Cs,t)},e.prototype._getSize=function(t){var e=this.style,n=e[t];if(null!=n)return n;var i,r=(i=e.image)&&\"string\"!=typeof i&&i.width&&i.height?e.image:this.__image;if(!r)return 0;var o=\"width\"===t?\"height\":\"width\",a=e[o];return null==a?r[t]:r[t]/r[o]*a},e.prototype.getWidth=function(){return this._getSize(\"width\")},e.prototype.getHeight=function(){return this._getSize(\"height\")},e.prototype.getAnimationStyleProps=function(){return Ds},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new Ee(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(wa);As.prototype.type=\"image\";var ks=Math.round;function Ls(t,e,n){if(e){var i=e.x1,r=e.x2,o=e.y1,a=e.y2;t.x1=i,t.x2=r,t.y1=o,t.y2=a;var s=n&&n.lineWidth;return s?(ks(2*i)===ks(2*r)&&(t.x1=t.x2=Os(i,s,!0)),ks(2*o)===ks(2*a)&&(t.y1=t.y2=Os(o,s,!0)),t):t}}function Ps(t,e,n){if(e){var i=e.x,r=e.y,o=e.width,a=e.height;t.x=i,t.y=r,t.width=o,t.height=a;var s=n&&n.lineWidth;return s?(t.x=Os(i,s,!0),t.y=Os(r,s,!0),t.width=Math.max(Os(i+o,s,!1)-t.x,0===o?0:1),t.height=Math.max(Os(r+a,s,!1)-t.y,0===a?0:1),t):t}}function Os(t,e,n){if(!e)return t;var i=ks(2*t);return(i+ks(e))%2==0?i/2:(i+(n?1:-1))/2}var Rs=function(){this.x=0,this.y=0,this.width=0,this.height=0},Ns={},Es=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Rs},e.prototype.buildPath=function(t,e){var n,i,r,o;if(this.subPixelOptimize){var a=Ps(Ns,e,this.style);n=a.x,i=a.y,r=a.width,o=a.height,a.r=e.r,e=a}else n=e.x,i=e.y,r=e.width,o=e.height;e.r?function(t,e){var n,i,r,o,a,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),\"number\"==typeof c?n=i=r=o=c:c instanceof Array?1===c.length?n=i=r=o=c[0]:2===c.length?(n=r=c[0],i=o=c[1]):3===c.length?(n=c[0],i=o=c[1],r=c[2]):(n=c[0],i=c[1],r=c[2],o=c[3]):n=i=r=o=0,n+i>u&&(n*=u/(a=n+i),i*=u/a),r+o>u&&(r*=u/(a=r+o),o*=u/a),i+r>h&&(i*=h/(a=i+r),r*=h/a),n+o>h&&(n*=h/(a=n+o),o*=h/a),t.moveTo(s+n,l),t.lineTo(s+u-i,l),0!==i&&t.arc(s+u-i,l+i,i,-Math.PI/2,0),t.lineTo(s+u,l+h-r),0!==r&&t.arc(s+u-r,l+h-r,r,0,Math.PI/2),t.lineTo(s+o,l+h),0!==o&&t.arc(s+o,l+h-o,o,Math.PI/2,Math.PI),t.lineTo(s,l+n),0!==n&&t.arc(s+n,l+n,n,Math.PI,1.5*Math.PI)}(t,e):t.rect(n,i,r,o)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(Ms);Es.prototype.type=\"rect\";var zs={fill:\"#000\"},Vs={style:k({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},xa.style)},Bs=function(t){function e(e){var n=t.call(this)||this;return n.type=\"text\",n._children=[],n._defaultStyle=zs,n.attr(e),n}return n(e,t),e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){t.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;ed&&h){var f=Math.floor(d/l);n=n.slice(0,f)}if(t&&a&&null!=c)for(var g=sa(c,o,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),y=0;y0,T=null!=t.width&&(\"truncate\"===t.overflow||\"break\"===t.overflow||\"breakAll\"===t.overflow),C=i.calculatedLineHeight,D=0;Dl&&da(n,t.substring(l,u),e,s),da(n,i[2],e,s,i[1]),l=oa.lastIndex}lo){b>0?(m.tokens=m.tokens.slice(0,b),y(m,_,x),n.lines=n.lines.slice(0,v+1)):n.lines=n.lines.slice(0,v);break t}var C=w.width,D=null==C||\"auto\"===C;if(\"string\"==typeof C&&\"%\"===C.charAt(C.length-1))P.percentWidth=C,h.push(P),P.contentWidth=mr(P.text,I);else{if(D){var A=w.backgroundColor,k=A&&A.image;k&&ra(k=ea(k))&&(P.width=Math.max(P.width,k.width*T/k.height))}var L=f&&null!=r?r-_:null;null!=L&&L=0&&\"right\"===(C=x[T]).align;)this._placeToken(C,t,b,f,I,\"right\",y),w-=C.width,I-=C.width,T--;for(M+=(n-(M-d)-(g-I)-w)/2;S<=T;)C=x[S],this._placeToken(C,t,b,f,M+C.width/2,\"center\",y),M+=C.width,S++;f+=b}},e.prototype._placeToken=function(t,e,n,i,r,o,s){var l=e.rich[t.styleName]||{};l.text=t.text;var u=t.verticalAlign,h=i+n/2;\"top\"===u?h=i+t.height/2:\"bottom\"===u&&(h=i+n-t.height/2),!t.isLineHolder&&$s(l)&&this._renderBackground(l,e,\"right\"===o?r-t.width:\"center\"===o?r-t.width/2:r,h-t.height/2,t.width,t.height);var c=!!l.backgroundColor,p=t.textPadding;p&&(r=qs(r,o,p),h-=t.height/2-p[0]-t.innerHeight/2);var d=this._getOrCreateChild(Ts),f=d.createStyle();d.useStyle(f);var g=this._defaultStyle,y=!1,v=0,m=js(\"fill\"in l?l.fill:\"fill\"in e?e.fill:(y=!0,g.fill)),x=Zs(\"stroke\"in l?l.stroke:\"stroke\"in e?e.stroke:c||s||g.autoStroke&&!y?null:(v=2,g.stroke)),_=l.textShadowBlur>0||e.textShadowBlur>0;f.text=t.text,f.x=r,f.y=h,_&&(f.shadowBlur=l.textShadowBlur||e.textShadowBlur||0,f.shadowColor=l.textShadowColor||e.textShadowColor||\"transparent\",f.shadowOffsetX=l.textShadowOffsetX||e.textShadowOffsetX||0,f.shadowOffsetY=l.textShadowOffsetY||e.textShadowOffsetY||0),f.textAlign=o,f.textBaseline=\"middle\",f.font=t.font||a,f.opacity=ot(l.opacity,e.opacity,1),Ys(f,l),x&&(f.lineWidth=ot(l.lineWidth,e.lineWidth,v),f.lineDash=rt(l.lineDash,e.lineDash),f.lineDashOffset=e.lineDashOffset||0,f.stroke=x),m&&(f.fill=m);var b=t.contentWidth,w=t.contentHeight;d.setBoundingRect(new Ee(br(f.x,b,f.textAlign),wr(f.y,w,f.textBaseline),b,w))},e.prototype._renderBackground=function(t,e,n,i,r,o){var a,s,l,u=t.backgroundColor,h=t.borderWidth,c=t.borderColor,p=u&&u.image,d=u&&!p,f=t.borderRadius,g=this;if(d||t.lineHeight||h&&c){(a=this._getOrCreateChild(Es)).useStyle(a.createStyle()),a.style.fill=null;var y=a.shape;y.x=n,y.y=i,y.width=r,y.height=o,y.r=f,a.dirtyShape()}if(d)(l=a.style).fill=u||null,l.fillOpacity=rt(t.fillOpacity,1);else if(p){(s=this._getOrCreateChild(As)).onload=function(){g.dirtyStyle()};var v=s.style;v.image=u.image,v.x=n,v.y=i,v.width=r,v.height=o}h&&c&&((l=a.style).lineWidth=h,l.stroke=c,l.strokeOpacity=rt(t.strokeOpacity,1),l.lineDash=t.borderDash,l.lineDashOffset=t.borderDashOffset||0,a.strokeContainThreshold=0,a.hasFill()&&a.hasStroke()&&(l.strokeFirst=!0,l.lineWidth*=2));var m=(a||s).style;m.shadowBlur=t.shadowBlur||0,m.shadowColor=t.shadowColor||\"transparent\",m.shadowOffsetX=t.shadowOffsetX||0,m.shadowOffsetY=t.shadowOffsetY||0,m.opacity=ot(t.opacity,e.opacity,1)},e.makeFont=function(t){var e=\"\";return Us(t)&&(e=[t.fontStyle,t.fontWeight,Hs(t.fontSize),t.fontFamily||\"sans-serif\"].join(\" \")),e&&ut(e)||t.textFont||t.font},e}(wa),Fs={left:!0,right:1,center:1},Gs={top:1,bottom:1,middle:1},Ws=[\"fontStyle\",\"fontWeight\",\"fontSize\",\"fontFamily\"];function Hs(t){return\"string\"!=typeof t||-1===t.indexOf(\"px\")&&-1===t.indexOf(\"rem\")&&-1===t.indexOf(\"em\")?isNaN(+t)?\"12px\":t+\"px\":t}function Ys(t,e){for(var n=0;n=0,o=!1;if(t instanceof Ms){var a=nl(t),s=r&&a.selectFill||a.normalFill,l=r&&a.selectStroke||a.normalStroke;if(pl(s)||pl(l)){var u=(i=i||{}).style||{};\"inherit\"===u.fill?(o=!0,i=A({},i),(u=A({},u)).fill=s):!pl(u.fill)&&pl(s)?(o=!0,i=A({},i),(u=A({},u)).fill=fl(s)):!pl(u.stroke)&&pl(l)&&(o||(i=A({},i),u=A({},u)),u.stroke=fl(l)),i.style=u}}if(i&&null==i.z2){o||(i=A({},i));var h=t.z2EmphasisLift;i.z2=t.z2+(null!=h?h:al)}return i}(this,0,e,n);if(\"blur\"===t)return function(t,e,n){var i=P(t.currentStates,e)>=0,r=t.style.opacity,o=i?null:function(t,e,n,i){for(var r=t.style,o={},a=0;a0){var o={dataIndex:r,seriesIndex:t.seriesIndex};null!=i&&(o.dataType=i),e.push(o)}}))})),e}function Wl(t,e,n){jl(t,!0),Sl(t,Tl),Yl(t,e,n)}function Hl(t,e,n,i){i?function(t){jl(t,!1)}(t):Wl(t,e,n)}function Yl(t,e,n){var i=Js(t);null!=e?(i.focus=e,i.blurScope=n):i.focus&&(i.focus=null)}var Ul=[\"emphasis\",\"blur\",\"select\"],Xl={itemStyle:\"getItemStyle\",lineStyle:\"getLineStyle\",areaStyle:\"getAreaStyle\"};function Zl(t,e,n,i){n=n||\"itemStyle\";for(var r=0;r1&&(a*=iu(f),s*=iu(f));var g=(r===o?-1:1)*iu((a*a*(s*s)-a*a*(d*d)-s*s*(p*p))/(a*a*(d*d)+s*s*(p*p)))||0,y=g*a*d/s,v=g*-s*p/a,m=(t+n)/2+ou(c)*y-ru(c)*v,x=(e+i)/2+ru(c)*y+ou(c)*v,_=uu([1,0],[(p-y)/a,(d-v)/s]),b=[(p-y)/a,(d-v)/s],w=[(-1*p-y)/a,(-1*d-v)/s],S=uu(b,w);if(lu(b,w)<=-1&&(S=au),lu(b,w)>=1&&(S=0),S<0){var M=Math.round(S/au*1e6)/1e6;S=2*au+M%2*au}h.addData(u,m,x,a,s,_,S,c,o)}var cu=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,pu=/-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g;var du=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.applyTransform=function(t){},e}(Ms);function fu(t){return null!=t.setData}function gu(t,e){var n=function(t){var e=new rs;if(!t)return e;var n,i=0,r=0,o=i,a=r,s=rs.CMD,l=t.match(cu);if(!l)return e;for(var u=0;uk*k+L*L&&(M=T,I=C),{cx:M,cy:I,x0:-h,y0:-c,x1:M*(r/b-1),y1:I*(r/b-1)}}function Ru(t,e){var n,i=ku(e.r,0),r=ku(e.r0||0,0),o=i>0;if(o||r>0){if(o||(i=r,r=0),r>i){var a=i;i=r,r=a}var s=e.startAngle,l=e.endAngle;if(!isNaN(s)&&!isNaN(l)){var u=e.cx,h=e.cy,c=!!e.clockwise,p=Du(l-s),d=p>Su&&p%Su;if(d>Pu&&(p=d),i>Pu)if(p>Su-Pu)t.moveTo(u+i*Iu(s),h+i*Mu(s)),t.arc(u,h,i,s,l,!c),r>Pu&&(t.moveTo(u+r*Iu(l),h+r*Mu(l)),t.arc(u,h,r,l,s,c));else{var f=void 0,g=void 0,y=void 0,v=void 0,m=void 0,x=void 0,_=void 0,b=void 0,w=void 0,S=void 0,M=void 0,I=void 0,T=void 0,C=void 0,D=void 0,A=void 0,k=i*Iu(s),L=i*Mu(s),P=r*Iu(l),O=r*Mu(l),R=p>Pu;if(R){var N=e.cornerRadius;N&&(n=function(t){var e;if(Y(t)){var n=t.length;if(!n)return t;e=1===n?[t[0],t[0],0,0]:2===n?[t[0],t[0],t[1],t[1]]:3===n?t.concat(t[2]):t}else e=[t,t,t,t];return e}(N),f=n[0],g=n[1],y=n[2],v=n[3]);var E=Du(i-r)/2;if(m=Lu(E,y),x=Lu(E,v),_=Lu(E,f),b=Lu(E,g),M=w=ku(m,x),I=S=ku(_,b),(w>Pu||S>Pu)&&(T=i*Iu(l),C=i*Mu(l),D=r*Iu(s),A=r*Mu(s),pPu){var U=Lu(y,M),X=Lu(v,M),Z=Ou(D,A,k,L,i,U,c),j=Ou(T,C,P,O,i,X,c);t.moveTo(u+Z.cx+Z.x0,h+Z.cy+Z.y0),M0&&t.arc(u+Z.cx,h+Z.cy,U,Cu(Z.y0,Z.x0),Cu(Z.y1,Z.x1),!c),t.arc(u,h,i,Cu(Z.cy+Z.y1,Z.cx+Z.x1),Cu(j.cy+j.y1,j.cx+j.x1),!c),X>0&&t.arc(u+j.cx,h+j.cy,X,Cu(j.y1,j.x1),Cu(j.y0,j.x0),!c))}else t.moveTo(u+k,h+L),t.arc(u,h,i,s,l,!c);else t.moveTo(u+k,h+L);if(r>Pu&&R)if(I>Pu){U=Lu(f,I),Z=Ou(P,O,T,C,r,-(X=Lu(g,I)),c),j=Ou(k,L,D,A,r,-U,c);t.lineTo(u+Z.cx+Z.x0,h+Z.cy+Z.y0),I0&&t.arc(u+Z.cx,h+Z.cy,X,Cu(Z.y0,Z.x0),Cu(Z.y1,Z.x1),!c),t.arc(u,h,r,Cu(Z.cy+Z.y1,Z.cx+Z.x1),Cu(j.cy+j.y1,j.cx+j.x1),c),U>0&&t.arc(u+j.cx,h+j.cy,U,Cu(j.y1,j.x1),Cu(j.y0,j.x0),!c))}else t.lineTo(u+P,h+O),t.arc(u,h,r,l,s,c);else t.lineTo(u+P,h+O)}else t.moveTo(u,h);t.closePath()}}}var Nu=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0,this.cornerRadius=0},Eu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Nu},e.prototype.buildPath=function(t,e){Ru(t,e)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(Ms);Eu.prototype.type=\"sector\";var zu=function(){this.cx=0,this.cy=0,this.r=0,this.r0=0},Vu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new zu},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=2*Math.PI;t.moveTo(n+e.r,i),t.arc(n,i,e.r,0,r,!1),t.moveTo(n+e.r0,i),t.arc(n,i,e.r0,0,r,!0)},e}(Ms);function Bu(t,e,n){var i=e.smooth,r=e.points;if(r&&r.length>=2){if(i){var o=function(t,e,n,i){var r,o,a,s,l=[],u=[],h=[],c=[];if(i){a=[1/0,1/0],s=[-1/0,-1/0];for(var p=0,d=t.length;prh[1]){if(a=!1,r)return a;var u=Math.abs(rh[0]-ih[1]),h=Math.abs(ih[0]-rh[1]);Math.min(u,h)>i.len()&&(u0){var c={duration:h.duration,delay:h.delay||0,easing:h.easing,done:o,force:!!o||!!a,setToFinal:!u,scope:t,during:a};l?e.animateFrom(n,c):e.animateTo(n,c)}else e.stopAnimation(),!l&&e.attr(n),a&&a(1),o&&o()}function dh(t,e,n,i,r,o){ph(\"update\",t,e,n,i,r,o)}function fh(t,e,n,i,r,o){ph(\"enter\",t,e,n,i,r,o)}function gh(t){if(!t.__zr)return!0;for(var e=0;eMath.abs(o[1])?o[0]>0?\"right\":\"left\":o[1]>0?\"bottom\":\"top\"}function Vh(t){return!t.isGroup}function Bh(t,e,n){if(t&&e){var i,r=(i={},t.traverse((function(t){Vh(t)&&t.anid&&(i[t.anid]=t)})),i);e.traverse((function(t){if(Vh(t)&&t.anid){var e=r[t.anid];if(e){var i=o(t);t.attr(o(e)),dh(t,i,n,Js(t).dataIndex)}}}))}function o(t){var e={x:t.x,y:t.y,rotation:t.rotation};return function(t){return null!=t.shape}(t)&&(e.shape=A({},t.shape)),e}}function Fh(t,e){return z(t,(function(t){var n=t[0];n=_h(n,e.x),n=bh(n,e.x+e.width);var i=t[1];return i=_h(i,e.y),[n,i=bh(i,e.y+e.height)]}))}function Gh(t,e){var n=_h(t.x,e.x),i=bh(t.x+t.width,e.x+e.width),r=_h(t.y,e.y),o=bh(t.y+t.height,e.y+e.height);if(i>=n&&o>=r)return{x:n,y:r,width:i-n,height:o-r}}function Wh(t,e,n){var i=A({rectHover:!0},e),r=i.style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf(\"image://\")?(r.image=t.slice(8),k(r,n),new As(i)):Dh(t.replace(\"path://\",\"\"),i,n,\"center\")}function Hh(t,e,n,i,r){for(var o=0,a=r[r.length-1];o=-1e-6)return!1;var f=t-r,g=e-o,y=Uh(f,g,u,h)/d;if(y<0||y>1)return!1;var v=Uh(f,g,c,p)/d;return!(v<0||v>1)}function Uh(t,e,n,i){return t*i-n*e}function Xh(t){var e=t.itemTooltipOption,n=t.componentModel,i=t.itemName,r=X(e)?{formatter:e}:e,o=n.mainType,a=n.componentIndex,s={componentType:o,name:i,$vars:[\"name\"]};s[o+\"Index\"]=a;var l=t.formatterParamsExtra;l&&E(G(l),(function(t){_t(s,t)||(s[t]=l[t],s.$vars.push(t))}));var u=Js(t.el);u.componentMainType=o,u.componentIndex=a,u.tooltipConfig={name:i,option:k({content:i,formatterParams:s},r)}}function Zh(t,e){var n;t.isGroup&&(n=e(t)),n||t.traverse(e)}function jh(t,e){if(t)if(Y(t))for(var n=0;n-1?Cc:Ac;function Oc(t,e){t=t.toUpperCase(),Lc[t]=new Sc(e),kc[t]=e}function Rc(t){return Lc[t]}Oc(Dc,{time:{month:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthAbbr:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayOfWeek:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayOfWeekAbbr:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]},legend:{selector:{all:\"All\",inverse:\"Inv\"}},toolbox:{brush:{title:{rect:\"Box Select\",polygon:\"Lasso Select\",lineX:\"Horizontally Select\",lineY:\"Vertically Select\",keep:\"Keep Selections\",clear:\"Clear Selections\"}},dataView:{title:\"Data View\",lang:[\"Data View\",\"Close\",\"Refresh\"]},dataZoom:{title:{zoom:\"Zoom\",back:\"Zoom Reset\"}},magicType:{title:{line:\"Switch to Line Chart\",bar:\"Switch to Bar Chart\",stack:\"Stack\",tiled:\"Tile\"}},restore:{title:\"Restore\"},saveAsImage:{title:\"Save as Image\",lang:[\"Right Click to Save Image\"]}},series:{typeNames:{pie:\"Pie chart\",bar:\"Bar chart\",line:\"Line chart\",scatter:\"Scatter plot\",effectScatter:\"Ripple scatter plot\",radar:\"Radar chart\",tree:\"Tree\",treemap:\"Treemap\",boxplot:\"Boxplot\",candlestick:\"Candlestick\",k:\"K line chart\",heatmap:\"Heat map\",map:\"Map\",parallel:\"Parallel coordinate map\",lines:\"Line graph\",graph:\"Relationship graph\",sankey:\"Sankey diagram\",funnel:\"Funnel chart\",gauge:\"Gauge\",pictorialBar:\"Pictorial bar\",themeRiver:\"Theme River Map\",sunburst:\"Sunburst\"}},aria:{general:{withTitle:'This is a chart about \"{title}\"',withoutTitle:\"This is a chart\"},series:{single:{prefix:\"\",withName:\" with type {seriesType} named {seriesName}.\",withoutName:\" with type {seriesType}.\"},multiple:{prefix:\". It consists of {seriesCount} series count.\",withName:\" The {seriesId} series is a {seriesType} representing {seriesName}.\",withoutName:\" The {seriesId} series is a {seriesType}.\",separator:{middle:\"\",end:\"\"}}},data:{allData:\"The data is as follows: \",partialData:\"The first {displayCnt} items are: \",withName:\"the data for {name} is {value}\",withoutName:\"{value}\",separator:{middle:\", \",end:\". \"}}}}),Oc(Cc,{time:{month:[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"],monthAbbr:[\"1月\",\"2月\",\"3月\",\"4月\",\"5月\",\"6月\",\"7月\",\"8月\",\"9月\",\"10月\",\"11月\",\"12月\"],dayOfWeek:[\"星期日\",\"星期一\",\"星期二\",\"星期三\",\"星期四\",\"星期五\",\"星期六\"],dayOfWeekAbbr:[\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\"]},legend:{selector:{all:\"全选\",inverse:\"反选\"}},toolbox:{brush:{title:{rect:\"矩形选择\",polygon:\"圈选\",lineX:\"横向选择\",lineY:\"纵向选择\",keep:\"保持选择\",clear:\"清除选择\"}},dataView:{title:\"数据视图\",lang:[\"数据视图\",\"关闭\",\"刷新\"]},dataZoom:{title:{zoom:\"区域缩放\",back:\"区域缩放还原\"}},magicType:{title:{line:\"切换为折线图\",bar:\"切换为柱状图\",stack:\"切换为堆叠\",tiled:\"切换为平铺\"}},restore:{title:\"还原\"},saveAsImage:{title:\"保存为图片\",lang:[\"右键另存为图片\"]}},series:{typeNames:{pie:\"饼图\",bar:\"柱状图\",line:\"折线图\",scatter:\"散点图\",effectScatter:\"涟漪散点图\",radar:\"雷达图\",tree:\"树图\",treemap:\"矩形树图\",boxplot:\"箱型图\",candlestick:\"K线图\",k:\"K线图\",heatmap:\"热力图\",map:\"地图\",parallel:\"平行坐标图\",lines:\"线图\",graph:\"关系图\",sankey:\"桑基图\",funnel:\"漏斗图\",gauge:\"仪表盘图\",pictorialBar:\"象形柱图\",themeRiver:\"主题河流图\",sunburst:\"旭日图\"}},aria:{general:{withTitle:\"这是一个关于“{title}”的图表。\",withoutTitle:\"这是一个图表,\"},series:{single:{prefix:\"\",withName:\"图表类型是{seriesType},表示{seriesName}。\",withoutName:\"图表类型是{seriesType}。\"},multiple:{prefix:\"它由{seriesCount}个图表系列组成。\",withName:\"第{seriesId}个系列是一个表示{seriesName}的{seriesType},\",withoutName:\"第{seriesId}个系列是一个{seriesType},\",separator:{middle:\";\",end:\"。\"}}},data:{allData:\"其数据是——\",partialData:\"其中,前{displayCnt}项是——\",withName:\"{name}的数据是{value}\",withoutName:\"{value}\",separator:{middle:\",\",end:\"\"}}}});var Nc=1e3,Ec=6e4,zc=36e5,Vc=864e5,Bc=31536e6,Fc={year:\"{yyyy}\",month:\"{MMM}\",day:\"{d}\",hour:\"{HH}:{mm}\",minute:\"{HH}:{mm}\",second:\"{HH}:{mm}:{ss}\",millisecond:\"{HH}:{mm}:{ss} {SSS}\",none:\"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}\"},Gc=\"{yyyy}-{MM}-{dd}\",Wc={year:\"{yyyy}\",month:\"{yyyy}-{MM}\",day:Gc,hour:\"{yyyy}-{MM}-{dd} \"+Fc.hour,minute:\"{yyyy}-{MM}-{dd} \"+Fc.minute,second:\"{yyyy}-{MM}-{dd} \"+Fc.second,millisecond:Fc.none},Hc=[\"year\",\"month\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"],Yc=[\"year\",\"half-year\",\"quarter\",\"month\",\"week\",\"half-week\",\"day\",\"half-day\",\"quarter-day\",\"hour\",\"minute\",\"second\",\"millisecond\"];function Uc(t,e){return\"0000\".substr(0,e-(t+=\"\").length)+t}function Xc(t){switch(t){case\"half-year\":case\"quarter\":return\"month\";case\"week\":case\"half-week\":return\"day\";case\"half-day\":case\"quarter-day\":return\"hour\";default:return t}}function Zc(t){return t===Xc(t)}function jc(t,e,n,i){var r=io(t),o=r[$c(n)](),a=r[Jc(n)]()+1,s=Math.floor((a-1)/3)+1,l=r[Qc(n)](),u=r[\"get\"+(n?\"UTC\":\"\")+\"Day\"](),h=r[tp(n)](),c=(h-1)%12+1,p=r[ep(n)](),d=r[np(n)](),f=r[ip(n)](),g=(i instanceof Sc?i:Rc(i||Pc)||Lc.EN).getModel(\"time\"),y=g.get(\"month\"),v=g.get(\"monthAbbr\"),m=g.get(\"dayOfWeek\"),x=g.get(\"dayOfWeekAbbr\");return(e||\"\").replace(/{yyyy}/g,o+\"\").replace(/{yy}/g,o%100+\"\").replace(/{Q}/g,s+\"\").replace(/{MMMM}/g,y[a-1]).replace(/{MMM}/g,v[a-1]).replace(/{MM}/g,Uc(a,2)).replace(/{M}/g,a+\"\").replace(/{dd}/g,Uc(l,2)).replace(/{d}/g,l+\"\").replace(/{eeee}/g,m[u]).replace(/{ee}/g,x[u]).replace(/{e}/g,u+\"\").replace(/{HH}/g,Uc(h,2)).replace(/{H}/g,h+\"\").replace(/{hh}/g,Uc(c+\"\",2)).replace(/{h}/g,c+\"\").replace(/{mm}/g,Uc(p,2)).replace(/{m}/g,p+\"\").replace(/{ss}/g,Uc(d,2)).replace(/{s}/g,d+\"\").replace(/{SSS}/g,Uc(f,3)).replace(/{S}/g,f+\"\")}function qc(t,e){var n=io(t),i=n[Jc(e)]()+1,r=n[Qc(e)](),o=n[tp(e)](),a=n[ep(e)](),s=n[np(e)](),l=0===n[ip(e)](),u=l&&0===s,h=u&&0===a,c=h&&0===o,p=c&&1===r;return p&&1===i?\"year\":p?\"month\":c?\"day\":h?\"hour\":u?\"minute\":l?\"second\":\"millisecond\"}function Kc(t,e,n){var i=j(t)?io(t):t;switch(e=e||qc(t,n)){case\"year\":return i[$c(n)]();case\"half-year\":return i[Jc(n)]()>=6?1:0;case\"quarter\":return Math.floor((i[Jc(n)]()+1)/4);case\"month\":return i[Jc(n)]();case\"day\":return i[Qc(n)]();case\"half-day\":return i[tp(n)]()/24;case\"hour\":return i[tp(n)]();case\"minute\":return i[ep(n)]();case\"second\":return i[np(n)]();case\"millisecond\":return i[ip(n)]()}}function $c(t){return t?\"getUTCFullYear\":\"getFullYear\"}function Jc(t){return t?\"getUTCMonth\":\"getMonth\"}function Qc(t){return t?\"getUTCDate\":\"getDate\"}function tp(t){return t?\"getUTCHours\":\"getHours\"}function ep(t){return t?\"getUTCMinutes\":\"getMinutes\"}function np(t){return t?\"getUTCSeconds\":\"getSeconds\"}function ip(t){return t?\"getUTCMilliseconds\":\"getMilliseconds\"}function rp(t){return t?\"setUTCFullYear\":\"setFullYear\"}function op(t){return t?\"setUTCMonth\":\"setMonth\"}function ap(t){return t?\"setUTCDate\":\"setDate\"}function sp(t){return t?\"setUTCHours\":\"setHours\"}function lp(t){return t?\"setUTCMinutes\":\"setMinutes\"}function up(t){return t?\"setUTCSeconds\":\"setSeconds\"}function hp(t){return t?\"setUTCMilliseconds\":\"setMilliseconds\"}function cp(t){if(!ho(t))return X(t)?t:\"-\";var e=(t+\"\").split(\".\");return e[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g,\"$1,\")+(e.length>1?\".\"+e[1]:\"\")}function pp(t,e){return t=(t||\"\").toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()})),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var dp=st;function fp(t,e,n){function i(t){return t&&ut(t)?t:\"-\"}function r(t){return!(null==t||isNaN(t)||!isFinite(t))}var o=\"time\"===e,a=t instanceof Date;if(o||a){var s=o?io(t):t;if(!isNaN(+s))return jc(s,\"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}\",n);if(a)return\"-\"}if(\"ordinal\"===e)return Z(t)?i(t):j(t)&&r(t)?t+\"\":\"-\";var l=uo(t);return r(l)?cp(l):Z(t)?i(t):\"boolean\"==typeof t?t+\"\":\"-\"}var gp=[\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\"],yp=function(t,e){return\"{\"+t+(null==e?\"\":e)+\"}\"};function vp(t,e,n){Y(e)||(e=[e]);var i=e.length;if(!i)return\"\";for(var r=e[0].$vars||[],o=0;o':'':{renderMode:o,content:\"{\"+(n.markerId||\"markerX\")+\"|} \",style:\"subItem\"===r?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}:\"\"}function xp(t,e){return e=e||\"transparent\",X(t)?t:q(t)&&t.colorStops&&(t.colorStops[0]||{}).color||e}function _p(t,e){if(\"_blank\"===e||\"blank\"===e){var n=window.open();n.opener=null,n.location.href=t}else window.open(t,e)}var bp=E,wp=[\"left\",\"right\",\"top\",\"bottom\",\"width\",\"height\"],Sp=[[\"width\",\"left\",\"right\"],[\"height\",\"top\",\"bottom\"]];function Mp(t,e,n,i,r){var o=0,a=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild((function(l,u){var h,c,p=l.getBoundingRect(),d=e.childAt(u+1),f=d&&d.getBoundingRect();if(\"horizontal\"===t){var g=p.width+(f?-f.x+p.x:0);(h=o+g)>i||l.newline?(o=0,h=g,a+=s+n,s=p.height):s=Math.max(s,p.height)}else{var y=p.height+(f?-f.y+p.y:0);(c=a+y)>r||l.newline?(o+=s+n,a=0,c=y,s=p.width):s=Math.max(s,p.width)}l.newline||(l.x=o,l.y=a,l.markRedraw(),\"horizontal\"===t?o=h+n:a=c+n)}))}var Ip=Mp;H(Mp,\"vertical\"),H(Mp,\"horizontal\");function Tp(t,e,n){n=dp(n||0);var i=e.width,r=e.height,o=Ur(t.left,i),a=Ur(t.top,r),s=Ur(t.right,i),l=Ur(t.bottom,r),u=Ur(t.width,i),h=Ur(t.height,r),c=n[2]+n[0],p=n[1]+n[3],d=t.aspect;switch(isNaN(u)&&(u=i-s-p-o),isNaN(h)&&(h=r-l-c-a),null!=d&&(isNaN(u)&&isNaN(h)&&(d>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=d*h),isNaN(h)&&(h=u/d)),isNaN(o)&&(o=i-s-u-p),isNaN(a)&&(a=r-l-h-c),t.left||t.right){case\"center\":o=i/2-u/2-n[3];break;case\"right\":o=i-u-p}switch(t.top||t.bottom){case\"middle\":case\"center\":a=r/2-h/2-n[0];break;case\"bottom\":a=r-h-c}o=o||0,a=a||0,isNaN(u)&&(u=i-p-o-(s||0)),isNaN(h)&&(h=r-c-a-(l||0));var f=new Ee(o+n[3],a+n[0],u,h);return f.margin=n,f}function Cp(t,e,n,i,r,o){var a,s=!r||!r.hv||r.hv[0],l=!r||!r.hv||r.hv[1],u=r&&r.boundingMode||\"all\";if((o=o||t).x=t.x,o.y=t.y,!s&&!l)return!1;if(\"raw\"===u)a=\"group\"===t.type?new Ee(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(a=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(a=a.clone()).applyTransform(h)}var c=Tp(k({width:a.width,height:a.height},e),n,i),p=s?c.x-a.x:0,d=l?c.y-a.y:0;return\"raw\"===u?(o.x=p,o.y=d):(o.x+=p,o.y+=d),o===t&&t.markRedraw(),!0}function Dp(t){var e=t.layoutMode||t.constructor.layoutMode;return q(e)?e:e?{type:e}:null}function Ap(t,e,n){var i=n&&n.ignoreSize;!Y(i)&&(i=[i,i]);var r=a(Sp[0],0),o=a(Sp[1],1);function a(n,r){var o={},a=0,u={},h=0;if(bp(n,(function(e){u[e]=t[e]})),bp(n,(function(t){s(e,t)&&(o[t]=u[t]=e[t]),l(o,t)&&a++,l(u,t)&&h++})),i[r])return l(e,n[1])?u[n[2]]=null:l(e,n[2])&&(u[n[1]]=null),u;if(2!==h&&a){if(a>=2)return o;for(var c=0;c=0;a--)o=C(o,n[a],!0);e.defaultOption=o}return e.defaultOption},e.prototype.getReferringComponents=function(t,e){var n=t+\"Index\",i=t+\"Id\";return Vo(this.ecModel,t,{index:this.get(n,!0),id:this.get(i,!0)},e)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get(\"left\"),top:t.get(\"top\"),right:t.get(\"right\"),bottom:t.get(\"bottom\"),width:t.get(\"width\"),height:t.get(\"height\")}},e.prototype.getZLevelKey=function(){return\"\"},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type=\"component\",t.id=\"\",t.name=\"\",t.mainType=\"\",t.subType=\"\",t.componentIndex=0}(),e}(Sc);Xo(Op,Sc),Ko(Op),function(t){var e={};t.registerSubTypeDefaulter=function(t,n){var i=Yo(t);e[i.main]=n},t.determineSubType=function(n,i){var r=i.type;if(!r){var o=Yo(n).main;t.hasSubTypes(n)&&e[o]&&(r=e[o](i))}return r}}(Op),function(t,e){function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}t.topologicalTravel=function(t,i,r,o){if(t.length){var a=function(t){var i={},r=[];return E(t,(function(o){var a=n(i,o),s=function(t,e){var n=[];return E(t,(function(t){P(e,t)>=0&&n.push(t)})),n}(a.originalDeps=e(o),t);a.entryCount=s.length,0===a.entryCount&&r.push(o),E(s,(function(t){P(a.predecessor,t)<0&&a.predecessor.push(t);var e=n(i,t);P(e.successor,t)<0&&e.successor.push(o)}))})),{graph:i,noEntryList:r}}(i),s=a.graph,l=a.noEntryList,u={};for(E(t,(function(t){u[t]=!0}));l.length;){var h=l.pop(),c=s[h],p=!!u[h];p&&(r.call(o,h,c.originalDeps.slice()),delete u[h]),E(c.successor,p?f:d)}E(u,(function(){var t=\"\";throw new Error(t)}))}function d(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}function f(t){u[t]=!0,d(t)}}}(Op,(function(t){var e=[];E(Op.getClassesByMainType(t),(function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])})),e=z(e,(function(t){return Yo(t).main})),\"dataset\"!==t&&P(e,\"dataset\")<=0&&e.unshift(\"dataset\");return e}));var Rp=\"\";\"undefined\"!=typeof navigator&&(Rp=navigator.platform||\"\");var Np=\"rgba(0, 0, 0, 0.2)\",Ep={darkMode:\"auto\",colorBy:\"series\",color:[\"#5470c6\",\"#91cc75\",\"#fac858\",\"#ee6666\",\"#73c0de\",\"#3ba272\",\"#fc8452\",\"#9a60b4\",\"#ea7ccc\"],gradientColor:[\"#f6efa6\",\"#d88273\",\"#bf444c\"],aria:{decal:{decals:[{color:Np,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:Np,symbol:\"circle\",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:Np,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:Np,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:Np,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:Np,symbol:\"triangle\",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:Rp.match(/^Win/)?\"Microsoft YaHei\":\"sans-serif\",fontSize:12,fontStyle:\"normal\",fontWeight:\"normal\"},blendMode:null,stateAnimation:{duration:300,easing:\"cubicOut\"},animation:\"auto\",animationDuration:1e3,animationDurationUpdate:500,animationEasing:\"cubicInOut\",animationEasingUpdate:\"cubicInOut\",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},zp=yt([\"tooltip\",\"label\",\"itemName\",\"itemId\",\"itemGroupId\",\"seriesName\"]),Vp=\"original\",Bp=\"arrayRows\",Fp=\"objectRows\",Gp=\"keyedColumns\",Wp=\"typedArray\",Hp=\"unknown\",Yp=\"column\",Up=\"row\",Xp=1,Zp=2,jp=3,qp=Po();function Kp(t,e,n){var i={},r=Jp(e);if(!r||!t)return i;var o,a,s=[],l=[],u=e.ecModel,h=qp(u).datasetMap,c=r.uid+\"_\"+n.seriesLayoutBy;E(t=t.slice(),(function(e,n){var r=q(e)?e:t[n]={name:e};\"ordinal\"===r.type&&null==o&&(o=n,a=f(r)),i[r.name]=[]}));var p=h.get(c)||h.set(c,{categoryWayDim:a,valueWayDim:0});function d(t,e,n){for(var i=0;ie)return t[i];return t[n-1]}(i,a):n;if((h=h||n)&&h.length){var c=h[l];return r&&(u[r]=c),s.paletteIdx=(l+1)%h.length,c}}var hd=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(t,e,n,i,r,o){i=i||{},this.option=null,this._theme=new Sc(i),this._locale=new Sc(r),this._optionManager=o},e.prototype.setOption=function(t,e,n){var i=dd(e);this._optionManager.setOption(t,n,i),this._resetOption(null,i)},e.prototype.resetOption=function(t,e){return this._resetOption(t,dd(e))},e.prototype._resetOption=function(t,e){var n=!1,i=this._optionManager;if(!t||\"recreate\"===t){var r=i.mountOption(\"recreate\"===t);0,this.option&&\"recreate\"!==t?(this.restoreData(),this._mergeOption(r,e)):rd(this,r),n=!0}if(\"timeline\"!==t&&\"media\"!==t||this.restoreData(),!t||\"recreate\"===t||\"timeline\"===t){var o=i.getTimelineOption(this);o&&(n=!0,this._mergeOption(o,e))}if(!t||\"recreate\"===t||\"media\"===t){var a=i.getMediaOption(this);a.length&&E(a,(function(t){n=!0,this._mergeOption(t,e)}),this)}return n},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,e){var n=this.option,i=this._componentsMap,r=this._componentsCount,o=[],a=yt(),s=e&&e.replaceMergeMainTypeMap;qp(this).datasetMap=yt(),E(t,(function(t,e){null!=t&&(Op.hasClass(e)?e&&(o.push(e),a.set(e,!0)):n[e]=null==n[e]?T(t):C(n[e],t,!0))})),s&&s.each((function(t,e){Op.hasClass(e)&&!a.get(e)&&(o.push(e),a.set(e,!0))})),Op.topologicalTravel(o,Op.getAllClassMainTypes(),(function(e){var o=function(t,e,n){var i=ed.get(e);if(!i)return n;var r=i(t);return r?n.concat(r):n}(this,e,_o(t[e])),a=i.get(e),l=a?s&&s.get(e)?\"replaceMerge\":\"normalMerge\":\"replaceAll\",u=Io(a,o,l);(function(t,e,n){E(t,(function(t){var i=t.newOption;q(i)&&(t.keyInfo.mainType=e,t.keyInfo.subType=function(t,e,n,i){return e.type?e.type:n?n.subType:i.determineSubType(t,e)}(e,i,t.existing,n))}))})(u,e,Op),n[e]=null,i.set(e,null),r.set(e,0);var h,c=[],p=[],d=0;E(u,(function(t,n){var i=t.existing,r=t.newOption;if(r){var o=\"series\"===e,a=Op.getClass(e,t.keyInfo.subType,!o);if(!a)return;if(\"tooltip\"===e){if(h)return void 0;h=!0}if(i&&i.constructor===a)i.name=t.keyInfo.name,i.mergeOption(r,this),i.optionUpdated(r,!1);else{var s=A({componentIndex:n},t.keyInfo);A(i=new a(r,this,this,s),s),t.brandNew&&(i.__requireNewView=!0),i.init(r,this,this),i.optionUpdated(null,!0)}}else i&&(i.mergeOption({},this),i.optionUpdated({},!1));i?(c.push(i.option),p.push(i),d++):(c.push(void 0),p.push(void 0))}),this),n[e]=c,i.set(e,p),r.set(e,d),\"series\"===e&&nd(this)}),this),this._seriesIndices||nd(this)},e.prototype.getOption=function(){var t=T(this.option);return E(t,(function(e,n){if(Op.hasClass(n)){for(var i=_o(e),r=i.length,o=!1,a=r-1;a>=0;a--)i[a]&&!ko(i[a])?o=!0:(i[a]=null,!o&&r--);i.length=r,t[n]=i}})),delete t[\"\\0_ec_inner\"],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,e){var n=this._componentsMap.get(t);if(n){var i=n[e||0];if(i)return i;if(null==e)for(var r=0;r=e:\"max\"===n?t<=e:t===e})(i[a],t,o)||(r=!1)}})),r}var bd=E,wd=q,Sd=[\"areaStyle\",\"lineStyle\",\"nodeStyle\",\"linkStyle\",\"chordStyle\",\"label\",\"labelLine\"];function Md(t){var e=t&&t.itemStyle;if(e)for(var n=0,i=Sd.length;n=0;g--){var y=t[g];if(s||(p=y.data.rawIndexOf(y.stackedByDimension,c)),p>=0){var v=y.data.getByRawIndex(y.stackResultDimension,p);if(\"all\"===l||\"positive\"===l&&v>0||\"negative\"===l&&v<0||\"samesign\"===l&&d>=0&&v>0||\"samesign\"===l&&d<=0&&v<0){d=Jr(d,v),f=v;break}}}return i[0]=d,i[1]=f,i}))}))}var Wd,Hd,Yd,Ud,Xd,Zd=function(t){this.data=t.data||(t.sourceFormat===Gp?{}:[]),this.sourceFormat=t.sourceFormat||Hp,this.seriesLayoutBy=t.seriesLayoutBy||Yp,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var n=0;nu&&(u=d)}s[0]=l,s[1]=u}},i=function(){return this._data?this._data.length/this._dimSize:0};function r(t){for(var e=0;e=0&&(s=o.interpolatedValue[l])}return null!=s?s+\"\":\"\"})):void 0},t.prototype.getRawValue=function(t,e){return df(this.getData(e),t)},t.prototype.formatTooltip=function(t,e,n){},t}();function yf(t){var e,n;return q(t)?t.type&&(n=t):e=t,{text:e,frag:n}}function vf(t){return new mf(t)}var mf=function(){function t(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return t.prototype.perform=function(t){var e,n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!i&&(e=this._plan(this.context));var o,a=h(this._modBy),s=this._modDataCount||0,l=h(t&&t.modBy),u=t&&t.modDataCount||0;function h(t){return!(t>=1)&&(t=1),t}a===l&&s===u||(e=\"reset\"),(this._dirty||\"reset\"===e)&&(this._dirty=!1,o=this._doReset(i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var p=this._dueIndex,d=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(o||p1&&i>0?s:a}};return o;function a(){return e=t?null:oe},gte:function(t,e){return t>=e}},Mf=function(){function t(t,e){if(!j(e)){var n=\"\";0,yo(n)}this._opFn=Sf[t],this._rvalFloat=uo(e)}return t.prototype.evaluate=function(t){return j(t)?this._opFn(t,this._rvalFloat):this._opFn(uo(t),this._rvalFloat)},t}(),If=function(){function t(t,e){var n=\"desc\"===t;this._resultLT=n?1:-1,null==e&&(e=n?\"min\":\"max\"),this._incomparable=\"min\"===e?-1/0:1/0}return t.prototype.evaluate=function(t,e){var n=j(t)?t:uo(t),i=j(e)?e:uo(e),r=isNaN(n),o=isNaN(i);if(r&&(n=this._incomparable),o&&(i=this._incomparable),r&&o){var a=X(t),s=X(e);a&&(n=s?t:0),s&&(i=a?e:0)}return ni?-this._resultLT:0},t}(),Tf=function(){function t(t,e){this._rval=e,this._isEQ=t,this._rvalTypeof=typeof e,this._rvalFloat=uo(e)}return t.prototype.evaluate=function(t){var e=t===this._rval;if(!e){var n=typeof t;n===this._rvalTypeof||\"number\"!==n&&\"number\"!==this._rvalTypeof||(e=uo(t)===this._rvalFloat)}return this._isEQ?e:!e},t}();function Cf(t,e){return\"eq\"===t||\"ne\"===t?new Tf(\"eq\"===t,e):_t(Sf,t)?new Mf(t,e):null}var Df=function(){function t(){}return t.prototype.getRawData=function(){throw new Error(\"not supported\")},t.prototype.getRawDataItem=function(t){throw new Error(\"not supported\")},t.prototype.cloneRawData=function(){},t.prototype.getDimensionInfo=function(t){},t.prototype.cloneAllDimensionInfo=function(){},t.prototype.count=function(){},t.prototype.retrieveValue=function(t,e){},t.prototype.retrieveValueFromItem=function(t,e){},t.prototype.convertValue=function(t,e){return _f(t,e)},t}();function Af(t){var e=t.sourceFormat;if(!Nf(e)){var n=\"\";0,yo(n)}return t.data}function kf(t){var e=t.sourceFormat,n=t.data;if(!Nf(e)){var i=\"\";0,yo(i)}if(e===Bp){for(var r=[],o=0,a=n.length;o65535?Vf:Bf}function Yf(t,e,n,i,r){var o=Wf[n||\"float\"];if(r){var a=t[e],s=a&&a.length;if(s!==i){for(var l=new o(i),u=0;ug[1]&&(g[1]=f)}return this._rawCount=this._count=s,{start:a,end:s}},t.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,r=this._chunks,o=this._dimensions,a=o.length,s=this._rawExtent,l=z(o,(function(t){return t.property})),u=0;uy[1]&&(y[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},t.prototype.count=function(){return this._count},t.prototype.get=function(t,e){if(!(e>=0&&e=0&&e=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(null!=n&&nt))return o;r=o-1}}return-1},t.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks[t],r=[];if(!i)return r;null==n&&(n=1/0);for(var o=1/0,a=-1,s=0,l=0,u=this.count();l=0&&a<0)&&(o=c,a=h,s=0),h===a&&(r[s++]=l))}return r.length=s,r},t.prototype.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var r=0;r=u&&x<=h||isNaN(x))&&(a[s++]=d),d++}p=!0}else if(2===r){f=c[i[0]];var y=c[i[1]],v=t[i[1]][0],m=t[i[1]][1];for(g=0;g=u&&x<=h||isNaN(x))&&(_>=v&&_<=m||isNaN(_))&&(a[s++]=d),d++}p=!0}}if(!p)if(1===r)for(g=0;g=u&&x<=h||isNaN(x))&&(a[s++]=b)}else for(g=0;gt[M][1])&&(w=!1)}w&&(a[s++]=e.getRawIndex(g))}return sy[1]&&(y[1]=g)}}}},t.prototype.lttbDownSample=function(t,e){var n,i,r,o=this.clone([t],!0),a=o._chunks[t],s=this.count(),l=0,u=Math.floor(1/e),h=this.getRawIndex(0),c=new(Hf(this._rawCount))(Math.min(2*(Math.ceil(s/u)+2),s));c[l++]=h;for(var p=1;pn&&(n=i,r=I)}M>0&&M<_-x&&(c[l++]=Math.min(S,r),r=Math.max(S,r)),c[l++]=r,h=r}return c[l++]=this.getRawIndex(s-1),o._count=l,o._indices=c,o.getRawIndex=this._getRawIdx,o},t.prototype.downSample=function(t,e,n,i){for(var r=this.clone([t],!0),o=r._chunks,a=[],s=Math.floor(1/e),l=o[t],u=this.count(),h=r._rawExtent[t]=[1/0,-1/0],c=new(Hf(this._rawCount))(Math.ceil(u/s)),p=0,d=0;du-d&&(s=u-d,a.length=s);for(var f=0;fh[1]&&(h[1]=y),c[p++]=v}return r._count=p,r._indices=c,r._updateGetRawIdx(),r},t.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,r=0,o=this.count();ra&&(a=l)}return i=[o,a],this._extent[t]=i,i},t.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var n=[],i=this._chunks,r=0;r=0?this._indices[t]:-1},t.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},t.internalField=function(){function t(t,e,n,i){return _f(t[i],this._dimensions[i])}Ef={arrayRows:t,objectRows:function(t,e,n,i){return _f(t[e],this._dimensions[i])},keyedColumns:t,original:function(t,e,n,i){var r=t&&(null==t.value?t:t.value);return _f(r instanceof Array?r[i]:r,this._dimensions[i])},typedArray:function(t,e,n,i){return t[i]}}}(),t}(),Xf=function(){function t(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return t.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},t.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},t.prototype._getVersionSign=function(){return this._sourceHost.uid+\"_\"+this._versionSignBase},t.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},t.prototype._createSource=function(){this._setLocalSource([],[]);var t,e,n=this._sourceHost,i=this._getUpstreamSourceManagers(),r=!!i.length;if(jf(n)){var o=n,a=void 0,s=void 0,l=void 0;if(r){var u=i[0];u.prepareSource(),a=(l=u.getSource()).data,s=l.sourceFormat,e=[u._getVersionSign()]}else s=$(a=o.get(\"data\",!0))?Wp:Vp,e=[];var h=this._getSourceMetaRawOption()||{},c=l&&l.metaRawOption||{},p=rt(h.seriesLayoutBy,c.seriesLayoutBy)||null,d=rt(h.sourceHeader,c.sourceHeader),f=rt(h.dimensions,c.dimensions);t=p!==c.seriesLayoutBy||!!d!=!!c.sourceHeader||f?[qd(a,{seriesLayoutBy:p,sourceHeader:d,dimensions:f},s)]:[]}else{var g=n;if(r){var y=this._applyTransform(i);t=y.sourceList,e=y.upstreamSignList}else{t=[qd(g.get(\"source\",!0),this._getSourceMetaRawOption(),null)],e=[]}}this._setLocalSource(t,e)},t.prototype._applyTransform=function(t){var e,n=this._sourceHost,i=n.get(\"transform\",!0),r=n.get(\"fromTransformResult\",!0);if(null!=r){var o=\"\";1!==t.length&&qf(o)}var a,s=[],l=[];return E(t,(function(t){t.prepareSource();var e=t.getSource(r||0),n=\"\";null==r||e||qf(n),s.push(e),l.push(t._getVersionSign())})),i?e=function(t,e,n){var i=_o(t),r=i.length,o=\"\";r||yo(o);for(var a=0,s=r;a1||n>0&&!t.noHeader;return E(t.blocks,(function(t){var n=ng(t);n>=e&&(e=n+ +(i&&(!n||tg(t)&&!t.noHeader)))})),e}return 0}function ig(t,e,n,i){var r,o=e.noHeader,a=(r=ng(e),{html:$f[r],richText:Jf[r]}),s=[],l=e.blocks||[];lt(!l||Y(l)),l=l||[];var u=t.orderMode;if(e.sortBlocks&&u){l=l.slice();var h={valueAsc:\"asc\",valueDesc:\"desc\"};if(_t(h,u)){var c=new If(h[u],null);l.sort((function(t,e){return c.evaluate(t.sortParam,e.sortParam)}))}else\"seriesDesc\"===u&&l.reverse()}E(l,(function(n,r){var o=e.valueFormatter,l=eg(n)(o?A(A({},t),{valueFormatter:o}):t,n,r>0?a.html:0,i);null!=l&&s.push(l)}));var p=\"richText\"===t.renderMode?s.join(a.richText):ag(s.join(\"\"),o?n:a.html);if(o)return p;var d=fp(e.header,\"ordinal\",t.useUTC),f=Kf(i,t.renderMode).nameStyle;return\"richText\"===t.renderMode?sg(t,d,f)+a.richText+p:ag('
'+ie(d)+\"
\"+p,n)}function rg(t,e,n,i){var r=t.renderMode,o=e.noName,a=e.noValue,s=!e.markerType,l=e.name,u=t.useUTC,h=e.valueFormatter||t.valueFormatter||function(t){return z(t=Y(t)?t:[t],(function(t,e){return fp(t,Y(d)?d[e]:d,u)}))};if(!o||!a){var c=s?\"\":t.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||\"#333\",r),p=o?\"\":fp(l,\"ordinal\",u),d=e.valueType,f=a?[]:h(e.value),g=!s||!o,y=!s&&o,v=Kf(i,r),m=v.nameStyle,x=v.valueStyle;return\"richText\"===r?(s?\"\":c)+(o?\"\":sg(t,p,m))+(a?\"\":function(t,e,n,i,r){var o=[r],a=i?10:20;return n&&o.push({padding:[0,0,0,a],align:\"right\"}),t.markupStyleCreator.wrapRichTextStyle(Y(e)?e.join(\" \"):e,o)}(t,f,g,y,x)):ag((s?\"\":c)+(o?\"\":function(t,e,n){return''+ie(t)+\"\"}(p,!s,m))+(a?\"\":function(t,e,n,i){var r=n?\"10px\":\"20px\",o=e?\"float:right;margin-left:\"+r:\"\";return t=Y(t)?t:[t],''+z(t,(function(t){return ie(t)})).join(\"  \")+\"\"}(f,g,y,x)),n)}}function og(t,e,n,i,r,o){if(t)return eg(t)({useUTC:r,renderMode:n,orderMode:i,markupStyleCreator:e,valueFormatter:t.valueFormatter},t,0,o)}function ag(t,e){return'
'+t+'
'}function sg(t,e,n){return t.markupStyleCreator.wrapRichTextStyle(e,n)}function lg(t,e){return xp(t.getData().getItemVisual(e,\"style\")[t.visualDrawType])}function ug(t,e){var n=t.get(\"padding\");return null!=n?n:\"richText\"===e?[8,10]:10}var hg=function(){function t(){this.richTextStyles={},this._nextStyleNameId=co()}return t.prototype._generateStyleName=function(){return\"__EC_aUTo_\"+this._nextStyleNameId++},t.prototype.makeTooltipMarker=function(t,e,n){var i=\"richText\"===n?this._generateStyleName():null,r=mp({color:e,type:t,renderMode:n,markerId:i});return X(r)?r:(this.richTextStyles[i]=r.style,r.content)},t.prototype.wrapRichTextStyle=function(t,e){var n={};Y(e)?E(e,(function(t){return A(n,t)})):A(n,e);var i=this._generateStyleName();return this.richTextStyles[i]=n,\"{\"+i+\"|\"+t+\"}\"},t}();function cg(t){var e,n,i,r,o=t.series,a=t.dataIndex,s=t.multipleSeries,l=o.getData(),u=l.mapDimensionsAll(\"defaultedTooltip\"),h=u.length,c=o.getRawValue(a),p=Y(c),d=lg(o,a);if(h>1||p&&!h){var f=function(t,e,n,i,r){var o=e.getData(),a=V(t,(function(t,e,n){var i=o.getDimensionInfo(n);return t||i&&!1!==i.tooltip&&null!=i.displayName}),!1),s=[],l=[],u=[];function h(t,e){var n=o.getDimensionInfo(e);n&&!1!==n.otherDims.tooltip&&(a?u.push(Qf(\"nameValue\",{markerType:\"subItem\",markerColor:r,name:n.displayName,value:t,valueType:n.type})):(s.push(t),l.push(n.type)))}return i.length?E(i,(function(t){h(df(o,n,t),t)})):E(t,h),{inlineValues:s,inlineValueTypes:l,blocks:u}}(c,o,a,u,d);e=f.inlineValues,n=f.inlineValueTypes,i=f.blocks,r=f.inlineValues[0]}else if(h){var g=l.getDimensionInfo(u[0]);r=e=df(l,a,u[0]),n=g.type}else r=e=p?c[0]:c;var y=Ao(o),v=y&&o.name||\"\",m=l.getName(a),x=s?v:m;return Qf(\"section\",{header:v,noHeader:s||!y,sortParam:r,blocks:[Qf(\"nameValue\",{markerType:\"item\",markerColor:d,name:x,noName:!ut(x),value:e,valueType:n})].concat(i||[])})}var pg=Po();function dg(t,e){return t.getName(e)||t.getId(e)}var fg=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return n(e,t),e.prototype.init=function(t,e,n){this.seriesIndex=this.componentIndex,this.dataTask=vf({count:yg,reset:vg}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,n),(pg(this).sourceManager=new Xf(this)).prepareSource();var i=this.getInitialData(t,n);xg(i,this),this.dataTask.context.data=i,pg(this).dataBeforeProcessed=i,gg(this),this._initSelectedMapFromData(i)},e.prototype.mergeDefaultAndTheme=function(t,e){var n=Dp(this),i=n?kp(t):{},r=this.subType;Op.hasClass(r)&&(r+=\"Series\"),C(t,e.getTheme().get(this.subType)),C(t,this.getDefaultOption()),bo(t,\"label\",[\"show\"]),this.fillDataTextStyle(t.data),n&&Ap(t,i,n)},e.prototype.mergeOption=function(t,e){t=C(this.option,t,!0),this.fillDataTextStyle(t.data);var n=Dp(this);n&&Ap(this.option,t,n);var i=pg(this).sourceManager;i.dirty(),i.prepareSource();var r=this.getInitialData(t,e);xg(r,this),this.dataTask.dirty(),this.dataTask.context.data=r,pg(this).dataBeforeProcessed=r,gg(this),this._initSelectedMapFromData(r)},e.prototype.fillDataTextStyle=function(t){if(t&&!$(t))for(var e=[\"show\"],n=0;nthis.getShallow(\"animationThreshold\")&&(e=!1),!!e},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,e,n){var i=this.ecModel,r=sd.prototype.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get(\"progressive\")},e.prototype.getProgressiveThreshold=function(){return this.get(\"progressiveThreshold\")},e.prototype.select=function(t,e){this._innerSelect(this.getData(e),t)},e.prototype.unselect=function(t,e){var n=this.option.selectedMap;if(n){var i=this.option.selectedMode,r=this.getData(e);if(\"series\"===i||\"all\"===n)return this.option.selectedMap={},void(this._selectedDataIndicesMap={});for(var o=0;o=0&&n.push(r)}return n},e.prototype.isSelected=function(t,e){var n=this.option.selectedMap;if(!n)return!1;var i=this.getData(e);return(\"all\"===n||n[dg(i,t)])&&!i.getItemModel(t).get([\"select\",\"disabled\"])},e.prototype.isUniversalTransitionEnabled=function(){if(this.__universalTransitionEnabled)return!0;var t=this.option.universalTransition;return!!t&&(!0===t||t&&t.enabled)},e.prototype._innerSelect=function(t,e){var n,i,r=this.option,o=r.selectedMode,a=e.length;if(o&&a)if(\"series\"===o)r.selectedMap=\"all\";else if(\"multiple\"===o){q(r.selectedMap)||(r.selectedMap={});for(var s=r.selectedMap,l=0;l0&&this._innerSelect(t,e)}},e.registerClass=function(t){return Op.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type=\"series.__base__\",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol=\"circle\",t.visualStyleAccessPath=\"itemStyle\",t.visualDrawType=\"fill\"}(),e}(Op);function gg(t){var e=t.name;Ao(t)||(t.name=function(t){var e=t.getRawData(),n=e.mapDimensionsAll(\"seriesName\"),i=[];return E(n,(function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)})),i.join(\" \")}(t)||e)}function yg(t){return t.model.getRawData().count()}function vg(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),mg}function mg(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function xg(t,e){E(vt(t.CHANGABLE_METHODS,t.DOWNSAMPLE_METHODS),(function(n){t.wrapMethod(n,H(_g,e))}))}function _g(t,e){var n=bg(t);return n&&n.setOutputEnd((e||this).count()),e}function bg(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}R(fg,gf),R(fg,sd),Xo(fg,Op);var wg=function(){function t(){this.group=new Er,this.uid=Ic(\"viewComponent\")}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){},t.prototype.updateLayout=function(t,e,n,i){},t.prototype.updateVisual=function(t,e,n,i){},t.prototype.toggleBlurSeries=function(t,e,n){},t.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},t}();function Sg(){var t=Po();return function(e){var n=t(e),i=e.pipelineContext,r=!!n.large,o=!!n.progressiveRender,a=n.large=!(!i||!i.large),s=n.progressiveRender=!(!i||!i.progressiveRender);return!(r===a&&o===s)&&\"reset\"}}Uo(wg),Ko(wg);var Mg=Po(),Ig=Sg(),Tg=function(){function t(){this.group=new Er,this.uid=Ic(\"viewChart\"),this.renderTask=vf({plan:Ag,reset:kg}),this.renderTask.context={view:this}}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){0},t.prototype.highlight=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Dg(r,i,\"emphasis\")},t.prototype.downplay=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Dg(r,i,\"normal\")},t.prototype.remove=function(t,e){this.group.removeAll()},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.eachRendered=function(t){jh(this.group,t)},t.markUpdateMethod=function(t,e){Mg(t).updateMethod=e},t.protoInitialize=void(t.prototype.type=\"chart\"),t}();function Cg(t,e,n){t&&ql(t)&&(\"emphasis\"===e?Al:kl)(t,n)}function Dg(t,e,n){var i=Lo(t,e),r=e&&null!=e.highlightKey?function(t){var e=el[t];return null==e&&tl<=32&&(e=el[t]=tl++),e}(e.highlightKey):null;null!=i?E(_o(i),(function(e){Cg(t.getItemGraphicEl(e),n,r)})):t.eachItemGraphicEl((function(t){Cg(t,n,r)}))}function Ag(t){return Ig(t.model)}function kg(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,o=e.pipelineContext.progressiveRender,a=t.view,s=r&&Mg(r).updateMethod,l=o?\"incrementalPrepareRender\":s&&a[s]?s:\"render\";return\"render\"!==l&&a[l](e,n,i,r),Lg[l]}Uo(Tg),Ko(Tg);var Lg={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},Pg=\"\\0__throttleOriginMethod\",Og=\"\\0__throttleRate\",Rg=\"\\0__throttleType\";function Ng(t,e,n){var i,r,o,a,s,l=0,u=0,h=null;function c(){u=(new Date).getTime(),h=null,t.apply(o,a||[])}e=e||0;var p=function(){for(var t=[],p=0;p=0?c():h=setTimeout(c,-r),l=i};return p.clear=function(){h&&(clearTimeout(h),h=null)},p.debounceNextCall=function(t){s=t},p}function Eg(t,e,n,i){var r=t[e];if(r){var o=r[Pg]||r,a=r[Rg];if(r[Og]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=Ng(o,n,\"debounce\"===i))[Pg]=o,r[Rg]=i,r[Og]=n}return r}}function zg(t,e){var n=t[e];n&&n[Pg]&&(n.clear&&n.clear(),t[e]=n[Pg])}var Vg=Po(),Bg={itemStyle:$o(_c,!0),lineStyle:$o(vc,!0)},Fg={lineStyle:\"stroke\",itemStyle:\"fill\"};function Gg(t,e){var n=t.visualStyleMapper||Bg[e];return n||(console.warn(\"Unknown style type '\"+e+\"'.\"),Bg.itemStyle)}function Wg(t,e){var n=t.visualDrawType||Fg[e];return n||(console.warn(\"Unknown style type '\"+e+\"'.\"),\"fill\")}var Hg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=t.visualStyleAccessPath||\"itemStyle\",r=t.getModel(i),o=Gg(t,i)(r),a=r.getShallow(\"decal\");a&&(n.setVisual(\"decal\",a),a.dirty=!0);var s=Wg(t,i),l=o[s],u=U(l)?l:null,h=\"auto\"===o.fill||\"auto\"===o.stroke;if(!o[s]||u||h){var c=t.getColorFromPalette(t.name,null,e.getSeriesCount());o[s]||(o[s]=c,n.setVisual(\"colorFromPalette\",!0)),o.fill=\"auto\"===o.fill||U(o.fill)?c:o.fill,o.stroke=\"auto\"===o.stroke||U(o.stroke)?c:o.stroke}if(n.setVisual(\"style\",o),n.setVisual(\"drawType\",s),!e.isSeriesFiltered(t)&&u)return n.setVisual(\"colorFromPalette\",!1),{dataEach:function(e,n){var i=t.getDataParams(n),r=A({},o);r[s]=u(i),e.setItemVisual(n,\"style\",r)}}}},Yg=new Sc,Ug={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){if(!t.ignoreStyleOnData&&!e.isSeriesFiltered(t)){var n=t.getData(),i=t.visualStyleAccessPath||\"itemStyle\",r=Gg(t,i),o=n.getVisual(\"drawType\");return{dataEach:n.hasItemOption?function(t,e){var n=t.getRawDataItem(e);if(n&&n[i]){Yg.option=n[i];var a=r(Yg);A(t.ensureUniqueItemVisual(e,\"style\"),a),Yg.option.decal&&(t.setItemVisual(e,\"decal\",Yg.option.decal),Yg.option.decal.dirty=!0),o in a&&t.setItemVisual(e,\"colorFromPalette\",!1)}}:null}}}},Xg={performRawSeries:!0,overallReset:function(t){var e=yt();t.eachSeries((function(t){var n=t.getColorBy();if(!t.isColorBySeries()){var i=t.type+\"-\"+n,r=e.get(i);r||(r={},e.set(i,r)),Vg(t).scope=r}})),t.eachSeries((function(e){if(!e.isColorBySeries()&&!t.isSeriesFiltered(e)){var n=e.getRawData(),i={},r=e.getData(),o=Vg(e).scope,a=e.visualStyleAccessPath||\"itemStyle\",s=Wg(e,a);r.each((function(t){var e=r.getRawIndex(t);i[e]=t})),n.each((function(t){var a=i[t];if(r.getItemVisual(a,\"colorFromPalette\")){var l=r.ensureUniqueItemVisual(a,\"style\"),u=n.getName(t)||t+\"\",h=n.count();l[s]=e.getColorFromPalette(u,o,h)}}))}}))}},Zg=Math.PI;var jg=function(){function t(t,e,n,i){this._stageTaskMap=yt(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return t.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each((function(t){var e=t.overallTask;e&&e.dirty()}))},t.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,r=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex?n.step:null,o=i&&i.modDataCount;return{step:r,modBy:null!=o?Math.ceil(o/r):null,modDataCount:o}}},t.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},t.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,o=t.get(\"large\")&&i>=t.get(\"largeThreshold\"),a=\"mod\"===t.get(\"progressiveChunkMode\")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:a,large:o}},t.prototype.restorePipelines=function(t){var e=this,n=e._pipelineMap=yt();t.eachSeries((function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),e._pipe(t,t.dataTask)}))},t.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),n=this.api;E(this._allHandlers,(function(i){var r=t.get(i.uid)||t.set(i.uid,{}),o=\"\";lt(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,r,e,n),i.overallReset&&this._createOverallStageTask(i,r,e,n)}),this)},t.prototype.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,this._pipe(e,r)},t.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},t.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},t.prototype._performStageTasks=function(t,e,n,i){i=i||{};var r=!1,o=this;function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}E(t,(function(t,s){if(!i.visualType||i.visualType===t.visualType){var l=o._stageTaskMap.get(t.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,p=h.agentStubMap;p.each((function(t){a(i,t)&&(t.dirty(),c=!0)})),c&&h.dirty(),o.updatePayload(h,n);var d=o.getPerformArgs(h,i.block);p.each((function(t){t.perform(d)})),h.perform(d)&&(r=!0)}else u&&u.each((function(s,l){a(i,s)&&s.dirty();var u=o.getPerformArgs(s,i.block);u.skip=!t.performRawSeries&&e.isSeriesFiltered(s.context.model),o.updatePayload(s,n),s.perform(u)&&(r=!0)}))}})),this.unfinished=r||this.unfinished},t.prototype.performSeriesTasks=function(t){var e;t.eachSeries((function(t){e=t.dataTask.perform()||e})),this.unfinished=e||this.unfinished},t.prototype.plan=function(){this._pipelineMap.each((function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)}))},t.prototype.updatePayload=function(t,e){\"remain\"!==e&&(t.context.payload=e)},t.prototype._createSeriesStageTask=function(t,e,n,i){var r=this,o=e.seriesTaskMap,a=e.seriesTaskMap=yt(),s=t.seriesType,l=t.getTargetSeries;function u(e){var s=e.uid,l=a.set(s,o&&o.get(s)||vf({plan:Qg,reset:ty,count:iy}));l.context={model:e,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:r},r._pipe(e,l)}t.createOnAllSeries?n.eachRawSeries(u):s?n.eachRawSeriesByType(s,u):l&&l(n,i).each(u)},t.prototype._createOverallStageTask=function(t,e,n,i){var r=this,o=e.overallTask=e.overallTask||vf({reset:qg});o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:r};var a=o.agentStubMap,s=o.agentStubMap=yt(),l=t.seriesType,u=t.getTargetSeries,h=!0,c=!1,p=\"\";function d(t){var e=t.uid,n=s.set(e,a&&a.get(e)||(c=!0,vf({reset:Kg,onDirty:Jg})));n.context={model:t,overallProgress:h},n.agent=o,n.__block=h,r._pipe(t,n)}lt(!t.createOnAllSeries,p),l?n.eachRawSeriesByType(l,d):u?u(n,i).each(d):(h=!1,E(n.getSeries(),d)),c&&o.dirty()},t.prototype._pipe=function(t,e){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=e),i.tail&&i.tail.pipe(e),i.tail=e,e.__idxInPipeline=i.count++,e.__pipeline=i},t.wrapStageHandler=function(t,e){return U(t)&&(t={overallReset:t,seriesType:ry(t)}),t.uid=Ic(\"stageHandler\"),e&&(t.visualType=e),t},t}();function qg(t){t.overallReset(t.ecModel,t.api,t.payload)}function Kg(t){return t.overallProgress&&$g}function $g(){this.agent.dirty(),this.getDownstream().dirty()}function Jg(){this.agent&&this.agent.dirty()}function Qg(t){return t.plan?t.plan(t.model,t.ecModel,t.api,t.payload):null}function ty(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=_o(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?z(e,(function(t,e){return ny(e)})):ey}var ey=ny(0);function ny(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var o=e.start;o0&&h===r.length-u.length){var c=r.slice(0,h);\"data\"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}a.hasOwnProperty(r)&&(n[r]=t,s=!0),s||(i[r]=t)}))}return{cptQuery:e,dataQuery:n,otherQuery:i}},t.prototype.filter=function(t,e){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,r=n.packedEvent,o=n.model,a=n.view;if(!o||!a)return!0;var s=e.cptQuery,l=e.dataQuery;return u(s,o,\"mainType\")&&u(s,o,\"subType\")&&u(s,o,\"index\",\"componentIndex\")&&u(s,o,\"name\")&&u(s,o,\"id\")&&u(l,r,\"name\")&&u(l,r,\"dataIndex\")&&u(l,r,\"dataType\")&&(!a.filterForExposedEvent||a.filterForExposedEvent(t,e.otherQuery,i,r));function u(t,e,n,i){return null==t[n]||e[i||n]===t[n]}},t.prototype.afterTrigger=function(){this.eventInfo=null},t}(),vy=[\"symbol\",\"symbolSize\",\"symbolRotate\",\"symbolOffset\"],my=vy.concat([\"symbolKeepAspect\"]),xy={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData();if(t.legendIcon&&n.setVisual(\"legendIcon\",t.legendIcon),t.hasSymbolVisual){for(var i={},r={},o=!1,a=0;a=0&&Gy(l)?l:.5,t.createRadialGradient(a,s,0,a,s,l)}(t,e,n):function(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,o=null==e.y?0:e.y,a=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,o=o*n.height+n.y,a=a*n.height+n.y),i=Gy(i)?i:0,r=Gy(r)?r:1,o=Gy(o)?o:0,a=Gy(a)?a:0,t.createLinearGradient(i,o,r,a)}(t,e,n),r=e.colorStops,o=0;o0&&(e=i.lineDash,n=i.lineWidth,e&&\"solid\"!==e&&n>0?\"dashed\"===e?[4*n,2*n]:\"dotted\"===e?[n]:j(e)?[e]:Y(e)?e:null:null),o=i.lineDashOffset;if(r){var a=i.strokeNoScale&&t.getLineScale?t.getLineScale():1;a&&1!==a&&(r=z(r,(function(t){return t/a})),o/=a)}return[r,o]}var Xy=new rs(!0);function Zy(t){var e=t.stroke;return!(null==e||\"none\"===e||!(t.lineWidth>0))}function jy(t){return\"string\"==typeof t&&\"none\"!==t}function qy(t){var e=t.fill;return null!=e&&\"none\"!==e}function Ky(t,e){if(null!=e.fillOpacity&&1!==e.fillOpacity){var n=t.globalAlpha;t.globalAlpha=e.fillOpacity*e.opacity,t.fill(),t.globalAlpha=n}else t.fill()}function $y(t,e){if(null!=e.strokeOpacity&&1!==e.strokeOpacity){var n=t.globalAlpha;t.globalAlpha=e.strokeOpacity*e.opacity,t.stroke(),t.globalAlpha=n}else t.stroke()}function Jy(t,e,n){var i=na(e.image,e.__image,n);if(ra(i)){var r=t.createPattern(i,e.repeat||\"repeat\");if(\"function\"==typeof DOMMatrix&&r&&r.setTransform){var o=new DOMMatrix;o.translateSelf(e.x||0,e.y||0),o.rotateSelf(0,0,(e.rotation||0)*wt),o.scaleSelf(e.scaleX||1,e.scaleY||1),r.setTransform(o)}return r}}var Qy=[\"shadowBlur\",\"shadowOffsetX\",\"shadowOffsetY\"],tv=[[\"lineCap\",\"butt\"],[\"lineJoin\",\"miter\"],[\"miterLimit\",10]];function ev(t,e,n,i,r){var o=!1;if(!i&&e===(n=n||{}))return!1;if(i||e.opacity!==n.opacity){rv(t,r),o=!0;var a=Math.max(Math.min(e.opacity,1),0);t.globalAlpha=isNaN(a)?ma.opacity:a}(i||e.blend!==n.blend)&&(o||(rv(t,r),o=!0),t.globalCompositeOperation=e.blend||ma.blend);for(var s=0;s0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,e,n){if(!this.__flagInMainProcess)if(this._disposed)qv(this.id);else{var i,r,o;if(q(e)&&(n=e.lazyUpdate,i=e.silent,r=e.replaceMerge,o=e.transition,e=e.notMerge),this.__flagInMainProcess=!0,!this._model||e){var a=new xd(this._api),s=this._theme,l=this._model=new hd;l.scheduler=this._scheduler,l.ssr=this._ssr,l.init(null,null,null,s,this._locale,a)}this._model.setOption(t,{replaceMerge:r},Qv);var u={seriesTransition:o,optionChanged:!0};if(n)this.__pendingUpdate={silent:i,updateParams:u},this.__flagInMainProcess=!1,this.getZr().wakeUp();else{try{Tv(this),Av.update.call(this,null,u)}catch(t){throw this.__pendingUpdate=null,this.__flagInMainProcess=!1,t}this._ssr||this._zr.flush(),this.__pendingUpdate=null,this.__flagInMainProcess=!1,Ov.call(this,i),Rv.call(this,i)}}},e.prototype.setTheme=function(){go()},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||r.hasGlobalWindow&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var e=this._zr.painter;return e.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get(\"backgroundColor\"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var e=this._zr.painter;return e.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(r.svgSupported){var t=this._zr;return E(t.storage.getDisplayList(),(function(t){t.stopAnimation(null,!0)})),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;E(e,(function(t){n.eachComponent({mainType:t},(function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)}))}));var o=\"svg\"===this._zr.painter.getType()?this.getSvgDataURL():this.renderToCanvas(t).toDataURL(\"image/\"+(t&&t.type||\"png\"));return E(i,(function(t){t.group.ignore=!1})),o}qv(this.id)},e.prototype.getConnectedDataURL=function(t){if(!this._disposed){var e=\"svg\"===t.type,n=this.group,i=Math.min,r=Math.max,o=1/0;if(rm[n]){var a=o,s=o,l=-1/0,u=-1/0,c=[],p=t&&t.pixelRatio||this.getDevicePixelRatio();E(im,(function(o,h){if(o.group===n){var p=e?o.getZr().painter.getSvgDom().innerHTML:o.renderToCanvas(T(t)),d=o.getDom().getBoundingClientRect();a=i(d.left,a),s=i(d.top,s),l=r(d.right,l),u=r(d.bottom,u),c.push({dom:p,left:d.left,top:d.top})}}));var d=(l*=p)-(a*=p),f=(u*=p)-(s*=p),g=h.createCanvas(),y=Fr(g,{renderer:e?\"svg\":\"canvas\"});if(y.resize({width:d,height:f}),e){var v=\"\";return E(c,(function(t){var e=t.left-a,n=t.top-s;v+=''+t.dom+\"\"})),y.painter.getSvgRoot().innerHTML=v,t.connectedBackgroundColor&&y.painter.setBackgroundColor(t.connectedBackgroundColor),y.refreshImmediately(),y.painter.toDataURL()}return t.connectedBackgroundColor&&y.add(new Es({shape:{x:0,y:0,width:d,height:f},style:{fill:t.connectedBackgroundColor}})),E(c,(function(t){var e=new As({style:{x:t.left*p-a,y:t.top*p-s,image:t.dom}});y.add(e)})),y.refreshImmediately(),g.toDataURL(\"image/\"+(t&&t.type||\"png\"))}return this.getDataURL(t)}qv(this.id)},e.prototype.convertToPixel=function(t,e){return kv(this,\"convertToPixel\",t,e)},e.prototype.convertFromPixel=function(t,e){return kv(this,\"convertFromPixel\",t,e)},e.prototype.containPixel=function(t,e){var n;if(!this._disposed)return E(Ro(this._model,t),(function(t,i){i.indexOf(\"Models\")>=0&&E(t,(function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n=n||!!r.containPoint(e);else if(\"seriesModels\"===i){var o=this._chartsMap[t.__viewId];o&&o.containPoint&&(n=n||o.containPoint(e,t))}else 0}),this)}),this),!!n;qv(this.id)},e.prototype.getVisual=function(t,e){var n=Ro(this._model,t,{defaultMainType:\"series\"}),i=n.seriesModel;var r=i.getData(),o=n.hasOwnProperty(\"dataIndexInside\")?n.dataIndexInside:n.hasOwnProperty(\"dataIndex\")?r.indexOfRawIndex(n.dataIndex):null;return null!=o?by(r,o,e):wy(r,e)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t,e,n,i=this;E(jv,(function(t){var e=function(e){var n,r=i.getModel(),o=e.target,a=\"globalout\"===t;if(a?n={}:o&&Ty(o,(function(t){var e=Js(t);if(e&&null!=e.dataIndex){var i=e.dataModel||r.getSeriesByIndex(e.seriesIndex);return n=i&&i.getDataParams(e.dataIndex,e.dataType)||{},!0}if(e.eventData)return n=A({},e.eventData),!0}),!0),n){var s=n.componentType,l=n.componentIndex;\"markLine\"!==s&&\"markPoint\"!==s&&\"markArea\"!==s||(s=\"series\",l=n.seriesIndex);var u=s&&null!=l&&r.getComponent(s,l),h=u&&i[\"series\"===u.mainType?\"_chartsMap\":\"_componentsMap\"][u.__viewId];0,n.event=e,n.type=t,i._$eventProcessor.eventInfo={targetEl:o,packedEvent:n,model:u,view:h},i.trigger(t,n)}};e.zrEventfulCallAtLast=!0,i._zr.on(t,e,i)})),E($v,(function(t,e){i._messageCenter.on(e,(function(t){this.trigger(e,t)}),i)})),E([\"selectchanged\"],(function(t){i._messageCenter.on(t,(function(e){this.trigger(t,e)}),i)})),t=this._messageCenter,e=this,n=this._api,t.on(\"selectchanged\",(function(t){var i=n.getModel();t.isFromClick?(Iy(\"map\",\"selectchanged\",e,i,t),Iy(\"pie\",\"selectchanged\",e,i,t)):\"select\"===t.fromAction?(Iy(\"map\",\"selected\",e,i,t),Iy(\"pie\",\"selected\",e,i,t)):\"unselect\"===t.fromAction&&(Iy(\"map\",\"unselected\",e,i,t),Iy(\"pie\",\"unselected\",e,i,t))}))},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){this._disposed?qv(this.id):this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed)qv(this.id);else{this._disposed=!0,this.getDom()&&Bo(this.getDom(),sm,\"\");var t=this,e=t._api,n=t._model;E(t._componentsViews,(function(t){t.dispose(n,e)})),E(t._chartsViews,(function(t){t.dispose(n,e)})),t._zr.dispose(),t._dom=t._model=t._chartsMap=t._componentsMap=t._chartsViews=t._componentsViews=t._scheduler=t._api=t._zr=t._throttledZrFlush=t._theme=t._coordSysMgr=t._messageCenter=null,delete im[t.id]}},e.prototype.resize=function(t){if(!this.__flagInMainProcess)if(this._disposed)qv(this.id);else{this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption(\"media\"),i=t&&t.silent;this.__pendingUpdate&&(null==i&&(i=this.__pendingUpdate.silent),n=!0,this.__pendingUpdate=null),this.__flagInMainProcess=!0;try{n&&Tv(this),Av.update.call(this,{type:\"resize\",animation:A({duration:0},t&&t.animation)})}catch(t){throw this.__flagInMainProcess=!1,t}this.__flagInMainProcess=!1,Ov.call(this,i),Rv.call(this,i)}}},e.prototype.showLoading=function(t,e){if(this._disposed)qv(this.id);else if(q(t)&&(e=t,t=\"\"),t=t||\"default\",this.hideLoading(),nm[t]){var n=nm[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},e.prototype.hideLoading=function(){this._disposed?qv(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},e.prototype.makeActionFromEvent=function(t){var e=A({},t);return e.type=$v[t.type],e},e.prototype.dispatchAction=function(t,e){if(this._disposed)qv(this.id);else if(q(e)||(e={silent:!!e}),Kv[t.type]&&this._model)if(this.__flagInMainProcess)this._pendingActions.push(t);else{var n=e.silent;Pv.call(this,t,n);var i=e.flush;i?this._zr.flush():!1!==i&&r.browser.weChat&&this._throttledZrFlush(),Ov.call(this,n),Rv.call(this,n)}},e.prototype.updateLabelLayout=function(){gv.trigger(\"series:layoutlabels\",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed)qv(this.id);else{var e=t.seriesIndex,n=this.getModel().getSeriesByIndex(e);0,n.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()}},e.internalField=function(){function t(t){t.clearColorPalette(),t.eachSeries((function(t){t.clearColorPalette()}))}function e(t){for(var e=[],n=t.currentStates,i=0;i0?{duration:o,delay:i.get(\"delay\"),easing:i.get(\"easing\")}:null;n.eachRendered((function(t){if(t.states&&t.states.emphasis){if(gh(t))return;if(t instanceof Ms&&function(t){var e=nl(t);e.normalFill=t.style.fill,e.normalStroke=t.style.stroke;var n=t.states.select||{};e.selectFill=n.style&&n.style.fill||null,e.selectStroke=n.style&&n.style.stroke||null}(t),t.__dirty){var n=t.prevStates;n&&t.useStates(n)}if(r){t.stateTransition=a;var i=t.getTextContent(),o=t.getTextGuideLine();i&&(i.stateTransition=a),o&&(o.stateTransition=a)}t.__dirty&&e(t)}}))}Tv=function(t){var e=t._scheduler;e.restorePipelines(t._model),e.prepareStageTasks(),Cv(t,!0),Cv(t,!1),e.plan()},Cv=function(t,e){for(var n=t._model,i=t._scheduler,r=e?t._componentsViews:t._chartsViews,o=e?t._componentsMap:t._chartsMap,a=t._zr,s=t._api,l=0;le.get(\"hoverLayerThreshold\")&&!r.node&&!r.worker&&e.eachSeries((function(e){if(!e.preventUsingHoverLayer){var n=t._chartsMap[e.__viewId];n.__alive&&n.eachRendered((function(t){t.states.emphasis&&(t.states.emphasis.hoverLayer=!0)}))}}))}(t,e),gv.trigger(\"series:afterupdate\",e,n,l)},Wv=function(t){t.__needsUpdateStatus=!0,t.getZr().wakeUp()},Hv=function(t){t.__needsUpdateStatus&&(t.getZr().storage.traverse((function(t){gh(t)||e(t)})),t.__needsUpdateStatus=!1)},Fv=function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return n(i,e),i.prototype.getCoordinateSystems=function(){return t._coordSysMgr.getCoordinateSystems()},i.prototype.getComponentByElement=function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}},i.prototype.enterEmphasis=function(e,n){Al(e,n),Wv(t)},i.prototype.leaveEmphasis=function(e,n){kl(e,n),Wv(t)},i.prototype.enterBlur=function(e){Ll(e),Wv(t)},i.prototype.leaveBlur=function(e){Pl(e),Wv(t)},i.prototype.enterSelect=function(e){Ol(e),Wv(t)},i.prototype.leaveSelect=function(e){Rl(e),Wv(t)},i.prototype.getModel=function(){return t.getModel()},i.prototype.getViewOfComponentModel=function(e){return t.getViewOfComponentModel(e)},i.prototype.getViewOfSeriesModel=function(e){return t.getViewOfSeriesModel(e)},i}(gd))(t)},Gv=function(t){function e(t,e){for(var n=0;n=0)){bm.push(n);var o=jg.wrapStageHandler(n,r);o.__prio=e,o.__raw=n,t.push(o)}}function Sm(t,e){nm[t]=e}function Mm(t,e,n){var i=vv(\"registerMap\");i&&i(t,e,n)}var Im=function(t){var e=(t=T(t)).type,n=\"\";e||yo(n);var i=e.split(\":\");2!==i.length&&yo(n);var r=!1;\"echarts\"===i[0]&&(e=i[1],r=!0),t.__isBuiltIn=r,Of.set(e,t)};_m(mv,Hg),_m(xv,Ug),_m(xv,Xg),_m(mv,xy),_m(xv,_y),_m(7e3,(function(t,e){t.eachRawSeries((function(n){if(!t.isSeriesFiltered(n)){var i=n.getData();i.hasItemVisual()&&i.each((function(t){var n=i.getItemVisual(t,\"decal\");n&&(i.ensureUniqueItemVisual(t,\"style\").decal=cv(n,e))}));var r=i.getVisual(\"decal\");if(r)i.getVisual(\"style\").decal=cv(r,e)}}))})),pm(Fd),dm(900,(function(t){var e=yt();t.eachSeries((function(t){var n=t.get(\"stack\");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),o={stackResultDimension:r.getCalculationInfo(\"stackResultDimension\"),stackedOverDimension:r.getCalculationInfo(\"stackedOverDimension\"),stackedDimension:r.getCalculationInfo(\"stackedDimension\"),stackedByDimension:r.getCalculationInfo(\"stackedByDimension\"),isStackedByIndex:r.getCalculationInfo(\"isStackedByIndex\"),data:r,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&r.setCalculationInfo(\"stackedOnSeries\",i[i.length-1].seriesModel),i.push(o)}})),e.each(Gd)})),Sm(\"default\",(function(t,e){k(e=e||{},{text:\"loading\",textColor:\"#000\",fontSize:12,fontWeight:\"normal\",fontStyle:\"normal\",fontFamily:\"sans-serif\",maskColor:\"rgba(255, 255, 255, 0.8)\",showSpinner:!0,color:\"#5470c6\",spinnerRadius:10,lineWidth:5,zlevel:0});var n=new Er,i=new Es({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});n.add(i);var r,o=new Bs({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new Es({style:{fill:\"none\"},textContent:o,textConfig:{position:\"right\",distance:10},zlevel:e.zlevel,z:10001});return n.add(a),e.showSpinner&&((r=new Ju({shape:{startAngle:-Zg/2,endAngle:-Zg/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:\"round\",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001})).animateShape(!0).when(1e3,{endAngle:3*Zg/2}).start(\"circularInOut\"),r.animateShape(!0).when(1e3,{startAngle:3*Zg/2}).delay(300).start(\"circularInOut\"),n.add(r)),n.resize=function(){var n=o.getBoundingRect().width,s=e.showSpinner?e.spinnerRadius:0,l=(t.getWidth()-2*s-(e.showSpinner&&n?10:0)-n)/2-(e.showSpinner&&n?0:5+n/2)+(e.showSpinner?0:n/2)+(n?0:s),u=t.getHeight()/2;e.showSpinner&&r.setShape({cx:l,cy:u}),a.setShape({x:l-s,y:u-s,width:2*s,height:2*s}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},n.resize(),n})),vm({type:sl,event:sl,update:sl},bt),vm({type:ll,event:ll,update:ll},bt),vm({type:ul,event:ul,update:ul},bt),vm({type:hl,event:hl,update:hl},bt),vm({type:cl,event:cl,update:cl},bt),cm(\"light\",hy),cm(\"dark\",gy);var Tm=[],Cm={registerPreprocessor:pm,registerProcessor:dm,registerPostInit:fm,registerPostUpdate:gm,registerUpdateLifecycle:ym,registerAction:vm,registerCoordinateSystem:mm,registerLayout:xm,registerVisual:_m,registerTransform:Im,registerLoading:Sm,registerMap:Mm,registerImpl:function(t,e){yv[t]=e},PRIORITY:_v,ComponentModel:Op,ComponentView:wg,SeriesModel:fg,ChartView:Tg,registerComponentModel:function(t){Op.registerClass(t)},registerComponentView:function(t){wg.registerClass(t)},registerSeriesModel:function(t){fg.registerClass(t)},registerChartView:function(t){Tg.registerClass(t)},registerSubTypeDefaulter:function(t,e){Op.registerSubTypeDefaulter(t,e)},registerPainter:function(t,e){Gr(t,e)}};function Dm(t){Y(t)?E(t,(function(t){Dm(t)})):P(Tm,t)>=0||(Tm.push(t),U(t)&&(t={install:t}),t.install(Cm))}function Am(t){return null==t?0:t.length||1}function km(t){return t}var Lm=function(){function t(t,e,n,i,r,o){this._old=t,this._new=e,this._oldKeyGetter=n||km,this._newKeyGetter=i||km,this.context=r,this._diffModeMultiple=\"multiple\"===o}return t.prototype.add=function(t){return this._add=t,this},t.prototype.update=function(t){return this._update=t,this},t.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},t.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},t.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},t.prototype.remove=function(t){return this._remove=t,this},t.prototype.execute=function(){this[this._diffModeMultiple?\"_executeMultiple\":\"_executeOneToOne\"]()},t.prototype._executeOneToOne=function(){var t=this._old,e=this._new,n={},i=new Array(t.length),r=new Array(e.length);this._initIndexMap(t,null,i,\"_oldKeyGetter\"),this._initIndexMap(e,n,r,\"_newKeyGetter\");for(var o=0;o1){var u=s.shift();1===s.length&&(n[a]=s[0]),this._update&&this._update(u,o)}else 1===l?(n[a]=null,this._update&&this._update(s,o)):this._remove&&this._remove(o)}this._performRestAdd(r,n)},t.prototype._executeMultiple=function(){var t=this._old,e=this._new,n={},i={},r=[],o=[];this._initIndexMap(t,n,r,\"_oldKeyGetter\"),this._initIndexMap(e,i,o,\"_newKeyGetter\");for(var a=0;a1&&1===c)this._updateManyToOne&&this._updateManyToOne(u,l),i[s]=null;else if(1===h&&c>1)this._updateOneToMany&&this._updateOneToMany(u,l),i[s]=null;else if(1===h&&1===c)this._update&&this._update(u,l),i[s]=null;else if(h>1&&c>1)this._updateManyToMany&&this._updateManyToMany(u,l),i[s]=null;else if(h>1)for(var p=0;p1)for(var a=0;a30}var Hm,Ym,Um,Xm,Zm,jm,qm,Km=q,$m=z,Jm=\"undefined\"==typeof Int32Array?Array:Int32Array,Qm=[\"hasItemOption\",\"_nameList\",\"_idList\",\"_invertedIndicesMap\",\"_dimSummary\",\"userOutput\",\"_rawData\",\"_dimValueGetter\",\"_nameDimIdx\",\"_idDimIdx\",\"_nameRepeatCount\"],tx=[\"_approximateExtent\"],ex=function(){function t(t,e){var n;this.type=\"list\",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=[\"cloneShallow\",\"downSample\",\"lttbDownSample\",\"map\"],this.CHANGABLE_METHODS=[\"filterSelf\",\"selectRange\"],this.DOWNSAMPLE_METHODS=[\"downSample\",\"lttbDownSample\"];var i=!1;Bm(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||[\"x\",\"y\"];for(var r={},o=[],a={},s=!1,l={},u=0;u=e)){var n=this._store.getProvider();this._updateOrdinalMeta();var i=this._nameList,r=this._idList;if(n.getSource().sourceFormat===Vp&&!n.pure)for(var o=[],a=t;a0},t.prototype.ensureUniqueItemVisual=function(t,e){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var r=i[e];return null==r&&(Y(r=this.getVisual(e))?r=r.slice():Km(r)&&(r=A({},r)),i[e]=r),r},t.prototype.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,Km(e)?A(i,e):i[e]=n},t.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},t.prototype.setLayout=function(t,e){Km(t)?A(this._layout,t):this._layout[t]=e},t.prototype.getLayout=function(t){return this._layout[t]},t.prototype.getItemLayout=function(t){return this._itemLayouts[t]},t.prototype.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?A(this._itemLayouts[t]||{},e):e},t.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},t.prototype.setItemGraphicEl=function(t,e){var n=this.hostModel&&this.hostModel.seriesIndex;Qs(n,this.dataType,t,e),this._graphicEls[t]=e},t.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},t.prototype.eachItemGraphicEl=function(t,e){E(this._graphicEls,(function(n,i){n&&t&&t.call(e,n,i)}))},t.prototype.cloneShallow=function(e){return e||(e=new t(this._schema?this._schema:$m(this.dimensions,this._getDimInfo,this),this.hostModel)),Zm(e,this),e._store=this._store,e},t.prototype.wrapMethod=function(t,e){var n=this[t];U(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(at(arguments)))})},t.internalField=(Hm=function(t){var e=t._invertedIndicesMap;E(e,(function(n,i){var r=t._dimInfos[i],o=r.ordinalMeta,a=t._store;if(o){n=e[i]=new Jm(o.categories.length);for(var s=0;s1&&(s+=\"__ec__\"+u),i[e]=s}})),t}();function nx(t,e){jd(t)||(t=Kd(t));var n=(e=e||{}).coordDimensions||[],i=e.dimensionsDefine||t.dimensionsDefine||[],r=yt(),o=[],a=function(t,e,n,i){var r=Math.max(t.dimensionsDetectedCount||1,e.length,n.length,i||0);return E(e,(function(t){var e;q(t)&&(e=t.dimsDef)&&(r=Math.max(r,e.length))})),r}(t,n,i,e.dimensionsCount),s=e.canOmitUnusedDimensions&&Wm(a),l=i===t.dimensionsDefine,u=l?Gm(t):Fm(i),h=e.encodeDefine;!h&&e.encodeDefaulter&&(h=e.encodeDefaulter(t,a));for(var c=yt(h),p=new Ff(a),d=0;d0&&(i.name=r+(o-1)),o++,e.set(r,o)}}(o),new Vm({source:t,dimensions:o,fullDimensionCount:a,dimensionOmitted:s})}function ix(t,e,n){if(n||e.hasKey(t)){for(var i=0;e.hasKey(t+i);)i++;t+=i}return e.set(t,!0),t}var rx=function(t){this.coordSysDims=[],this.axisMap=yt(),this.categoryAxisMap=yt(),this.coordSysName=t};var ox={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents(\"xAxis\",Eo).models[0],o=t.getReferringComponents(\"yAxis\",Eo).models[0];e.coordSysDims=[\"x\",\"y\"],n.set(\"x\",r),n.set(\"y\",o),ax(r)&&(i.set(\"x\",r),e.firstCategoryDimIndex=0),ax(o)&&(i.set(\"y\",o),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},singleAxis:function(t,e,n,i){var r=t.getReferringComponents(\"singleAxis\",Eo).models[0];e.coordSysDims=[\"single\"],n.set(\"single\",r),ax(r)&&(i.set(\"single\",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents(\"polar\",Eo).models[0],o=r.findAxisModel(\"radiusAxis\"),a=r.findAxisModel(\"angleAxis\");e.coordSysDims=[\"radius\",\"angle\"],n.set(\"radius\",o),n.set(\"angle\",a),ax(o)&&(i.set(\"radius\",o),e.firstCategoryDimIndex=0),ax(a)&&(i.set(\"angle\",a),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e,n,i){e.coordSysDims=[\"lng\",\"lat\"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent(\"parallel\",t.get(\"parallelIndex\")),a=e.coordSysDims=o.dimensions.slice();E(o.parallelAxisIndex,(function(t,o){var s=r.getComponent(\"parallelAxis\",t),l=a[o];n.set(l,s),ax(s)&&(i.set(l,s),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=o))}))}};function ax(t){return\"category\"===t.get(\"type\")}function sx(t,e,n){var i,r,o,a=(n=n||{}).byIndex,s=n.stackedCoordDimension;!function(t){return!Bm(t.schema)}(e)?(r=e.schema,i=r.dimensions,o=e.store):i=e;var l,u,h,c,p=!(!t||!t.get(\"stack\"));if(E(i,(function(t,e){X(t)&&(i[e]=t={name:t}),p&&!t.isExtraCoord&&(a||l||!t.ordinalMeta||(l=t),u||\"ordinal\"===t.type||\"time\"===t.type||s&&s!==t.coordDim||(u=t))})),!u||a||l||(a=!0),u){h=\"__\\0ecstackresult_\"+t.id,c=\"__\\0ecstackedover_\"+t.id,l&&(l.createInvertedIndices=!0);var d=u.coordDim,f=u.type,g=0;E(i,(function(t){t.coordDim===d&&g++}));var y={name:h,coordDim:d,coordDimIndex:g,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length},v={name:c,coordDim:c,coordDimIndex:g+1,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length+1};r?(o&&(y.storeDimIndex=o.ensureCalculationDimension(c,f),v.storeDimIndex=o.ensureCalculationDimension(h,f)),r.appendCalculationDimension(y),r.appendCalculationDimension(v)):(i.push(y),i.push(v))}return{stackedDimension:u&&u.name,stackedByDimension:l&&l.name,isStackedByIndex:a,stackedOverDimension:c,stackResultDimension:h}}function lx(t,e){return!!e&&e===t.getCalculationInfo(\"stackedDimension\")}function ux(t,e){return lx(t,e)?t.getCalculationInfo(\"stackResultDimension\"):e}function hx(t,e,n){n=n||{};var i,r=e.getSourceManager(),o=!1;t?(o=!0,i=Kd(t)):o=(i=r.getSource()).sourceFormat===Vp;var a=function(t){var e=t.get(\"coordinateSystem\"),n=new rx(e),i=ox[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}(e),s=function(t,e){var n,i=t.get(\"coordinateSystem\"),r=vd.get(i);return e&&e.coordSysDims&&(n=z(e.coordSysDims,(function(t){var n={name:t},i=e.axisMap.get(t);if(i){var r=i.get(\"type\");n.type=Rm(r)}return n}))),n||(n=r&&(r.getDimensionsInfo?r.getDimensionsInfo():r.dimensions.slice())||[\"x\",\"y\"]),n}(e,a),l=n.useEncodeDefaulter,u=U(l)?l:l?H(Kp,s,e):null,h=nx(i,{coordDimensions:s,generateCoord:n.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!o}),c=function(t,e,n){var i,r;return n&&E(t,(function(t,o){var a=t.coordDim,s=n.categoryAxisMap.get(a);s&&(null==i&&(i=o),t.ordinalMeta=s.getOrdinalMeta(),e&&(t.createInvertedIndices=!0)),null!=t.otherDims.itemName&&(r=!0)})),r||null==i||(t[i].otherDims.itemName=0),i}(h.dimensions,n.createInvertedIndices,a),p=o?null:r.getSharedDataStore(h),d=sx(e,{schema:h,store:p}),f=new ex(h,e);f.setCalculationInfo(d);var g=null!=c&&function(t){if(t.sourceFormat===Vp){var e=function(t){var e=0;for(;ee[1]&&(e[1]=t[1])},t.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},t.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},t.prototype.isBlank=function(){return this._isBlank},t.prototype.setBlank=function(t){this._isBlank=t},t}();Ko(cx);var px=0,dx=function(){function t(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++px}return t.createByAxisModel=function(e){var n=e.option,i=n.data,r=i&&z(i,fx);return new t({categories:r,needCollect:!r,deduplication:!1!==n.dedplication})},t.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},t.prototype.parseAndCollect=function(t){var e,n=this._needCollect;if(!X(t)&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=this._getOrCreateMap();return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e},t.prototype._getOrCreateMap=function(){return this._map||(this._map=yt(this.categories))},t}();function fx(t){return q(t)&&null!=t.value?t.value:t+\"\"}function gx(t){return\"interval\"===t.type||\"log\"===t.type}function yx(t,e,n,i){var r={},o=t[1]-t[0],a=r.interval=ao(o/e,!0);null!=n&&ai&&(a=r.interval=i);var s=r.intervalPrecision=mx(a);return function(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),xx(t,0,e),xx(t,1,e),t[0]>t[1]&&(t[0]=t[1])}(r.niceTickExtent=[Xr(Math.ceil(t[0]/a)*a,s),Xr(Math.floor(t[1]/a)*a,s)],t),r}function vx(t){var e=Math.pow(10,oo(t)),n=t/e;return n?2===n?n=3:3===n?n=5:n*=2:n=1,Xr(n*e)}function mx(t){return jr(t)+2}function xx(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function _x(t,e){return t>=e[0]&&t<=e[1]}function bx(t,e){return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])}function Sx(t,e){return t*(e[1]-e[0])+e[0]}var Mx=function(t){function e(e){var n=t.call(this,e)||this;n.type=\"ordinal\";var i=n.getSetting(\"ordinalMeta\");return i||(i=new dx({})),Y(i)&&(i=new dx({categories:z(i,(function(t){return q(t)?t.value:t}))})),n._ordinalMeta=i,n._extent=n.getSetting(\"extent\")||[0,i.categories.length-1],n}return n(e,t),e.prototype.parse=function(t){return null==t?NaN:X(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return _x(t=this.parse(t),this._extent)&&null!=this._ordinalMeta.categories[t]},e.prototype.normalize=function(t){return bx(t=this._getTickNumber(this.parse(t)),this._extent)},e.prototype.scale=function(t){return t=Math.round(Sx(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push({value:n}),n++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(null!=t){for(var e=t.ordinalNumbers,n=this._ordinalNumbersByTick=[],i=this._ticksByOrdinalNumber=[],r=0,o=this._ordinalMeta.categories.length,a=Math.min(o,e.length);r=0&&t=0&&t=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type=\"ordinal\",e}(cx);cx.registerClass(Mx);var Ix=Xr,Tx=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type=\"interval\",e._interval=0,e._intervalPrecision=2,e}return n(e,t),e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return _x(t,this._extent)},e.prototype.normalize=function(t){return bx(t,this._extent)},e.prototype.scale=function(t){return Sx(t,this._extent)},e.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},e.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),this.setExtent(e[0],e[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=mx(t)},e.prototype.getTicks=function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,o=[];if(!e)return o;n[0]1e4)return[];var s=o.length?o[o.length-1].value:i[1];return n[1]>s&&(t?o.push({value:Ix(s+e,r)}):o.push({value:n[1]})),o},e.prototype.getMinorTicks=function(t){for(var e=this.getTicks(!0),n=[],i=this.getExtent(),r=1;ri[0]&&h0&&(o=null===o?s:Math.min(o,s))}n[i]=o}}return n}(t),n=[];return E(t,(function(t){var i,r=t.coordinateSystem.getBaseAxis(),o=r.getExtent();if(\"category\"===r.type)i=r.getBandWidth();else if(\"value\"===r.type||\"time\"===r.type){var a=r.dim+\"_\"+r.index,s=e[a],l=Math.abs(o[1]-o[0]),u=r.scale.getExtent(),h=Math.abs(u[1]-u[0]);i=s?l/h*s:l}else{var c=t.getData();i=Math.abs(o[1]-o[0])/c.count()}var p=Ur(t.get(\"barWidth\"),i),d=Ur(t.get(\"barMaxWidth\"),i),f=Ur(t.get(\"barMinWidth\")||(Bx(t)?.5:1),i),g=t.get(\"barGap\"),y=t.get(\"barCategoryGap\");n.push({bandWidth:i,barWidth:p,barMaxWidth:d,barMinWidth:f,barGap:g,barCategoryGap:y,axisKey:Px(r),stackId:Lx(t)})})),Nx(n)}function Nx(t){var e={};E(t,(function(t,n){var i=t.axisKey,r=t.bandWidth,o=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:null,gap:\"20%\",stacks:{}},a=o.stacks;e[i]=o;var s=t.stackId;a[s]||o.autoWidthCount++,a[s]=a[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!a[s].width&&(a[s].width=l,l=Math.min(o.remainedWidth,l),o.remainedWidth-=l);var u=t.barMaxWidth;u&&(a[s].maxWidth=u);var h=t.barMinWidth;h&&(a[s].minWidth=h);var c=t.barGap;null!=c&&(o.gap=c);var p=t.barCategoryGap;null!=p&&(o.categoryGap=p)}));var n={};return E(e,(function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,o=t.categoryGap;if(null==o){var a=G(i).length;o=Math.max(35-4*a,15)+\"%\"}var s=Ur(o,r),l=Ur(t.gap,1),u=t.remainedWidth,h=t.autoWidthCount,c=(u-s)/(h+(h-1)*l);c=Math.max(c,0),E(i,(function(t){var e=t.maxWidth,n=t.minWidth;if(t.width){i=t.width;e&&(i=Math.min(i,e)),n&&(i=Math.max(i,n)),t.width=i,u-=i+l*i,h--}else{var i=c;e&&ei&&(i=n),i!==c&&(t.width=i,u-=i+l*i,h--)}})),c=(u-s)/(h+(h-1)*l),c=Math.max(c,0);var p,d=0;E(i,(function(t,e){t.width||(t.width=c),p=t,d+=t.width*(1+l)})),p&&(d-=p.width*l);var f=-d/2;E(i,(function(t,i){n[e][i]=n[e][i]||{bandWidth:r,offset:f,width:t.width},f+=t.width*(1+l)}))})),n}function Ex(t,e){var n=Ox(t,e),i=Rx(n);E(n,(function(t){var e=t.getData(),n=t.coordinateSystem.getBaseAxis(),r=Lx(t),o=i[Px(n)][r],a=o.offset,s=o.width;e.setLayout({bandWidth:o.bandWidth,offset:a,size:s})}))}function zx(t){return{seriesType:t,plan:Sg(),reset:function(t){if(Vx(t)){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),r=n.getOtherAxis(i),o=e.getDimensionIndex(e.mapDimension(r.dim)),a=e.getDimensionIndex(e.mapDimension(i.dim)),s=t.get(\"showBackground\",!0),l=e.mapDimension(r.dim),u=e.getCalculationInfo(\"stackResultDimension\"),h=lx(e,l)&&!!e.getCalculationInfo(\"stackedOnSeries\"),c=r.isHorizontal(),p=function(t,e){return e.toGlobalCoord(e.dataToCoord(\"log\"===e.type?1:0))}(0,r),d=Bx(t),f=t.get(\"barMinHeight\")||0,g=u&&e.getDimensionIndex(u),y=e.getLayout(\"size\"),v=e.getLayout(\"offset\");return{progress:function(t,e){for(var i,r=t.count,l=d&&Ax(3*r),u=d&&s&&Ax(3*r),m=d&&Ax(r),x=n.master.getRect(),_=c?x.width:x.height,b=e.getStore(),w=0;null!=(i=t.next());){var S=b.get(h?g:o,i),M=b.get(a,i),I=p,T=void 0;h&&(T=+S-b.get(o,i));var C=void 0,D=void 0,A=void 0,k=void 0;if(c){var L=n.dataToPoint([S,M]);if(h)I=n.dataToPoint([T,M])[0];C=I,D=L[1]+v,A=L[0]-I,k=y,Math.abs(A)0)for(var s=0;s=0;--s)if(l[u]){o=l[u];break}o=o||a.none}if(Y(o)){var h=null==t.level?0:t.level>=0?t.level:o.length+t.level;o=o[h=Math.min(h,o.length-1)]}}return jc(new Date(t.value),o,r,i)}(t,e,n,this.getSetting(\"locale\"),i)},e.prototype.getTicks=function(){var t=this._interval,e=this._extent,n=[];if(!t)return n;n.push({value:e[0],level:0});var i=this.getSetting(\"useUTC\"),r=function(t,e,n,i){var r=1e4,o=Yc,a=0;function s(t,e,n,r,o,a,s){for(var l=new Date(e),u=e,h=l[r]();u1&&0===u&&o.unshift({value:o[0].value-p})}}for(u=0;u=i[0]&&v<=i[1]&&c++)}var m=(i[1]-i[0])/e;if(c>1.5*m&&p>m/1.5)break;if(u.push(g),c>m||t===o[d])break}h=[]}}0;var x=B(z(u,(function(t){return B(t,(function(t){return t.value>=i[0]&&t.value<=i[1]&&!t.notAdd}))})),(function(t){return t.length>0})),_=[],b=x.length-1;for(d=0;dn&&(this._approxInterval=n);var o=Gx.length,a=Math.min(function(t,e,n,i){for(;n>>1;t[r][1]16?16:t>7.5?7:t>3.5?4:t>1.5?2:1}function Hx(t){return(t/=2592e6)>6?6:t>3?3:t>2?2:1}function Yx(t){return(t/=zc)>12?12:t>6?6:t>3.5?4:t>2?2:1}function Ux(t,e){return(t/=e?Ec:Nc)>30?30:t>20?20:t>15?15:t>10?10:t>5?5:t>2?2:1}function Xx(t){return ao(t,!0)}function Zx(t,e,n){var i=new Date(t);switch(Xc(e)){case\"year\":case\"month\":i[op(n)](0);case\"day\":i[ap(n)](1);case\"hour\":i[sp(n)](0);case\"minute\":i[lp(n)](0);case\"second\":i[up(n)](0),i[hp(n)](0)}return i.getTime()}cx.registerClass(Fx);var jx=cx.prototype,qx=Tx.prototype,Kx=Xr,$x=Math.floor,Jx=Math.ceil,Qx=Math.pow,t_=Math.log,e_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type=\"log\",e.base=10,e._originalScale=new Tx,e._interval=0,e}return n(e,t),e.prototype.getTicks=function(t){var e=this._originalScale,n=this._extent,i=e.getExtent();return z(qx.getTicks.call(this,t),(function(t){var e=t.value,r=Xr(Qx(this.base,e));return r=e===n[0]&&this._fixMin?i_(r,i[0]):r,{value:r=e===n[1]&&this._fixMax?i_(r,i[1]):r}}),this)},e.prototype.setExtent=function(t,e){var n=t_(this.base);t=t_(Math.max(0,t))/n,e=t_(Math.max(0,e))/n,qx.setExtent.call(this,t,e)},e.prototype.getExtent=function(){var t=this.base,e=jx.getExtent.call(this);e[0]=Qx(t,e[0]),e[1]=Qx(t,e[1]);var n=this._originalScale.getExtent();return this._fixMin&&(e[0]=i_(e[0],n[0])),this._fixMax&&(e[1]=i_(e[1],n[1])),e},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=t_(t[0])/t_(e),t[1]=t_(t[1])/t_(e),jx.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},e.prototype.calcNiceTicks=function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=ro(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[Xr(Jx(e[0]/i)*i),Xr($x(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},e.prototype.calcNiceExtent=function(t){qx.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return _x(t=t_(t)/t_(this.base),this._extent)},e.prototype.normalize=function(t){return bx(t=t_(t)/t_(this.base),this._extent)},e.prototype.scale=function(t){return t=Sx(t,this._extent),Qx(this.base,t)},e.type=\"log\",e}(cx),n_=e_.prototype;function i_(t,e){return Kx(t,jr(e))}n_.getMinorTicks=qx.getMinorTicks,n_.getLabel=qx.getLabel,cx.registerClass(e_);var r_=function(){function t(t,e,n){this._prepareParams(t,e,n)}return t.prototype._prepareParams=function(t,e,n){n[1]0&&s>0&&!l&&(a=0),a<0&&s<0&&!u&&(s=0));var c=this._determinedMin,p=this._determinedMax;return null!=c&&(a=c,l=!0),null!=p&&(s=p,u=!0),{min:a,max:s,minFixed:l,maxFixed:u,isBlank:h}},t.prototype.modifyDataMinMax=function(t,e){this[a_[t]]=e},t.prototype.setDeterminedMinMax=function(t,e){var n=o_[t];this[n]=e},t.prototype.freeze=function(){this.frozen=!0},t}(),o_={min:\"_determinedMin\",max:\"_determinedMax\"},a_={min:\"_dataMin\",max:\"_dataMax\"};function s_(t,e,n){var i=t.rawExtentInfo;return i||(i=new r_(t,e,n),t.rawExtentInfo=i,i)}function l_(t,e){return null==e?null:nt(e)?NaN:t.parse(e)}function u_(t,e){var n=t.type,i=s_(t,e,t.getExtent()).calculate();t.setBlank(i.isBlank);var r=i.min,o=i.max,a=e.ecModel;if(a&&\"time\"===n){var s=Ox(\"bar\",a),l=!1;if(E(s,(function(t){l=l||t.getBaseAxis()===e.axis})),l){var u=Rx(s),h=function(t,e,n,i){var r=n.axis.getExtent(),o=r[1]-r[0],a=function(t,e,n){if(t&&e){var i=t[Px(e)];return null!=i&&null!=n?i[Lx(n)]:i}}(i,n.axis);if(void 0===a)return{min:t,max:e};var s=1/0;E(a,(function(t){s=Math.min(t.offset,s)}));var l=-1/0;E(a,(function(t){l=Math.max(t.offset+t.width,l)})),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return{min:t-=c*(s/u),max:e+=c*(l/u)}}(r,o,e,u);r=h.min,o=h.max}}return{extent:[r,o],fixMin:i.minFixed,fixMax:i.maxFixed}}function h_(t,e){var n=e,i=u_(t,n),r=i.extent,o=n.get(\"splitNumber\");t instanceof e_&&(t.base=n.get(\"logBase\"));var a=t.type,s=n.get(\"interval\"),l=\"interval\"===a||\"time\"===a;t.setExtent(r[0],r[1]),t.calcNiceExtent({splitNumber:o,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?n.get(\"minInterval\"):null,maxInterval:l?n.get(\"maxInterval\"):null}),null!=s&&t.setInterval&&t.setInterval(s)}function c_(t,e){if(e=e||t.get(\"type\"))switch(e){case\"category\":return new Mx({ordinalMeta:t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),extent:[1/0,-1/0]});case\"time\":return new Fx({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get(\"useUTC\")});default:return new(cx.getClass(e)||Tx)}}function p_(t){var e,n,i=t.getLabelModel().get(\"formatter\"),r=\"category\"===t.type?t.scale.getExtent()[0]:null;return\"time\"===t.scale.type?(n=i,function(e,i){return t.scale.getFormattedLabel(e,i,n)}):X(i)?function(e){return function(n){var i=t.scale.getLabel(n);return e.replace(\"{value}\",null!=i?i:\"\")}}(i):U(i)?(e=i,function(n,i){return null!=r&&(i=n.value-r),e(d_(t,n),i,null!=n.level?{level:n.level}:null)}):function(e){return t.scale.getLabel(e)}}function d_(t,e){return\"category\"===t.type?t.scale.getLabel(e):e.value}function f_(t,e){var n=e*Math.PI/180,i=t.width,r=t.height,o=i*Math.abs(Math.cos(n))+Math.abs(r*Math.sin(n)),a=i*Math.abs(Math.sin(n))+Math.abs(r*Math.cos(n));return new Ee(t.x,t.y,o,a)}function g_(t){var e=t.get(\"interval\");return null==e?\"auto\":e}function y_(t){return\"category\"===t.type&&0===g_(t.getLabelModel())}function v_(t,e){var n={};return E(t.mapDimensionsAll(e),(function(e){n[ux(t,e)]=!0})),G(n)}var m_=function(){function t(){}return t.prototype.getNeedCrossZero=function(){return!this.option.scale},t.prototype.getCoordSysModel=function(){},t}();var x_={isDimensionStacked:lx,enableDataStack:sx,getStackedDimension:ux};var __=Object.freeze({__proto__:null,createList:function(t){return hx(null,t)},getLayoutRect:Tp,dataStack:x_,createScale:function(t,e){var n=e;e instanceof Sc||(n=new Sc(e));var i=c_(n);return i.setExtent(t[0],t[1]),h_(i,n),i},mixinAxisModelCommonMethods:function(t){R(t,m_)},getECData:Js,createTextStyle:function(t,e){return ec(t,null,null,\"normal\"!==(e=e||{}).state)},createDimensions:function(t,e){return nx(t,e).dimensions},createSymbol:Vy,enableHoverEmphasis:Wl});function b_(t,e){return Math.abs(t-e)<1e-8}function w_(t,e,n){var i=0,r=t[0];if(!r)return!1;for(var o=1;on&&(t=r,n=a)}if(t)return function(t){for(var e=0,n=0,i=0,r=t.length,o=t[r-1][0],a=t[r-1][1],s=0;s>1^-(1&s),l=l>>1^-(1&l),r=s+=r,o=l+=o,i.push([s/n,l/n])}return i}function O_(t,e){return z(B((t=function(t){if(!t.UTF8Encoding)return t;var e=t,n=e.UTF8Scale;return null==n&&(n=1024),E(e.features,(function(t){var e=t.geometry,i=e.encodeOffsets,r=e.coordinates;if(i)switch(e.type){case\"LineString\":e.coordinates=P_(r,i,n);break;case\"Polygon\":case\"MultiLineString\":L_(r,i,n);break;case\"MultiPolygon\":E(r,(function(t,e){return L_(t,i[e],n)}))}})),e.UTF8Encoding=!1,e}(t)).features,(function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0})),(function(t){var n=t.properties,i=t.geometry,r=[];switch(i.type){case\"Polygon\":var o=i.coordinates;r.push(new C_(o[0],o.slice(1)));break;case\"MultiPolygon\":E(i.coordinates,(function(t){t[0]&&r.push(new C_(t[0],t.slice(1)))}));break;case\"LineString\":r.push(new D_([i.coordinates]));break;case\"MultiLineString\":r.push(new D_(i.coordinates))}var a=new A_(n[e||\"name\"],r,n.cp);return a.properties=n,a}))}var R_=Object.freeze({__proto__:null,linearMap:Yr,round:Xr,asc:Zr,getPrecision:jr,getPrecisionSafe:qr,getPixelPrecision:Kr,getPercentWithPrecision:function(t,e,n){return t[e]&&$r(t,n)[e]||0},MAX_SAFE_INTEGER:Qr,remRadian:to,isRadianAroundZero:eo,parseDate:io,quantity:ro,quantityExponent:oo,nice:ao,quantile:so,reformIntervals:lo,isNumeric:ho,numericToNumber:uo}),N_=Object.freeze({__proto__:null,parse:io,format:jc}),E_=Object.freeze({__proto__:null,extendShape:Sh,extendPath:Ih,makePath:Dh,makeImage:Ah,mergePath:Lh,resizePath:Ph,createIcon:Wh,updateProps:dh,initProps:fh,getTransform:Nh,clipPointsByRect:Fh,clipRectByRect:Gh,registerShape:Th,getShapeClass:Ch,Group:Er,Image:As,Text:Bs,Circle:xu,Ellipse:bu,Sector:Eu,Ring:Vu,Polygon:Gu,Polyline:Hu,Rect:Es,Line:Xu,BezierCurve:Ku,Arc:Ju,IncrementalDisplayable:uh,CompoundPath:Qu,LinearGradient:eh,RadialGradient:nh,BoundingRect:Ee}),z_=Object.freeze({__proto__:null,addCommas:cp,toCamelCase:pp,normalizeCssArray:dp,encodeHTML:ie,formatTpl:vp,getTooltipMarker:mp,formatTime:function(t,e,n){\"week\"!==t&&\"month\"!==t&&\"quarter\"!==t&&\"half-year\"!==t&&\"year\"!==t||(t=\"MM-dd\\nyyyy\");var i=io(e),r=n?\"getUTC\":\"get\",o=i[r+\"FullYear\"](),a=i[r+\"Month\"]()+1,s=i[r+\"Date\"](),l=i[r+\"Hours\"](),u=i[r+\"Minutes\"](),h=i[r+\"Seconds\"](),c=i[r+\"Milliseconds\"]();return t=t.replace(\"MM\",Uc(a,2)).replace(\"M\",a).replace(\"yyyy\",o).replace(\"yy\",Uc(o%100+\"\",2)).replace(\"dd\",Uc(s,2)).replace(\"d\",s).replace(\"hh\",Uc(l,2)).replace(\"h\",l).replace(\"mm\",Uc(u,2)).replace(\"m\",u).replace(\"ss\",Uc(h,2)).replace(\"s\",h).replace(\"SSS\",Uc(c,3))},capitalFirst:function(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t},truncateText:aa,getTextRect:function(t,e,n,i,r,o,a,s){return new Bs({style:{text:t,font:e,align:n,verticalAlign:i,padding:r,rich:o,overflow:a?\"truncate\":null,lineHeight:s}}).getBoundingRect()}}),V_=Object.freeze({__proto__:null,map:z,each:E,indexOf:P,inherits:O,reduce:V,filter:B,bind:W,curry:H,isArray:Y,isString:X,isObject:q,isFunction:U,extend:A,defaults:k,clone:T,merge:C}),B_=Po();function F_(t){return\"category\"===t.type?function(t){var e=t.getLabelModel(),n=W_(t,e);return!e.get(\"show\")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}(t):function(t){var e=t.scale.getTicks(),n=p_(t);return{labels:z(e,(function(e,i){return{level:e.level,formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e.value}}))}}(t)}function G_(t,e){return\"category\"===t.type?function(t,e){var n,i,r=H_(t,\"ticks\"),o=g_(e),a=Y_(r,o);if(a)return a;e.get(\"show\")&&!t.scale.isBlank()||(n=[]);if(U(o))n=Z_(t,o,!0);else if(\"auto\"===o){var s=W_(t,t.getLabelModel());i=s.labelCategoryInterval,n=z(s.labels,(function(t){return t.tickValue}))}else n=X_(t,i=o,!0);return U_(r,o,{ticks:n,tickCategoryInterval:i})}(t,e):{ticks:z(t.scale.getTicks(),(function(t){return t.value}))}}function W_(t,e){var n,i,r=H_(t,\"labels\"),o=g_(e),a=Y_(r,o);return a||(U(o)?n=Z_(t,o):(i=\"auto\"===o?function(t){var e=B_(t).autoInterval;return null!=e?e:B_(t).autoInterval=t.calculateCategoryInterval()}(t):o,n=X_(t,i)),U_(r,o,{labels:n,labelCategoryInterval:i}))}function H_(t,e){return B_(t)[e]||(B_(t)[e]=[])}function Y_(t,e){for(var n=0;n1&&h/l>2&&(u=Math.round(Math.ceil(u/l)*l));var c=y_(t),p=a.get(\"showMinLabel\")||c,d=a.get(\"showMaxLabel\")||c;p&&u!==o[0]&&g(o[0]);for(var f=u;f<=o[1];f+=l)g(f);function g(t){var e={value:t};s.push(n?t:{formattedLabel:i(e),rawLabel:r.getLabel(e),tickValue:t})}return d&&f-l!==o[1]&&g(o[1]),s}function Z_(t,e,n){var i=t.scale,r=p_(t),o=[];return E(i.getTicks(),(function(t){var a=i.getLabel(t),s=t.value;e(t.value,a)&&o.push(n?s:{formattedLabel:r(t),rawLabel:a,tickValue:s})})),o}var j_=[0,1],q_=function(){function t(t,e,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=n||[0,0]}return t.prototype.contain=function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},t.prototype.containData=function(t){return this.scale.contain(t)},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.getPixelPrecision=function(t){return Kr(t||this.scale.getExtent(),this._extent)},t.prototype.setExtent=function(t,e){var n=this._extent;n[0]=t,n[1]=e},t.prototype.dataToCoord=function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&\"ordinal\"===i.type&&K_(n=n.slice(),i.count()),Yr(t,j_,n,e)},t.prototype.coordToData=function(t,e){var n=this._extent,i=this.scale;this.onBand&&\"ordinal\"===i.type&&K_(n=n.slice(),i.count());var r=Yr(t,n,j_,e);return this.scale.scale(r)},t.prototype.pointToData=function(t,e){},t.prototype.getTicksCoords=function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=z(G_(this,e).ticks,(function(t){return{coord:this.dataToCoord(\"ordinal\"===this.scale.type?this.scale.getRawOrdinalNumber(t):t),tickValue:t}}),this);return function(t,e,n,i){var r=e.length;if(!t.onBand||n||!r)return;var o,a,s=t.getExtent();if(1===r)e[0].coord=s[0],o=e[1]={coord:s[0]};else{var l=e[r-1].tickValue-e[0].tickValue,u=(e[r-1].coord-e[0].coord)/l;E(e,(function(t){t.coord-=u/2})),a=1+t.scale.getExtent()[1]-e[r-1].tickValue,o={coord:e[r-1].coord+u*a},e.push(o)}var h=s[0]>s[1];c(e[0].coord,s[0])&&(i?e[0].coord=s[0]:e.shift());i&&c(s[0],e[0].coord)&&e.unshift({coord:s[0]});c(s[1],o.coord)&&(i?o.coord=s[1]:e.pop());i&&c(o.coord,s[1])&&e.push({coord:s[1]});function c(t,e){return t=Xr(t),e=Xr(e),h?t>e:t0&&t<100||(t=5),z(this.scale.getMinorTicks(t),(function(t){return z(t,(function(t){return{coord:this.dataToCoord(t),tickValue:t}}),this)}),this)},t.prototype.getViewLabels=function(){return F_(this).labels},t.prototype.getLabelModel=function(){return this.model.getModel(\"axisLabel\")},t.prototype.getTickModel=function(){return this.model.getModel(\"axisTick\")},t.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},t.prototype.calculateCategoryInterval=function(){return function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get(\"rotate\")||0,font:e.getFont()}}(t),n=p_(t),i=(e.axisRotate-e.labelRotate)/180*Math.PI,r=t.scale,o=r.getExtent(),a=r.count();if(o[1]-o[0]<1)return 0;var s=1;a>40&&(s=Math.max(1,Math.floor(a/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),p=0,d=0;l<=o[1];l+=s){var f,g,y=_r(n({value:l}),e.font,\"center\",\"top\");f=1.3*y.width,g=1.3*y.height,p=Math.max(p,f,7),d=Math.max(d,g,7)}var v=p/h,m=d/c;isNaN(v)&&(v=1/0),isNaN(m)&&(m=1/0);var x=Math.max(0,Math.floor(Math.min(v,m))),_=B_(t.model),b=t.getExtent(),w=_.lastAutoInterval,S=_.lastTickCount;return null!=w&&null!=S&&Math.abs(w-x)<=1&&Math.abs(S-a)<=1&&w>x&&_.axisExtent0===b[0]&&_.axisExtent1===b[1]?x=w:(_.lastTickCount=a,_.lastAutoInterval=x,_.axisExtent0=b[0],_.axisExtent1=b[1]),x}(this)},t}();function K_(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}var $_=2*Math.PI,J_=rs.CMD,Q_=[\"top\",\"right\",\"bottom\",\"left\"];function tb(t,e,n,i,r){var o=n.width,a=n.height;switch(t){case\"top\":i.set(n.x+o/2,n.y-e),r.set(0,-1);break;case\"bottom\":i.set(n.x+o/2,n.y+a+e),r.set(0,1);break;case\"left\":i.set(n.x-e,n.y+a/2),r.set(-1,0);break;case\"right\":i.set(n.x+o+e,n.y+a/2),r.set(1,0)}}function eb(t,e,n,i,r,o,a,s,l){a-=t,s-=e;var u=Math.sqrt(a*a+s*s),h=(a/=u)*n+t,c=(s/=u)*n+e;if(Math.abs(i-r)%$_<1e-4)return l[0]=h,l[1]=c,u-n;if(o){var p=i;i=us(r),r=us(p)}else i=us(i),r=us(r);i>r&&(r+=$_);var d=Math.atan2(s,a);if(d<0&&(d+=$_),d>=i&&d<=r||d+$_>=i&&d+$_<=r)return l[0]=h,l[1]=c,u-n;var f=n*Math.cos(i)+t,g=n*Math.sin(i)+e,y=n*Math.cos(r)+t,v=n*Math.sin(r)+e,m=(f-a)*(f-a)+(g-s)*(g-s),x=(y-a)*(y-a)+(v-s)*(v-s);return m0){e=e/180*Math.PI,sb.fromArray(t[0]),lb.fromArray(t[1]),ub.fromArray(t[2]),Ce.sub(hb,sb,lb),Ce.sub(cb,ub,lb);var n=hb.len(),i=cb.len();if(!(n<.001||i<.001)){hb.scale(1/n),cb.scale(1/i);var r=hb.dot(cb);if(Math.cos(e)1&&Ce.copy(fb,ub),fb.toArray(t[1])}}}}function yb(t,e,n){if(n<=180&&n>0){n=n/180*Math.PI,sb.fromArray(t[0]),lb.fromArray(t[1]),ub.fromArray(t[2]),Ce.sub(hb,lb,sb),Ce.sub(cb,ub,lb);var i=hb.len(),r=cb.len();if(!(i<.001||r<.001))if(hb.scale(1/i),cb.scale(1/r),hb.dot(e)=a)Ce.copy(fb,ub);else{fb.scaleAndAdd(cb,o/Math.tan(Math.PI/2-s));var l=ub.x!==lb.x?(fb.x-lb.x)/(ub.x-lb.x):(fb.y-lb.y)/(ub.y-lb.y);if(isNaN(l))return;l<0?Ce.copy(fb,lb):l>1&&Ce.copy(fb,ub)}fb.toArray(t[1])}}}function vb(t,e,n,i){var r=\"normal\"===n,o=r?t:t.ensureState(n);o.ignore=e;var a=i.get(\"smooth\");a&&!0===a&&(a=.3),o.shape=o.shape||{},a>0&&(o.shape.smooth=a);var s=i.getModel(\"lineStyle\").getLineStyle();r?t.useStyle(s):o.style=s}function mb(t,e){var n=e.smooth,i=e.points;if(i)if(t.moveTo(i[0][0],i[0][1]),n>0&&i.length>=3){var r=Vt(i[0],i[1]),o=Vt(i[1],i[2]);if(!r||!o)return t.lineTo(i[1][0],i[1][1]),void t.lineTo(i[2][0],i[2][1]);var a=Math.min(r,o)*n,s=Gt([],i[1],i[0],a/r),l=Gt([],i[1],i[2],a/o),u=Gt([],s,l,.5);t.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),t.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var h=1;h0&&o&&_(-h/a,0,a);var f,g,y=t[0],v=t[a-1];return m(),f<0&&b(-f,.8),g<0&&b(g,.8),m(),x(f,g,1),x(g,f,-1),m(),f<0&&w(-f),g<0&&w(g),u}function m(){f=y.rect[e]-i,g=r-v.rect[e]-v.rect[n]}function x(t,e,n){if(t<0){var i=Math.min(e,-t);if(i>0){_(i*n,0,a);var r=i+t;r<0&&b(-r*n,1)}else b(-t*n,1)}}function _(n,i,r){0!==n&&(u=!0);for(var o=i;o0)for(l=0;l0;l--){_(-(o[l-1]*c),l,a)}}}function w(t){var e=t<0?-1:1;t=Math.abs(t);for(var n=Math.ceil(t/(a-1)),i=0;i0?_(n,0,i+1):_(-n,a-i-1,a),(t-=n)<=0)return}}function Sb(t,e,n,i){return wb(t,\"y\",\"height\",e,n,i)}function Mb(t){var e=[];t.sort((function(t,e){return e.priority-t.priority}));var n=new Ee(0,0,0,0);function i(t){if(!t.ignore){var e=t.ensureState(\"emphasis\");null==e.ignore&&(e.ignore=!1)}t.ignore=!0}for(var r=0;r=0&&n.attr(d.oldLayoutSelect),P(u,\"emphasis\")>=0&&n.attr(d.oldLayoutEmphasis)),dh(n,s,e,a)}else if(n.attr(s),!lc(n).valueAnimation){var h=rt(n.style.opacity,1);n.style.opacity=0,fh(n,{style:{opacity:h}},e,a)}if(d.oldLayout=s,n.states.select){var c=d.oldLayoutSelect={};Lb(c,s,Pb),Lb(c,n.states.select,Pb)}if(n.states.emphasis){var p=d.oldLayoutEmphasis={};Lb(p,s,Pb),Lb(p,n.states.emphasis,Pb)}hc(n,a,l,e,e)}if(i&&!i.ignore&&!i.invisible){r=(d=kb(i)).oldLayout;var d,f={points:i.shape.points};r?(i.attr({shape:r}),dh(i,{shape:f},e)):(i.setShape(f),i.style.strokePercent=0,fh(i,{style:{strokePercent:1}},e)),d.oldLayout=f}},t}(),Rb=Po();var Nb=Math.sin,Eb=Math.cos,zb=Math.PI,Vb=2*Math.PI,Bb=180/zb,Fb=function(){function t(){}return t.prototype.reset=function(t){this._start=!0,this._d=[],this._str=\"\",this._p=Math.pow(10,t||4)},t.prototype.moveTo=function(t,e){this._add(\"M\",t,e)},t.prototype.lineTo=function(t,e){this._add(\"L\",t,e)},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){this._add(\"C\",t,e,n,i,r,o)},t.prototype.quadraticCurveTo=function(t,e,n,i){this._add(\"Q\",t,e,n,i)},t.prototype.arc=function(t,e,n,i,r,o){this.ellipse(t,e,n,n,0,i,r,o)},t.prototype.ellipse=function(t,e,n,i,r,o,a,s){var l=a-o,u=!s,h=Math.abs(l),c=ui(h-Vb)||(u?l>=Vb:-l>=Vb),p=l>0?l%Vb:l%Vb+Vb,d=!1;d=!!c||!ui(h)&&p>=zb==!!u;var f=t+n*Eb(o),g=e+i*Nb(o);this._start&&this._add(\"M\",f,g);var y=Math.round(r*Bb);if(c){var v=1/this._p,m=(u?1:-1)*(Vb-v);this._add(\"A\",n,i,y,1,+u,t+n*Eb(o+m),e+i*Nb(o+m)),v>.01&&this._add(\"A\",n,i,y,0,+u,f,g)}else{var x=t+n*Eb(a),_=e+i*Nb(a);this._add(\"A\",n,i,y,+d,+u,x,_)}},t.prototype.rect=function(t,e,n,i){this._add(\"M\",t,e),this._add(\"l\",n,0),this._add(\"l\",0,i),this._add(\"l\",-n,0),this._add(\"Z\")},t.prototype.closePath=function(){this._d.length>0&&this._add(\"Z\")},t.prototype._add=function(t,e,n,i,r,o,a,s,l){for(var u=[],h=this._p,c=1;c\"}(r,e.attrs)+ie(e.text)+(i?\"\"+n+z(i,(function(e){return t(e)})).join(n)+n:\"\")+(\"\")}(t)}function $b(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssClassIdx:0,cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function Jb(t,e,n,i){return qb(\"svg\",\"root\",{width:t,height:e,xmlns:Xb,\"xmlns:xlink\":Zb,version:\"1.1\",baseProfile:\"full\",viewBox:!!i&&\"0 0 \"+t+\" \"+e},n)}var Qb={cubicIn:\"0.32,0,0.67,0\",cubicOut:\"0.33,1,0.68,1\",cubicInOut:\"0.65,0,0.35,1\",quadraticIn:\"0.11,0,0.5,0\",quadraticOut:\"0.5,1,0.89,1\",quadraticInOut:\"0.45,0,0.55,1\",quarticIn:\"0.5,0,0.75,0\",quarticOut:\"0.25,1,0.5,1\",quarticInOut:\"0.76,0,0.24,1\",quinticIn:\"0.64,0,0.78,0\",quinticOut:\"0.22,1,0.36,1\",quinticInOut:\"0.83,0,0.17,1\",sinusoidalIn:\"0.12,0,0.39,0\",sinusoidalOut:\"0.61,1,0.88,1\",sinusoidalInOut:\"0.37,0,0.63,1\",exponentialIn:\"0.7,0,0.84,0\",exponentialOut:\"0.16,1,0.3,1\",exponentialInOut:\"0.87,0,0.13,1\",circularIn:\"0.55,0,1,0.45\",circularOut:\"0,0.55,0.45,1\",circularInOut:\"0.85,0,0.15,1\"},tw=\"transform-origin\";function ew(t,e,n){var i=A({},t.shape);A(i,e),t.buildPath(n,i);var r=new Fb;return r.reset(xi(t)),n.rebuildPath(r,1),r.generateStr(),r.getStr()}function nw(t,e){var n=e.originX,i=e.originY;(n||i)&&(t[tw]=n+\"px \"+i+\"px\")}var iw={fill:\"fill\",opacity:\"opacity\",lineWidth:\"stroke-width\",lineDashOffset:\"stroke-dashoffset\"};function rw(t,e){var n=e.zrId+\"-ani-\"+e.cssAnimIdx++;return e.cssAnims[n]=t,n}function ow(t){return X(t)?Qb[t]?\"cubic-bezier(\"+Qb[t]+\")\":Ln(t)?t:\"\":\"\"}function aw(t,e,n,i){var r=t.animators,o=r.length,a=[];if(t instanceof Qu){var s=function(t,e,n){var i,r,o=t.shape.paths,a={};if(E(o,(function(t){var e=$b(n.zrId);e.animation=!0,aw(t,{},e,!0);var o=e.cssAnims,s=e.cssNodes,l=G(o),u=l.length;if(u){var h=o[r=l[u-1]];for(var c in h){var p=h[c];a[c]=a[c]||{d:\"\"},a[c].d+=p.d||\"\"}for(var d in s){var f=s[d].animation;f.indexOf(r)>=0&&(i=f)}}})),i){e.d=!1;var s=rw(a,n);return i.replace(r,s)}}(t,e,n);if(s)a.push(s);else if(!o)return}else if(!o)return;for(var l={},u=0;u0})).length)return rw(h,n)+\" \"+r[0]+\" both\"}for(var y in l){(s=g(l[y]))&&a.push(s)}if(a.length){var v=n.zrId+\"-cls-\"+n.cssClassIdx++;n.cssNodes[\".\"+v]={animation:a.join(\",\")},e.class=v}}var sw=Math.round;function lw(t){return t&&X(t.src)}function uw(t){return t&&U(t.toDataURL)}function hw(t,e,n,i){Ub((function(r,o){var a=\"fill\"===r||\"stroke\"===r;a&&vi(o)?_w(e,t,r,i):a&&fi(o)?bw(n,t,r,i):t[r]=o}),e,n,!1),function(t,e,n){var i=t.style;if(function(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY)}(i)){var r=function(t){var e=t.style,n=t.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),n[0],n[1]].join(\",\")}(t),o=n.shadowCache,a=o[r];if(!a){var s=t.getGlobalScale(),l=s[0],u=s[1];if(!l||!u)return;var h=i.shadowOffsetX||0,c=i.shadowOffsetY||0,p=i.shadowBlur,d=si(i.shadowColor),f=d.opacity,g=d.color,y=p/2/l+\" \"+p/2/u;a=n.zrId+\"-s\"+n.shadowIdx++,n.defs[a]=qb(\"filter\",a,{id:a,x:\"-100%\",y:\"-100%\",width:\"300%\",height:\"300%\"},[qb(\"feDropShadow\",\"\",{dx:h/l,dy:c/u,stdDeviation:y,\"flood-color\":g,\"flood-opacity\":f})]),o[r]=a}e.filter=mi(a)}}(n,t,i)}function cw(t){return ui(t[0]-1)&&ui(t[1])&&ui(t[2])&&ui(t[3]-1)}function pw(t,e,n){if(e&&(!function(t){return ui(t[4])&&ui(t[5])}(e)||!cw(e))){var i=n?10:1e4;t.transform=cw(e)?\"translate(\"+sw(e[4]*i)/i+\" \"+sw(e[5]*i)/i+\")\":function(t){return\"matrix(\"+hi(t[0])+\",\"+hi(t[1])+\",\"+hi(t[2])+\",\"+hi(t[3])+\",\"+ci(t[4])+\",\"+ci(t[5])+\")\"}(e)}}function dw(t,e,n){for(var i=t.points,r=[],o=0;ol?Ew(t,null==n[c+1]?null:n[c+1].elm,n,s,c):zw(t,e,a,l))}(n,i,r):Pw(r)?(Pw(t.text)&&Aw(n,\"\"),Ew(n,null,r,0,r.length-1)):Pw(i)?zw(n,i,0,i.length-1):Pw(t.text)&&Aw(n,\"\"):t.text!==e.text&&(Pw(i)&&zw(n,i,0,i.length-1),Aw(n,e.text)))}var Fw=0,Gw=function(){function t(t,e,n){if(this.type=\"svg\",this.refreshHover=Ww(\"refreshHover\"),this.configLayer=Ww(\"configLayer\"),this.storage=e,this._opts=n=A({},n),this.root=t,this._id=\"zr\"+Fw++,this._oldVNode=Jb(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement(\"div\");i.style.cssText=\"position:relative;overflow:hidden\";var r=this._svgDom=this._oldVNode.elm=jb(\"svg\");Vw(null,this._oldVNode),i.appendChild(r),t.appendChild(i)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style=\"position:absolute;left:0;top:0;user-select:none\",function(t,e){if(Rw(t,e))Bw(t,e);else{var n=t.elm,i=Cw(n);Nw(e),null!==i&&(Mw(i,e.elm,Dw(n)),zw(i,[t],0,0))}}(this._oldVNode,t),this._oldVNode=t}},t.prototype.renderOneToVNode=function(t){return xw(t,$b(this._id))},t.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._width,i=this._height,r=$b(this._id);r.animation=t.animation,r.willUpdate=t.willUpdate,r.compress=t.compress;var o=[],a=this._bgVNode=function(t,e,n,i){var r;if(n&&\"none\"!==n)if(r=qb(\"rect\",\"bg\",{width:t,height:e,x:\"0\",y:\"0\",id:\"0\"}),vi(n))_w({fill:n},r.attrs,\"fill\",i);else if(fi(n))bw({style:{fill:n},dirty:bt,getBoundingRect:function(){return{width:t,height:e}}},r.attrs,\"fill\",i);else{var o=si(n),a=o.color,s=o.opacity;r.attrs.fill=a,s<1&&(r.attrs[\"fill-opacity\"]=s)}return r}(n,i,this._backgroundColor,r);a&&o.push(a);var s=t.compress?null:this._mainVNode=qb(\"g\",\"main\",{},[]);this._paintList(e,r,s?s.children:o),s&&o.push(s);var l=z(G(r.defs),(function(t){return r.defs[t]}));if(l.length&&o.push(qb(\"defs\",\"defs\",{},l)),t.animation){var u=function(t,e,n){var i=(n=n||{}).newline?\"\\n\":\"\",r=\" {\"+i,o=i+\"}\",a=z(G(t),(function(e){return e+r+z(G(t[e]),(function(n){return n+\":\"+t[e][n]+\";\"})).join(i)+o})).join(i),s=z(G(e),(function(t){return\"@keyframes \"+t+r+z(G(e[t]),(function(n){return n+r+z(G(e[t][n]),(function(i){var r=e[t][n][i];return\"d\"===i&&(r='path(\"'+r+'\")'),i+\":\"+r+\";\"})).join(i)+o})).join(i)+o})).join(i);return a||s?[\"\"].join(i):\"\"}(r.cssNodes,r.cssAnims,{newline:!0});if(u){var h=qb(\"style\",\"stl\",{},[],u);o.push(h)}}return Jb(n,i,o,t.useViewBox)},t.prototype.renderToString=function(t){return t=t||{},Kb(this.renderToVNode({animation:rt(t.cssAnimation,!0),willUpdate:!1,compress:!0,useViewBox:rt(t.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(t,e,n){for(var i,r,o=t.length,a=[],s=0,l=0,u=0;u=0&&(!c||!r||c[f]!==r[f]);f--);for(var g=d-1;g>f;g--)i=a[--s-1];for(var y=f+1;y=a)}}for(var h=this.__startIndex;h15)break}n.prevElClipPaths&&u.restore()};if(p)if(0===p.length)s=l.__endIndex;else for(var _=d.dpr,b=0;b0&&t>i[0]){for(s=0;st);s++);a=n[i[s]]}if(i.splice(s+1,0,t),n[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?o.insertBefore(e.dom,l.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.__painter=this}},t.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;i0?Zw:0),this._needsManuallyCompositing),u.__builtin__||I(\"ZLevel \"+l+\" has been used by unkown layer \"+u.id),u!==o&&(u.__used=!0,u.__startIndex!==r&&(u.__dirty=!0),u.__startIndex=r,u.incremental?u.__drawIndex=-1:u.__drawIndex=r,e(r),o=u),1&s.__dirty&&!s.__inHover&&(u.__dirty=!0,u.incremental&&u.__drawIndex<0&&(u.__drawIndex=r))}e(r),this.eachBuiltinLayer((function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)}))},t.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},t.prototype._clearLayer=function(t){t.clear()},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t,E(this._layers,(function(t){t.setUnpainted()}))},t.prototype.configLayer=function(t,e){if(e){var n=this._layerConfig;n[t]?C(n[t],e,!0):n[t]=e;for(var i=0;i-1&&(s.style.stroke=s.style.fill,s.style.fill=\"#fff\",s.style.lineWidth=2),e},e.type=\"series.line\",e.dependencies=[\"grid\",\"polar\"],e.defaultOption={z:3,coordinateSystem:\"cartesian2d\",legendHoverLink:!0,clip:!0,label:{position:\"top\"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:\"solid\"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:\"emptyCircle\",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:\"auto\",connectNulls:!1,sampling:\"none\",animationEasing:\"linear\",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:\"clone\"},triggerLineEvent:!1},e}(fg);function Kw(t,e){var n=t.mapDimensionsAll(\"defaultedLabel\"),i=n.length;if(1===i){var r=df(t,e,n[0]);return null!=r?r+\"\":null}if(i){for(var o=[],a=0;a=0&&i.push(e[o])}return i.join(\" \")}var Jw=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o.updateData(e,n,i,r),o}return n(e,t),e.prototype._createSymbol=function(t,e,n,i,r){this.removeAll();var o=Vy(t,-1,-1,2,2,null,r);o.attr({z2:100,culling:!0,scaleX:i[0]/2,scaleY:i[1]/2}),o.drift=Qw,this._symbolType=t,this.add(o)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){Al(this.childAt(0))},e.prototype.downplay=function(){kl(this.childAt(0))},e.prototype.setZ=function(t,e){var n=this.childAt(0);n.zlevel=t,n.z=e},e.prototype.setDraggable=function(t,e){var n=this.childAt(0);n.draggable=t,n.cursor=!e&&t?\"move\":n.cursor},e.prototype.updateData=function(t,n,i,r){this.silent=!1;var o=t.getItemVisual(n,\"symbol\")||\"circle\",a=t.hostModel,s=e.getSymbolSize(t,n),l=o!==this._symbolType,u=r&&r.disableAnimation;if(l){var h=t.getItemVisual(n,\"symbolKeepAspect\");this._createSymbol(o,t,n,s,h)}else{(p=this.childAt(0)).silent=!1;var c={scaleX:s[0]/2,scaleY:s[1]/2};u?p.attr(c):dh(p,c,a,n),xh(p)}if(this._updateCommon(t,n,s,i,r),l){var p=this.childAt(0);if(!u){c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:p.style.opacity}};p.scaleX=p.scaleY=0,p.style.opacity=0,fh(p,c,a,n)}}u&&this.childAt(0).stopAnimation(\"leave\")},e.prototype._updateCommon=function(t,e,n,i,r){var o,a,s,l,u,h,c,p,d,f=this.childAt(0),g=t.hostModel;if(i&&(o=i.emphasisItemStyle,a=i.blurItemStyle,s=i.selectItemStyle,l=i.focus,u=i.blurScope,c=i.labelStatesModels,p=i.hoverScale,d=i.cursorStyle,h=i.emphasisDisabled),!i||t.hasItemOption){var y=i&&i.itemModel?i.itemModel:t.getItemModel(e),v=y.getModel(\"emphasis\");o=v.getModel(\"itemStyle\").getItemStyle(),s=y.getModel([\"select\",\"itemStyle\"]).getItemStyle(),a=y.getModel([\"blur\",\"itemStyle\"]).getItemStyle(),l=v.get(\"focus\"),u=v.get(\"blurScope\"),h=v.get(\"disabled\"),c=tc(y),p=v.getShallow(\"scale\"),d=y.getShallow(\"cursor\")}var m=t.getItemVisual(e,\"symbolRotate\");f.attr(\"rotation\",(m||0)*Math.PI/180||0);var x=Fy(t.getItemVisual(e,\"symbolOffset\"),n);x&&(f.x=x[0],f.y=x[1]),d&&f.attr(\"cursor\",d);var _=t.getItemVisual(e,\"style\"),b=_.fill;if(f instanceof As){var w=f.style;f.useStyle(A({image:w.image,x:w.x,y:w.y,width:w.width,height:w.height},_))}else f.__isEmptyBrush?f.useStyle(A({},_)):f.useStyle(_),f.style.decal=null,f.setColor(b,r&&r.symbolInnerColor),f.style.strokeNoScale=!0;var S=t.getItemVisual(e,\"liftZ\"),M=this._z2;null!=S?null==M&&(this._z2=f.z2,f.z2+=S):null!=M&&(f.z2=M,this._z2=null);var I=r&&r.useNameLabel;Qh(f,c,{labelFetcher:g,labelDataIndex:e,defaultText:function(e){return I?t.getName(e):Kw(t,e)},inheritColor:b,defaultOpacity:_.opacity}),this._sizeX=n[0]/2,this._sizeY=n[1]/2;var T=f.ensureState(\"emphasis\");T.style=o,f.ensureState(\"select\").style=s,f.ensureState(\"blur\").style=a;var C=null==p||!0===p?Math.max(1.1,3/this._sizeY):isFinite(p)&&p>0?+p:1;T.scaleX=this._sizeX*C,T.scaleY=this._sizeY*C,this.setSymbolScale(1),Hl(this,l,u,h)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,e,n){var i=this.childAt(0),r=Js(this).dataIndex,o=n&&n.animation;if(this.silent=i.silent=!0,n&&n.fadeLabel){var a=i.getTextContent();a&&yh(a,{style:{opacity:0}},e,{dataIndex:r,removeOpt:o,cb:function(){i.removeTextContent()}})}else i.removeTextContent();yh(i,{style:{opacity:0},scaleX:0,scaleY:0},e,{dataIndex:r,cb:t,removeOpt:o})},e.getSymbolSize=function(t,e){return By(t.getItemVisual(e,\"symbolSize\"))},e}(Er);function Qw(t,e){this.parent.drift(t,e)}function tS(t,e,n,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&i.isIgnore(n))&&!(i.clipShape&&!i.clipShape.contain(e[0],e[1]))&&\"none\"!==t.getItemVisual(n,\"symbol\")}function eS(t){return null==t||q(t)||(t={isIgnore:t}),t||{}}function nS(t){var e=t.hostModel,n=e.getModel(\"emphasis\");return{emphasisItemStyle:n.getModel(\"itemStyle\").getItemStyle(),blurItemStyle:e.getModel([\"blur\",\"itemStyle\"]).getItemStyle(),selectItemStyle:e.getModel([\"select\",\"itemStyle\"]).getItemStyle(),focus:n.get(\"focus\"),blurScope:n.get(\"blurScope\"),emphasisDisabled:n.get(\"disabled\"),hoverScale:n.get(\"scale\"),labelStatesModels:tc(e),cursorStyle:e.get(\"cursor\")}}var iS=function(){function t(t){this.group=new Er,this._SymbolCtor=t||Jw}return t.prototype.updateData=function(t,e){this._progressiveEls=null,e=eS(e);var n=this.group,i=t.hostModel,r=this._data,o=this._SymbolCtor,a=e.disableAnimation,s=nS(t),l={disableAnimation:a},u=e.getSymbolPoint||function(e){return t.getItemLayout(e)};r||n.removeAll(),t.diff(r).add((function(i){var r=u(i);if(tS(t,r,i,e)){var a=new o(t,i,s,l);a.setPosition(r),t.setItemGraphicEl(i,a),n.add(a)}})).update((function(h,c){var p=r.getItemGraphicEl(c),d=u(h);if(tS(t,d,h,e)){var f=t.getItemVisual(h,\"symbol\")||\"circle\",g=p&&p.getSymbolType&&p.getSymbolType();if(!p||g&&g!==f)n.remove(p),(p=new o(t,h,s,l)).setPosition(d);else{p.updateData(t,h,s,l);var y={x:d[0],y:d[1]};a?p.attr(y):dh(p,y,i)}n.add(p),t.setItemGraphicEl(h,p)}else n.remove(p)})).remove((function(t){var e=r.getItemGraphicEl(t);e&&e.fadeOut((function(){n.remove(e)}),i)})).execute(),this._getSymbolPoint=u,this._data=t},t.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl((function(e,n){var i=t._getSymbolPoint(n);e.setPosition(i),e.markRedraw()}))},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=nS(t),this._data=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e,n){function i(t){t.isGroup||(t.incremental=!0,t.ensureState(\"emphasis\").hoverLayer=!0)}this._progressiveEls=[],n=eS(n);for(var r=t.start;r0?n=i[0]:i[1]<0&&(n=i[1]);return n}(r,n),a=i.dim,s=r.dim,l=e.mapDimension(s),u=e.mapDimension(a),h=\"x\"===s||\"radius\"===s?1:0,c=z(t.dimensions,(function(t){return e.mapDimension(t)})),p=!1,d=e.getCalculationInfo(\"stackResultDimension\");return lx(e,c[0])&&(p=!0,c[0]=d),lx(e,c[1])&&(p=!0,c[1]=d),{dataDimsForPoint:c,valueStart:o,valueAxisDim:s,baseAxisDim:a,stacked:!!p,valueDim:l,baseDim:u,baseDataOffset:h,stackedOverDimension:e.getCalculationInfo(\"stackedOverDimension\")}}function oS(t,e,n,i){var r=NaN;t.stacked&&(r=n.get(n.getCalculationInfo(\"stackedOverDimension\"),i)),isNaN(r)&&(r=t.valueStart);var o=t.baseDataOffset,a=[];return a[o]=n.get(t.baseDim,i),a[1-o]=r,e.dataToPoint(a)}var aS=Math.min,sS=Math.max;function lS(t,e){return isNaN(t)||isNaN(e)}function uS(t,e,n,i,r,o,a,s,l){for(var u,h,c,p,d,f,g=n,y=0;y=r||g<0)break;if(lS(v,m)){if(l){g+=o;continue}break}if(g===n)t[o>0?\"moveTo\":\"lineTo\"](v,m),c=v,p=m;else{var x=v-u,_=m-h;if(x*x+_*_<.5){g+=o;continue}if(a>0){for(var b=g+o,w=e[2*b],S=e[2*b+1];w===v&&S===m&&y=i||lS(w,S))d=v,f=m;else{T=w-u,C=S-h;var k=v-u,L=w-v,P=m-h,O=S-m,R=void 0,N=void 0;if(\"x\"===s){var E=T>0?1:-1;d=v-E*(R=Math.abs(k))*a,f=m,D=v+E*(N=Math.abs(L))*a,A=m}else if(\"y\"===s){var z=C>0?1:-1;d=v,f=m-z*(R=Math.abs(P))*a,D=v,A=m+z*(N=Math.abs(O))*a}else R=Math.sqrt(k*k+P*P),d=v-T*a*(1-(I=(N=Math.sqrt(L*L+O*O))/(N+R))),f=m-C*a*(1-I),A=m+C*a*I,D=aS(D=v+T*a*I,sS(w,v)),A=aS(A,sS(S,m)),D=sS(D,aS(w,v)),f=m-(C=(A=sS(A,aS(S,m)))-m)*R/N,d=aS(d=v-(T=D-v)*R/N,sS(u,v)),f=aS(f,sS(h,m)),D=v+(T=v-(d=sS(d,aS(u,v))))*N/R,A=m+(C=m-(f=sS(f,aS(h,m))))*N/R}t.bezierCurveTo(c,p,d,f,v,m),c=D,p=A}else t.lineTo(v,m)}u=v,h=m,g+=o}return y}var hS=function(){this.smooth=0,this.smoothConstraint=!0},cS=function(t){function e(e){var n=t.call(this,e)||this;return n.type=\"ec-polyline\",n}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:\"#000\",fill:null}},e.prototype.getDefaultShape=function(){return new hS},e.prototype.buildPath=function(t,e){var n=e.points,i=0,r=n.length/2;if(e.connectNulls){for(;r>0&&lS(n[2*r-2],n[2*r-1]);r--);for(;i=0){var y=a?(h-i)*g+i:(u-n)*g+n;return a?[t,y]:[y,t]}n=u,i=h;break;case o.C:u=r[l++],h=r[l++],c=r[l++],p=r[l++],d=r[l++],f=r[l++];var v=a?xn(n,u,c,d,t,s):xn(i,h,p,f,t,s);if(v>0)for(var m=0;m=0){y=a?vn(i,h,p,f,x):vn(n,u,c,d,x);return a?[t,y]:[y,t]}}n=d,i=f}}},e}(Ms),pS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e}(hS),dS=function(t){function e(e){var n=t.call(this,e)||this;return n.type=\"ec-polygon\",n}return n(e,t),e.prototype.getDefaultShape=function(){return new pS},e.prototype.buildPath=function(t,e){var n=e.points,i=e.stackedOnPoints,r=0,o=n.length/2,a=e.smoothMonotone;if(e.connectNulls){for(;o>0&&lS(n[2*o-2],n[2*o-1]);o--);for(;r=0;a--){var s=t.getDimensionInfo(i[a].dimension);if(\"x\"===(r=s&&s.coordDim)||\"y\"===r){o=i[a];break}}if(o){var l=e.getAxis(r),u=z(o.stops,(function(t){return{coord:l.toGlobalCoord(l.dataToCoord(t.value)),color:t.color}})),h=u.length,c=o.outerColors.slice();h&&u[0].coord>u[h-1].coord&&(u.reverse(),c.reverse());var p=function(t,e){var n,i,r=[],o=t.length;function a(t,e,n){var i=t.coord;return{coord:n,color:Qn((n-i)/(e.coord-i),[t.color,e.color])}}for(var s=0;se){i?r.push(a(i,l,e)):n&&r.push(a(n,l,0),a(n,l,e));break}n&&(r.push(a(n,l,0)),n=null),r.push(l),i=l}}return r}(u,\"x\"===r?n.getWidth():n.getHeight()),d=p.length;if(!d&&h)return u[0].coord<0?c[1]?c[1]:u[h-1].color:c[0]?c[0]:u[0].color;var f=p[0].coord-10,g=p[d-1].coord+10,y=g-f;if(y<.001)return\"transparent\";E(p,(function(t){t.offset=(t.coord-f)/y})),p.push({offset:d?p[d-1].offset:.5,color:c[1]||\"transparent\"}),p.unshift({offset:d?p[0].offset:.5,color:c[0]||\"transparent\"});var v=new eh(0,0,0,0,p,!0);return v[r]=f,v[r+\"2\"]=g,v}}}function MS(t,e,n){var i=t.get(\"showAllSymbol\"),r=\"auto\"===i;if(!i||r){var o=n.getAxesByScale(\"ordinal\")[0];if(o&&(!r||!function(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),o=Math.max(1,Math.round(r/5)),a=0;ai)return!1;return!0}(o,e))){var a=e.mapDimension(o.dim),s={};return E(o.getViewLabels(),(function(t){var e=o.scale.getRawOrdinalNumber(t.tickValue);s[e]=1})),function(t){return!s.hasOwnProperty(e.get(a,t))}}}}function IS(t,e){return[t[2*e],t[2*e+1]]}function TS(t){if(t.get([\"endLabel\",\"show\"]))return!0;for(var e=0;e0&&\"bolder\"===t.get([\"emphasis\",\"lineStyle\",\"width\"]))&&(d.getState(\"emphasis\").style.lineWidth=+d.style.lineWidth+1);Js(d).seriesIndex=t.seriesIndex,Hl(d,L,P,O);var R=bS(t.get(\"smooth\")),N=t.get(\"smoothMonotone\");if(d.setShape({smooth:R,smoothMonotone:N,connectNulls:w}),f){var E=a.getCalculationInfo(\"stackedOnSeries\"),z=0;f.useStyle(k(l.getAreaStyle(),{fill:C,opacity:.7,lineJoin:\"bevel\",decal:a.getVisual(\"style\").decal})),E&&(z=bS(E.get(\"smooth\"))),f.setShape({smooth:R,stackedOnSmooth:z,smoothMonotone:N,connectNulls:w}),Zl(f,t,\"areaStyle\"),Js(f).seriesIndex=t.seriesIndex,Hl(f,L,P,O)}var V=function(t){i._changePolyState(t)};a.eachItemGraphicEl((function(t){t&&(t.onHoverStateChange=V)})),this._polyline.onHoverStateChange=V,this._data=a,this._coordSys=r,this._stackedOnPoints=_,this._points=u,this._step=T,this._valueOrigin=m,t.get(\"triggerLineEvent\")&&(this.packEventData(t,d),f&&this.packEventData(t,f))},e.prototype.packEventData=function(t,e){Js(e).eventData={componentType:\"series\",componentSubType:\"line\",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:\"line\"}},e.prototype.highlight=function(t,e,n,i){var r=t.getData(),o=Lo(r,i);if(this._changePolyState(\"emphasis\"),!(o instanceof Array)&&null!=o&&o>=0){var a=r.getLayout(\"points\"),s=r.getItemGraphicEl(o);if(!s){var l=a[2*o],u=a[2*o+1];if(isNaN(l)||isNaN(u))return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(l,u))return;var h=t.get(\"zlevel\")||0,c=t.get(\"z\")||0;(s=new Jw(r,o)).x=l,s.y=u,s.setZ(h,c);var p=s.getSymbolPath().getTextContent();p&&(p.zlevel=h,p.z=c,p.z2=this._polyline.z2+1),s.__temp=!0,r.setItemGraphicEl(o,s),s.stopSymbolAnimation(!0),this.group.add(s)}s.highlight()}else Tg.prototype.highlight.call(this,t,e,n,i)},e.prototype.downplay=function(t,e,n,i){var r=t.getData(),o=Lo(r,i);if(this._changePolyState(\"normal\"),null!=o&&o>=0){var a=r.getItemGraphicEl(o);a&&(a.__temp?(r.setItemGraphicEl(o,null),this.group.remove(a)):a.downplay())}else Tg.prototype.downplay.call(this,t,e,n,i)},e.prototype._changePolyState=function(t){var e=this._polygon;Ml(this._polyline,t),e&&Ml(e,t)},e.prototype._newPolyline=function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new cS({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(e),this._polyline=e,e},e.prototype._newPolygon=function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new dS({shape:{points:t,stackedOnPoints:e},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},e.prototype._initSymbolLabelAnimation=function(t,e,n){var i,r,o=e.getBaseAxis(),a=o.inverse;\"cartesian2d\"===e.type?(i=o.isHorizontal(),r=!1):\"polar\"===e.type&&(i=\"angle\"===o.dim,r=!0);var s=t.hostModel,l=s.get(\"animationDuration\");U(l)&&(l=l(null));var u=s.get(\"animationDelay\")||0,h=U(u)?u(null):u;t.eachItemGraphicEl((function(t,o){var s=t;if(s){var c=[t.x,t.y],p=void 0,d=void 0,f=void 0;if(n)if(r){var g=n,y=e.pointToCoord(c);i?(p=g.startAngle,d=g.endAngle,f=-y[1]/180*Math.PI):(p=g.r0,d=g.r,f=y[0])}else{var v=n;i?(p=v.x,d=v.x+v.width,f=t.x):(p=v.y+v.height,d=v.y,f=t.y)}var m=d===p?0:(f-p)/(d-p);a&&(m=1-m);var x=U(u)?u(o):l*m+h,_=s.getSymbolPath(),b=_.getTextContent();s.attr({scaleX:0,scaleY:0}),s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:x}),b&&b.animateFrom({style:{opacity:0}},{duration:300,delay:x}),_.disableLabelAnimation=!0}}))},e.prototype._initOrUpdateEndLabel=function(t,e,n){var i=t.getModel(\"endLabel\");if(TS(t)){var r=t.getData(),o=this._polyline,a=r.getLayout(\"points\");if(!a)return o.removeTextContent(),void(this._endLabel=null);var s=this._endLabel;s||((s=this._endLabel=new Bs({z2:200})).ignoreClip=!0,o.setTextContent(this._endLabel),o.disableLabelAnimation=!0);var l=function(t){for(var e,n,i=t.length/2;i>0&&(e=t[2*i-2],n=t[2*i-1],isNaN(e)||isNaN(n));i--);return i-1}(a);l>=0&&(Qh(o,tc(t,\"endLabel\"),{inheritColor:n,labelFetcher:t,labelDataIndex:l,defaultText:function(t,e,n){return null!=n?$w(r,n):Kw(r,t)},enableTextSetter:!0},function(t,e){var n=e.getBaseAxis(),i=n.isHorizontal(),r=n.inverse,o=i?r?\"right\":\"left\":\"center\",a=i?\"middle\":r?\"top\":\"bottom\";return{normal:{align:t.get(\"align\")||o,verticalAlign:t.get(\"verticalAlign\")||a}}}(i,e)),o.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,e,n,i,r,o,a){var s=this._endLabel,l=this._polyline;if(s){t<1&&null==i.originalX&&(i.originalX=s.x,i.originalY=s.y);var u=n.getLayout(\"points\"),h=n.hostModel,c=h.get(\"connectNulls\"),p=o.get(\"precision\"),d=o.get(\"distance\")||0,f=a.getBaseAxis(),g=f.isHorizontal(),y=f.inverse,v=e.shape,m=y?g?v.x:v.y+v.height:g?v.x+v.width:v.y,x=(g?d:0)*(y?-1:1),_=(g?0:-d)*(y?-1:1),b=g?\"x\":\"y\",w=function(t,e,n){for(var i,r,o=t.length/2,a=\"x\"===n?0:1,s=0,l=-1,u=0;u=e||i>=e&&r<=e){l=u;break}s=u,i=r}else i=r;return{range:[s,l],t:(e-i)/(r-i)}}(u,m,b),S=w.range,M=S[1]-S[0],I=void 0;if(M>=1){if(M>1&&!c){var T=IS(u,S[0]);s.attr({x:T[0]+x,y:T[1]+_}),r&&(I=h.getRawValue(S[0]))}else{(T=l.getPointOn(m,b))&&s.attr({x:T[0]+x,y:T[1]+_});var C=h.getRawValue(S[0]),D=h.getRawValue(S[1]);r&&(I=Go(n,p,C,D,w.t))}i.lastFrameIndex=S[0]}else{var A=1===t||i.lastFrameIndex>0?S[0]:0;T=IS(u,A);r&&(I=h.getRawValue(A)),s.attr({x:T[0]+x,y:T[1]+_})}r&&lc(s).setLabelText(I)}},e.prototype._doUpdateAnimation=function(t,e,n,i,r,o,a){var s=this._polyline,l=this._polygon,u=t.hostModel,h=function(t,e,n,i,r,o,a,s){for(var l=function(t,e){var n=[];return e.diff(t).add((function(t){n.push({cmd:\"+\",idx:t})})).update((function(t,e){n.push({cmd:\"=\",idx:e,idx1:t})})).remove((function(t){n.push({cmd:\"-\",idx:t})})).execute(),n}(t,e),u=[],h=[],c=[],p=[],d=[],f=[],g=[],y=rS(r,e,a),v=t.getLayout(\"points\")||[],m=e.getLayout(\"points\")||[],x=0;x3e3||l&&_S(p,f)>3e3)return s.stopAnimation(),s.setShape({points:d}),void(l&&(l.stopAnimation(),l.setShape({points:d,stackedOnPoints:f})));s.shape.__points=h.current,s.shape.points=c;var g={shape:{points:d}};h.current!==c&&(g.shape.__points=h.next),s.stopAnimation(),dh(s,g,u),l&&(l.setShape({points:c,stackedOnPoints:p}),l.stopAnimation(),dh(l,{shape:{stackedOnPoints:f}},u),s.shape.points!==l.shape.points&&(l.shape.points=s.shape.points));for(var y=[],v=h.status,m=0;me&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;n10&&\"cartesian2d\"===o.type&&r){var s=o.getBaseAxis(),l=o.getOtherAxis(s),u=s.getExtent(),h=n.getDevicePixelRatio(),c=Math.abs(u[1]-u[0])*(h||1),p=Math.round(a/c);if(isFinite(p)&&p>1){\"lttb\"===r&&t.setData(i.lttbDownSample(i.mapDimension(l.dim),1/p));var d=void 0;X(r)?d=kS[r]:U(r)&&(d=r),d&&t.setData(i.downSample(i.mapDimension(l.dim),1/p,d,LS))}}}}}var OS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(t,e){return hx(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t,e,n){var i=this.coordinateSystem;if(i&&i.clampData){var r=i.dataToPoint(i.clampData(t));if(n)E(i.getAxes(),(function(n,o){if(\"category\"===n.type){var a=n.getTicksCoords(),s=i.clampData(t)[o];!e||\"x1\"!==e[o]&&\"y1\"!==e[o]||(s+=1),s>a.length-1&&(s=a.length-1),s<0&&(s=0),a[s]&&(r[o]=n.toGlobalCoord(a[s].coord))}}));else{var o=this.getData(),a=o.getLayout(\"offset\"),s=o.getLayout(\"size\"),l=i.getBaseAxis().isHorizontal()?0:1;r[l]+=a+s/2}return r}return[NaN,NaN]},e.type=\"series.__base_bar__\",e.defaultOption={z:2,coordinateSystem:\"cartesian2d\",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:\"mod\"},e}(fg);fg.registerClass(OS);var RS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(){return hx(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get(\"realtimeSort\",!0)||null})},e.prototype.getProgressive=function(){return!!this.get(\"large\")&&this.get(\"progressive\")},e.prototype.getProgressiveThreshold=function(){var t=this.get(\"progressiveThreshold\"),e=this.get(\"largeThreshold\");return e>t&&(t=e),t},e.prototype.brushSelector=function(t,e,n){return n.rect(e.getItemLayout(t))},e.type=\"series.bar\",e.dependencies=[\"grid\",\"polar\"],e.defaultOption=Tc(OS.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:\"rgba(180, 180, 180, 0.2)\",borderColor:null,borderWidth:0,borderType:\"solid\",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:\"#212121\"}},realtimeSort:!1}),e}(OS),NS=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0},ES=function(t){function e(e){var n=t.call(this,e)||this;return n.type=\"sausage\",n}return n(e,t),e.prototype.getDefaultShape=function(){return new NS},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r0||0,0),o=Math.max(e.r,0),a=.5*(o-r),s=r+a,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=2*Math.PI,p=h?u-lo)return!0;o=u}return!1},e.prototype._isOrderDifferentInView=function(t,e){for(var n=e.scale,i=n.getExtent(),r=Math.max(0,i[0]),o=Math.min(i[1],n.getOrdinalMeta().categories.length-1);r<=o;++r)if(t.ordinalNumbers[r]!==n.getRawOrdinalNumber(r))return!0},e.prototype._updateSortWithinSameData=function(t,e,n,i){if(this._isOrderChangedWithinSameData(t,e,n)){var r=this._dataSort(t,n,e);this._isOrderDifferentInView(r,n)&&(this._removeOnRenderedListener(i),i.dispatchAction({type:\"changeAxisOrder\",componentType:n.dim+\"Axis\",axisId:n.index,sortInfo:r}))}},e.prototype._dispatchInitSort=function(t,e,n){var i=e.baseAxis,r=this._dataSort(t,i,(function(n){return t.get(t.mapDimension(e.otherAxis.dim),n)}));n.dispatchAction({type:\"changeAxisOrder\",componentType:i.dim+\"Axis\",isInitSort:!0,axisId:i.index,sortInfo:r})},e.prototype.remove=function(t,e){this._clear(this._model),this._removeOnRenderedListener(e)},e.prototype.dispose=function(t,e){this._removeOnRenderedListener(e)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off(\"rendered\",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var e=this.group,n=this._data;t&&t.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl((function(e){mh(e,t,Js(e).dataIndex)}))):e.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type=\"bar\",e}(Tg),WS={cartesian2d:function(t,e){var n=e.width<0?-1:1,i=e.height<0?-1:1;n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height);var r=t.x+t.width,o=t.y+t.height,a=BS(e.x,t.x),s=FS(e.x+e.width,r),l=BS(e.y,t.y),u=FS(e.y+e.height,o),h=sr?s:a,e.y=c&&l>o?u:l,e.width=h?0:s-a,e.height=c?0:u-l,n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height),h||c},polar:function(t,e){var n=e.r0<=e.r?1:-1;if(n<0){var i=e.r;e.r=e.r0,e.r0=i}var r=FS(e.r,t.r),o=BS(e.r0,t.r0);e.r=r,e.r0=o;var a=r-o<0;if(n<0){i=e.r;e.r=e.r0,e.r0=i}return a}},HS={cartesian2d:function(t,e,n,i,r,o,a,s,l){var u=new Es({shape:A({},i),z2:1});(u.__dataIndex=n,u.name=\"item\",o)&&(u.shape[r?\"height\":\"width\"]=0);return u},polar:function(t,e,n,i,r,o,a,s,l){var u=!r&&l?ES:Eu,h=new u({shape:i,z2:1});h.name=\"item\";var c,p,d=KS(r);if(h.calculateTextPosition=(c=d,p=({isRoundCap:u===ES}||{}).isRoundCap,function(t,e,n){var i=e.position;if(!i||i instanceof Array)return Ir(t,e,n);var r=c(i),o=null!=e.distance?e.distance:5,a=this.shape,s=a.cx,l=a.cy,u=a.r,h=a.r0,d=(u+h)/2,f=a.startAngle,g=a.endAngle,y=(f+g)/2,v=p?Math.abs(u-h)/2:0,m=Math.cos,x=Math.sin,_=s+u*m(f),b=l+u*x(f),w=\"left\",S=\"top\";switch(r){case\"startArc\":_=s+(h-o)*m(y),b=l+(h-o)*x(y),w=\"center\",S=\"top\";break;case\"insideStartArc\":_=s+(h+o)*m(y),b=l+(h+o)*x(y),w=\"center\",S=\"bottom\";break;case\"startAngle\":_=s+d*m(f)+zS(f,o+v,!1),b=l+d*x(f)+VS(f,o+v,!1),w=\"right\",S=\"middle\";break;case\"insideStartAngle\":_=s+d*m(f)+zS(f,-o+v,!1),b=l+d*x(f)+VS(f,-o+v,!1),w=\"left\",S=\"middle\";break;case\"middle\":_=s+d*m(y),b=l+d*x(y),w=\"center\",S=\"middle\";break;case\"endArc\":_=s+(u+o)*m(y),b=l+(u+o)*x(y),w=\"center\",S=\"bottom\";break;case\"insideEndArc\":_=s+(u-o)*m(y),b=l+(u-o)*x(y),w=\"center\",S=\"top\";break;case\"endAngle\":_=s+d*m(g)+zS(g,o+v,!0),b=l+d*x(g)+VS(g,o+v,!0),w=\"left\",S=\"middle\";break;case\"insideEndAngle\":_=s+d*m(g)+zS(g,-o+v,!0),b=l+d*x(g)+VS(g,-o+v,!0),w=\"right\",S=\"middle\";break;default:return Ir(t,e,n)}return(t=t||{}).x=_,t.y=b,t.align=w,t.verticalAlign=S,t}),o){var f=r?\"r\":\"endAngle\",g={};h.shape[f]=r?0:i.startAngle,g[f]=i[f],(s?dh:fh)(h,{shape:g},o)}return h}};function YS(t,e,n,i,r,o,a,s){var l,u;o?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(a?dh:fh)(n,{shape:l},e,r,null),(a?dh:fh)(n,{shape:u},e?t.baseAxis.model:null,r)}function US(t,e){for(var n=0;n0?1:-1,a=i.height>0?1:-1;return{x:i.x+o*r/2,y:i.y+a*r/2,width:i.width-o*r,height:i.height-a*r}},polar:function(t,e,n){var i=t.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function KS(t){return function(t){var e=t?\"Arc\":\"Angle\";return function(t){switch(t){case\"start\":case\"insideStart\":case\"end\":case\"insideEnd\":return t+e;default:return t}}}(t)}function $S(t,e,n,i,r,o,a,s){var l=e.getItemVisual(n,\"style\");s||t.setShape(\"r\",i.get([\"itemStyle\",\"borderRadius\"])||0),t.useStyle(l);var u=i.getShallow(\"cursor\");u&&t.attr(\"cursor\",u);var h=s?a?r.r>=r.r0?\"endArc\":\"startArc\":r.endAngle>=r.startAngle?\"endAngle\":\"startAngle\":a?r.height>=0?\"bottom\":\"top\":r.width>=0?\"right\":\"left\",c=tc(i);Qh(t,c,{labelFetcher:o,labelDataIndex:n,defaultText:Kw(o.getData(),n),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:h});var p=t.getTextContent();if(s&&p){var d=i.get([\"label\",\"position\"]);t.textConfig.inside=\"middle\"===d||null,function(t,e,n,i){if(j(i))t.setTextConfig({rotation:i});else if(Y(e))t.setTextConfig({rotation:0});else{var r,o=t.shape,a=o.clockwise?o.startAngle:o.endAngle,s=o.clockwise?o.endAngle:o.startAngle,l=(a+s)/2,u=n(e);switch(u){case\"startArc\":case\"insideStartArc\":case\"middle\":case\"insideEndArc\":case\"endArc\":r=l;break;case\"startAngle\":case\"insideStartAngle\":r=a;break;case\"endAngle\":case\"insideEndAngle\":r=s;break;default:return void t.setTextConfig({rotation:0})}var h=1.5*Math.PI-r;\"middle\"===u&&h>Math.PI/2&&h<1.5*Math.PI&&(h-=Math.PI),t.setTextConfig({rotation:h})}}(t,\"outside\"===d?h:d,KS(a),i.get([\"label\",\"rotate\"]))}uc(p,c,o.getRawValue(n),(function(t){return $w(e,t)}));var f=i.getModel([\"emphasis\"]);Hl(t,f.get(\"focus\"),f.get(\"blurScope\"),f.get(\"disabled\")),Zl(t,i),function(t){return null!=t.startAngle&&null!=t.endAngle&&t.startAngle===t.endAngle}(r)&&(t.style.fill=\"none\",t.style.stroke=\"none\",E(t.states,(function(t){t.style&&(t.style.fill=t.style.stroke=\"none\")})))}var JS=function(){},QS=function(t){function e(e){var n=t.call(this,e)||this;return n.type=\"largeBar\",n}return n(e,t),e.prototype.getDefaultShape=function(){return new JS},e.prototype.buildPath=function(t,e){for(var n=e.points,i=this.baseDimIdx,r=1-this.baseDimIdx,o=[],a=[],s=this.barWidth,l=0;l=s[0]&&e<=s[0]+l[0]&&n>=s[1]&&n<=s[1]+l[1])return a[h]}return-1}(this,t.offsetX,t.offsetY);Js(this).dataIndex=e>=0?e:null}),30,!1);function nM(t,e,n){if(vS(n,\"cartesian2d\")){var i=e,r=n.getArea();return{x:t?i.x:r.x,y:t?r.y:i.y,width:t?i.width:r.width,height:t?r.height:i.height}}var o=e;return{cx:(r=n.getArea()).cx,cy:r.cy,r0:t?r.r0:o.r0,r:t?r.r:o.r,startAngle:t?o.startAngle:0,endAngle:t?o.endAngle:2*Math.PI}}var iM=2*Math.PI,rM=Math.PI/180;function oM(t,e){return Tp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function aM(t,e){var n=oM(t,e),i=t.get(\"center\"),r=t.get(\"radius\");Y(r)||(r=[0,r]);var o,a,s=Ur(n.width,e.getWidth()),l=Ur(n.height,e.getHeight()),u=Math.min(s,l),h=Ur(r[0],u/2),c=Ur(r[1],u/2),p=t.coordinateSystem;if(p){var d=p.dataToPoint(i);o=d[0]||0,a=d[1]||0}else Y(i)||(i=[i,i]),o=Ur(i[0],s)+n.x,a=Ur(i[1],l)+n.y;return{cx:o,cy:a,r0:h,r:c}}function sM(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.getData(),i=e.mapDimension(\"value\"),r=oM(t,n),o=aM(t,n),a=o.cx,s=o.cy,l=o.r,u=o.r0,h=-t.get(\"startAngle\")*rM,c=t.get(\"minAngle\")*rM,p=0;e.each(i,(function(t){!isNaN(t)&&p++}));var d=e.getSum(i),f=Math.PI/(d||p)*2,g=t.get(\"clockwise\"),y=t.get(\"roseType\"),v=t.get(\"stillShowZeroSum\"),m=e.getDataExtent(i);m[0]=0;var x=iM,_=0,b=h,w=g?1:-1;if(e.setLayout({viewRect:r,r:l}),e.each(i,(function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:g,cx:a,cy:s,r0:u,r:y?NaN:l});else{(i=\"area\"!==y?0===d&&v?f:t*f:iM/p)n?a:o,h=Math.abs(l.label.y-n);if(h>=u.maxY){var c=l.label.x-e-l.len2*r,p=i+l.len,f=Math.abs(c)t.unconstrainedWidth?null:d:null;i.setStyle(\"width\",f)}var g=i.getBoundingRect();o.width=g.width;var y=(i.style.margin||0)+2.1;o.height=g.height+y,o.y-=(o.height-c)/2}}}function pM(t){return\"center\"===t.position}function dM(t){var e,n,i=t.getData(),r=[],o=!1,a=(t.get(\"minShowLabelAngle\")||0)*uM,s=i.getLayout(\"viewRect\"),l=i.getLayout(\"r\"),u=s.width,h=s.x,c=s.y,p=s.height;function d(t){t.ignore=!0}i.each((function(t){var s=i.getItemGraphicEl(t),c=s.shape,p=s.getTextContent(),f=s.getTextGuideLine(),g=i.getItemModel(t),y=g.getModel(\"label\"),v=y.get(\"position\")||g.get([\"emphasis\",\"label\",\"position\"]),m=y.get(\"distanceToLabelLine\"),x=y.get(\"alignTo\"),_=Ur(y.get(\"edgeDistance\"),u),b=y.get(\"bleedMargin\"),w=g.getModel(\"labelLine\"),S=w.get(\"length\");S=Ur(S,u);var M=w.get(\"length2\");if(M=Ur(M,u),Math.abs(c.endAngle-c.startAngle)0?\"right\":\"left\":k>0?\"left\":\"right\"}var B=Math.PI,F=0,G=y.get(\"rotate\");if(j(G))F=G*(B/180);else if(\"center\"===v)F=0;else if(\"radial\"===G||!0===G){F=k<0?-A+B:-A}else if(\"tangential\"===G&&\"outside\"!==v&&\"outer\"!==v){var W=Math.atan2(k,L);W<0&&(W=2*B+W),L>0&&(W=B+W),F=W-B}if(o=!!F,p.x=I,p.y=T,p.rotation=F,p.setStyle({verticalAlign:\"middle\"}),P){p.setStyle({align:D});var H=p.states.select;H&&(H.x+=p.x,H.y+=p.y)}else{var Y=p.getBoundingRect().clone();Y.applyTransform(p.getComputedTransform());var U=(p.style.margin||0)+2.1;Y.y-=U/2,Y.height+=U,r.push({label:p,labelLine:f,position:v,len:S,len2:M,minTurnAngle:w.get(\"minTurnAngle\"),maxSurfaceAngle:w.get(\"maxSurfaceAngle\"),surfaceNormal:new Ce(k,L),linePoints:C,textAlign:D,labelDistance:m,labelAlignTo:x,edgeDistance:_,bleedMargin:b,rect:Y,unconstrainedWidth:Y.width,labelStyleWidth:p.style.width})}s.setTextConfig({inside:P})}})),!o&&t.get(\"avoidLabelOverlap\")&&function(t,e,n,i,r,o,a,s){for(var l=[],u=[],h=Number.MAX_VALUE,c=-Number.MAX_VALUE,p=0;p0){for(var l=o.getItemLayout(0),u=1;isNaN(l&&l.startAngle)&&u=n.r0}},e.type=\"pie\",e}(Tg);function vM(t,e,n){e=Y(e)&&{coordDimensions:e}||A({encodeDefine:t.getEncode()},e);var i=t.getSource(),r=nx(i,e).dimensions,o=new ex(r,t);return o.initData(i,n),o}var mM=function(){function t(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return t.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},t.prototype.containName=function(t){return this._getRawData().indexOfName(t)>=0},t.prototype.indexOfName=function(t){return this._getDataWithEncodedVisual().indexOfName(t)},t.prototype.getItemVisual=function(t,e){return this._getDataWithEncodedVisual().getItemVisual(t,e)},t}(),xM=Po(),_M=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new mM(W(this.getData,this),W(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.mergeOption=function(){t.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return vM(this,{coordDimensions:[\"value\"],encodeDefaulter:H($p,this)})},e.prototype.getDataParams=function(e){var n=this.getData(),i=xM(n),r=i.seats;if(!r){var o=[];n.each(n.mapDimension(\"value\"),(function(t){o.push(t)})),r=i.seats=$r(o,n.hostModel.get(\"percentPrecision\"))}var a=t.prototype.getDataParams.call(this,e);return a.percent=r[e]||0,a.$vars.push(\"percent\"),a},e.prototype._defaultLabelLine=function(t){bo(t,\"labelLine\",[\"show\"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.type=\"series.pie\",e.defaultOption={z:2,legendHoverLink:!0,colorBy:\"data\",center:[\"50%\",\"50%\"],radius:[0,\"75%\"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:\"truncate\",position:\"outer\",alignTo:\"none\",edgeDistance:\"25%\",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:\"solid\"}},itemStyle:{borderWidth:1,borderJoin:\"round\"},showEmptyCircle:!0,emptyCircleStyle:{color:\"lightgray\",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:\"expansion\",animationDuration:1e3,animationTypeUpdate:\"transition\",animationEasingUpdate:\"cubicInOut\",animationDurationUpdate:500,animationEasing:\"cubicInOut\"},e}(fg);var bM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){return hx(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get(\"progressive\"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get(\"progressiveThreshold\"):t},e.prototype.brushSelector=function(t,e,n){return n.point(e.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:\"\"},e.type=\"series.scatter\",e.dependencies=[\"grid\",\"polar\",\"geo\",\"singleAxis\",\"calendar\"],e.defaultOption={coordinateSystem:\"cartesian2d\",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:\"#212121\"}},universalTransition:{divideShape:\"clone\"}},e}(fg),wM=function(){},SM=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.getDefaultShape=function(){return new wM},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,e){var n,i=e.points,r=e.size,o=this.symbolProxy,a=o.shape,s=t.getContext?t.getContext():t,l=s&&r[0]<4,u=this.softClipShape;if(l)this._ctx=s;else{for(this._ctx=null,n=this._off;n=0;s--){var l=2*s,u=i[l]-o/2,h=i[l+1]-a/2;if(t>=u&&e>=h&&t<=u+o&&e<=h+a)return s}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape,n=e.points,i=e.size,r=i[0],o=i[1],a=1/0,s=1/0,l=-1/0,u=-1/0,h=0;h=0&&(l.dataIndex=n+(t.startIndex||0))}))},t.prototype.remove=function(){this._clear()},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),IM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).updateData(i,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).incrementalPrepareUpdate(i),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._symbolDraw.incrementalUpdate(t,e.getData(),{clipShape:this._getClipShape(e)}),this._finished=t.end===e.getData().count()},e.prototype.updateTransform=function(t,e,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4)return{update:!0};var r=AS(\"\").reset(t,e,n);r.progress&&r.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout(i)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){var e=t.coordinateSystem,n=e&&e.getArea&&e.getArea();return t.get(\"clip\",!0)?n:null},e.prototype._updateSymbolDraw=function(t,e){var n=this._symbolDraw,i=e.pipelineContext.large;return n&&i===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=i?new MM:new iS,this._isLargeDraw=i,this.group.removeAll()),this.group.add(n.group),n},e.prototype.remove=function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type=\"scatter\",e}(Tg),TM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.type=\"grid\",e.dependencies=[\"xAxis\",\"yAxis\"],e.layoutMode=\"box\",e.defaultOption={show:!1,z:0,left:\"10%\",top:60,right:\"10%\",bottom:70,containLabel:!1,backgroundColor:\"rgba(0,0,0,0)\",borderWidth:1,borderColor:\"#ccc\"},e}(Op),CM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents(\"grid\",Eo).models[0]},e.type=\"cartesian2dAxis\",e}(Op);R(CM,m_);var DM={show:!0,z:0,inverse:!1,name:\"\",nameLocation:\"end\",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:\"...\",placeholder:\".\"},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:\"#6E7079\",width:1,type:\"solid\"},symbol:[\"none\",\"none\"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:[\"#E0E6F1\"],width:1,type:\"solid\"}},splitArea:{show:!1,areaStyle:{color:[\"rgba(250,250,250,0.2)\",\"rgba(210,219,238,0.2)\"]}}},AM=C({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:\"auto\"},axisLabel:{interval:\"auto\"}},DM),kM=C({boundaryGap:[0,0],axisLine:{show:\"auto\"},axisTick:{show:\"auto\"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:\"#F4F7FD\",width:1}}},DM),LM={category:AM,value:kM,time:C({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:\"bold\"}}},splitLine:{show:!1}},kM),log:k({logBase:10},kM)},PM={value:1,category:1,time:1,log:1};function OM(t,e,i,r){E(PM,(function(o,a){var s=C(C({},LM[a],!0),r,!0),l=function(t){function i(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e+\"Axis.\"+a,n}return n(i,t),i.prototype.mergeDefaultAndTheme=function(t,e){var n=Dp(this),i=n?kp(t):{};C(t,e.getTheme().get(a+\"Axis\")),C(t,this.getDefaultOption()),t.type=RM(t),n&&Ap(t,i,n)},i.prototype.optionUpdated=function(){\"category\"===this.option.type&&(this.__ordinalMeta=dx.createByAxisModel(this))},i.prototype.getCategories=function(t){var e=this.option;if(\"category\"===e.type)return t?e.data:this.__ordinalMeta.categories},i.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},i.type=e+\"Axis.\"+a,i.defaultOption=s,i}(i);t.registerComponentModel(l)})),t.registerSubTypeDefaulter(e+\"Axis\",RM)}function RM(t){return t.type||(t.data?\"category\":\"value\")}var NM=function(){function t(t){this.type=\"cartesian\",this._dimList=[],this._axes={},this.name=t||\"\"}return t.prototype.getAxis=function(t){return this._axes[t]},t.prototype.getAxes=function(){return z(this._dimList,(function(t){return this._axes[t]}),this)},t.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),B(this.getAxes(),(function(e){return e.scale.type===t}))},t.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},t}(),EM=[\"x\",\"y\"];function zM(t){return\"interval\"===t.type||\"time\"===t.type}var VM=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type=\"cartesian2d\",e.dimensions=EM,e}return n(e,t),e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis(\"x\").scale,e=this.getAxis(\"y\").scale;if(zM(t)&&zM(e)){var n=t.getExtent(),i=e.getExtent(),r=this.dataToPoint([n[0],i[0]]),o=this.dataToPoint([n[1],i[1]]),a=n[1]-n[0],s=i[1]-i[0];if(a&&s){var l=(o[0]-r[0])/a,u=(o[1]-r[1])/s,h=r[0]-n[0]*l,c=r[1]-i[0]*u,p=this._transform=[l,0,0,u,h,c];this._invTransform=Me([],p)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale(\"ordinal\")[0]||this.getAxesByScale(\"time\")[0]||this.getAxis(\"x\")},e.prototype.containPoint=function(t){var e=this.getAxis(\"x\"),n=this.getAxis(\"y\");return e.contain(e.toLocalCoord(t[0]))&&n.contain(n.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis(\"x\").containData(t[0])&&this.getAxis(\"y\").containData(t[1])},e.prototype.containZone=function(t,e){var n=this.dataToPoint(t),i=this.dataToPoint(e),r=this.getArea(),o=new Ee(n[0],n[1],i[0]-n[0],i[1]-n[1]);return r.intersect(o)},e.prototype.dataToPoint=function(t,e,n){n=n||[];var i=t[0],r=t[1];if(this._transform&&null!=i&&isFinite(i)&&null!=r&&isFinite(r))return Wt(n,t,this._transform);var o=this.getAxis(\"x\"),a=this.getAxis(\"y\");return n[0]=o.toGlobalCoord(o.dataToCoord(i,e)),n[1]=a.toGlobalCoord(a.dataToCoord(r,e)),n},e.prototype.clampData=function(t,e){var n=this.getAxis(\"x\").scale,i=this.getAxis(\"y\").scale,r=n.getExtent(),o=i.getExtent(),a=n.parse(t[0]),s=i.parse(t[1]);return(e=e||[])[0]=Math.min(Math.max(Math.min(r[0],r[1]),a),Math.max(r[0],r[1])),e[1]=Math.min(Math.max(Math.min(o[0],o[1]),s),Math.max(o[0],o[1])),e},e.prototype.pointToData=function(t,e){var n=[];if(this._invTransform)return Wt(n,t,this._invTransform);var i=this.getAxis(\"x\"),r=this.getAxis(\"y\");return n[0]=i.coordToData(i.toLocalCoord(t[0]),e),n[1]=r.coordToData(r.toLocalCoord(t[1]),e),n},e.prototype.getOtherAxis=function(t){return this.getAxis(\"x\"===t.dim?\"y\":\"x\")},e.prototype.getArea=function(){var t=this.getAxis(\"x\").getGlobalExtent(),e=this.getAxis(\"y\").getGlobalExtent(),n=Math.min(t[0],t[1]),i=Math.min(e[0],e[1]),r=Math.max(t[0],t[1])-n,o=Math.max(e[0],e[1])-i;return new Ee(n,i,r,o)},e}(NM),BM=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.index=0,a.type=r||\"value\",a.position=o||\"bottom\",a}return n(e,t),e.prototype.isHorizontal=function(){var t=this.position;return\"top\"===t||\"bottom\"===t},e.prototype.getGlobalExtent=function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},e.prototype.pointToData=function(t,e){return this.coordToData(this.toLocalCoord(t[\"x\"===this.dim?0:1]),e)},e.prototype.setCategorySortInfo=function(t){if(\"category\"!==this.type)return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(q_);function FM(t,e,n){n=n||{};var i=t.coordinateSystem,r=e.axis,o={},a=r.getAxesOnZeroOf()[0],s=r.position,l=a?\"onZero\":s,u=r.dim,h=i.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],p={left:0,right:1,top:0,bottom:1,onZero:2},d=e.get(\"offset\")||0,f=\"x\"===u?[c[2]-d,c[3]+d]:[c[0]-d,c[1]+d];if(a){var g=a.toGlobalCoord(a.dataToCoord(0));f[p.onZero]=Math.max(Math.min(g,f[1]),f[0])}o.position=[\"y\"===u?f[p[l]]:c[0],\"x\"===u?f[p[l]]:c[3]],o.rotation=Math.PI/2*(\"x\"===u?0:1);o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,left:-1,right:1}[s],o.labelOffset=a?f[p[s]]-f[p.onZero]:0,e.get([\"axisTick\",\"inside\"])&&(o.tickDirection=-o.tickDirection),it(n.labelInside,e.get([\"axisLabel\",\"inside\"]))&&(o.labelDirection=-o.labelDirection);var y=e.get([\"axisLabel\",\"rotate\"]);return o.labelRotate=\"top\"===l?-y:y,o.z2=1,o}function GM(t){return\"cartesian2d\"===t.get(\"coordinateSystem\")}function WM(t){var e={xAxisModel:null,yAxisModel:null};return E(e,(function(n,i){var r=i.replace(/Model$/,\"\"),o=t.getReferringComponents(r,Eo).models[0];e[i]=o})),e}var HM=Math.log;function YM(t,e,n){var i=Tx.prototype,r=i.getTicks.call(n),o=i.getTicks.call(n,!0),a=r.length-1,s=i.getInterval.call(n),l=u_(t,e),u=l.extent,h=l.fixMin,c=l.fixMax;if(\"log\"===t.type){var p=HM(t.base);u=[HM(u[0])/p,HM(u[1])/p]}t.setExtent(u[0],u[1]),t.calcNiceExtent({splitNumber:a,fixMin:h,fixMax:c});var d=i.getExtent.call(t);h&&(u[0]=d[0]),c&&(u[1]=d[1]);var f=i.getInterval.call(t),g=u[0],y=u[1];if(h&&c)f=(y-g)/a;else if(h)for(y=u[0]+f*a;yu[0]&&isFinite(g)&&isFinite(u[0]);)f=vx(f),g=u[1]-f*a;else{t.getTicks().length-1>a&&(f=vx(f));var v=f*a;(g=Xr((y=Math.ceil(u[1]/f)*f)-v))<0&&u[0]>=0?(g=0,y=Xr(v)):y>0&&u[1]<=0&&(y=0,g=-Xr(v))}var m=(r[0].value-o[0].value)/s,x=(r[a].value-o[a].value)/s;i.setExtent.call(t,g+f*m,y+f*x),i.setInterval.call(t,f),(m||x)&&i.setNiceExtent.call(t,g+f,y-f)}var UM=function(){function t(t,e,n){this.type=\"grid\",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=EM,this._initCartesian(t,e,n),this.model=t}return t.prototype.getRect=function(){return this._rect},t.prototype.update=function(t,e){var n=this._axesMap;function i(t){var e,n=G(t),i=n.length;if(i){for(var r=[],o=i-1;o>=0;o--){var a=t[+n[o]],s=a.model,l=a.scale;gx(l)&&s.get(\"alignTicks\")&&null==s.get(\"interval\")?r.push(a):(h_(l,s),gx(l)&&(e=a))}r.length&&(e||h_((e=r.pop()).scale,e.model),E(r,(function(t){YM(t.scale,t.model,e.scale)})))}}this._updateScale(t,this.model),i(n.x),i(n.y);var r={};E(n.x,(function(t){ZM(n,\"y\",t,r)})),E(n.y,(function(t){ZM(n,\"x\",t,r)})),this.resize(this.model,e)},t.prototype.resize=function(t,e,n){var i=t.getBoxLayoutParams(),r=!n&&t.get(\"containLabel\"),o=Tp(i,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;function s(){E(a,(function(t){var e=t.isHorizontal(),n=e?[0,o.width]:[0,o.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),function(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord=\"x\"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord=\"x\"===t.dim?function(t){return t-e}:function(t){return i-t+e}}(t,e?o.x:o.y)}))}s(),r&&(E(a,(function(t){if(!t.model.get([\"axisLabel\",\"inside\"])){var e=function(t){var e=t.model,n=t.scale;if(e.get([\"axisLabel\",\"show\"])&&!n.isBlank()){var i,r,o=n.getExtent();r=n instanceof Mx?n.count():(i=n.getTicks()).length;var a,s=t.getLabelModel(),l=p_(t),u=1;r>40&&(u=Math.ceil(r/40));for(var h=0;h0&&i>0||n<0&&i<0)}(t)}var qM=Math.PI,KM=function(){function t(t,e){this.group=new Er,this.opt=e,this.axisModel=t,k(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var n=new Er({x:e.position[0],y:e.position[1],rotation:e.rotation});n.updateTransform(),this._transformGroup=n}return t.prototype.hasBuilder=function(t){return!!$M[t]},t.prototype.add=function(t){$M[t](this.opt,this.axisModel,this.group,this._transformGroup)},t.prototype.getGroup=function(){return this.group},t.innerTextLayout=function(t,e,n){var i,r,o=to(e-t);return eo(o)?(r=n>0?\"top\":\"bottom\",i=\"center\"):eo(o-qM)?(r=n>0?\"bottom\":\"top\",i=\"center\"):(r=\"middle\",i=o>0&&o0?\"right\":\"left\":n>0?\"left\":\"right\"),{rotation:o,textAlign:i,textVerticalAlign:r}},t.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+\"Index\"]=t.componentIndex,e},t.isLabelSilent=function(t){var e=t.get(\"tooltip\");return t.get(\"silent\")||!(t.get(\"triggerEvent\")||e&&e.show)},t}(),$M={axisLine:function(t,e,n,i){var r=e.get([\"axisLine\",\"show\"]);if(\"auto\"===r&&t.handleAutoShown&&(r=t.handleAutoShown(\"axisLine\")),r){var o=e.axis.getExtent(),a=i.transform,s=[o[0],0],l=[o[1],0],u=s[0]>l[0];a&&(Wt(s,s,a),Wt(l,l,a));var h=A({lineCap:\"round\"},e.getModel([\"axisLine\",\"lineStyle\"]).getLineStyle()),c=new Xu({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:h,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1});Oh(c.shape,c.style.lineWidth),c.anid=\"line\",n.add(c);var p=e.get([\"axisLine\",\"symbol\"]);if(null!=p){var d=e.get([\"axisLine\",\"symbolSize\"]);X(p)&&(p=[p,p]),(X(d)||j(d))&&(d=[d,d]);var f=Fy(e.get([\"axisLine\",\"symbolOffset\"])||0,d),g=d[0],y=d[1];E([{rotate:t.rotation+Math.PI/2,offset:f[0],r:0},{rotate:t.rotation-Math.PI/2,offset:f[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],(function(e,i){if(\"none\"!==p[i]&&null!=p[i]){var r=Vy(p[i],-g/2,-y/2,g,y,h.stroke,!0),o=e.r+e.offset,a=u?l:s;r.attr({rotation:e.rotate,x:a[0]+o*Math.cos(t.rotation),y:a[1]-o*Math.sin(t.rotation),silent:!0,z2:11}),n.add(r)}}))}}},axisTickLabel:function(t,e,n,i){var r=function(t,e,n,i){var r=n.axis,o=n.getModel(\"axisTick\"),a=o.get(\"show\");\"auto\"===a&&i.handleAutoShown&&(a=i.handleAutoShown(\"axisTick\"));if(!a||r.scale.isBlank())return;for(var s=o.getModel(\"lineStyle\"),l=i.tickDirection*o.get(\"length\"),u=eI(r.getTicksCoords(),e.transform,l,k(s.getLineStyle(),{stroke:n.get([\"axisLine\",\"lineStyle\",\"color\"])}),\"ticks\"),h=0;hc[1]?-1:1,d=[\"start\"===s?c[0]-p*h:\"end\"===s?c[1]+p*h:(c[0]+c[1])/2,tI(s)?t.labelOffset+l*h:0],f=e.get(\"nameRotate\");null!=f&&(f=f*qM/180),tI(s)?o=KM.innerTextLayout(t.rotation,null!=f?f:t.rotation,l):(o=function(t,e,n,i){var r,o,a=to(n-t),s=i[0]>i[1],l=\"start\"===e&&!s||\"start\"!==e&&s;eo(a-qM/2)?(o=l?\"bottom\":\"top\",r=\"center\"):eo(a-1.5*qM)?(o=l?\"top\":\"bottom\",r=\"center\"):(o=\"middle\",r=a<1.5*qM&&a>qM/2?l?\"left\":\"right\":l?\"right\":\"left\");return{rotation:a,textAlign:r,textVerticalAlign:o}}(t.rotation,s,f||0,c),null!=(a=t.axisNameAvailableWidth)&&(a=Math.abs(a/Math.sin(o.rotation)),!isFinite(a)&&(a=null)));var g=u.getFont(),y=e.get(\"nameTruncate\",!0)||{},v=y.ellipsis,m=it(t.nameTruncateMaxWidth,y.maxWidth,a),x=new Bs({x:d[0],y:d[1],rotation:o.rotation,silent:KM.isLabelSilent(e),style:ec(u,{text:r,font:g,overflow:\"truncate\",width:m,ellipsis:v,fill:u.getTextColor()||e.get([\"axisLine\",\"lineStyle\",\"color\"]),align:u.get(\"align\")||o.textAlign,verticalAlign:u.get(\"verticalAlign\")||o.textVerticalAlign}),z2:1});if(Xh({el:x,componentModel:e,itemName:r}),x.__fullText=r,x.anid=\"name\",e.get(\"triggerEvent\")){var _=KM.makeAxisEventDataBase(e);_.targetType=\"axisName\",_.name=r,Js(x).eventData=_}i.add(x),x.updateTransform(),n.add(x),x.decomposeTransform()}}};function JM(t){t&&(t.ignore=!0)}function QM(t,e){var n=t&&t.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(n&&i){var r=me([]);return we(r,r,-t.rotation),n.applyTransform(_e([],r,t.getLocalTransform())),i.applyTransform(_e([],r,e.getLocalTransform())),n.intersect(i)}}function tI(t){return\"middle\"===t||\"center\"===t}function eI(t,e,n,i,r){for(var o=[],a=[],s=[],l=0;l=0||t===e}function rI(t){var e=oI(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,o=n.get(\"status\"),a=n.get(\"value\");null!=a&&(a=i.parse(a));var s=aI(n);null==o&&(r.status=s?\"show\":\"hide\");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==a||a>l[1])&&(a=l[1]),a0&&!c.min?c.min=0:null!=c.min&&c.min<0&&!c.max&&(c.max=0);var p=a;null!=c.color&&(p=k({color:c.color},a));var d=C(T(c),{boundaryGap:t,splitNumber:e,scale:n,axisLine:i,axisTick:r,axisLabel:o,name:c.text,showName:s,nameLocation:\"end\",nameGap:u,nameTextStyle:p,triggerEvent:h},!1);if(X(l)){var f=d.name;d.name=l.replace(\"{value}\",null!=f?f:\"\")}else U(l)&&(d.name=l(d.name,d));var g=new Sc(d,null,this.ecModel);return R(g,m_.prototype),g.mainType=\"radar\",g.componentIndex=this.componentIndex,g}),this);this._indicatorModels=c},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type=\"radar\",e.defaultOption={z:0,center:[\"50%\",\"50%\"],radius:\"75%\",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:\"polygon\",axisLine:C({lineStyle:{color:\"#bbb\"}},DI.axisLine),axisLabel:AI(DI.axisLabel,!1),axisTick:AI(DI.axisTick,!1),splitLine:AI(DI.splitLine,!0),splitArea:AI(DI.splitArea,!0),indicator:[]},e}(Op),LI=[\"axisLine\",\"axisTickLabel\",\"axisName\"],PI=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var e=t.coordinateSystem;E(z(e.getIndicatorAxes(),(function(t){var n=t.model.get(\"showName\")?t.name:\"\";return new KM(t.model,{axisName:n,position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})})),(function(t){E(LI,t.add,t),this.group.add(t.getGroup())}),this)},e.prototype._buildSplitLineAndArea=function(t){var e=t.coordinateSystem,n=e.getIndicatorAxes();if(n.length){var i=t.get(\"shape\"),r=t.getModel(\"splitLine\"),o=t.getModel(\"splitArea\"),a=r.getModel(\"lineStyle\"),s=o.getModel(\"areaStyle\"),l=r.get(\"show\"),u=o.get(\"show\"),h=a.get(\"color\"),c=s.get(\"color\"),p=Y(h)?h:[h],d=Y(c)?c:[c],f=[],g=[];if(\"circle\"===i)for(var y=n[0].getTicksCoords(),v=e.cx,m=e.cy,x=0;x3?1.4:r>1?1.2:1.1;FI(this,\"zoom\",\"zoomOnMouseWheel\",t,{scale:i>0?s:1/s,originX:o,originY:a,isAvailableBehavior:null})}if(n){var l=Math.abs(i);FI(this,\"scrollMove\",\"moveOnMouseWheel\",t,{scrollDelta:(i>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:o,originY:a,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){zI(this._zr,\"globalPan\")||FI(this,\"zoom\",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})},e}(jt);function FI(t,e,n,i,r){t.pointerChecker&&t.pointerChecker(i,r.originX,r.originY)&&(pe(i.event),GI(t,e,n,i,r))}function GI(t,e,n,i,r){r.isAvailableBehavior=W(WI,null,n,i),t.trigger(e,r)}function WI(t,e,n){var i=n[t];return!t||i&&(!X(i)||e.event[i+\"Key\"])}function HI(t,e,n){var i=t.target;i.x+=e,i.y+=n,i.dirty()}function YI(t,e,n,i){var r=t.target,o=t.zoomLimit,a=t.zoom=t.zoom||1;if(a*=e,o){var s=o.min||0,l=o.max||1/0;a=Math.max(Math.min(l,a),s)}var u=a/t.zoom;t.zoom=a,r.x-=(n-r.x)*(u-1),r.y-=(i-r.y)*(u-1),r.scaleX*=u,r.scaleY*=u,r.dirty()}var UI,XI={axisPointer:1,tooltip:1,brush:1};function ZI(t,e,n){var i=e.getComponentByElement(t.topTarget),r=i&&i.coordinateSystem;return i&&i!==n&&!XI.hasOwnProperty(i.mainType)&&r&&r.model!==n}function jI(t){X(t)&&(t=(new DOMParser).parseFromString(t,\"text/xml\"));var e=t;for(9===e.nodeType&&(e=e.firstChild);\"svg\"!==e.nodeName.toLowerCase()||1!==e.nodeType;)e=e.nextSibling;return e}var qI={fill:\"fill\",stroke:\"stroke\",\"stroke-width\":\"lineWidth\",opacity:\"opacity\",\"fill-opacity\":\"fillOpacity\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-dasharray\":\"lineDash\",\"stroke-dashoffset\":\"lineDashOffset\",\"stroke-linecap\":\"lineCap\",\"stroke-linejoin\":\"lineJoin\",\"stroke-miterlimit\":\"miterLimit\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"text-anchor\":\"textAlign\",visibility:\"visibility\",display:\"display\"},KI=G(qI),$I={\"alignment-baseline\":\"textBaseline\",\"stop-color\":\"stopColor\"},JI=G($I),QI=function(){function t(){this._defs={},this._root=null}return t.prototype.parse=function(t,e){e=e||{};var n=jI(t);this._defsUsePending=[];var i=new Er;this._root=i;var r=[],o=n.getAttribute(\"viewBox\")||\"\",a=parseFloat(n.getAttribute(\"width\")||e.width),s=parseFloat(n.getAttribute(\"height\")||e.height);isNaN(a)&&(a=null),isNaN(s)&&(s=null),oT(n,i,null,!0,!1);for(var l,u,h=n.firstChild;h;)this._parseNode(h,i,r,null,!1,!1),h=h.nextSibling;if(function(t,e){for(var n=0;n=4&&(l={x:parseFloat(c[0]||0),y:parseFloat(c[1]||0),width:parseFloat(c[2]),height:parseFloat(c[3])})}if(l&&null!=a&&null!=s&&(u=fT(l,{x:0,y:0,width:a,height:s}),!e.ignoreViewBox)){var p=i;(i=new Er).add(p),p.scaleX=p.scaleY=u.scale,p.x=u.x,p.y=u.y}return e.ignoreRootClip||null==a||null==s||i.setClipPath(new Es({shape:{x:0,y:0,width:a,height:s}})),{root:i,width:a,height:s,viewBoxRect:l,viewBoxTransform:u,named:r}},t.prototype._parseNode=function(t,e,n,i,r,o){var a,s=t.nodeName.toLowerCase(),l=i;if(\"defs\"===s&&(r=!0),\"text\"===s&&(o=!0),\"defs\"===s||\"switch\"===s)a=e;else{if(!r){var u=UI[s];if(u&&_t(UI,s)){a=u.call(this,t,e);var h=t.getAttribute(\"name\");if(h){var c={name:h,namedFrom:null,svgNodeTagLower:s,el:a};n.push(c),\"g\"===s&&(l=c)}else i&&n.push({name:i.name,namedFrom:i,svgNodeTagLower:s,el:a});e.add(a)}}var p=tT[s];if(p&&_t(tT,s)){var d=p.call(this,t),f=t.getAttribute(\"id\");f&&(this._defs[f]=d)}}if(a&&a.isGroup)for(var g=t.firstChild;g;)1===g.nodeType?this._parseNode(g,a,n,l,r,o):3===g.nodeType&&o&&this._parseText(g,a),g=g.nextSibling},t.prototype._parseText=function(t,e){var n=new Ts({style:{text:t.textContent},silent:!0,x:this._textX||0,y:this._textY||0});iT(e,n),oT(t,n,this._defsUsePending,!1,!1),function(t,e){var n=e.__selfStyle;if(n){var i=n.textBaseline,r=i;i&&\"auto\"!==i?\"baseline\"===i?r=\"alphabetic\":\"before-edge\"===i||\"text-before-edge\"===i?r=\"top\":\"after-edge\"===i||\"text-after-edge\"===i?r=\"bottom\":\"central\"!==i&&\"mathematical\"!==i||(r=\"middle\"):r=\"alphabetic\",t.style.textBaseline=r}var o=e.__inheritedStyle;if(o){var a=o.textAlign,s=a;a&&(\"middle\"===a&&(s=\"center\"),t.style.textAlign=s)}}(n,e);var i=n.style,r=i.fontSize;r&&r<9&&(i.fontSize=9,n.scaleX*=r/9,n.scaleY*=r/9);var o=(i.fontSize||i.fontFamily)&&[i.fontStyle,i.fontWeight,(i.fontSize||12)+\"px\",i.fontFamily||\"sans-serif\"].join(\" \");i.font=o;var a=n.getBoundingRect();return this._textX+=a.width,e.add(n),n},t.internalField=void(UI={g:function(t,e){var n=new Er;return iT(e,n),oT(t,n,this._defsUsePending,!1,!1),n},rect:function(t,e){var n=new Es;return iT(e,n),oT(t,n,this._defsUsePending,!1,!1),n.setShape({x:parseFloat(t.getAttribute(\"x\")||\"0\"),y:parseFloat(t.getAttribute(\"y\")||\"0\"),width:parseFloat(t.getAttribute(\"width\")||\"0\"),height:parseFloat(t.getAttribute(\"height\")||\"0\")}),n.silent=!0,n},circle:function(t,e){var n=new xu;return iT(e,n),oT(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute(\"cx\")||\"0\"),cy:parseFloat(t.getAttribute(\"cy\")||\"0\"),r:parseFloat(t.getAttribute(\"r\")||\"0\")}),n.silent=!0,n},line:function(t,e){var n=new Xu;return iT(e,n),oT(t,n,this._defsUsePending,!1,!1),n.setShape({x1:parseFloat(t.getAttribute(\"x1\")||\"0\"),y1:parseFloat(t.getAttribute(\"y1\")||\"0\"),x2:parseFloat(t.getAttribute(\"x2\")||\"0\"),y2:parseFloat(t.getAttribute(\"y2\")||\"0\")}),n.silent=!0,n},ellipse:function(t,e){var n=new bu;return iT(e,n),oT(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute(\"cx\")||\"0\"),cy:parseFloat(t.getAttribute(\"cy\")||\"0\"),rx:parseFloat(t.getAttribute(\"rx\")||\"0\"),ry:parseFloat(t.getAttribute(\"ry\")||\"0\")}),n.silent=!0,n},polygon:function(t,e){var n,i=t.getAttribute(\"points\");i&&(n=rT(i));var r=new Gu({shape:{points:n||[]},silent:!0});return iT(e,r),oT(t,r,this._defsUsePending,!1,!1),r},polyline:function(t,e){var n,i=t.getAttribute(\"points\");i&&(n=rT(i));var r=new Hu({shape:{points:n||[]},silent:!0});return iT(e,r),oT(t,r,this._defsUsePending,!1,!1),r},image:function(t,e){var n=new As;return iT(e,n),oT(t,n,this._defsUsePending,!1,!1),n.setStyle({image:t.getAttribute(\"xlink:href\")||t.getAttribute(\"href\"),x:+t.getAttribute(\"x\"),y:+t.getAttribute(\"y\"),width:+t.getAttribute(\"width\"),height:+t.getAttribute(\"height\")}),n.silent=!0,n},text:function(t,e){var n=t.getAttribute(\"x\")||\"0\",i=t.getAttribute(\"y\")||\"0\",r=t.getAttribute(\"dx\")||\"0\",o=t.getAttribute(\"dy\")||\"0\";this._textX=parseFloat(n)+parseFloat(r),this._textY=parseFloat(i)+parseFloat(o);var a=new Er;return iT(e,a),oT(t,a,this._defsUsePending,!1,!0),a},tspan:function(t,e){var n=t.getAttribute(\"x\"),i=t.getAttribute(\"y\");null!=n&&(this._textX=parseFloat(n)),null!=i&&(this._textY=parseFloat(i));var r=t.getAttribute(\"dx\")||\"0\",o=t.getAttribute(\"dy\")||\"0\",a=new Er;return iT(e,a),oT(t,a,this._defsUsePending,!1,!0),this._textX+=parseFloat(r),this._textY+=parseFloat(o),a},path:function(t,e){var n=yu(t.getAttribute(\"d\")||\"\");return iT(e,n),oT(t,n,this._defsUsePending,!1,!1),n.silent=!0,n}}),t}(),tT={lineargradient:function(t){var e=parseInt(t.getAttribute(\"x1\")||\"0\",10),n=parseInt(t.getAttribute(\"y1\")||\"0\",10),i=parseInt(t.getAttribute(\"x2\")||\"10\",10),r=parseInt(t.getAttribute(\"y2\")||\"0\",10),o=new eh(e,n,i,r);return eT(t,o),nT(t,o),o},radialgradient:function(t){var e=parseInt(t.getAttribute(\"cx\")||\"0\",10),n=parseInt(t.getAttribute(\"cy\")||\"0\",10),i=parseInt(t.getAttribute(\"r\")||\"0\",10),r=new nh(e,n,i);return eT(t,r),nT(t,r),r}};function eT(t,e){\"userSpaceOnUse\"===t.getAttribute(\"gradientUnits\")&&(e.global=!0)}function nT(t,e){for(var n=t.firstChild;n;){if(1===n.nodeType&&\"stop\"===n.nodeName.toLocaleLowerCase()){var i=n.getAttribute(\"offset\"),r=void 0;r=i&&i.indexOf(\"%\")>0?parseInt(i,10)/100:i?parseFloat(i):0;var o={};dT(n,o,o);var a=o.stopColor||n.getAttribute(\"stop-color\")||\"#000000\";e.colorStops.push({offset:r,color:a})}n=n.nextSibling}}function iT(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),k(e.__inheritedStyle,t.__inheritedStyle))}function rT(t){for(var e=uT(t),n=[],i=0;i0;o-=2){var a=i[o],s=i[o-1],l=uT(a);switch(r=r||[1,0,0,1,0,0],s){case\"translate\":be(r,r,[parseFloat(l[0]),parseFloat(l[1]||\"0\")]);break;case\"scale\":Se(r,r,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case\"rotate\":we(r,r,-parseFloat(l[0])*cT);break;case\"skewX\":_e(r,[1,0,Math.tan(parseFloat(l[0])*cT),1,0,0],r);break;case\"skewY\":_e(r,[1,Math.tan(parseFloat(l[0])*cT),0,1,0,0],r);break;case\"matrix\":r[0]=parseFloat(l[0]),r[1]=parseFloat(l[1]),r[2]=parseFloat(l[2]),r[3]=parseFloat(l[3]),r[4]=parseFloat(l[4]),r[5]=parseFloat(l[5])}}e.setLocalTransform(r)}}(t,e),dT(t,a,s),i||function(t,e,n){for(var i=0;i0,f={api:n,geo:s,mapOrGeoModel:t,data:a,isVisualEncodedByVisualMap:d,isGeo:o,transformInfoRaw:c};\"geoJSON\"===s.resourceType?this._buildGeoJSON(f):\"geoSVG\"===s.resourceType&&this._buildSVG(f),this._updateController(t,e,n),this._updateMapSelectHandler(t,l,n,i)},t.prototype._buildGeoJSON=function(t){var e=this._regionsGroupByName=yt(),n=yt(),i=this._regionsGroup,r=t.transformInfoRaw,o=t.mapOrGeoModel,a=t.data,s=t.geo.projection,l=s&&s.stream;function u(t,e){return e&&(t=e(t)),t&&[t[0]*r.scaleX+r.x,t[1]*r.scaleY+r.y]}function h(t){for(var e=[],n=!l&&s&&s.project,i=0;i=0)&&(p=r);var d=a?{normal:{align:\"center\",verticalAlign:\"middle\"}}:null;Qh(e,tc(i),{labelFetcher:p,labelDataIndex:c,defaultText:n},d);var f=e.getTextContent();if(f&&(NT(f).ignore=f.ignore,e.textConfig&&a)){var g=e.getBoundingRect().clone();e.textConfig.layoutRect=g,e.textConfig.position=[(a[0]-g.x)/g.width*100+\"%\",(a[1]-g.y)/g.height*100+\"%\"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function GT(t,e,n,i,r,o){t.data?t.data.setItemGraphicEl(o,e):Js(e).eventData={componentType:\"geo\",componentIndex:r.componentIndex,geoIndex:r.componentIndex,name:n,region:i&&i.option||{}}}function WT(t,e,n,i,r){t.data||Xh({el:e,componentModel:r,itemName:n,itemTooltipOption:i.get(\"tooltip\")})}function HT(t,e,n,i,r){e.highDownSilentOnTouch=!!r.get(\"selectedMode\");var o=i.getModel(\"emphasis\"),a=o.get(\"focus\");return Hl(e,a,o.get(\"blurScope\"),o.get(\"disabled\")),t.isGeo&&function(t,e,n){var i=Js(t);i.componentMainType=e.mainType,i.componentIndex=e.componentIndex,i.componentHighDownName=n}(e,r,n),a}function YT(t,e,n){var i,r=[];function o(){i=[]}function a(){i.length&&(r.push(i),i=[])}var s=e({polygonStart:o,polygonEnd:a,lineStart:o,lineEnd:a,point:function(t,e){isFinite(t)&&isFinite(e)&&i.push([t,e])},sphere:function(){}});return!n&&s.polygonStart(),E(t,(function(t){s.lineStart();for(var e=0;e-1&&(n.style.stroke=n.style.fill,n.style.fill=\"#fff\",n.style.lineWidth=2),n},e.type=\"series.map\",e.dependencies=[\"geo\"],e.layoutMode=\"box\",e.defaultOption={z:2,coordinateSystem:\"geo\",map:\"\",left:\"center\",top:\"center\",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:\"#000\"},itemStyle:{borderWidth:.5,borderColor:\"#444\",areaColor:\"#eee\"},emphasis:{label:{show:!0,color:\"rgb(100,0,0)\"},itemStyle:{areaColor:\"rgba(255,215,0,0.8)\"}},select:{label:{show:!0,color:\"rgb(100,0,0)\"},itemStyle:{color:\"rgba(255,215,0,0.8)\"}},nameProperty:\"name\"},e}(fg);function ZT(t){var e={};t.eachSeriesByType(\"map\",(function(t){var n=t.getHostGeoModel(),i=n?\"o\"+n.id:\"i\"+t.getMapType();(e[i]=e[i]||[]).push(t)})),E(e,(function(t,e){for(var n,i,r,o=(n=z(t,(function(t){return t.getData()})),i=t[0].get(\"mapValueCalculation\"),r={},E(n,(function(t){t.each(t.mapDimension(\"value\"),(function(e,n){var i=\"ec-\"+t.getName(n);r[i]=r[i]||[],isNaN(e)||r[i].push(e)}))})),n[0].map(n[0].mapDimension(\"value\"),(function(t,e){for(var o=\"ec-\"+n[0].getName(e),a=0,s=1/0,l=-1/0,u=r[o].length,h=0;h1?(d.width=p,d.height=p/x):(d.height=p,d.width=p*x),d.y=c[1]-d.height/2,d.x=c[0]-d.width/2;else{var b=t.getBoxLayoutParams();b.aspect=x,d=Tp(b,{width:v,height:m})}this.setViewRect(d.x,d.y,d.width,d.height),this.setCenter(t.get(\"center\"),e),this.setZoom(t.get(\"zoom\"))}R(tC,KT);var iC=function(){function t(){this.dimensions=QT}return t.prototype.create=function(t,e){var n=[];function i(t){return{nameProperty:t.get(\"nameProperty\"),aspectScale:t.get(\"aspectScale\"),projection:t.get(\"projection\")}}t.eachComponent(\"geo\",(function(t,r){var o=t.get(\"map\"),a=new tC(o+r,o,A({nameMap:t.get(\"nameMap\")},i(t)));a.zoomLimit=t.get(\"scaleLimit\"),n.push(a),t.coordinateSystem=a,a.model=t,a.resize=nC,a.resize(t,e)})),t.eachSeries((function(t){if(\"geo\"===t.get(\"coordinateSystem\")){var e=t.get(\"geoIndex\")||0;t.coordinateSystem=n[e]}}));var r={};return t.eachSeriesByType(\"map\",(function(t){if(!t.getHostGeoModel()){var e=t.getMapType();r[e]=r[e]||[],r[e].push(t)}})),E(r,(function(t,r){var o=z(t,(function(t){return t.get(\"nameMap\")})),a=new tC(r,r,A({nameMap:D(o)},i(t[0])));a.zoomLimit=it.apply(null,z(t,(function(t){return t.get(\"scaleLimit\")}))),n.push(a),a.resize=nC,a.resize(t[0],e),E(t,(function(t){t.coordinateSystem=a,function(t,e){E(e.get(\"geoCoord\"),(function(e,n){t.addGeoCoord(n,e)}))}(a,t)}))})),n},t.prototype.getFilledRegions=function(t,e,n,i){for(var r=(t||[]).slice(),o=yt(),a=0;a=0;){var o=e[n];o.hierNode.prelim+=i,o.hierNode.modifier+=i,r+=o.hierNode.change,i+=o.hierNode.shift+r}}(t);var o=(n[0].hierNode.prelim+n[n.length-1].hierNode.prelim)/2;r?(t.hierNode.prelim=r.hierNode.prelim+e(t,r),t.hierNode.modifier=t.hierNode.prelim-o):t.hierNode.prelim=o}else r&&(t.hierNode.prelim=r.hierNode.prelim+e(t,r));t.parentNode.hierNode.defaultAncestor=function(t,e,n,i){if(e){for(var r=t,o=t,a=o.parentNode.children[0],s=e,l=r.hierNode.modifier,u=o.hierNode.modifier,h=a.hierNode.modifier,c=s.hierNode.modifier;s=gC(s),o=yC(o),s&&o;){r=gC(r),a=yC(a),r.hierNode.ancestor=t;var p=s.hierNode.prelim+c-o.hierNode.prelim-u+i(s,o);p>0&&(mC(vC(s,t,n),t,p),u+=p,l+=p),c+=s.hierNode.modifier,u+=o.hierNode.modifier,l+=r.hierNode.modifier,h+=a.hierNode.modifier}s&&!gC(r)&&(r.hierNode.thread=s,r.hierNode.modifier+=c-l),o&&!yC(a)&&(a.hierNode.thread=o,a.hierNode.modifier+=u-h,n=t)}return n}(t,r,t.parentNode.hierNode.defaultAncestor||i[0],e)}function pC(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function dC(t){return arguments.length?t:xC}function fC(t,e){return t-=Math.PI/2,{x:e*Math.cos(t),y:e*Math.sin(t)}}function gC(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function yC(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function vC(t,e,n){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:n}function mC(t,e,n){var i=n/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=i,e.hierNode.shift+=n,e.hierNode.modifier+=n,e.hierNode.prelim+=n,t.hierNode.change+=i}function xC(t,e){return t.parentNode===e.parentNode?1:2}var _C=function(){this.parentPoint=[],this.childPoints=[]},bC=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:\"#000\",fill:null}},e.prototype.getDefaultShape=function(){return new _C},e.prototype.buildPath=function(t,e){var n=e.childPoints,i=n.length,r=e.parentPoint,o=n[0],a=n[i-1];if(1===i)return t.moveTo(r[0],r[1]),void t.lineTo(o[0],o[1]);var s=e.orient,l=\"TB\"===s||\"BT\"===s?0:1,u=1-l,h=Ur(e.forkPosition,1),c=[];c[l]=r[l],c[u]=r[u]+(a[u]-r[u])*h,t.moveTo(r[0],r[1]),t.lineTo(c[0],c[1]),t.moveTo(o[0],o[1]),c[l]=o[l],t.lineTo(c[0],c[1]),c[l]=a[l],t.lineTo(c[0],c[1]),t.lineTo(a[0],a[1]);for(var p=1;pm.x)||(_-=Math.PI);var S=b?\"left\":\"right\",M=s.getModel(\"label\"),I=M.get(\"rotate\"),T=I*(Math.PI/180),C=y.getTextContent();C&&(y.setTextConfig({position:M.get(\"position\")||S,rotation:null==I?-_:T,origin:\"center\"}),C.setStyle(\"verticalAlign\",\"middle\"))}var D=s.get([\"emphasis\",\"focus\"]),A=\"relative\"===D?vt(a.getAncestorsIndices(),a.getDescendantIndices()):\"ancestor\"===D?a.getAncestorsIndices():\"descendant\"===D?a.getDescendantIndices():null;A&&(Js(n).focus=A),function(t,e,n,i,r,o,a,s){var l=e.getModel(),u=t.get(\"edgeShape\"),h=t.get(\"layout\"),c=t.getOrient(),p=t.get([\"lineStyle\",\"curveness\"]),d=t.get(\"edgeForkPosition\"),f=l.getModel(\"lineStyle\").getLineStyle(),g=i.__edge;if(\"curve\"===u)e.parentNode&&e.parentNode!==n&&(g||(g=i.__edge=new Ku({shape:DC(h,c,p,r,r)})),dh(g,{shape:DC(h,c,p,o,a)},t));else if(\"polyline\"===u)if(\"orthogonal\"===h){if(e!==n&&e.children&&0!==e.children.length&&!0===e.isExpand){for(var y=e.children,v=[],m=0;me&&(e=i.height)}this.height=e+1},t.prototype.getNodeById=function(t){if(this.getId()===t)return this;for(var e=0,n=this.children,i=n.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},t.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},t.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostTree.data.getItemModel(this.dataIndex).getModel(t)},t.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},t.prototype.setVisual=function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},t.prototype.getVisual=function(t){return this.hostTree.data.getItemVisual(this.dataIndex,t)},t.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},t.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},t.prototype.getChildIndex=function(){if(this.parentNode){for(var t=this.parentNode.children,e=0;e=0){var i=n.getData().tree.root,r=t.targetNode;if(X(r)&&(r=i.getNodeById(r)),r&&i.contains(r))return{node:r};var o=t.targetNodeId;if(null!=o&&(r=i.getNodeById(o)))return{node:r}}}function GC(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function WC(t,e){return P(GC(t),e)>=0}function HC(t,e){for(var n=[];t;){var i=t.dataIndex;n.push({name:t.name,dataIndex:i,value:e.getRawValue(i)}),t=t.parentNode}return n.reverse(),n}var YC=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.hasSymbolVisual=!0,e.ignoreStyleOnData=!0,e}return n(e,t),e.prototype.getInitialData=function(t){var e={name:t.name,children:t.data},n=t.leaves||{},i=new Sc(n,this,this.ecModel),r=BC.createTree(e,this,(function(t){t.wrapMethod(\"getItemModel\",(function(t,e){var n=r.getNodeByDataIndex(e);return n&&n.children.length&&n.isExpand||(t.parentModel=i),t}))}));var o=0;r.eachNode(\"preorder\",(function(t){t.depth>o&&(o=t.depth)}));var a=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:o;return r.root.eachNode(\"preorder\",(function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=a})),r.data},e.prototype.getOrient=function(){var t=this.get(\"orient\");return\"horizontal\"===t?t=\"LR\":\"vertical\"===t&&(t=\"TB\"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,e,n){for(var i=this.getData().tree,r=i.root.children[0],o=i.getNodeByDataIndex(t),a=o.getValue(),s=o.name;o&&o!==r;)s=o.parentNode.name+\".\"+s,o=o.parentNode;return Qf(\"nameValue\",{name:s,value:a,noValue:isNaN(a)||null==a})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=HC(i,this),n.collapsed=!i.isExpand,n},e.type=\"series.tree\",e.layoutMode=\"box\",e.defaultOption={z:2,coordinateSystem:\"view\",left:\"12%\",top:\"12%\",right:\"12%\",bottom:\"12%\",layout:\"orthogonal\",edgeShape:\"curve\",edgeForkPosition:\"50%\",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:\"LR\",symbol:\"emptyCircle\",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:\"#ccc\",width:1.5,curveness:.5},itemStyle:{color:\"lightsteelblue\",borderWidth:1.5},label:{show:!0},animationEasing:\"linear\",animationDuration:700,animationDurationUpdate:500},e}(fg);function UC(t,e){for(var n,i=[t];n=i.pop();)if(e(n),n.isExpand){var r=n.children;if(r.length)for(var o=r.length-1;o>=0;o--)i.push(r[o])}}function XC(t,e){t.eachSeriesByType(\"tree\",(function(t){!function(t,e){var n=function(t,e){return Tp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=n;var i=t.get(\"layout\"),r=0,o=0,a=null;\"radial\"===i?(r=2*Math.PI,o=Math.min(n.height,n.width)/2,a=dC((function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth}))):(r=n.width,o=n.height,a=dC());var s=t.getData().tree.root,l=s.children[0];if(l){!function(t){var e=t;e.hierNode={defaultAncestor:null,ancestor:e,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var n,i,r=[e];n=r.pop();)if(i=n.children,n.isExpand&&i.length)for(var o=i.length-1;o>=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},r.push(a)}}(s),function(t,e,n){for(var i,r=[t],o=[];i=r.pop();)if(o.push(i),i.isExpand){var a=i.children;if(a.length)for(var s=0;sh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)}));var p=u===h?1:a(u,h)/2,d=p-u.getLayout().x,f=0,g=0,y=0,v=0;if(\"radial\"===i)f=r/(h.getLayout().x+p+d),g=o/(c.depth-1||1),UC(l,(function(t){y=(t.getLayout().x+d)*f,v=(t.depth-1)*g;var e=fC(y,v);t.setLayout({x:e.x,y:e.y,rawX:y,rawY:v},!0)}));else{var m=t.getOrient();\"RL\"===m||\"LR\"===m?(g=o/(h.getLayout().x+p+d),f=r/(c.depth-1||1),UC(l,(function(t){v=(t.getLayout().x+d)*g,y=\"LR\"===m?(t.depth-1)*f:r-(t.depth-1)*f,t.setLayout({x:y,y:v},!0)}))):\"TB\"!==m&&\"BT\"!==m||(f=r/(h.getLayout().x+p+d),g=o/(c.depth-1||1),UC(l,(function(t){y=(t.getLayout().x+d)*f,v=\"TB\"===m?(t.depth-1)*g:o-(t.depth-1)*g,t.setLayout({x:y,y:v},!0)})))}}}(t,e)}))}function ZC(t){t.eachSeriesByType(\"tree\",(function(t){var e=t.getData();e.tree.eachNode((function(t){var n=t.getModel().getModel(\"itemStyle\").getItemStyle();A(e.ensureUniqueItemVisual(t.dataIndex,\"style\"),n)}))}))}var jC=[\"treemapZoomToNode\",\"treemapRender\",\"treemapMove\"];function qC(t){var e=t.getData().tree,n={};e.eachNode((function(e){for(var i=e;i&&i.depth>1;)i=i.parentNode;var r=ld(t.ecModel,i.name||i.dataIndex+\"\",n);e.setVisual(\"decal\",r)}))}var KC=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.preventUsingHoverLayer=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};$C(n);var i=t.levels||[],r=this.designatedVisualItemStyle={},o=new Sc({itemStyle:r},this,e);i=t.levels=function(t,e){var n,i,r=_o(e.get(\"color\")),o=_o(e.get([\"aria\",\"decal\",\"decals\"]));if(!r)return;E(t=t||[],(function(t){var e=new Sc(t),r=e.get(\"color\"),o=e.get(\"decal\");(e.get([\"itemStyle\",\"color\"])||r&&\"none\"!==r)&&(n=!0),(e.get([\"itemStyle\",\"decal\"])||o&&\"none\"!==o)&&(i=!0)}));var a=t[0]||(t[0]={});n||(a.color=r.slice());!i&&o&&(a.decal=o.slice());return t}(i,e);var a=z(i||[],(function(t){return new Sc(t,o,e)}),this),s=BC.createTree(n,this,(function(t){t.wrapMethod(\"getItemModel\",(function(t,e){var n=s.getNodeByDataIndex(e),i=n?a[n.depth]:null;return t.parentModel=i||o,t}))}));return s.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,e,n){var i=this.getData(),r=this.getRawValue(t);return Qf(\"nameValue\",{name:i.getName(t),value:r})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=HC(i,this),n.treePathInfo=n.treeAncestors,n},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},A(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=yt(),this._idIndexMapCount=0);var n=e.get(t);return null==n&&e.set(t,n=this._idIndexMapCount++),n},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){qC(this)},e.type=\"series.treemap\",e.layoutMode=\"box\",e.defaultOption={progressive:0,left:\"center\",top:\"middle\",width:\"80%\",height:\"80%\",sort:!0,clipWindow:\"origin\",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:\"▶\",zoomToNodeRatio:.1024,roam:!0,nodeClick:\"zoomToNode\",animation:!0,animationDurationUpdate:900,animationEasing:\"quinticInOut\",breadcrumb:{show:!0,height:22,left:\"center\",top:\"bottom\",emptyItemWidth:25,itemStyle:{color:\"rgba(0,0,0,0.7)\",textStyle:{color:\"#fff\"}},emphasis:{itemStyle:{color:\"rgba(0,0,0,0.9)\"}}},label:{show:!0,distance:0,padding:5,position:\"inside\",color:\"#fff\",overflow:\"truncate\"},upperLabel:{show:!1,position:[0,\"50%\"],height:20,overflow:\"truncate\",verticalAlign:\"middle\"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:\"#fff\",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,\"50%\"],overflow:\"truncate\",verticalAlign:\"middle\"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:\"index\",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(fg);function $C(t){var e=0;E(t.children,(function(t){$C(t);var n=t.value;Y(n)&&(n=n[0]),e+=n}));var n=t.value;Y(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),Y(t.value)?t.value[0]=n:t.value=n}var JC=function(){function t(t){this.group=new Er,t.add(this.group)}return t.prototype.render=function(t,e,n,i){var r=t.getModel(\"breadcrumb\"),o=this.group;if(o.removeAll(),r.get(\"show\")&&n){var a=r.getModel(\"itemStyle\"),s=r.getModel(\"emphasis\"),l=a.getModel(\"textStyle\"),u=s.getModel([\"itemStyle\",\"textStyle\"]),h={pos:{left:r.get(\"left\"),right:r.get(\"right\"),top:r.get(\"top\"),bottom:r.get(\"bottom\")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:r.get(\"emptyItemWidth\"),totalWidth:0,renderList:[]};this._prepare(n,h,l),this._renderContent(t,h,a,s,l,u,i),Cp(o,h.pos,h.box)}},t.prototype._prepare=function(t,e,n){for(var i=t;i;i=i.parentNode){var r=Do(i.getModel().get(\"name\"),\"\"),o=n.getTextRect(r),a=Math.max(o.width+16,e.emptyItemWidth);e.totalWidth+=a+8,e.renderList.push({node:i,text:r,width:a})}},t.prototype._renderContent=function(t,e,n,i,r,o,a){for(var s,l,u,h,c,p,d,f,g,y=0,v=e.emptyItemWidth,m=t.get([\"breadcrumb\",\"height\"]),x=(s=e.pos,l=e.box,h=l.width,c=l.height,p=Ur(s.left,h),d=Ur(s.top,c),f=Ur(s.right,h),g=Ur(s.bottom,c),(isNaN(p)||isNaN(parseFloat(s.left)))&&(p=0),(isNaN(f)||isNaN(parseFloat(s.right)))&&(f=h),(isNaN(d)||isNaN(parseFloat(s.top)))&&(d=0),(isNaN(g)||isNaN(parseFloat(s.bottom)))&&(g=c),u=dp(u||0),{width:Math.max(f-p-u[1]-u[3],0),height:Math.max(g-d-u[0]-u[2],0)}),_=e.totalWidth,b=e.renderList,w=i.getModel(\"itemStyle\").getItemStyle(),S=b.length-1;S>=0;S--){var M=b[S],I=M.node,T=M.width,C=M.text;_>x.width&&(_-=T-v,T=v,C=null);var D=new Gu({shape:{points:QC(y,0,T,m,S===b.length-1,0===S)},style:k(n.getItemStyle(),{lineJoin:\"bevel\"}),textContent:new Bs({style:ec(r,{text:C})}),textConfig:{position:\"inside\"},z2:1e5,onclick:H(a,I)});D.disableLabelAnimation=!0,D.getTextContent().ensureState(\"emphasis\").style=ec(o,{text:C}),D.ensureState(\"emphasis\").style=w,Hl(D,i.get(\"focus\"),i.get(\"blurScope\"),i.get(\"disabled\")),this.group.add(D),tD(D,t,I),y+=T+8}},t.prototype.remove=function(){this.group.removeAll()},t}();function QC(t,e,n,i,r,o){var a=[[r?t:t-5,e],[t+n,e],[t+n,e+i],[r?t:t-5,e+i]];return!o&&a.splice(2,0,[t+n+5,e+i/2]),!r&&a.push([t,e+i/2]),a}function tD(t,e,n){Js(t).eventData={componentType:\"series\",componentSubType:\"treemap\",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:\"treemap\",selfType:\"breadcrumb\",nodeData:{dataIndex:n&&n.dataIndex,name:n&&n.name},treePathInfo:n&&HC(n,e)}}var eD=function(){function t(){this._storage=[],this._elExistsMap={}}return t.prototype.add=function(t,e,n,i,r){return!this._elExistsMap[t.id]&&(this._elExistsMap[t.id]=!0,this._storage.push({el:t,target:e,duration:n,delay:i,easing:r}),!0)},t.prototype.finished=function(t){return this._finishedCallback=t,this},t.prototype.start=function(){for(var t=this,e=this._storage.length,n=function(){--e<=0&&(t._storage.length=0,t._elExistsMap={},t._finishedCallback&&t._finishedCallback())},i=0,r=this._storage.length;i3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var n=e.getLayout();if(!n)return;this.api.dispatchAction({type:\"treemapMove\",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:n.x+t.dx,y:n.y+t.dy,width:n.width,height:n.height}})}},e.prototype._onZoom=function(t){var e=t.originX,n=t.originY;if(\"animating\"!==this._state){var i=this.seriesModel.getData().tree.root;if(!i)return;var r=i.getLayout();if(!r)return;var o=new Ee(r.x,r.y,r.width,r.height),a=this.seriesModel.layoutInfo,s=[1,0,0,1,0,0];be(s,s,[-(e-=a.x),-(n-=a.y)]),Se(s,s,[t.scale,t.scale]),be(s,s,[e,n]),o.applyTransform(s),this.api.dispatchAction({type:\"treemapRender\",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:o.x,y:o.y,width:o.width,height:o.height}})}},e.prototype._initEvents=function(t){var e=this;t.on(\"click\",(function(t){if(\"ready\"===e._state){var n=e.seriesModel.get(\"nodeClick\",!0);if(n){var i=e.findTarget(t.offsetX,t.offsetY);if(i){var r=i.node;if(r.getLayout().isLeafRoot)e._rootToNode(i);else if(\"zoomToNode\"===n)e._zoomToNode(i);else if(\"link\"===n){var o=r.hostTree.data.getItemModel(r.dataIndex),a=o.get(\"link\",!0),s=o.get(\"target\",!0)||\"blank\";a&&_p(a,s)}}}}}),this)},e.prototype._renderBreadcrumb=function(t,e,n){var i=this;n||(n=null!=t.get(\"leafDepth\",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(n={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new JC(this.group))).render(t,e,n.node,(function(e){\"animating\"!==i._state&&(WC(t.getViewRoot(),e)?i._rootToNode({node:e}):i._zoomToNode({node:e}))}))},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state=\"ready\",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:\"treemapZoomToNode\",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:\"treemapRootToNode\",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,e){var n;return this.seriesModel.getViewRoot().eachNode({attr:\"viewChildren\",order:\"preorder\"},(function(i){var r=this._storage.background[i.getRawIndex()];if(r){var o=r.transformCoordToLocal(t,e),a=r.shape;if(!(a.x<=o[0]&&o[0]<=a.x+a.width&&a.y<=o[1]&&o[1]<=a.y+a.height))return!1;n={node:i,offsetX:o[0],offsetY:o[1]}}}),this),n},e.type=\"treemap\",e}(Tg);var hD=E,cD=q,pD=-1,dD=function(){function t(e){var n=e.mappingMethod,i=e.type,r=this.option=T(e);this.type=i,this.mappingMethod=n,this._normalizeData=SD[n];var o=t.visualHandlers[i];this.applyVisual=o.applyVisual,this.getColorMapper=o.getColorMapper,this._normalizedToVisual=o._normalizedToVisual[n],\"piecewise\"===n?(fD(r),function(t){var e=t.pieceList;t.hasSpecialVisual=!1,E(e,(function(e,n){e.originIndex=n,null!=e.visual&&(t.hasSpecialVisual=!0)}))}(r)):\"category\"===n?r.categories?function(t){var e=t.categories,n=t.categoryMap={},i=t.visual;if(hD(e,(function(t,e){n[t]=e})),!Y(i)){var r=[];q(i)?hD(i,(function(t,e){var i=n[e];r[null!=i?i:pD]=t})):r[-1]=i,i=wD(t,r)}for(var o=e.length-1;o>=0;o--)null==i[o]&&(delete n[e[o]],e.pop())}(r):fD(r,!0):(lt(\"linear\"!==n||r.dataExtent),fD(r))}return t.prototype.mapValueToVisual=function(t){var e=this._normalizeData(t);return this._normalizedToVisual(e,t)},t.prototype.getNormalizer=function(){return W(this._normalizeData,this)},t.listVisualTypes=function(){return G(t.visualHandlers)},t.isValidType=function(e){return t.visualHandlers.hasOwnProperty(e)},t.eachVisual=function(t,e,n){q(t)?E(t,e,n):e.call(n,t)},t.mapVisual=function(e,n,i){var r,o=Y(e)?[]:q(e)?{}:(r=!0,null);return t.eachVisual(e,(function(t,e){var a=n.call(i,t,e);r?o=a:o[e]=a})),o},t.retrieveVisuals=function(e){var n,i={};return e&&hD(t.visualHandlers,(function(t,r){e.hasOwnProperty(r)&&(i[r]=e[r],n=!0)})),n?i:null},t.prepareVisualTypes=function(t){if(Y(t))t=t.slice();else{if(!cD(t))return[];var e=[];hD(t,(function(t,n){e.push(n)})),t=e}return t.sort((function(t,e){return\"color\"===e&&\"color\"!==t&&0===t.indexOf(\"color\")?1:-1})),t},t.dependsOn=function(t,e){return\"color\"===e?!(!t||0!==t.indexOf(e)):t===e},t.findPieceIndex=function(t,e,n){for(var i,r=1/0,o=0,a=e.length;ou[1]&&(u[1]=l);var h=e.get(\"colorMappingBy\"),c={type:a.name,dataExtent:u,visual:a.range};\"color\"!==c.type||\"index\"!==h&&\"id\"!==h?c.mappingMethod=\"linear\":(c.mappingMethod=\"category\",c.loop=!0);var p=new dD(c);return ID(p).drColorMappingBy=h,p}(0,r,o,0,u,d);E(d,(function(t,e){if(t.depth>=n.length||t===n[t.depth]){var o=function(t,e,n,i,r,o){var a=A({},e);if(r){var s=r.type,l=\"color\"===s&&ID(r).drColorMappingBy,u=\"index\"===l?i:\"id\"===l?o.mapIdToIndex(n.getId()):n.getValue(t.get(\"visualDimension\"));a[s]=r.mapValueToVisual(u)}return a}(r,u,t,e,f,i);CD(t,o,n,i)}}))}else s=DD(u),h.fill=s}}function DD(t){var e=AD(t,\"color\");if(e){var n=AD(t,\"colorAlpha\"),i=AD(t,\"colorSaturation\");return i&&(e=ei(e,null,null,i)),n&&(e=ni(e,n)),e}}function AD(t,e){var n=t[e];if(null!=n&&\"none\"!==n)return n}function kD(t,e){var n=t.get(e);return Y(n)&&n.length?{name:e,range:n}:null}var LD=Math.max,PD=Math.min,OD=it,RD=E,ND=[\"itemStyle\",\"borderWidth\"],ED=[\"itemStyle\",\"gapWidth\"],zD=[\"upperLabel\",\"show\"],VD=[\"upperLabel\",\"height\"],BD={seriesType:\"treemap\",reset:function(t,e,n,i){var r=n.getWidth(),o=n.getHeight(),a=t.option,s=Tp(t.getBoxLayoutParams(),{width:n.getWidth(),height:n.getHeight()}),l=a.size||[],u=Ur(OD(s.width,l[0]),r),h=Ur(OD(s.height,l[1]),o),c=i&&i.type,p=FC(i,[\"treemapZoomToNode\",\"treemapRootToNode\"],t),d=\"treemapRender\"===c||\"treemapMove\"===c?i.rootRect:null,f=t.getViewRoot(),g=GC(f);if(\"treemapMove\"!==c){var y=\"treemapZoomToNode\"===c?function(t,e,n,i,r){var o,a=(e||{}).node,s=[i,r];if(!a||a===n)return s;var l=i*r,u=l*t.option.zoomToNodeRatio;for(;o=a.parentNode;){for(var h=0,c=o.children,p=0,d=c.length;pQr&&(u=Qr),a=o}ua[1]&&(a[1]=e)}))):a=[NaN,NaN];return{sum:i,dataExtent:a}}(e,a,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,n,i,r){if(!i)return n;for(var o=t.get(\"visibleMin\"),a=r.length,s=a,l=a-1;l>=0;l--){var u=r[\"asc\"===i?a-l-1:l].getValue();u/n*ei&&(i=a));var l=t.area*t.area,u=e*e*n;return l?LD(u*i/l,l/(u*r)):1/0}function WD(t,e,n,i,r){var o=e===n.width?0:1,a=1-o,s=[\"x\",\"y\"],l=[\"width\",\"height\"],u=n[s[o]],h=e?t.area/e:0;(r||h>n[l[a]])&&(h=n[l[a]]);for(var c=0,p=t.length;ci&&(i=e);var o=i%2?i+2:i+3;r=[];for(var a=0;a0&&(m[0]=-m[0],m[1]=-m[1]);var _=v[0]<0?-1:1;if(\"start\"!==i.__position&&\"end\"!==i.__position){var b=-Math.atan2(v[1],v[0]);u[0].8?\"left\":h[0]<-.8?\"right\":\"center\",p=h[1]>.8?\"top\":h[1]<-.8?\"bottom\":\"middle\";break;case\"start\":i.x=-h[0]*f+l[0],i.y=-h[1]*g+l[1],c=h[0]>.8?\"right\":h[0]<-.8?\"left\":\"center\",p=h[1]>.8?\"bottom\":h[1]<-.8?\"top\":\"middle\";break;case\"insideStartTop\":case\"insideStart\":case\"insideStartBottom\":i.x=f*_+l[0],i.y=l[1]+w,c=v[0]<0?\"right\":\"left\",i.originX=-f*_,i.originY=-w;break;case\"insideMiddleTop\":case\"insideMiddle\":case\"insideMiddleBottom\":case\"middle\":i.x=x[0],i.y=x[1]+w,c=\"center\",i.originY=-w;break;case\"insideEndTop\":case\"insideEnd\":case\"insideEndBottom\":i.x=-f*_+u[0],i.y=u[1]+w,c=v[0]>=0?\"right\":\"left\",i.originX=f*_,i.originY=-w}i.scaleX=i.scaleY=r,i.setStyle({verticalAlign:i.__verticalAlign||p,align:i.__align||c})}}}function S(t,e){var n=t.__specifiedRotation;if(null==n){var i=a.tangentAt(e);t.attr(\"rotation\",(1===e?-1:1)*Math.PI/2-Math.atan2(i[1],i[0]))}else t.attr(\"rotation\",n)}},e}(Er),TA=function(){function t(t){this.group=new Er,this._LineCtor=t||IA}return t.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var n=this,i=n.group,r=n._lineData;n._lineData=t,r||i.removeAll();var o=CA(t);t.diff(r).add((function(n){e._doAdd(t,n,o)})).update((function(n,i){e._doUpdate(r,t,i,n,o)})).remove((function(t){i.remove(r.getItemGraphicEl(t))})).execute()},t.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl((function(e,n){e.updateLayout(t,n)}),this)},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=CA(t),this._lineData=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e){function n(t){t.isGroup||function(t){return t.animators&&t.animators.length>0}(t)||(t.incremental=!0,t.ensureState(\"emphasis\").hoverLayer=!0)}this._progressiveEls=[];for(var i=t.start;i=0?i+=u:i-=u:f>=0?i-=u:i+=u}return i}function zA(t,e){var n=[],i=Cn,r=[[],[],[]],o=[[],[]],a=[];e/=2,t.eachEdge((function(t,s){var l=t.getLayout(),u=t.getVisual(\"fromSymbol\"),h=t.getVisual(\"toSymbol\");l.__original||(l.__original=[Tt(l[0]),Tt(l[1])],l[2]&&l.__original.push(Tt(l[2])));var c=l.__original;if(null!=l[2]){if(It(r[0],c[0]),It(r[1],c[2]),It(r[2],c[1]),u&&\"none\"!==u){var p=aA(t.node1),d=EA(r,c[0],p*e);i(r[0][0],r[1][0],r[2][0],d,n),r[0][0]=n[3],r[1][0]=n[4],i(r[0][1],r[1][1],r[2][1],d,n),r[0][1]=n[3],r[1][1]=n[4]}if(h&&\"none\"!==h){p=aA(t.node2),d=EA(r,c[1],p*e);i(r[0][0],r[1][0],r[2][0],d,n),r[1][0]=n[1],r[2][0]=n[2],i(r[0][1],r[1][1],r[2][1],d,n),r[1][1]=n[1],r[2][1]=n[2]}It(l[0],r[0]),It(l[1],r[2]),It(l[2],r[1])}else{if(It(o[0],c[0]),It(o[1],c[1]),kt(a,o[1],o[0]),Et(a,a),u&&\"none\"!==u){p=aA(t.node1);At(o[0],o[0],a,p*e)}if(h&&\"none\"!==h){p=aA(t.node2);At(o[1],o[1],a,-p*e)}It(l[0],o[0]),It(l[1],o[1])}}))}function VA(t){return\"view\"===t.type}var BA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){var n=new iS,i=new TA,r=this.group;this._controller=new BI(e.getZr()),this._controllerHost={target:r},r.add(n.group),r.add(i.group),this._symbolDraw=n,this._lineDraw=i,this._firstRender=!0},e.prototype.render=function(t,e,n){var i=this,r=t.coordinateSystem;this._model=t;var o=this._symbolDraw,a=this._lineDraw,s=this.group;if(VA(r)){var l={x:r.x,y:r.y,scaleX:r.scaleX,scaleY:r.scaleY};this._firstRender?s.attr(l):dh(s,l,t)}zA(t.getGraph(),oA(t));var u=t.getData();o.updateData(u);var h=t.getEdgeData();a.updateData(h),this._updateNodeAndLinkScale(),this._updateController(t,e,n),clearTimeout(this._layoutTimeout);var c=t.forceLayout,p=t.get([\"force\",\"layoutAnimation\"]);c&&this._startForceLayoutIteration(c,p);var d=t.get(\"layout\");u.graph.eachNode((function(e){var n=e.dataIndex,r=e.getGraphicEl(),o=e.getModel();if(r){r.off(\"drag\").off(\"dragend\");var a=o.get(\"draggable\");a&&r.on(\"drag\",(function(o){switch(d){case\"force\":c.warmUp(),!i._layouting&&i._startForceLayoutIteration(c,p),c.setFixed(n),u.setItemLayout(n,[r.x,r.y]);break;case\"circular\":u.setItemLayout(n,[r.x,r.y]),e.setLayout({fixed:!0},!0),uA(t,\"symbolSize\",e,[o.offsetX,o.offsetY]),i.updateLayout(t);break;default:u.setItemLayout(n,[r.x,r.y]),iA(t.getGraph(),t),i.updateLayout(t)}})).on(\"dragend\",(function(){c&&c.setUnfixed(n)})),r.setDraggable(a,!!o.get(\"cursor\")),\"adjacency\"===o.get([\"emphasis\",\"focus\"])&&(Js(r).focus=e.getAdjacentDataIndices())}})),u.graph.eachEdge((function(t){var e=t.getGraphicEl(),n=t.getModel().get([\"emphasis\",\"focus\"]);e&&\"adjacency\"===n&&(Js(e).focus={edge:[t.dataIndex],node:[t.node1.dataIndex,t.node2.dataIndex]})}));var f=\"circular\"===t.get(\"layout\")&&t.get([\"circular\",\"rotateLabel\"]),g=u.getLayout(\"cx\"),y=u.getLayout(\"cy\");u.graph.eachNode((function(t){cA(t,f,g,y)})),this._firstRender=!1},e.prototype.dispose=function(){this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,e){var n=this;!function i(){t.step((function(t){n.updateLayout(n._model),(n._layouting=!t)&&(e?n._layoutTimeout=setTimeout(i,16):i())}))}()},e.prototype._updateController=function(t,e,n){var i=this,r=this._controller,o=this._controllerHost,a=this.group;r.setPointerChecker((function(e,i,r){var o=a.getBoundingRect();return o.applyTransform(a.transform),o.contain(i,r)&&!ZI(e,n,t)})),VA(t.coordinateSystem)?(r.enable(t.get(\"roam\")),o.zoomLimit=t.get(\"scaleLimit\"),o.zoom=t.coordinateSystem.getZoom(),r.off(\"pan\").off(\"zoom\").on(\"pan\",(function(e){HI(o,e.dx,e.dy),n.dispatchAction({seriesId:t.id,type:\"graphRoam\",dx:e.dx,dy:e.dy})})).on(\"zoom\",(function(e){YI(o,e.scale,e.originX,e.originY),n.dispatchAction({seriesId:t.id,type:\"graphRoam\",zoom:e.scale,originX:e.originX,originY:e.originY}),i._updateNodeAndLinkScale(),zA(t.getGraph(),oA(t)),i._lineDraw.updateLayout(),n.updateLabelLayout()}))):r.disable()},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,e=t.getData(),n=oA(t);e.eachItemGraphicEl((function(t,e){t&&t.setSymbolScale(n)}))},e.prototype.updateLayout=function(t){zA(t.getGraph(),oA(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(t,e){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type=\"graph\",e}(Tg);function FA(t){return\"_EC_\"+t}var GA=function(){function t(t){this.type=\"graph\",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=t||!1}return t.prototype.isDirected=function(){return this._directed},t.prototype.addNode=function(t,e){t=null==t?\"\"+e:\"\"+t;var n=this._nodesMap;if(!n[FA(t)]){var i=new WA(t,e);return i.hostGraph=this,this.nodes.push(i),n[FA(t)]=i,i}},t.prototype.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},t.prototype.getNodeById=function(t){return this._nodesMap[FA(t)]},t.prototype.addEdge=function(t,e,n){var i=this._nodesMap,r=this._edgesMap;if(j(t)&&(t=this.nodes[t]),j(e)&&(e=this.nodes[e]),t instanceof WA||(t=i[FA(t)]),e instanceof WA||(e=i[FA(e)]),t&&e){var o=t.id+\"-\"+e.id,a=new HA(t,e,n);return a.hostGraph=this,this._directed&&(t.outEdges.push(a),e.inEdges.push(a)),t.edges.push(a),t!==e&&e.edges.push(a),this.edges.push(a),r[o]=a,a}},t.prototype.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},t.prototype.getEdge=function(t,e){t instanceof WA&&(t=t.id),e instanceof WA&&(e=e.id);var n=this._edgesMap;return this._directed?n[t+\"-\"+e]:n[t+\"-\"+e]||n[e+\"-\"+t]},t.prototype.eachNode=function(t,e){for(var n=this.nodes,i=n.length,r=0;r=0&&t.call(e,n[r],r)},t.prototype.eachEdge=function(t,e){for(var n=this.edges,i=n.length,r=0;r=0&&n[r].node1.dataIndex>=0&&n[r].node2.dataIndex>=0&&t.call(e,n[r],r)},t.prototype.breadthFirstTraverse=function(t,e,n,i){if(e instanceof WA||(e=this._nodesMap[FA(e)]),e){for(var r=\"out\"===n?\"outEdges\":\"in\"===n?\"inEdges\":\"edges\",o=0;o=0&&n.node2.dataIndex>=0}));for(r=0,o=i.length;r=0&&this[t][e].setItemVisual(this.dataIndex,n,i)},getVisual:function(n){return this[t][e].getItemVisual(this.dataIndex,n)},setLayout:function(n,i){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,n,i)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}}function UA(t,e,n,i,r){for(var o=new GA(i),a=0;a \"+p)),u++)}var d,f=n.get(\"coordinateSystem\");if(\"cartesian2d\"===f||\"polar\"===f)d=hx(t,n);else{var g=vd.get(f),y=g&&g.dimensions||[];P(y,\"value\")<0&&y.concat([\"value\"]);var v=nx(t,{coordDimensions:y,encodeDefine:n.getEncode()}).dimensions;(d=new ex(v,n)).initData(t)}var m=new ex([\"value\"],n);return m.initData(l,s),r&&r(d,m),kC({mainData:d,struct:o,structAttr:\"graph\",datas:{node:d,edge:m},datasAttr:{node:\"data\",edge:\"edgeData\"}}),o.update(),o}R(WA,YA(\"hostGraph\",\"data\")),R(HA,YA(\"hostGraph\",\"edgeData\"));var XA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments);var n=this;function i(){return n._categoriesData}this.legendVisualProvider=new mM(i,i),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(e){t.prototype.mergeDefaultAndTheme.apply(this,arguments),bo(e,\"edgeLabel\",[\"show\"])},e.prototype.getInitialData=function(t,e){var n,i=t.edges||t.links||[],r=t.data||t.nodes||[],o=this;if(r&&i){KD(n=this)&&(n.__curvenessList=[],n.__edgeMap={},$D(n));var a=UA(r,i,this,!0,(function(t,e){t.wrapMethod(\"getItemModel\",(function(t){var e=o._categoriesModels[t.getShallow(\"category\")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t}));var n=Sc.prototype.getModel;function i(t,e){var i=n.call(this,t,e);return i.resolveParentPath=r,i}function r(t){if(t&&(\"label\"===t[0]||\"label\"===t[1])){var e=t.slice();return\"label\"===t[0]?e[0]=\"edgeLabel\":\"label\"===t[1]&&(e[1]=\"edgeLabel\"),e}return t}e.wrapMethod(\"getItemModel\",(function(t){return t.resolveParentPath=r,t.getModel=i,t}))}));return E(a.edges,(function(t){!function(t,e,n,i){if(KD(n)){var r=JD(t,e,n),o=n.__edgeMap,a=o[QD(r)];o[r]&&!a?o[r].isForward=!0:a&&o[r]&&(a.isForward=!0,o[r].isForward=!1),o[r]=o[r]||[],o[r].push(i)}}(t.node1,t.node2,this,t.dataIndex)}),this),a.data}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,e,n){if(\"edge\"===n){var i=this.getData(),r=this.getDataParams(t,n),o=i.graph.getEdgeByIndex(t),a=i.getName(o.node1.dataIndex),s=i.getName(o.node2.dataIndex),l=[];return null!=a&&l.push(a),null!=s&&l.push(s),Qf(\"nameValue\",{name:l.join(\" > \"),value:r.value,noValue:null==r.value})}return cg({series:this,dataIndex:t,multipleSeries:e})},e.prototype._updateCategoriesData=function(){var t=z(this.option.categories||[],(function(t){return null!=t.value?t:A({value:0},t)})),e=new ex([\"value\"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray((function(t){return e.getItemModel(t)}))},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return t.prototype.isAnimationEnabled.call(this)&&!(\"force\"===this.get(\"layout\")&&this.get([\"force\",\"layoutAnimation\"]))},e.type=\"series.graph\",e.dependencies=[\"grid\",\"polar\",\"geo\",\"singleAxis\",\"calendar\"],e.defaultOption={z:2,coordinateSystem:\"view\",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:\"center\",top:\"center\",symbol:\"circle\",symbolSize:10,edgeSymbol:[\"none\",\"none\"],edgeSymbolSize:10,edgeLabel:{position:\"middle\",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:\"{b}\"},itemStyle:{},lineStyle:{color:\"#aaa\",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:\"#212121\"}}},e}(fg),ZA={type:\"graphRoam\",event:\"graphRoam\",update:\"none\"};var jA=function(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0},qA=function(t){function e(e){var n=t.call(this,e)||this;return n.type=\"pointer\",n}return n(e,t),e.prototype.getDefaultShape=function(){return new jA},e.prototype.buildPath=function(t,e){var n=Math.cos,i=Math.sin,r=e.r,o=e.width,a=e.angle,s=e.x-n(a)*o*(o>=r/3?1:2),l=e.y-i(a)*o*(o>=r/3?1:2);a=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+n(a)*o,e.y+i(a)*o),t.lineTo(e.x+n(e.angle)*r,e.y+i(e.angle)*r),t.lineTo(e.x-n(a)*o,e.y-i(a)*o),t.lineTo(s,l)},e}(Ms);function KA(t,e){var n=null==t?\"\":t+\"\";return e&&(X(e)?n=e.replace(\"{value}\",n):U(e)&&(n=e(t))),n}var $A=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeAll();var i=t.get([\"axisLine\",\"lineStyle\",\"color\"]),r=function(t,e){var n=t.get(\"center\"),i=e.getWidth(),r=e.getHeight(),o=Math.min(i,r);return{cx:Ur(n[0],e.getWidth()),cy:Ur(n[1],e.getHeight()),r:Ur(t.get(\"radius\"),o/2)}}(t,n);this._renderMain(t,e,n,i,r),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,e,n,i,r){var o=this.group,a=t.get(\"clockwise\"),s=-t.get(\"startAngle\")/180*Math.PI,l=-t.get(\"endAngle\")/180*Math.PI,u=t.getModel(\"axisLine\"),h=u.get(\"roundCap\")?ES:Eu,c=u.get(\"show\"),p=u.getModel(\"lineStyle\"),d=p.get(\"width\"),f=[s,l];is(f,!a);for(var g=(l=f[1])-(s=f[0]),y=s,v=[],m=0;c&&m=t&&(0===e?0:i[e-1][0])Math.PI/2&&(V+=Math.PI):\"tangential\"===z?V=-M-Math.PI/2:j(z)&&(V=z*Math.PI/180),0===V?c.add(new Bs({style:ec(x,{text:O,x:N,y:E,verticalAlign:h<-.8?\"top\":h>.8?\"bottom\":\"middle\",align:u<-.4?\"left\":u>.4?\"right\":\"center\"},{inheritColor:R}),silent:!0})):c.add(new Bs({style:ec(x,{text:O,x:N,y:E,verticalAlign:\"middle\",align:\"center\"},{inheritColor:R}),silent:!0,originX:N,originY:E,rotation:V}))}if(m.get(\"show\")&&k!==_){P=(P=m.get(\"distance\"))?P+l:l;for(var B=0;B<=b;B++){u=Math.cos(M),h=Math.sin(M);var F=new Xu({shape:{x1:u*(f-P)+p,y1:h*(f-P)+d,x2:u*(f-S-P)+p,y2:h*(f-S-P)+d},silent:!0,style:D});\"auto\"===D.stroke&&F.setStyle({stroke:i((k+B/b)/_)}),c.add(F),M+=T}M-=T}else M+=I}},e.prototype._renderPointer=function(t,e,n,i,r,o,a,s,l){var u=this.group,h=this._data,c=this._progressEls,p=[],d=t.get([\"pointer\",\"show\"]),f=t.getModel(\"progress\"),g=f.get(\"show\"),y=t.getData(),v=y.mapDimension(\"value\"),m=+t.get(\"min\"),x=+t.get(\"max\"),_=[m,x],b=[o,a];function w(e,n){var i,o=y.getItemModel(e).getModel(\"pointer\"),a=Ur(o.get(\"width\"),r.r),s=Ur(o.get(\"length\"),r.r),l=t.get([\"pointer\",\"icon\"]),u=o.get(\"offsetCenter\"),h=Ur(u[0],r.r),c=Ur(u[1],r.r),p=o.get(\"keepAspect\");return(i=l?Vy(l,h-a/2,c-s,a,s,null,p):new qA({shape:{angle:-Math.PI/2,width:a,r:s,x:h,y:c}})).rotation=-(n+Math.PI/2),i.x=r.cx,i.y=r.cy,i}function S(t,e){var n=f.get(\"roundCap\")?ES:Eu,i=f.get(\"overlap\"),a=i?f.get(\"width\"):l/y.count(),u=i?r.r-a:r.r-(t+1)*a,h=i?r.r:r.r-t*a,c=new n({shape:{startAngle:o,endAngle:e,cx:r.cx,cy:r.cy,clockwise:s,r0:u,r:h}});return i&&(c.z2=x-y.get(v,t)%x),c}(g||d)&&(y.diff(h).add((function(e){var n=y.get(v,e);if(d){var i=w(e,o);fh(i,{rotation:-((isNaN(+n)?b[0]:Yr(n,_,b,!0))+Math.PI/2)},t),u.add(i),y.setItemGraphicEl(e,i)}if(g){var r=S(e,o),a=f.get(\"clip\");fh(r,{shape:{endAngle:Yr(n,_,b,a)}},t),u.add(r),Qs(t.seriesIndex,y.dataType,e,r),p[e]=r}})).update((function(e,n){var i=y.get(v,e);if(d){var r=h.getItemGraphicEl(n),a=r?r.rotation:o,s=w(e,a);s.rotation=a,dh(s,{rotation:-((isNaN(+i)?b[0]:Yr(i,_,b,!0))+Math.PI/2)},t),u.add(s),y.setItemGraphicEl(e,s)}if(g){var l=c[n],m=S(e,l?l.shape.endAngle:o),x=f.get(\"clip\");dh(m,{shape:{endAngle:Yr(i,_,b,x)}},t),u.add(m),Qs(t.seriesIndex,y.dataType,e,m),p[e]=m}})).execute(),y.each((function(t){var e=y.getItemModel(t),n=e.getModel(\"emphasis\"),r=n.get(\"focus\"),o=n.get(\"blurScope\"),a=n.get(\"disabled\");if(d){var s=y.getItemGraphicEl(t),l=y.getItemVisual(t,\"style\"),u=l.fill;if(s instanceof As){var h=s.style;s.useStyle(A({image:h.image,x:h.x,y:h.y,width:h.width,height:h.height},l))}else s.useStyle(l),\"pointer\"!==s.type&&s.setColor(u);s.setStyle(e.getModel([\"pointer\",\"itemStyle\"]).getItemStyle()),\"auto\"===s.style.fill&&s.setStyle(\"fill\",i(Yr(y.get(v,t),_,[0,1],!0))),s.z2EmphasisLift=0,Zl(s,e),Hl(s,r,o,a)}if(g){var c=p[t];c.useStyle(y.getItemVisual(t,\"style\")),c.setStyle(e.getModel([\"progress\",\"itemStyle\"]).getItemStyle()),c.z2EmphasisLift=0,Zl(c,e),Hl(c,r,o,a)}})),this._progressEls=p)},e.prototype._renderAnchor=function(t,e){var n=t.getModel(\"anchor\");if(n.get(\"show\")){var i=n.get(\"size\"),r=n.get(\"icon\"),o=n.get(\"offsetCenter\"),a=n.get(\"keepAspect\"),s=Vy(r,e.cx-i/2+Ur(o[0],e.r),e.cy-i/2+Ur(o[1],e.r),i,i,null,a);s.z2=n.get(\"showAbove\")?1:0,s.setStyle(n.getModel(\"itemStyle\").getItemStyle()),this.group.add(s)}},e.prototype._renderTitleAndDetail=function(t,e,n,i,r){var o=this,a=t.getData(),s=a.mapDimension(\"value\"),l=+t.get(\"min\"),u=+t.get(\"max\"),h=new Er,c=[],p=[],d=t.isAnimationEnabled(),f=t.get([\"pointer\",\"showAbove\"]);a.diff(this._data).add((function(t){c[t]=new Bs({silent:!0}),p[t]=new Bs({silent:!0})})).update((function(t,e){c[t]=o._titleEls[e],p[t]=o._detailEls[e]})).execute(),a.each((function(e){var n=a.getItemModel(e),o=a.get(s,e),g=new Er,y=i(Yr(o,[l,u],[0,1],!0)),v=n.getModel(\"title\");if(v.get(\"show\")){var m=v.get(\"offsetCenter\"),x=r.cx+Ur(m[0],r.r),_=r.cy+Ur(m[1],r.r);(D=c[e]).attr({z2:f?0:2,style:ec(v,{x:x,y:_,text:a.getName(e),align:\"center\",verticalAlign:\"middle\"},{inheritColor:y})}),g.add(D)}var b=n.getModel(\"detail\");if(b.get(\"show\")){var w=b.get(\"offsetCenter\"),S=r.cx+Ur(w[0],r.r),M=r.cy+Ur(w[1],r.r),I=Ur(b.get(\"width\"),r.r),T=Ur(b.get(\"height\"),r.r),C=t.get([\"progress\",\"show\"])?a.getItemVisual(e,\"style\").fill:y,D=p[e],A=b.get(\"formatter\");D.attr({z2:f?0:2,style:ec(b,{x:S,y:M,text:KA(o,A),width:isNaN(I)?null:I,height:isNaN(T)?null:T,align:\"center\",verticalAlign:\"middle\"},{inheritColor:C})}),uc(D,{normal:b},o,(function(t){return KA(t,A)})),d&&hc(D,e,a,t,{getFormattedLabel:function(t,e,n,i,r,a){return KA(a?a.interpolatedValue:o,A)}}),g.add(D)}h.add(g)})),this.group.add(h),this._titleEls=c,this._detailEls=p},e.type=\"gauge\",e}(Tg),JA=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath=\"itemStyle\",n}return n(e,t),e.prototype.getInitialData=function(t,e){return vM(this,[\"value\"])},e.type=\"series.gauge\",e.defaultOption={z:2,colorBy:\"data\",center:[\"50%\",\"50%\"],legendHoverLink:!0,radius:\"75%\",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,\"#E6EBF8\"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:\"#63677A\",width:3,type:\"solid\"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:\"#63677A\",width:1,type:\"solid\"}},axisLabel:{show:!0,distance:15,color:\"#464646\",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:\"60%\",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:\"circle\",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:\"#fff\",borderWidth:0,borderColor:\"#5470c6\"}},title:{show:!0,offsetCenter:[0,\"20%\"],color:\"#464646\",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:\"rgba(0,0,0,0)\",borderWidth:0,borderColor:\"#ccc\",width:100,height:null,padding:[5,10],offsetCenter:[0,\"40%\"],color:\"#464646\",fontSize:30,fontWeight:\"bold\",lineHeight:30,valueAnimation:!1}},e}(fg);var QA=[\"itemStyle\",\"opacity\"],tk=function(t){function e(e,n){var i=t.call(this)||this,r=i,o=new Hu,a=new Bs;return r.setTextContent(a),i.setTextGuideLine(o),i.updateData(e,n,!0),i}return n(e,t),e.prototype.updateData=function(t,e,n){var i=this,r=t.hostModel,o=t.getItemModel(e),a=t.getItemLayout(e),s=o.getModel(\"emphasis\"),l=o.get(QA);l=null==l?1:l,n||xh(i),i.useStyle(t.getItemVisual(e,\"style\")),i.style.lineJoin=\"round\",n?(i.setShape({points:a.points}),i.style.opacity=0,fh(i,{style:{opacity:l}},r,e)):dh(i,{style:{opacity:l},shape:{points:a.points}},r,e),Zl(i,o),this._updateLabel(t,e),Hl(this,s.get(\"focus\"),s.get(\"blurScope\"),s.get(\"disabled\"))},e.prototype._updateLabel=function(t,e){var n=this,i=this.getTextGuideLine(),r=n.getTextContent(),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e).label,l=t.getItemVisual(e,\"style\"),u=l.fill;Qh(r,tc(a),{labelFetcher:t.hostModel,labelDataIndex:e,defaultOpacity:l.opacity,defaultText:t.getName(e)},{normal:{align:s.textAlign,verticalAlign:s.verticalAlign}}),n.setTextConfig({local:!0,inside:!!s.inside,insideStroke:u,outsideFill:u});var h=s.linePoints;i.setShape({points:h}),n.textGuideLineConfig={anchor:h?new Ce(h[0][0],h[0][1]):null},dh(r,{style:{x:s.x,y:s.y}},o,e),r.attr({rotation:s.rotation,originX:s.x,originY:s.y,z2:10}),xb(n,_b(a),{stroke:u})},e}(Gu),ek=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreLabelLineUpdate=!0,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this._data,o=this.group;i.diff(r).add((function(t){var e=new tk(i,t);i.setItemGraphicEl(t,e),o.add(e)})).update((function(t,e){var n=r.getItemGraphicEl(e);n.updateData(i,t),o.add(n),i.setItemGraphicEl(t,n)})).remove((function(e){mh(r.getItemGraphicEl(e),t,e)})).execute(),this._data=i},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type=\"funnel\",e}(Tg),nk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new mM(W(this.getData,this),W(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.getInitialData=function(t,e){return vM(this,{coordDimensions:[\"value\"],encodeDefaulter:H($p,this)})},e.prototype._defaultLabelLine=function(t){bo(t,\"labelLine\",[\"show\"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.prototype.getDataParams=function(e){var n=this.getData(),i=t.prototype.getDataParams.call(this,e),r=n.mapDimension(\"value\"),o=n.getSum(r);return i.percent=o?+(n.get(r,e)/o*100).toFixed(2):0,i.$vars.push(\"percent\"),i},e.type=\"series.funnel\",e.defaultOption={z:2,legendHoverLink:!0,colorBy:\"data\",left:80,top:60,right:80,bottom:60,minSize:\"0%\",maxSize:\"100%\",sort:\"descending\",orient:\"vertical\",gap:0,funnelAlign:\"center\",label:{show:!0,position:\"outer\"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:\"#fff\",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:\"#212121\"}}},e}(fg);function ik(t,e){t.eachSeriesByType(\"funnel\",(function(t){var n=t.getData(),i=n.mapDimension(\"value\"),r=t.get(\"sort\"),o=function(t,e){return Tp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e),a=t.get(\"orient\"),s=o.width,l=o.height,u=function(t,e){for(var n=t.mapDimension(\"value\"),i=t.mapArray(n,(function(t){return t})),r=[],o=\"ascending\"===e,a=0,s=t.count();a5)return;var i=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);\"none\"!==i.behavior&&this._dispatchExpand({axisExpandWindow:i.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&yk(this,\"mousemove\")){var e=this._model,n=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),i=n.behavior;\"jump\"===i&&this._throttledDispatchExpand.debounceNextCall(e.get(\"axisExpandDebounce\")),this._throttledDispatchExpand(\"none\"===i?null:{axisExpandWindow:n.axisExpandWindow,animation:\"jump\"===i?null:{duration:0}})}}};function yk(t,e){var n=t._model;return n.get(\"axisExpandable\")&&n.get(\"axisExpandTriggerOn\")===e}var vk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){t.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var e=this.option;t&&C(e,t,!0),this._initDimensions()},e.prototype.contains=function(t,e){var n=t.get(\"parallelIndex\");return null!=n&&e.getComponent(\"parallel\",n)===this},e.prototype.setAxisExpand=function(t){E([\"axisExpandable\",\"axisExpandCenter\",\"axisExpandCount\",\"axisExpandWidth\",\"axisExpandWindow\"],(function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])}),this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[];E(B(this.ecModel.queryComponents({mainType:\"parallelAxis\"}),(function(t){return(t.get(\"parallelIndex\")||0)===this.componentIndex}),this),(function(n){t.push(\"dim\"+n.get(\"dim\")),e.push(n.componentIndex)}))},e.type=\"parallel\",e.dependencies=[\"parallelAxis\"],e.layoutMode=\"box\",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:\"horizontal\",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:\"click\",parallelAxisDefault:null},e}(Op),mk=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.type=r||\"value\",a.axisIndex=o,a}return n(e,t),e.prototype.isHorizontal=function(){return\"horizontal\"!==this.coordinateSystem.getModel().get(\"layout\")},e}(q_);function xk(t,e,n,i,r,o){t=t||0;var a=n[1]-n[0];if(null!=r&&(r=bk(r,[0,a])),null!=o&&(o=Math.max(o,null!=r?r:0)),\"all\"===i){var s=Math.abs(e[1]-e[0]);s=bk(s,[0,a]),r=o=bk(s,[r,o]),i=0}e[0]=bk(e[0],n),e[1]=bk(e[1],n);var l=_k(e,i);e[i]+=t;var u,h=r||0,c=n.slice();return l.sign<0?c[0]+=h:c[1]-=h,e[i]=bk(e[i],c),u=_k(e,i),null!=r&&(u.sign!==l.sign||u.spano&&(e[1-i]=e[i]+u.sign*o),e}function _k(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function bk(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}var wk=E,Sk=Math.min,Mk=Math.max,Ik=Math.floor,Tk=Math.ceil,Ck=Xr,Dk=Math.PI,Ak=function(){function t(t,e,n){this.type=\"parallel\",this._axesMap=yt(),this._axesLayout={},this.dimensions=t.dimensions,this._model=t,this._init(t,e,n)}return t.prototype._init=function(t,e,n){var i=t.dimensions,r=t.parallelAxisIndex;wk(i,(function(t,n){var i=r[n],o=e.getComponent(\"parallelAxis\",i),a=this._axesMap.set(t,new mk(t,c_(o),[0,0],o.get(\"type\"),i)),s=\"category\"===a.type;a.onBand=s&&o.get(\"boundaryGap\"),a.inverse=o.get(\"inverse\"),o.axis=a,a.model=o,a.coordinateSystem=o.coordinateSystem=this}),this)},t.prototype.update=function(t,e){this._updateAxesFromSeries(this._model,t)},t.prototype.containPoint=function(t){var e=this._makeLayoutInfo(),n=e.axisBase,i=e.layoutBase,r=e.pixelDimIndex,o=t[1-r],a=t[r];return o>=n&&o<=n+e.axisLength&&a>=i&&a<=i+e.layoutLength},t.prototype.getModel=function(){return this._model},t.prototype._updateAxesFromSeries=function(t,e){e.eachSeries((function(n){if(t.contains(n,e)){var i=n.getData();wk(this.dimensions,(function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(i,i.mapDimension(t)),h_(e.scale,e.model)}),this)}}),this)},t.prototype.resize=function(t,e){this._rect=Tp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},t.prototype.getRect=function(){return this._rect},t.prototype._makeLayoutInfo=function(){var t,e=this._model,n=this._rect,i=[\"x\",\"y\"],r=[\"width\",\"height\"],o=e.get(\"layout\"),a=\"horizontal\"===o?0:1,s=n[r[a]],l=[0,s],u=this.dimensions.length,h=kk(e.get(\"axisExpandWidth\"),l),c=kk(e.get(\"axisExpandCount\")||0,[0,u]),p=e.get(\"axisExpandable\")&&u>3&&u>c&&c>1&&h>0&&s>0,d=e.get(\"axisExpandWindow\");d?(t=kk(d[1]-d[0],l),d[1]=d[0]+t):(t=kk(h*(c-1),l),(d=[h*(e.get(\"axisExpandCenter\")||Ik(u/2))-t/2])[1]=d[0]+t);var f=(s-t)/(u-c);f<3&&(f=0);var g=[Ik(Ck(d[0]/h,1))+1,Tk(Ck(d[1]/h,1))-1],y=f/h*d[0];return{layout:o,pixelDimIndex:a,layoutBase:n[i[a]],layoutLength:s,axisBase:n[i[1-a]],axisLength:n[r[1-a]],axisExpandable:p,axisExpandWidth:h,axisCollapseWidth:f,axisExpandWindow:d,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:y}},t.prototype._layoutAxes=function(){var t=this._rect,e=this._axesMap,n=this.dimensions,i=this._makeLayoutInfo(),r=i.layout;e.each((function(t){var e=[0,i.axisLength],n=t.inverse?1:0;t.setExtent(e[n],e[1-n])})),wk(n,(function(e,n){var o=(i.axisExpandable?Pk:Lk)(n,i),a={horizontal:{x:o.position,y:i.axisLength},vertical:{x:0,y:o.position}},s={horizontal:Dk/2,vertical:0},l=[a[r].x+t.x,a[r].y+t.y],u=s[r],h=[1,0,0,1,0,0];we(h,h,u),be(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:o.axisNameAvailableWidth,axisLabelShow:o.axisLabelShow,nameTruncateMaxWidth:o.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}}),this)},t.prototype.getAxis=function(t){return this._axesMap.get(t)},t.prototype.dataToPoint=function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},t.prototype.eachActiveState=function(t,e,n,i){null==n&&(n=0),null==i&&(i=t.count());var r=this._axesMap,o=this.dimensions,a=[],s=[];E(o,(function(e){a.push(t.mapDimension(e)),s.push(r.get(e).model)}));for(var l=this.hasAxisBrushed(),u=n;ur*(1-h[0])?(l=\"jump\",a=s-r*(1-h[2])):(a=s-r*h[1])>=0&&(a=s-r*(1-h[1]))<=0&&(a=0),(a*=e.axisExpandWidth/u)?xk(a,i,o,\"all\"):l=\"none\";else{var p=i[1]-i[0];(i=[Mk(0,o[1]*s/p-p/2)])[1]=Sk(o[1],i[0]+p),i[0]=i[1]-p}return{axisExpandWindow:i,behavior:l}},t}();function kk(t,e){return Sk(Mk(t,e[0]),e[1])}function Lk(t,e){var n=e.layoutLength/(e.axisCount-1);return{position:n*t,axisNameAvailableWidth:n,axisLabelShow:!0}}function Pk(t,e){var n,i,r=e.layoutLength,o=e.axisExpandWidth,a=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return t=0;n--)Zr(e[n])},e.prototype.getActiveState=function(t){var e=this.activeIntervals;if(!e.length)return\"normal\";if(null==t||isNaN(+t))return\"inactive\";if(1===e.length){var n=e[0];if(n[0]<=t&&t<=n[1])return\"active\"}else for(var i=0,r=e.length;i6}(t)||o){if(a&&!o){\"single\"===s.brushMode&&Qk(t);var l=T(s);l.brushType=yL(l.brushType,a),l.panelId=a===Nk?null:a.panelId,o=t._creatingCover=Uk(t,l),t._covers.push(o)}if(o){var u=xL[yL(t._brushType,a)];o.__brushOption.range=u.getCreatingRange(pL(t,o,t._track)),i&&(Xk(t,o),u.updateCommon(t,o)),Zk(t,o),r={isEnd:i}}}else i&&\"single\"===s.brushMode&&s.removeOnClick&&$k(t,e,n)&&Qk(t)&&(r={isEnd:i,removeOnClick:!0});return r}function yL(t,e){return\"auto\"===t?e.defaultBrushType:t}var vL={mousedown:function(t){if(this._dragging)mL(this,t);else if(!t.target||!t.target.draggable){dL(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=$k(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=t.offsetX,n=t.offsetY,i=this.group.transformCoordToLocal(e,n);if(function(t,e,n){if(t._brushType&&!function(t,e,n){var i=t._zr;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}(t,e.offsetX,e.offsetY)){var i=t._zr,r=t._covers,o=$k(t,e,n);if(!t._dragging)for(var a=0;a=0&&(o[r[a].depth]=new Sc(r[a],this,e));if(i&&n){var s=UA(i,n,this,!0,(function(t,e){t.wrapMethod(\"getItemModel\",(function(t,e){var n=t.parentModel,i=n.getData().getItemLayout(e);if(i){var r=i.depth,o=n.levelModels[r];o&&(t.parentModel=o)}return t})),e.wrapMethod(\"getItemModel\",(function(t,e){var n=t.parentModel,i=n.getGraph().getEdgeByIndex(e).node1.getLayout();if(i){var r=i.depth,o=n.levelModels[r];o&&(t.parentModel=o)}return t}))}));return s.data}},e.prototype.setNodePosition=function(t,e){var n=(this.option.data||this.option.nodes)[t];n.localX=e[0],n.localY=e[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,e,n){function i(t){return isNaN(t)||null==t}if(\"edge\"===n){var r=this.getDataParams(t,n),o=r.data,a=r.value;return Qf(\"nameValue\",{name:o.source+\" -- \"+o.target,value:a,noValue:i(a)})}var s=this.getGraph().getNodeByIndex(t).getLayout().value,l=this.getDataParams(t,n).data.name;return Qf(\"nameValue\",{name:null!=l?l+\"\":null,value:s,noValue:i(s)})},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(e,n){var i=t.prototype.getDataParams.call(this,e,n);if(null==i.value&&\"node\"===n){var r=this.getGraph().getNodeByIndex(e).getLayout().value;i.value=r}return i},e.type=\"series.sankey\",e.defaultOption={z:2,coordinateSystem:\"view\",left:\"5%\",top:\"5%\",right:\"20%\",bottom:\"5%\",orient:\"horizontal\",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:\"right\",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:\"justify\",lineStyle:{color:\"#314656\",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:\"#212121\"}},animationEasing:\"linear\",animationDuration:1e3},e}(fg);function RL(t,e){t.eachSeriesByType(\"sankey\",(function(t){var n=t.get(\"nodeWidth\"),i=t.get(\"nodeGap\"),r=function(t,e){return Tp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=r;var o=r.width,a=r.height,s=t.getGraph(),l=s.nodes,u=s.edges;!function(t){E(t,(function(t){var e=YL(t.outEdges,HL),n=YL(t.inEdges,HL),i=t.getValue()||0,r=Math.max(e,n,i);t.setLayout({value:r},!0)}))}(l),function(t,e,n,i,r,o,a,s,l){(function(t,e,n,i,r,o,a){for(var s=[],l=[],u=[],h=[],c=0,p=0;p=0;v&&y.depth>d&&(d=y.depth),g.setLayout({depth:v?y.depth:c},!0),\"vertical\"===o?g.setLayout({dy:n},!0):g.setLayout({dx:n},!0);for(var m=0;mc-1?d:c-1;a&&\"left\"!==a&&function(t,e,n,i){if(\"right\"===e){for(var r=[],o=t,a=0;o.length;){for(var s=0;s0;o--)zL(s,l*=.99,a),EL(s,r,n,i,a),UL(s,l,a),EL(s,r,n,i,a)}(t,e,o,r,i,a,s),function(t,e){var n=\"vertical\"===e?\"x\":\"y\";E(t,(function(t){t.outEdges.sort((function(t,e){return t.node2.getLayout()[n]-e.node2.getLayout()[n]})),t.inEdges.sort((function(t,e){return t.node1.getLayout()[n]-e.node1.getLayout()[n]}))})),E(t,(function(t){var e=0,n=0;E(t.outEdges,(function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy})),E(t.inEdges,(function(t){t.setLayout({ty:n},!0),n+=t.getLayout().dy}))}))}(t,s)}(l,u,n,i,o,a,0!==B(l,(function(t){return 0===t.getLayout().value})).length?0:t.get(\"layoutIterations\"),t.get(\"orient\"),t.get(\"nodeAlign\"))}))}function NL(t){var e=t.hostGraph.data.getRawDataItem(t.dataIndex);return null!=e.depth&&e.depth>=0}function EL(t,e,n,i,r){var o=\"vertical\"===r?\"x\":\"y\";E(t,(function(t){var a,s,l;t.sort((function(t,e){return t.getLayout()[o]-e.getLayout()[o]}));for(var u=0,h=t.length,c=\"vertical\"===r?\"dx\":\"dy\",p=0;p0&&(a=s.getLayout()[o]+l,\"vertical\"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0)),u=s.getLayout()[o]+s.getLayout()[c]+e;if((l=u-e-(\"vertical\"===r?i:n))>0){a=s.getLayout()[o]-l,\"vertical\"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0),u=a;for(p=h-2;p>=0;--p)(l=(s=t[p]).getLayout()[o]+s.getLayout()[c]+e-u)>0&&(a=s.getLayout()[o]-l,\"vertical\"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0)),u=s.getLayout()[o]}}))}function zL(t,e,n){E(t.slice().reverse(),(function(t){E(t,(function(t){if(t.outEdges.length){var i=YL(t.outEdges,VL,n)/YL(t.outEdges,HL);if(isNaN(i)){var r=t.outEdges.length;i=r?YL(t.outEdges,BL,n)/r:0}if(\"vertical\"===n){var o=t.getLayout().x+(i-WL(t,n))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(i-WL(t,n))*e;t.setLayout({y:a},!0)}}}))}))}function VL(t,e){return WL(t.node2,e)*t.getValue()}function BL(t,e){return WL(t.node2,e)}function FL(t,e){return WL(t.node1,e)*t.getValue()}function GL(t,e){return WL(t.node1,e)}function WL(t,e){return\"vertical\"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function HL(t){return t.getValue()}function YL(t,e,n){for(var i=0,r=t.length,o=-1;++oo&&(o=e)})),E(n,(function(e){var n=new dD({type:\"color\",mappingMethod:\"linear\",dataExtent:[r,o],visual:t.get(\"color\")}).mapValueToVisual(e.getLayout().value),i=e.getModel().get([\"itemStyle\",\"color\"]);null!=i?(e.setVisual(\"color\",i),e.setVisual(\"style\",{fill:i})):(e.setVisual(\"color\",n),e.setVisual(\"style\",{fill:n}))}))}i.length&&E(i,(function(t){var e=t.getModel().get(\"lineStyle\");t.setVisual(\"style\",e)}))}))}var ZL=function(){function t(){}return t.prototype.getInitialData=function(t,e){var n,i,r=e.getComponent(\"xAxis\",this.get(\"xAxisIndex\")),o=e.getComponent(\"yAxis\",this.get(\"yAxisIndex\")),a=r.get(\"type\"),s=o.get(\"type\");\"category\"===a?(t.layout=\"horizontal\",n=r.getOrdinalMeta(),i=!0):\"category\"===s?(t.layout=\"vertical\",n=o.getOrdinalMeta(),i=!0):t.layout=t.layout||\"horizontal\";var l=[\"x\",\"y\"],u=\"horizontal\"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],p=[r,o],d=p[u].get(\"type\"),f=p[1-u].get(\"type\"),g=t.data;if(g&&i){var y=[];E(g,(function(t,e){var n;Y(t)?(n=t.slice(),t.unshift(e)):Y(t.value)?((n=A({},t)).value=n.value.slice(),t.value.unshift(e)):n=t,y.push(n)})),t.data=y}var v=this.defaultValueDimensions,m=[{name:h,type:Rm(d),ordinalMeta:n,otherDims:{tooltip:!1,itemName:0},dimsDef:[\"base\"]},{name:c,type:Rm(f),dimsDef:v.slice()}];return vM(this,{coordDimensions:m,dimensionsCount:v.length+1,encodeDefaulter:H(Kp,m,this)})},t.prototype.getBaseAxis=function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+\"Axis\",this.get(t+\"AxisIndex\")).axis},t}(),jL=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:\"min\",defaultTooltip:!0},{name:\"Q1\",defaultTooltip:!0},{name:\"median\",defaultTooltip:!0},{name:\"Q3\",defaultTooltip:!0},{name:\"max\",defaultTooltip:!0}],n.visualDrawType=\"stroke\",n}return n(e,t),e.type=\"series.boxplot\",e.dependencies=[\"xAxis\",\"yAxis\",\"grid\"],e.defaultOption={z:2,coordinateSystem:\"cartesian2d\",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:\"#fff\",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:\"rgba(0,0,0,0.2)\"}},animationDuration:800},e}(fg);R(jL,ZL,!0);var qL=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this.group,o=this._data;this._data||r.removeAll();var a=\"horizontal\"===t.get(\"layout\")?1:0;i.diff(o).add((function(t){if(i.hasValue(t)){var e=JL(i.getItemLayout(t),i,t,a,!0);i.setItemGraphicEl(t,e),r.add(e)}})).update((function(t,e){var n=o.getItemGraphicEl(e);if(i.hasValue(t)){var s=i.getItemLayout(t);n?(xh(n),QL(s,n,i,t)):n=JL(s,i,t,a),r.add(n),i.setItemGraphicEl(t,n)}else r.remove(n)})).remove((function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)})).execute(),this._data=i},e.prototype.remove=function(t){var e=this.group,n=this._data;this._data=null,n&&n.eachItemGraphicEl((function(t){t&&e.remove(t)}))},e.type=\"boxplot\",e}(Tg),KL=function(){},$L=function(t){function e(e){var n=t.call(this,e)||this;return n.type=\"boxplotBoxPath\",n}return n(e,t),e.prototype.getDefaultShape=function(){return new KL},e.prototype.buildPath=function(t,e){var n=e.points,i=0;for(t.moveTo(n[i][0],n[i][1]),i++;i<4;i++)t.lineTo(n[i][0],n[i][1]);for(t.closePath();ig){var _=[v,x];i.push(_)}}}return{boxData:n,outliers:i}}(e.getRawData(),t.config);return[{dimensions:[\"ItemName\",\"Low\",\"Q1\",\"Q2\",\"Q3\",\"High\"],data:i.boxData},{data:i.outliers}]}};var rP=[\"color\",\"borderColor\"],oP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,e,n){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,e,n,i){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},e.prototype.eachRendered=function(t){jh(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var e=t.pipelineContext.large;null!=this._isLargeDraw&&e===this._isLargeDraw||(this._isLargeDraw=e,this._clear())},e.prototype._renderNormal=function(t){var e=t.getData(),n=this._data,i=this.group,r=e.getLayout(\"isSimpleBox\"),o=t.get(\"clip\",!0),a=t.coordinateSystem,s=a.getArea&&a.getArea();this._data||i.removeAll(),e.diff(n).add((function(n){if(e.hasValue(n)){var a=e.getItemLayout(n);if(o&&uP(s,a))return;var l=lP(a,n,!0);fh(l,{shape:{points:a.ends}},t,n),hP(l,e,n,r),i.add(l),e.setItemGraphicEl(n,l)}})).update((function(a,l){var u=n.getItemGraphicEl(l);if(e.hasValue(a)){var h=e.getItemLayout(a);o&&uP(s,h)?i.remove(u):(u?(dh(u,{shape:{points:h.ends}},t,a),xh(u)):u=lP(h),hP(u,e,a,r),i.add(u),e.setItemGraphicEl(a,u))}else i.remove(u)})).remove((function(t){var e=n.getItemGraphicEl(t);e&&i.remove(e)})).execute(),this._data=e},e.prototype._renderLarge=function(t){this._clear(),fP(t,this.group);var e=t.get(\"clip\",!0)?yS(t.coordinateSystem,!1,t):null;e?this.group.setClipPath(e):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,e){for(var n,i=e.getData(),r=i.getLayout(\"isSimpleBox\");null!=(n=t.next());){var o=lP(i.getItemLayout(n));hP(o,i,n,r),o.incremental=!0,this.group.add(o),this._progressiveEls.push(o)}},e.prototype._incrementalRenderLarge=function(t,e){fP(e,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type=\"candlestick\",e}(Tg),aP=function(){},sP=function(t){function e(e){var n=t.call(this,e)||this;return n.type=\"normalCandlestickBox\",n}return n(e,t),e.prototype.getDefaultShape=function(){return new aP},e.prototype.buildPath=function(t,e){var n=e.points;this.__simpleBox?(t.moveTo(n[4][0],n[4][1]),t.lineTo(n[6][0],n[6][1])):(t.moveTo(n[0][0],n[0][1]),t.lineTo(n[1][0],n[1][1]),t.lineTo(n[2][0],n[2][1]),t.lineTo(n[3][0],n[3][1]),t.closePath(),t.moveTo(n[4][0],n[4][1]),t.lineTo(n[5][0],n[5][1]),t.moveTo(n[6][0],n[6][1]),t.lineTo(n[7][0],n[7][1]))},e}(Ms);function lP(t,e,n){var i=t.ends;return new sP({shape:{points:n?cP(i,t):i},z2:100})}function uP(t,e){for(var n=!0,i=0;i0?\"borderColor\":\"borderColor0\"])||n.get([\"itemStyle\",t>0?\"color\":\"color0\"]);0===t&&(r=n.get([\"itemStyle\",\"borderColorDoji\"]));var o=n.getModel(\"itemStyle\").getItemStyle(rP);e.useStyle(o),e.style.fill=null,e.style.stroke=r}var yP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:\"open\",defaultTooltip:!0},{name:\"close\",defaultTooltip:!0},{name:\"lowest\",defaultTooltip:!0},{name:\"highest\",defaultTooltip:!0}],n}return n(e,t),e.prototype.getShadowDim=function(){return\"open\"},e.prototype.brushSelector=function(t,e,n){var i=e.getItemLayout(t);return i&&n.rect(i.brushRect)},e.type=\"series.candlestick\",e.dependencies=[\"xAxis\",\"yAxis\",\"grid\"],e.defaultOption={z:2,coordinateSystem:\"cartesian2d\",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:\"#eb5454\",color0:\"#47b262\",borderColor:\"#eb5454\",borderColor0:\"#47b262\",borderColorDoji:null,borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:\"mod\",animationEasing:\"linear\",animationDuration:300},e}(fg);function vP(t){t&&Y(t.series)&&E(t.series,(function(t){q(t)&&\"k\"===t.type&&(t.type=\"candlestick\")}))}R(yP,ZL,!0);var mP=[\"itemStyle\",\"borderColor\"],xP=[\"itemStyle\",\"borderColor0\"],_P=[\"itemStyle\",\"borderColorDoji\"],bP=[\"itemStyle\",\"color\"],wP=[\"itemStyle\",\"color0\"],SP={seriesType:\"candlestick\",plan:Sg(),performRawSeries:!0,reset:function(t,e){function n(t,e){return e.get(t>0?bP:wP)}function i(t,e){return e.get(0===t?_P:t>0?mP:xP)}if(!e.isSeriesFiltered(t))return!t.pipelineContext.large&&{progress:function(t,e){for(var r;null!=(r=t.next());){var o=e.getItemModel(r),a=e.getItemLayout(r).sign,s=o.getItemStyle();s.fill=n(a,o),s.stroke=i(a,o)||s.fill,A(e.ensureUniqueItemVisual(r,\"style\"),s)}}}}},MP={seriesType:\"candlestick\",plan:Sg(),reset:function(t){var e=t.coordinateSystem,n=t.getData(),i=function(t,e){var n,i=t.getBaseAxis(),r=\"category\"===i.type?i.getBandWidth():(n=i.getExtent(),Math.abs(n[1]-n[0])/e.count()),o=Ur(rt(t.get(\"barMaxWidth\"),r),r),a=Ur(rt(t.get(\"barMinWidth\"),1),r),s=t.get(\"barWidth\");return null!=s?Ur(s,r):Math.max(Math.min(r/2,o),a)}(t,n),r=[\"x\",\"y\"],o=n.getDimensionIndex(n.mapDimension(r[0])),a=z(n.mapDimensionsAll(r[1]),n.getDimensionIndex,n),s=a[0],l=a[1],u=a[2],h=a[3];if(n.setLayout({candleWidth:i,isSimpleBox:i<=1.3}),!(o<0||a.length<4))return{progress:t.pipelineContext.large?function(n,i){var r,a,c=Ax(4*n.count),p=0,d=[],f=[],g=i.getStore(),y=!!t.get([\"itemStyle\",\"borderColorDoji\"]);for(;null!=(a=n.next());){var v=g.get(o,a),m=g.get(s,a),x=g.get(l,a),_=g.get(u,a),b=g.get(h,a);isNaN(v)||isNaN(_)||isNaN(b)?(c[p++]=NaN,p+=3):(c[p++]=IP(g,a,m,x,l,y),d[0]=v,d[1]=_,r=e.dataToPoint(d,null,f),c[p++]=r?r[0]:NaN,c[p++]=r?r[1]:NaN,d[1]=b,r=e.dataToPoint(d,null,f),c[p++]=r?r[1]:NaN)}i.setLayout(\"largePoints\",c)}:function(t,n){var r,a=n.getStore();for(;null!=(r=t.next());){var c=a.get(o,r),p=a.get(s,r),d=a.get(l,r),f=a.get(u,r),g=a.get(h,r),y=Math.min(p,d),v=Math.max(p,d),m=M(y,c),x=M(v,c),_=M(f,c),b=M(g,c),w=[];I(w,x,0),I(w,m,1),w.push(C(b),C(x),C(_),C(m));var S=!!n.getItemModel(r).get([\"itemStyle\",\"borderColorDoji\"]);n.setItemLayout(r,{sign:IP(a,r,p,d,l,S),initBaseline:p>d?x[1]:m[1],ends:w,brushRect:T(f,g,c)})}function M(t,n){var i=[];return i[0]=n,i[1]=t,isNaN(n)||isNaN(t)?[NaN,NaN]:e.dataToPoint(i)}function I(t,e,n){var r=e.slice(),o=e.slice();r[0]=Rh(r[0]+i/2,1,!1),o[0]=Rh(o[0]-i/2,1,!0),n?t.push(r,o):t.push(o,r)}function T(t,e,n){var r=M(t,n),o=M(e,n);return r[0]-=i/2,o[0]-=i/2,{x:r[0],y:r[1],width:i,height:o[1]-r[1]}}function C(t){return t[0]=Rh(t[0],1),t}}}}};function IP(t,e,n,i,r,o){return n>i?-1:n0?t.get(r,e-1)<=i?1:-1:1}function TP(t,e){var n=e.rippleEffectColor||e.color;t.eachChild((function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:\"stroke\"===e.brushType?n:null,fill:\"fill\"===e.brushType?n:null}})}))}var CP=function(t){function e(e,n){var i=t.call(this)||this,r=new Jw(e,n),o=new Er;return i.add(r),i.add(o),i.updateData(e,n),i}return n(e,t),e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var e=t.symbolType,n=t.color,i=t.rippleNumber,r=this.childAt(1),o=0;o0&&(o=this._getLineLength(i)/l*1e3),o!==this._period||a!==this._loop||s!==this._roundTrip){i.stopAnimation();var h=void 0;h=U(u)?u(n):u,i.__t>0&&(h=-o*i.__t),this._animateSymbol(i,o,h,a,s)}this._period=o,this._loop=a,this._roundTrip=s}},e.prototype._animateSymbol=function(t,e,n,i,r){if(e>0){t.__t=0;var o=this,a=t.animate(\"\",i).when(r?2*e:e,{__t:r?2:1}).delay(n).during((function(){o._updateSymbolPosition(t)}));i||a.done((function(){o.remove(t)})),a.start()}},e.prototype._getLineLength=function(t){return Vt(t.__p1,t.__cp1)+Vt(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},e.prototype.updateData=function(t,e,n){this.childAt(0).updateData(t,e,n),this._updateEffectSymbol(t,e)},e.prototype._updateSymbolPosition=function(t){var e=t.__p1,n=t.__p2,i=t.__cp1,r=t.__t<1?t.__t:2-t.__t,o=[t.x,t.y],a=o.slice(),s=Mn,l=In;o[0]=s(e[0],i[0],n[0],r),o[1]=s(e[1],i[1],n[1],r);var u=t.__t<1?l(e[0],i[0],n[0],r):l(n[0],i[0],e[0],1-r),h=t.__t<1?l(e[1],i[1],n[1],r):l(n[1],i[1],e[1],1-r);t.rotation=-Math.atan2(h,u)-Math.PI/2,\"line\"!==this._symbolType&&\"rect\"!==this._symbolType&&\"roundRect\"!==this._symbolType||(void 0!==t.__lastT&&t.__lastT=0&&!(i[o]<=e);o--);o=Math.min(o,r-2)}else{for(o=a;oe);o++);o=Math.min(o-1,r-2)}var s=(e-i[o])/(i[o+1]-i[o]),l=n[o],u=n[o+1];t.x=l[0]*(1-s)+s*u[0],t.y=l[1]*(1-s)+s*u[1];var h=t.__t<1?u[0]-l[0]:l[0]-u[0],c=t.__t<1?u[1]-l[1]:l[1]-u[1];t.rotation=-Math.atan2(c,h)-Math.PI/2,this._lastFrame=o,this._lastFramePercent=e,t.ignore=!1}},e}(kP),OP=function(){this.polyline=!1,this.curveness=0,this.segs=[]},RP=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:\"#000\",fill:null}},e.prototype.getDefaultShape=function(){return new OP},e.prototype.buildPath=function(t,e){var n,i=e.segs,r=e.curveness;if(e.polyline)for(n=this._off;n0){t.moveTo(i[n++],i[n++]);for(var a=1;a0){var c=(s+u)/2-(l-h)*r,p=(l+h)/2-(u-s)*r;t.quadraticCurveTo(c,p,u,h)}else t.lineTo(u,h)}this.incremental&&(this._off=n,this.notClear=!0)},e.prototype.findDataIndex=function(t,e){var n=this.shape,i=n.segs,r=n.curveness,o=this.style.lineWidth;if(n.polyline)for(var a=0,s=0;s0)for(var u=i[s++],h=i[s++],c=1;c0){if(ss(u,h,(u+p)/2-(h-d)*r,(h+d)/2-(p-u)*r,p,d,o,t,e))return a}else if(os(u,h,p,d,o,t,e))return a;a++}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape.segs,n=1/0,i=1/0,r=-1/0,o=-1/0,a=0;a0&&(o.dataIndex=n+t.__startIndex)}))},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),EP={seriesType:\"lines\",plan:Sg(),reset:function(t){var e=t.coordinateSystem;if(e){var n=t.get(\"polyline\"),i=t.pipelineContext.large;return{progress:function(r,o){var a=[];if(i){var s=void 0,l=r.end-r.start;if(n){for(var u=0,h=r.start;h0&&(l||s.configLayer(o,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(a/10+.9,1),0)})),r.updateData(i);var u=t.get(\"clip\",!0)&&yS(t.coordinateSystem,!1,t);u?this.group.setClipPath(u):this.group.removeClipPath(),this._lastZlevel=o,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateLineDraw(i,t).incrementalPrepareUpdate(i),this._clearLayer(n),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,e,n){var i=t.getData(),r=t.pipelineContext;if(!this._finished||r.large||r.progressiveRender)return{update:!0};var o=EP.reset(t,e,n);o.progress&&o.progress({start:0,end:i.count(),count:i.count()},i),this._lineDraw.updateLayout(),this._clearLayer(n)},e.prototype._updateLineDraw=function(t,e){var n=this._lineDraw,i=this._showEffect(e),r=!!e.get(\"polyline\"),o=e.pipelineContext.large;return n&&i===this._hasEffet&&r===this._isPolyline&&o===this._isLargeDraw||(n&&n.remove(),n=this._lineDraw=o?new NP:new TA(r?i?PP:LP:i?kP:IA),this._hasEffet=i,this._isPolyline=r,this._isLargeDraw=o),this.group.add(n.group),n},e.prototype._showEffect=function(t){return!!t.get([\"effect\",\"show\"])},e.prototype._clearLayer=function(t){var e=t.getZr();\"svg\"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},e.prototype.dispose=function(t,e){this.remove(t,e)},e.type=\"lines\",e}(Tg),VP=\"undefined\"==typeof Uint32Array?Array:Uint32Array,BP=\"undefined\"==typeof Float64Array?Array:Float64Array;function FP(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=z(e,(function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),D([e,t[0],t[1]])})))}var GP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath=\"lineStyle\",n.visualDrawType=\"stroke\",n}return n(e,t),e.prototype.init=function(e){e.data=e.data||[],FP(e);var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count)),t.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(e){if(FP(e),e.data){var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count))}t.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=vt(this._flatCoords,e.flatCoords),this._flatCoordsOffset=vt(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var e=this.getData().getItemModel(t),n=e.option instanceof Array?e.option:e.getShallow(\"coords\");return n},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,e){if(this._flatCoordsOffset){for(var n=this._flatCoordsOffset[2*t],i=this._flatCoordsOffset[2*t+1],r=0;r \")})},e.prototype.preventIncremental=function(){return!!this.get([\"effect\",\"show\"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get(\"progressive\"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get(\"progressiveThreshold\"):t},e.prototype.getZLevelKey=function(){var t=this.getModel(\"effect\"),e=t.get(\"trailLength\");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get(\"show\")&&e>0?e+\"\":\"\"},e.type=\"series.lines\",e.dependencies=[\"grid\",\"polar\",\"geo\",\"calendar\"],e.defaultOption={coordinateSystem:\"geo\",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:[\"none\",\"none\"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:\"circle\",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:\"end\"},lineStyle:{opacity:.5}},e}(fg);function WP(t){return t instanceof Array||(t=[t,t]),t}var HP={seriesType:\"lines\",reset:function(t){var e=WP(t.get(\"symbol\")),n=WP(t.get(\"symbolSize\")),i=t.getData();return i.setVisual(\"fromSymbol\",e&&e[0]),i.setVisual(\"toSymbol\",e&&e[1]),i.setVisual(\"fromSymbolSize\",n&&n[0]),i.setVisual(\"toSymbolSize\",n&&n[1]),{dataEach:i.hasItemOption?function(t,e){var n=t.getItemModel(e),i=WP(n.getShallow(\"symbol\",!0)),r=WP(n.getShallow(\"symbolSize\",!0));i[0]&&t.setItemVisual(e,\"fromSymbol\",i[0]),i[1]&&t.setItemVisual(e,\"toSymbol\",i[1]),r[0]&&t.setItemVisual(e,\"fromSymbolSize\",r[0]),r[1]&&t.setItemVisual(e,\"toSymbolSize\",r[1])}:null}}};var YP=function(){function t(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var t=h.createCanvas();this.canvas=t}return t.prototype.update=function(t,e,n,i,r,o){var a=this._getBrush(),s=this._getGradient(r,\"inRange\"),l=this._getGradient(r,\"outOfRange\"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext(\"2d\"),p=t.length;h.width=e,h.height=n;for(var d=0;d0){var I=o(v)?s:l;v>0&&(v=v*S+w),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(m,0,0),h},t.prototype._getBrush=function(){var t=this._brushCanvas||(this._brushCanvas=h.createCanvas()),e=this.pointSize+this.blurSize,n=2*e;t.width=n,t.height=n;var i=t.getContext(\"2d\");return i.clearRect(0,0,n,n),i.shadowOffsetX=n,i.shadowBlur=this.blurSize,i.shadowColor=\"#000\",i.beginPath(),i.arc(-e,e,this.pointSize,0,2*Math.PI,!0),i.closePath(),i.fill(),t},t.prototype._getGradient=function(t,e){for(var n=this._gradientPixels,i=n[e]||(n[e]=new Uint8ClampedArray(1024)),r=[0,0,0,0],o=0,a=0;a<256;a++)t[e](a/255,!0,r),i[o++]=r[0],i[o++]=r[1],i[o++]=r[2],i[o++]=r[3];return i},t}();function UP(t){var e=t.dimensions;return\"lng\"===e[0]&&\"lat\"===e[1]}var XP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i;e.eachComponent(\"visualMap\",(function(e){e.eachTargetSeries((function(n){n===t&&(i=e)}))})),this._progressiveEls=null,this.group.removeAll();var r=t.coordinateSystem;\"cartesian2d\"===r.type||\"calendar\"===r.type?this._renderOnCartesianAndCalendar(t,n,0,t.getData().count()):UP(r)&&this._renderOnGeo(r,t,i,n)},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll()},e.prototype.incrementalRender=function(t,e,n,i){var r=e.coordinateSystem;r&&(UP(r)?this.render(e,n,i):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(e,i,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){jh(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,e,n,i,r){var o,a,s,l,u=t.coordinateSystem,h=vS(u,\"cartesian2d\");if(h){var c=u.getAxis(\"x\"),p=u.getAxis(\"y\");0,o=c.getBandWidth()+.5,a=p.getBandWidth()+.5,s=c.scale.getExtent(),l=p.scale.getExtent()}for(var d=this.group,f=t.getData(),g=t.getModel([\"emphasis\",\"itemStyle\"]).getItemStyle(),y=t.getModel([\"blur\",\"itemStyle\"]).getItemStyle(),v=t.getModel([\"select\",\"itemStyle\"]).getItemStyle(),m=t.get([\"itemStyle\",\"borderRadius\"]),x=tc(t),_=t.getModel(\"emphasis\"),b=_.get(\"focus\"),w=_.get(\"blurScope\"),S=_.get(\"disabled\"),M=h?[f.mapDimension(\"x\"),f.mapDimension(\"y\"),f.mapDimension(\"value\")]:[f.mapDimension(\"time\"),f.mapDimension(\"value\")],I=n;Is[1]||Al[1])continue;var k=u.dataToPoint([D,A]);T=new Es({shape:{x:k[0]-o/2,y:k[1]-a/2,width:o,height:a},style:C})}else{if(isNaN(f.get(M[1],I)))continue;T=new Es({z2:1,shape:u.dataToRect([f.get(M[0],I)]).contentShape,style:C})}if(f.hasItemOption){var L=f.getItemModel(I),P=L.getModel(\"emphasis\");g=P.getModel(\"itemStyle\").getItemStyle(),y=L.getModel([\"blur\",\"itemStyle\"]).getItemStyle(),v=L.getModel([\"select\",\"itemStyle\"]).getItemStyle(),m=L.get([\"itemStyle\",\"borderRadius\"]),b=P.get(\"focus\"),w=P.get(\"blurScope\"),S=P.get(\"disabled\"),x=tc(L)}T.shape.r=m;var O=t.getRawValue(I),R=\"-\";O&&null!=O[2]&&(R=O[2]+\"\"),Qh(T,x,{labelFetcher:t,labelDataIndex:I,defaultOpacity:C.opacity,defaultText:R}),T.ensureState(\"emphasis\").style=g,T.ensureState(\"blur\").style=y,T.ensureState(\"select\").style=v,Hl(T,b,w,S),T.incremental=r,r&&(T.states.emphasis.hoverLayer=!0),d.add(T),f.setItemGraphicEl(I,T),this._progressiveEls&&this._progressiveEls.push(T)}},e.prototype._renderOnGeo=function(t,e,n,i){var r=n.targetVisuals.inRange,o=n.targetVisuals.outOfRange,a=e.getData(),s=this._hmLayer||this._hmLayer||new YP;s.blurSize=e.get(\"blurSize\"),s.pointSize=e.get(\"pointSize\"),s.minOpacity=e.get(\"minOpacity\"),s.maxOpacity=e.get(\"maxOpacity\");var l=t.getViewRect().clone(),u=t.getRoamTransform();l.applyTransform(u);var h=Math.max(l.x,0),c=Math.max(l.y,0),p=Math.min(l.width+l.x,i.getWidth()),d=Math.min(l.height+l.y,i.getHeight()),f=p-h,g=d-c,y=[a.mapDimension(\"lng\"),a.mapDimension(\"lat\"),a.mapDimension(\"value\")],v=a.mapArray(y,(function(e,n,i){var r=t.dataToPoint([e,n]);return r[0]-=h,r[1]-=c,r.push(i),r})),m=n.getExtent(),x=\"visualMap.continuous\"===n.type?function(t,e){var n=t[1]-t[0];return e=[(e[0]-t[0])/n,(e[1]-t[0])/n],function(t){return t>=e[0]&&t<=e[1]}}(m,n.option.range):function(t,e,n){var i=t[1]-t[0],r=(e=z(e,(function(e){return{interval:[(e.interval[0]-t[0])/i,(e.interval[1]-t[0])/i]}}))).length,o=0;return function(t){var i;for(i=o;i=0;i--){var a;if((a=e[i].interval)[0]<=t&&t<=a[1]){o=i;break}}return i>=0&&i0?1:-1}(n,o,r,i,c),function(t,e,n,i,r,o,a,s,l,u){var h,c=l.valueDim,p=l.categoryDim,d=Math.abs(n[p.wh]),f=t.getItemVisual(e,\"symbolSize\");h=Y(f)?f.slice():null==f?[\"100%\",\"100%\"]:[f,f];h[p.index]=Ur(h[p.index],d),h[c.index]=Ur(h[c.index],i?d:Math.abs(o)),u.symbolSize=h,(u.symbolScale=[h[0]/s,h[1]/s])[c.index]*=(l.isHorizontal?-1:1)*a}(t,e,r,o,0,c.boundingLength,c.pxSign,u,i,c),function(t,e,n,i,r){var o=t.get(jP)||0;o&&(KP.attr({scaleX:e[0],scaleY:e[1],rotation:n}),KP.updateTransform(),o/=KP.getLineScale(),o*=e[i.valueDim.index]);r.valueLineWidth=o||0}(n,c.symbolScale,l,i,c);var p=c.symbolSize,d=Fy(n.get(\"symbolOffset\"),p);return function(t,e,n,i,r,o,a,s,l,u,h,c){var p=h.categoryDim,d=h.valueDim,f=c.pxSign,g=Math.max(e[d.index]+s,0),y=g;if(i){var v=Math.abs(l),m=it(t.get(\"symbolMargin\"),\"15%\")+\"\",x=!1;m.lastIndexOf(\"!\")===m.length-1&&(x=!0,m=m.slice(0,m.length-1));var _=Ur(m,e[d.index]),b=Math.max(g+2*_,0),w=x?0:2*_,S=ho(i),M=S?i:fO((v+w)/b);b=g+2*(_=(v-M*g)/2/(x?M:Math.max(M-1,1))),w=x?0:2*_,S||\"fixed\"===i||(M=u?fO((Math.abs(u)+w)/b):0),y=M*b-w,c.repeatTimes=M,c.symbolMargin=_}var I=f*(y/2),T=c.pathPosition=[];T[p.index]=n[p.wh]/2,T[d.index]=\"start\"===a?I:\"end\"===a?l-I:l/2,o&&(T[0]+=o[0],T[1]+=o[1]);var C=c.bundlePosition=[];C[p.index]=n[p.xy],C[d.index]=n[d.xy];var D=c.barRectShape=A({},n);D[d.wh]=f*Math.max(Math.abs(n[d.wh]),Math.abs(T[d.index]+I)),D[p.wh]=n[p.wh];var k=c.clipShape={};k[p.xy]=-n[p.xy],k[p.wh]=h.ecSize[p.wh],k[d.xy]=0,k[d.wh]=n[d.wh]}(n,p,r,o,0,d,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,i,c),c}function QP(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function tO(t){var e=t.symbolPatternSize,n=Vy(t.symbolType,-e/2,-e/2,e,e);return n.attr({culling:!0}),\"image\"!==n.type&&n.setStyle({strokeNoScale:!0}),n}function eO(t,e,n,i){var r=t.__pictorialBundle,o=n.symbolSize,a=n.valueLineWidth,s=n.pathPosition,l=e.valueDim,u=n.repeatTimes||0,h=0,c=o[e.valueDim.index]+a+2*n.symbolMargin;for(cO(t,(function(t){t.__pictorialAnimationIndex=h,t.__pictorialRepeatTimes=u,h0:i<0)&&(r=u-1-t),e[l.index]=c*(r-u/2+.5)+s[l.index],{x:e[0],y:e[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation}}}function nO(t,e,n,i){var r=t.__pictorialBundle,o=t.__pictorialMainPath;o?pO(o,null,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation},n,i):(o=t.__pictorialMainPath=tO(n),r.add(o),pO(o,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:0,scaleY:0,rotation:n.rotation},{scaleX:n.symbolScale[0],scaleY:n.symbolScale[1]},n,i))}function iO(t,e,n){var i=A({},e.barRectShape),r=t.__pictorialBarRect;r?pO(r,null,{shape:i},e,n):((r=t.__pictorialBarRect=new Es({z2:2,shape:i,silent:!0,style:{stroke:\"transparent\",fill:\"transparent\",lineWidth:0}})).disableMorphing=!0,t.add(r))}function rO(t,e,n,i){if(n.symbolClip){var r=t.__pictorialClipPath,o=A({},n.clipShape),a=e.valueDim,s=n.animationModel,l=n.dataIndex;if(r)dh(r,{shape:o},s,l);else{o[a.wh]=0,r=new Es({shape:o}),t.__pictorialBundle.setClipPath(r),t.__pictorialClipPath=r;var u={};u[a.wh]=n.clipShape[a.wh],qh[i?\"updateProps\":\"initProps\"](r,{shape:u},s,l)}}}function oO(t,e){var n=t.getItemModel(e);return n.getAnimationDelayParams=aO,n.isAnimationEnabled=sO,n}function aO(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function sO(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow(\"animation\")}function lO(t,e,n,i){var r=new Er,o=new Er;return r.add(o),r.__pictorialBundle=o,o.x=n.bundlePosition[0],o.y=n.bundlePosition[1],n.symbolRepeat?eO(r,e,n):nO(r,0,n),iO(r,n,i),rO(r,e,n,i),r.__pictorialShapeStr=hO(t,n),r.__pictorialSymbolMeta=n,r}function uO(t,e,n,i){var r=i.__pictorialBarRect;r&&r.removeTextContent();var o=[];cO(i,(function(t){o.push(t)})),i.__pictorialMainPath&&o.push(i.__pictorialMainPath),i.__pictorialClipPath&&(n=null),E(o,(function(t){yh(t,{scaleX:0,scaleY:0},n,e,(function(){i.parent&&i.parent.remove(i)}))})),t.setItemGraphicEl(e,null)}function hO(t,e){return[t.getItemVisual(e.dataIndex,\"symbol\")||\"none\",!!e.symbolRepeat,!!e.symbolClip].join(\":\")}function cO(t,e,n){E(t.__pictorialBundle.children(),(function(i){i!==t.__pictorialBarRect&&e.call(n,i)}))}function pO(t,e,n,i,r,o){e&&t.attr(e),i.symbolClip&&!r?n&&t.attr(n):n&&qh[r?\"updateProps\":\"initProps\"](t,n,i.animationModel,i.dataIndex,o)}function dO(t,e,n){var i=n.dataIndex,r=n.itemModel,o=r.getModel(\"emphasis\"),a=o.getModel(\"itemStyle\").getItemStyle(),s=r.getModel([\"blur\",\"itemStyle\"]).getItemStyle(),l=r.getModel([\"select\",\"itemStyle\"]).getItemStyle(),u=r.getShallow(\"cursor\"),h=o.get(\"focus\"),c=o.get(\"blurScope\"),p=o.get(\"scale\");cO(t,(function(t){if(t instanceof As){var e=t.style;t.useStyle(A({image:e.image,x:e.x,y:e.y,width:e.width,height:e.height},n.style))}else t.useStyle(n.style);var i=t.ensureState(\"emphasis\");i.style=a,p&&(i.scaleX=1.1*t.scaleX,i.scaleY=1.1*t.scaleY),t.ensureState(\"blur\").style=s,t.ensureState(\"select\").style=l,u&&(t.cursor=u),t.z2=n.z2}));var d=e.valueDim.posDesc[+(n.boundingLength>0)];Qh(t.__pictorialBarRect,tc(r),{labelFetcher:e.seriesModel,labelDataIndex:i,defaultText:Kw(e.seriesModel.getData(),i),inheritColor:n.style.fill,defaultOpacity:n.style.opacity,defaultOutsidePosition:d}),Hl(t,h,c,o.get(\"disabled\"))}function fO(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}var gO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n.defaultSymbol=\"roundRect\",n}return n(e,t),e.prototype.getInitialData=function(e){return e.stack=null,t.prototype.getInitialData.apply(this,arguments)},e.type=\"series.pictorialBar\",e.dependencies=[\"grid\"],e.defaultOption=Tc(OS.defaultOption,{symbol:\"circle\",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:\"end\",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:\"-100%\",progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:\"#212121\"}}}),e}(OS);var yO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._layers=[],n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this,o=this.group,a=t.getLayerSeries(),s=i.getLayout(\"layoutInfo\"),l=s.rect,u=s.boundaryGap;function h(t){return t.name}o.x=0,o.y=l.y+u[0];var c=new Lm(this._layersSeries||[],a,h,h),p=[];function d(e,n,s){var l=r._layers;if(\"remove\"!==e){for(var u,h,c=[],d=[],f=a[n].indices,g=0;go&&(o=s),i.push(s)}for(var u=0;uo&&(o=c)}return{y0:r,max:o}}(l),h=u.y0,c=n/u.max,p=o.length,d=o[0].indices.length,f=0;fMath.PI/2?\"right\":\"left\"):S&&\"center\"!==S?\"left\"===S?(m=r.r0+w,a>Math.PI/2&&(S=\"right\")):\"right\"===S&&(m=r.r-w,a>Math.PI/2&&(S=\"left\")):(m=o===2*Math.PI&&0===r.r0?0:(r.r+r.r0)/2,S=\"center\"),g.style.align=S,g.style.verticalAlign=f(p,\"verticalAlign\")||\"middle\",g.x=m*s+r.cx,g.y=m*l+r.cy;var M=f(p,\"rotate\"),I=0;\"radial\"===M?(I=-a)<-Math.PI/2&&(I+=Math.PI):\"tangential\"===M?(I=Math.PI/2-a)>Math.PI/2?I-=Math.PI:I<-Math.PI/2&&(I+=Math.PI):j(M)&&(I=M*Math.PI/180),g.rotation=I})),h.dirtyStyle()},e}(Eu),bO=\"sunburstRootToNode\",wO=\"sunburstHighlight\";var SO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n,i){var r=this;this.seriesModel=t,this.api=n,this.ecModel=e;var o=t.getData(),a=o.tree.root,s=t.getViewRoot(),l=this.group,u=t.get(\"renderLabelForZeroData\"),h=[];s.eachNode((function(t){h.push(t)}));var c=this._oldChildren||[];!function(i,r){if(0===i.length&&0===r.length)return;function s(t){return t.getId()}function h(s,h){!function(i,r){u||!i||i.getValue()||(i=null);if(i!==a&&r!==a)if(r&&r.piece)i?(r.piece.updateData(!1,i,t,e,n),o.setItemGraphicEl(i.dataIndex,r.piece)):function(t){if(!t)return;t.piece&&(l.remove(t.piece),t.piece=null)}(r);else if(i){var s=new _O(i,t,e,n);l.add(s),o.setItemGraphicEl(i.dataIndex,s)}}(null==s?null:i[s],null==h?null:r[h])}new Lm(r,i,s,s).add(h).update(h).remove(H(h,null)).execute()}(h,c),function(i,o){o.depth>0?(r.virtualPiece?r.virtualPiece.updateData(!1,i,t,e,n):(r.virtualPiece=new _O(i,t,e,n),l.add(r.virtualPiece)),o.piece.off(\"click\"),r.virtualPiece.on(\"click\",(function(t){r._rootToNode(o.parentNode)}))):r.virtualPiece&&(l.remove(r.virtualPiece),r.virtualPiece=null)}(a,s),this._initEvents(),this._oldChildren=h},e.prototype._initEvents=function(){var t=this;this.group.off(\"click\"),this.group.on(\"click\",(function(e){var n=!1;t.seriesModel.getViewRoot().eachNode((function(i){if(!n&&i.piece&&i.piece===e.target){var r=i.getModel().get(\"nodeClick\");if(\"rootToNode\"===r)t._rootToNode(i);else if(\"link\"===r){var o=i.getModel(),a=o.get(\"link\");if(a)_p(a,o.get(\"target\",!0)||\"_blank\")}n=!0}}))}))},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:bO,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,e){var n=e.getData().getItemLayout(0);if(n){var i=t[0]-n.cx,r=t[1]-n.cy,o=Math.sqrt(i*i+r*r);return o<=n.r&&o>=n.r0}},e.type=\"sunburst\",e}(Tg),MO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreStyleOnData=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};IO(n);var i=this._levelModels=z(t.levels||[],(function(t){return new Sc(t,this,e)}),this),r=BC.createTree(n,this,(function(t){t.wrapMethod(\"getItemModel\",(function(t,e){var n=r.getNodeByDataIndex(e),o=i[n.depth];return o&&(t.parentModel=o),t}))}));return r.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treePathInfo=HC(i,this),n},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){qC(this)},e.type=\"series.sunburst\",e.defaultOption={z:2,center:[\"50%\",\"50%\"],radius:[0,\"75%\"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:\"rootToNode\",renderLabelForZeroData:!1,label:{rotate:\"radial\",show:!0,opacity:1,align:\"center\",position:\"inside\",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:\"white\",borderType:\"solid\",shadowBlur:0,shadowColor:\"rgba(0, 0, 0, 0.2)\",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:\"descendant\"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:\"expansion\",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:\"desc\"},e}(fg);function IO(t){var e=0;E(t.children,(function(t){IO(t);var n=t.value;Y(n)&&(n=n[0]),e+=n}));var n=t.value;Y(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),Y(t.value)?t.value[0]=n:t.value=n}var TO=Math.PI/180;function CO(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.get(\"center\"),i=t.get(\"radius\");Y(i)||(i=[0,i]),Y(e)||(e=[e,e]);var r=n.getWidth(),o=n.getHeight(),a=Math.min(r,o),s=Ur(e[0],r),l=Ur(e[1],o),u=Ur(i[0],a/2),h=Ur(i[1],a/2),c=-t.get(\"startAngle\")*TO,p=t.get(\"minAngle\")*TO,d=t.getData().tree.root,f=t.getViewRoot(),g=f.depth,y=t.get(\"sort\");null!=y&&DO(f,y);var v=0;E(f.children,(function(t){!isNaN(t.getValue())&&v++}));var m=f.getValue(),x=Math.PI/(m||v)*2,_=f.depth>0,b=f.height-(_?-1:1),w=(h-u)/(b||1),S=t.get(\"clockwise\"),M=t.get(\"stillShowZeroSum\"),I=S?1:-1,T=function(e,n){if(e){var i=n;if(e!==d){var r=e.getValue(),o=0===m&&M?x:r*x;o1;)r=r.parentNode;var o=n.getColorFromPalette(r.name||r.dataIndex+\"\",e);return t.depth>1&&X(o)&&(o=Kn(o,(t.depth-1)/(i-1)*.5)),o}(r,t,i.root.height)),A(n.ensureUniqueItemVisual(r.dataIndex,\"style\"),o)}))}))}var kO={color:\"fill\",borderColor:\"stroke\"},LO={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},PO=Po(),OO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){this.currentZLevel=this.get(\"zlevel\",!0),this.currentZ=this.get(\"z\",!0)},e.prototype.getInitialData=function(t,e){return hx(null,this)},e.prototype.getDataParams=function(e,n,i){var r=t.prototype.getDataParams.call(this,e,n);return i&&(r.info=PO(i).info),r},e.type=\"series.custom\",e.dependencies=[\"grid\",\"polar\",\"geo\",\"singleAxis\",\"calendar\"],e.defaultOption={coordinateSystem:\"cartesian2d\",z:2,legendHoverLink:!0,clip:!1},e}(fg);function RO(t,e){return e=e||[0,0],z([\"x\",\"y\"],(function(n,i){var r=this.getAxis(n),o=e[i],a=t[i]/2;return\"category\"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(o-a)-r.dataToCoord(o+a))}),this)}function NO(t,e){return e=e||[0,0],z([0,1],(function(n){var i=e[n],r=t[n]/2,o=[],a=[];return o[n]=i-r,a[n]=i+r,o[1-n]=a[1-n]=e[1-n],Math.abs(this.dataToPoint(o)[n]-this.dataToPoint(a)[n])}),this)}function EO(t,e){var n=this.getAxis(),i=e instanceof Array?e[0]:e,r=(t instanceof Array?t[0]:t)/2;return\"category\"===n.type?n.getBandWidth():Math.abs(n.dataToCoord(i-r)-n.dataToCoord(i+r))}function zO(t,e){return e=e||[0,0],z([\"Radius\",\"Angle\"],(function(n,i){var r=this[\"get\"+n+\"Axis\"](),o=e[i],a=t[i]/2,s=\"category\"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(o-a)-r.dataToCoord(o+a));return\"Angle\"===n&&(s=s*Math.PI/180),s}),this)}function VO(t,e,n,i){return t&&(t.legacy||!1!==t.legacy&&!n&&!i&&\"tspan\"!==e&&(\"text\"===e||_t(t,\"text\")))}function BO(t,e,n){var i,r,o,a=t;if(\"text\"===e)o=a;else{o={},_t(a,\"text\")&&(o.text=a.text),_t(a,\"rich\")&&(o.rich=a.rich),_t(a,\"textFill\")&&(o.fill=a.textFill),_t(a,\"textStroke\")&&(o.stroke=a.textStroke),_t(a,\"fontFamily\")&&(o.fontFamily=a.fontFamily),_t(a,\"fontSize\")&&(o.fontSize=a.fontSize),_t(a,\"fontStyle\")&&(o.fontStyle=a.fontStyle),_t(a,\"fontWeight\")&&(o.fontWeight=a.fontWeight),r={type:\"text\",style:o,silent:!0},i={};var s=_t(a,\"textPosition\");n?i.position=s?a.textPosition:\"inside\":s&&(i.position=a.textPosition),_t(a,\"textPosition\")&&(i.position=a.textPosition),_t(a,\"textOffset\")&&(i.offset=a.textOffset),_t(a,\"textRotation\")&&(i.rotation=a.textRotation),_t(a,\"textDistance\")&&(i.distance=a.textDistance)}return FO(o,t),E(o.rich,(function(t){FO(t,t)})),{textConfig:i,textContent:r}}function FO(t,e){e&&(e.font=e.textFont||e.font,_t(e,\"textStrokeWidth\")&&(t.lineWidth=e.textStrokeWidth),_t(e,\"textAlign\")&&(t.align=e.textAlign),_t(e,\"textVerticalAlign\")&&(t.verticalAlign=e.textVerticalAlign),_t(e,\"textLineHeight\")&&(t.lineHeight=e.textLineHeight),_t(e,\"textWidth\")&&(t.width=e.textWidth),_t(e,\"textHeight\")&&(t.height=e.textHeight),_t(e,\"textBackgroundColor\")&&(t.backgroundColor=e.textBackgroundColor),_t(e,\"textPadding\")&&(t.padding=e.textPadding),_t(e,\"textBorderColor\")&&(t.borderColor=e.textBorderColor),_t(e,\"textBorderWidth\")&&(t.borderWidth=e.textBorderWidth),_t(e,\"textBorderRadius\")&&(t.borderRadius=e.textBorderRadius),_t(e,\"textBoxShadowColor\")&&(t.shadowColor=e.textBoxShadowColor),_t(e,\"textBoxShadowBlur\")&&(t.shadowBlur=e.textBoxShadowBlur),_t(e,\"textBoxShadowOffsetX\")&&(t.shadowOffsetX=e.textBoxShadowOffsetX),_t(e,\"textBoxShadowOffsetY\")&&(t.shadowOffsetY=e.textBoxShadowOffsetY))}function GO(t,e,n){var i=t;i.textPosition=i.textPosition||n.position||\"inside\",null!=n.offset&&(i.textOffset=n.offset),null!=n.rotation&&(i.textRotation=n.rotation),null!=n.distance&&(i.textDistance=n.distance);var r=i.textPosition.indexOf(\"inside\")>=0,o=t.fill||\"#000\";WO(i,e);var a=null==i.textFill;return r?a&&(i.textFill=n.insideFill||\"#fff\",!i.textStroke&&n.insideStroke&&(i.textStroke=n.insideStroke),!i.textStroke&&(i.textStroke=o),null==i.textStrokeWidth&&(i.textStrokeWidth=2)):(a&&(i.textFill=t.fill||n.outsideFill||\"#000\"),!i.textStroke&&n.outsideStroke&&(i.textStroke=n.outsideStroke)),i.text=e.text,i.rich=e.rich,E(e.rich,(function(t){WO(t,t)})),i}function WO(t,e){e&&(_t(e,\"fill\")&&(t.textFill=e.fill),_t(e,\"stroke\")&&(t.textStroke=e.fill),_t(e,\"lineWidth\")&&(t.textStrokeWidth=e.lineWidth),_t(e,\"font\")&&(t.font=e.font),_t(e,\"fontStyle\")&&(t.fontStyle=e.fontStyle),_t(e,\"fontWeight\")&&(t.fontWeight=e.fontWeight),_t(e,\"fontSize\")&&(t.fontSize=e.fontSize),_t(e,\"fontFamily\")&&(t.fontFamily=e.fontFamily),_t(e,\"align\")&&(t.textAlign=e.align),_t(e,\"verticalAlign\")&&(t.textVerticalAlign=e.verticalAlign),_t(e,\"lineHeight\")&&(t.textLineHeight=e.lineHeight),_t(e,\"width\")&&(t.textWidth=e.width),_t(e,\"height\")&&(t.textHeight=e.height),_t(e,\"backgroundColor\")&&(t.textBackgroundColor=e.backgroundColor),_t(e,\"padding\")&&(t.textPadding=e.padding),_t(e,\"borderColor\")&&(t.textBorderColor=e.borderColor),_t(e,\"borderWidth\")&&(t.textBorderWidth=e.borderWidth),_t(e,\"borderRadius\")&&(t.textBorderRadius=e.borderRadius),_t(e,\"shadowColor\")&&(t.textBoxShadowColor=e.shadowColor),_t(e,\"shadowBlur\")&&(t.textBoxShadowBlur=e.shadowBlur),_t(e,\"shadowOffsetX\")&&(t.textBoxShadowOffsetX=e.shadowOffsetX),_t(e,\"shadowOffsetY\")&&(t.textBoxShadowOffsetY=e.shadowOffsetY),_t(e,\"textShadowColor\")&&(t.textShadowColor=e.textShadowColor),_t(e,\"textShadowBlur\")&&(t.textShadowBlur=e.textShadowBlur),_t(e,\"textShadowOffsetX\")&&(t.textShadowOffsetX=e.textShadowOffsetX),_t(e,\"textShadowOffsetY\")&&(t.textShadowOffsetY=e.textShadowOffsetY))}var HO={position:[\"x\",\"y\"],scale:[\"scaleX\",\"scaleY\"],origin:[\"originX\",\"originY\"]},YO=G(HO),UO=(V(gr,(function(t,e){return t[e]=1,t}),{}),gr.join(\", \"),[\"\",\"style\",\"shape\",\"extra\"]),XO=Po();function ZO(t,e,n,i,r){var o=t+\"Animation\",a=ch(t,i,r)||{},s=XO(e).userDuring;return a.duration>0&&(a.during=s?W(tR,{el:e,userDuring:s}):null,a.setToFinal=!0,a.scope=t),A(a,n[o]),a}function jO(t,e,n,i){var r=(i=i||{}).dataIndex,o=i.isInit,a=i.clearStyle,s=n.isAnimationEnabled(),l=XO(t),u=e.style;l.userDuring=e.during;var h={},c={};if(function(t,e,n){for(var i=0;i=0)){var c=t.getAnimationStyleProps(),p=c?c.style:null;if(p){!r&&(r=i.style={});var d=G(n);for(u=0;u0&&t.animateFrom(p,d)}else!function(t,e,n,i,r){if(r){var o=ZO(\"update\",t,e,i,n);o.duration>0&&t.animateFrom(r,o)}}(t,e,r||0,n,h);qO(t,e),u?t.dirty():t.markRedraw()}function qO(t,e){for(var n=XO(t).leaveToProps,i=0;i=0){!o&&(o=i[t]={});var p=G(a);for(h=0;hi[1]&&i.reverse(),{coordSys:{type:\"polar\",cx:t.cx,cy:t.cy,r:i[1],r0:i[0]},api:{coord:function(i){var r=e.dataToRadius(i[0]),o=n.dataToAngle(i[1]),a=t.coordToPoint([r,o]);return a.push(r,o*Math.PI/180),a},size:W(zO,t)}}},calendar:function(t){var e=t.getRect(),n=t.getRangeInfo();return{coordSys:{type:\"calendar\",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:n.start,end:n.end,weeks:n.weeks,dayCount:n.allDay}},api:{coord:function(e,n){return t.dataToPoint(e,n)}}}}};function mR(t){return t instanceof Ms}function xR(t){return t instanceof wa}var _R=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n,i){this._progressiveEls=null;var r=this._data,o=t.getData(),a=this.group,s=IR(t,o,e,n);r||a.removeAll(),o.diff(r).add((function(e){CR(n,null,e,s(e,i),t,a,o)})).remove((function(e){var n=r.getItemGraphicEl(e);n&&KO(n,PO(n).option,t)})).update((function(e,l){var u=r.getItemGraphicEl(l);CR(n,u,e,s(e,i),t,a,o)})).execute();var l=t.get(\"clip\",!0)?yS(t.coordinateSystem,!1,t):null;l?a.setClipPath(l):a.removeClipPath(),this._data=o},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll(),this._data=null},e.prototype.incrementalRender=function(t,e,n,i,r){var o=e.getData(),a=IR(e,o,n,i),s=this._progressiveEls=[];function l(t){t.isGroup||(t.incremental=!0,t.ensureState(\"emphasis\").hoverLayer=!0)}for(var u=t.start;u=0?e.getStore().get(r,n):void 0}var o=e.get(i.name,n),a=i&&i.ordinalMeta;return a?a.categories[o]:o},styleEmphasis:function(n,i){0;null==i&&(i=s);var r=m(i,lR).getItemStyle(),o=x(i,lR),a=ec(o,null,null,!0,!0);a.text=o.getShallow(\"show\")?ot(t.getFormattedLabel(i,lR),t.getFormattedLabel(i,uR),Kw(e,i)):null;var l=nc(o,null,!0);return b(n,r),r=GO(r,a,l),n&&_(r,n),r.legacy=!0,r},visual:function(t,n){if(null==n&&(n=s),_t(kO,t)){var i=e.getItemVisual(n,\"style\");return i?i[kO[t]]:null}if(_t(LO,t))return e.getItemVisual(n,t)},barLayout:function(t){if(\"cartesian2d\"===o.type){return function(t){var e=[],n=t.axis,i=\"axis0\";if(\"category\"===n.type){for(var r=n.getBandWidth(),o=0;o=c;f--){var g=e.childAt(f);OR(e,g,r)}}(t,c,n,i,r),a>=0?o.replaceAt(c,a):o.add(c),c}function AR(t,e,n){var i,r=PO(t),o=e.type,a=e.shape,s=e.style;return n.isUniversalTransitionEnabled()||null!=o&&o!==r.customGraphicType||\"path\"===o&&((i=a)&&(_t(i,\"pathData\")||_t(i,\"d\")))&&zR(a)!==r.customPathData||\"image\"===o&&_t(s,\"image\")&&s.image!==r.customImagePath}function kR(t,e,n){var i=e?LR(t,e):t,r=e?PR(t,i,lR):t.style,o=t.type,a=i?i.textConfig:null,s=t.textContent,l=s?e?LR(s,e):s:null;if(r&&(n.isLegacy||VO(r,o,!!a,!!l))){n.isLegacy=!0;var u=BO(r,o,!e);!a&&u.textConfig&&(a=u.textConfig),!l&&u.textContent&&(l=u.textContent)}if(!e&&l){var h=l;!h.type&&(h.type=\"text\")}var c=e?n[e]:n.normal;c.cfg=a,c.conOpt=l}function LR(t,e){return e?t?t[e]:null:t}function PR(t,e,n){var i=e&&e.style;return null==i&&n===lR&&t&&(i=t.styleEmphasis),i}function OR(t,e,n){e&&KO(e,PO(t).option,n)}function RR(t,e){var n=t&&t.name;return null!=n?n:\"e\\0\\0\"+e}function NR(t,e){var n=this.context,i=null!=t?n.newChildren[t]:null,r=null!=e?n.oldChildren[e]:null;DR(n.api,r,n.dataIndex,i,n.seriesModel,n.group)}function ER(t){var e=this.context,n=e.oldChildren[t];n&&KO(n,PO(n).option,e.seriesModel)}function zR(t){return t&&(t.pathData||t.d)}var VR=Po(),BR=T,FR=W,GR=function(){function t(){this._dragging=!1,this.animationThreshold=15}return t.prototype.render=function(t,e,n,i){var r=e.get(\"value\"),o=e.get(\"status\");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,i||this._lastValue!==r||this._lastStatus!==o){this._lastValue=r,this._lastStatus=o;var a=this._group,s=this._handle;if(!o||\"hide\"===o)return a&&a.hide(),void(s&&s.hide());a&&a.show(),s&&s.show();var l={};this.makeElOption(l,r,t,e,n);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(a){var c=H(WR,e,h);this.updatePointerEl(a,l,c),this.updateLabelEl(a,l,c,e)}else a=this._group=new Er,this.createPointerEl(a,l,t,e),this.createLabelEl(a,l,t,e),n.getZr().add(a);XR(a,e,!0),this._renderHandle(r)}},t.prototype.remove=function(t){this.clear(t)},t.prototype.dispose=function(t){this.clear(t)},t.prototype.determineAnimation=function(t,e){var n=e.get(\"animation\"),i=t.axis,r=\"category\"===i.type,o=e.get(\"snap\");if(!o&&!r)return!1;if(\"auto\"===n||null==n){var a=this.animationThreshold;if(r&&i.getBandWidth()>a)return!0;if(o){var s=oI(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>a}return!1}return!0===n},t.prototype.makeElOption=function(t,e,n,i,r){},t.prototype.createPointerEl=function(t,e,n,i){var r=e.pointer;if(r){var o=VR(t).pointerEl=new qh[r.type](BR(e.pointer));t.add(o)}},t.prototype.createLabelEl=function(t,e,n,i){if(e.label){var r=VR(t).labelEl=new Bs(BR(e.label));t.add(r),YR(r,i)}},t.prototype.updatePointerEl=function(t,e,n){var i=VR(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},t.prototype.updateLabelEl=function(t,e,n,i){var r=VR(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{x:e.label.x,y:e.label.y}),YR(r,i))},t.prototype._renderHandle=function(t){if(!this._dragging&&this.updateHandleTransform){var e,n=this._axisPointerModel,i=this._api.getZr(),r=this._handle,o=n.getModel(\"handle\"),a=n.get(\"status\");if(!o.get(\"show\")||!a||\"hide\"===a)return r&&i.remove(r),void(this._handle=null);this._handle||(e=!0,r=this._handle=Wh(o.get(\"icon\"),{cursor:\"move\",draggable:!0,onmousemove:function(t){pe(t.event)},onmousedown:FR(this._onHandleDragMove,this,0,0),drift:FR(this._onHandleDragMove,this),ondragend:FR(this._onHandleDragEnd,this)}),i.add(r)),XR(r,n,!1),r.setStyle(o.getItemStyle(null,[\"color\",\"borderColor\",\"borderWidth\",\"opacity\",\"shadowColor\",\"shadowBlur\",\"shadowOffsetX\",\"shadowOffsetY\"]));var s=o.get(\"size\");Y(s)||(s=[s,s]),r.scaleX=s[0]/2,r.scaleY=s[1]/2,Eg(this,\"_doDispatchAxisPointer\",o.get(\"throttle\")||0,\"fixRate\"),this._moveHandleToValue(t,e)}},t.prototype._moveHandleToValue=function(t,e){WR(this._axisPointerModel,!e&&this._moveAnimation,this._handle,UR(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},t.prototype._onHandleDragMove=function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(UR(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(UR(i)),VR(n).lastProp=null,this._doDispatchAxisPointer()}},t.prototype._doDispatchAxisPointer=function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:\"updateAxisPointer\",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},t.prototype._onHandleDragEnd=function(){if(this._dragging=!1,this._handle){var t=this._axisPointerModel.get(\"value\");this._moveHandleToValue(t),this._api.dispatchAction({type:\"hideTip\"})}},t.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),zg(this,\"_doDispatchAxisPointer\")},t.prototype.doClear=function(){},t.prototype.buildLabel=function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}},t}();function WR(t,e,n,i){HR(VR(n).lastProp,i)||(VR(n).lastProp=i,e?dh(n,i,t):(n.stopAnimation(),n.attr(i)))}function HR(t,e){if(q(t)&&q(e)){var n=!0;return E(e,(function(e,i){n=n&&HR(t[i],e)})),!!n}return t===e}function YR(t,e){t[e.get([\"label\",\"show\"])?\"show\":\"hide\"]()}function UR(t){return{x:t.x||0,y:t.y||0,rotation:t.rotation||0}}function XR(t,e,n){var i=e.get(\"z\"),r=e.get(\"zlevel\");t&&t.traverse((function(t){\"group\"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)}))}function ZR(t){var e,n=t.get(\"type\"),i=t.getModel(n+\"Style\");return\"line\"===n?(e=i.getLineStyle()).fill=null:\"shadow\"===n&&((e=i.getAreaStyle()).stroke=null),e}function jR(t,e,n,i,r){var o=qR(n.get(\"value\"),e.axis,e.ecModel,n.get(\"seriesDataIndices\"),{precision:n.get([\"label\",\"precision\"]),formatter:n.get([\"label\",\"formatter\"])}),a=n.getModel(\"label\"),s=dp(a.get(\"padding\")||0),l=a.getFont(),u=_r(o,l),h=r.position,c=u.width+s[1]+s[3],p=u.height+s[0]+s[2],d=r.align;\"right\"===d&&(h[0]-=c),\"center\"===d&&(h[0]-=c/2);var f=r.verticalAlign;\"bottom\"===f&&(h[1]-=p),\"middle\"===f&&(h[1]-=p/2),function(t,e,n,i){var r=i.getWidth(),o=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,o)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}(h,c,p,i);var g=a.get(\"backgroundColor\");g&&\"auto\"!==g||(g=e.get([\"axisLine\",\"lineStyle\",\"color\"])),t.label={x:h[0],y:h[1],style:ec(a,{text:o,font:l,fill:a.getTextColor(),padding:s,backgroundColor:g}),z2:10}}function qR(t,e,n,i,r){t=e.scale.parse(t);var o=e.scale.getLabel({value:t},{precision:r.precision}),a=r.formatter;if(a){var s={value:d_(e,{value:t}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};E(i,(function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)})),X(a)?o=a.replace(\"{value}\",o):U(a)&&(o=a(s))}return o}function KR(t,e,n){var i=[1,0,0,1,0,0];return we(i,i,n.rotation),be(i,i,n.position),Eh([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function $R(t,e,n,i,r,o){var a=KM.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get([\"label\",\"margin\"]),jR(e,i,r,o,{position:KR(i.axis,t,n),align:a.textAlign,verticalAlign:a.textVerticalAlign})}function JR(t,e,n){return{x1:t[n=n||0],y1:t[1-n],x2:e[n],y2:e[1-n]}}function QR(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}}function tN(t,e,n,i,r,o){return{cx:t,cy:e,r0:n,r:i,startAngle:r,endAngle:o,clockwise:!0}}var eN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.grid,s=i.get(\"type\"),l=nN(a,o).getOtherAxis(o).getGlobalExtent(),u=o.toGlobalCoord(o.dataToCoord(e,!0));if(s&&\"none\"!==s){var h=ZR(i),c=iN[s](o,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}$R(e,t,FM(a.model,n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=FM(e.axis.grid.model,e,{labelInside:!1});i.labelMargin=n.get([\"handle\",\"margin\"]);var r=KR(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.grid,a=r.getGlobalExtent(!0),s=nN(o,r).getOtherAxis(r).getGlobalExtent(),l=\"x\"===r.dim?0:1,u=[t.x,t.y];u[l]+=e[l],u[l]=Math.min(a[1],u[l]),u[l]=Math.max(a[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{x:u[0],y:u[1],rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:\"middle\"},{align:\"center\"}][l]}},e}(GR);function nN(t,e){var n={};return n[e.dim+\"AxisIndex\"]=e.index,t.getCartesian(n)}var iN={line:function(t,e,n){return{type:\"Line\",subPixelOptimize:!0,shape:JR([e,n[0]],[e,n[1]],rN(t))}},shadow:function(t,e,n){var i=Math.max(1,t.getBandWidth()),r=n[1]-n[0];return{type:\"Rect\",shape:QR([e-i/2,n[0]],[i,r],rN(t))}}};function rN(t){return\"x\"===t.dim?0:1}var oN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"axisPointer\",e.defaultOption={show:\"auto\",z:50,type:\"line\",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:\"#B9BEC9\",width:1,type:\"dashed\"},shadowStyle:{color:\"rgba(210,219,238,0.2)\"},label:{show:!0,formatter:null,precision:\"auto\",margin:3,color:\"#fff\",padding:[5,7,5,7],backgroundColor:\"auto\",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:\"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z\",size:45,margin:50,color:\"#333\",shadowBlur:3,shadowColor:\"#aaa\",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(Op),aN=Po(),sN=E;function lN(t,e,n){if(!r.node){var i=e.getZr();aN(i).records||(aN(i).records={}),function(t,e){if(aN(t).initialized)return;function n(n,i){t.on(n,(function(n){var r=function(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}(e);sN(aN(t).records,(function(t){t&&i(t,n,r.dispatchAction)})),function(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]);n&&(n.dispatchAction=null,e.dispatchAction(n))}(r.pendings,e)}))}aN(t).initialized=!0,n(\"click\",H(hN,\"click\")),n(\"mousemove\",H(hN,\"mousemove\")),n(\"globalout\",uN)}(i,e),(aN(i).records[t]||(aN(i).records[t]={})).handler=n}}function uN(t,e,n){t.handler(\"leave\",null,n)}function hN(t,e,n,i){e.handler(t,n,i)}function cN(t,e){if(!r.node){var n=e.getZr();(aN(n).records||{})[t]&&(aN(n).records[t]=null)}}var pN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=e.getComponent(\"tooltip\"),r=t.get(\"triggerOn\")||i&&i.get(\"triggerOn\")||\"mousemove|click\";lN(\"axisPointer\",n,(function(t,e,n){\"none\"!==r&&(\"leave\"===t||r.indexOf(t)>=0)&&n({type:\"updateAxisPointer\",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})}))},e.prototype.remove=function(t,e){cN(\"axisPointer\",e)},e.prototype.dispose=function(t,e){cN(\"axisPointer\",e)},e.type=\"axisPointer\",e}(wg);function dN(t,e){var n,i=[],r=t.seriesIndex;if(null==r||!(n=e.getSeriesByIndex(r)))return{point:[]};var o=n.getData(),a=Lo(o,t);if(null==a||a<0||Y(a))return{point:[]};var s=o.getItemGraphicEl(a),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(a)||[];else if(l&&l.dataToPoint)if(t.isStacked){var u=l.getBaseAxis(),h=l.getOtherAxis(u).dim,c=u.dim,p=\"x\"===h||\"radius\"===h?1:0,d=o.mapDimension(c),f=[];f[p]=o.get(d,a),f[1-p]=o.get(o.getCalculationInfo(\"stackResultDimension\"),a),i=l.dataToPoint(f)||[]}else i=l.dataToPoint(o.getValues(z(l.dimensions,(function(t){return o.mapDimension(t)})),a))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),i=[g.x+g.width/2,g.y+g.height/2]}return{point:i,el:s}}var fN=Po();function gN(t,e,n){var i=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||W(n.dispatchAction,n),s=e.getComponent(\"axisPointer\").coordSysAxesInfo;if(s){_N(r)&&(r=dN({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=_N(r),u=o.axesInfo,h=s.axesInfo,c=\"leave\"===i||_N(r),p={},d={},f={list:[],map:{}},g={showPointer:H(vN,d),showTooltip:H(mN,f)};E(s.coordSysMap,(function(t,e){var n=l||t.containPoint(r);E(s.coordSysAxesInfo[e],(function(t,e){var i=t.axis,o=function(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}(u,t);if(!c&&n&&(!u||o)){var a=o&&o.value;null!=a||l||(a=i.pointToData(r)),null!=a&&yN(t,a,g,!1,p)}}))}));var y={};return E(h,(function(t,e){var n=t.linkGroup;n&&!d[e]&&E(n.axesInfo,(function(e,i){var r=d[i];if(e!==t&&r){var o=r.value;n.mapper&&(o=t.axis.scale.parse(n.mapper(o,xN(e),xN(t)))),y[t.key]=o}}))})),E(y,(function(t,e){yN(h[e],t,g,!0,p)})),function(t,e,n){var i=n.axesInfo=[];E(e,(function(e,n){var r=e.axisPointerModel.option,o=t[n];o?(!e.useHandle&&(r.status=\"show\"),r.value=o.value,r.seriesDataIndices=(o.payloadBatch||[]).slice()):!e.useHandle&&(r.status=\"hide\"),\"show\"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})}))}(d,h,p),function(t,e,n,i){if(_N(e)||!t.list.length)return void i({type:\"hideTip\"});var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:\"showTip\",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}(f,r,t,a),function(t,e,n){var i=n.getZr(),r=\"axisPointerLastHighlights\",o=fN(i)[r]||{},a=fN(i)[r]={};E(t,(function(t,e){var n=t.axisPointerModel.option;\"show\"===n.status&&E(n.seriesDataIndices,(function(t){var e=t.seriesIndex+\" | \"+t.dataIndex;a[e]=t}))}));var s=[],l=[];E(o,(function(t,e){!a[e]&&l.push(t)})),E(a,(function(t,e){!o[e]&&s.push(t)})),l.length&&n.dispatchAction({type:\"downplay\",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&n.dispatchAction({type:\"highlight\",escapeConnect:!0,notBlur:!0,batch:s})}(h,0,n),p}}function yN(t,e,n,i,r){var o=t.axis;if(!o.scale.isBlank()&&o.containData(e))if(t.involveSeries){var a=function(t,e){var n=e.axis,i=n.dim,r=t,o=[],a=Number.MAX_VALUE,s=-1;return E(e.seriesModels,(function(e,l){var u,h,c=e.getData().mapDimensionsAll(i);if(e.getAxisTooltipData){var p=e.getAxisTooltipData(c,t,n);h=p.dataIndices,u=p.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,\"category\"===n.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var d=t-u,f=Math.abs(d);f<=a&&((f=0&&s<0)&&(a=f,s=d,r=u,o.length=0),E(h,(function(t){o.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})})))}})),{payloadBatch:o,snapToValue:r}}(e,t),s=a.payloadBatch,l=a.snapToValue;s[0]&&null==r.seriesIndex&&A(r,s[0]),!i&&t.snap&&o.containData(l)&&null!=l&&(e=l),n.showPointer(t,e,s),n.showTooltip(t,a,l)}else n.showPointer(t,e)}function vN(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function mN(t,e,n,i){var r=n.payloadBatch,o=e.axis,a=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=sI(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:a.componentIndex,axisType:a.type,axisId:a.id,value:i,valueLabelOpt:{precision:s.get([\"label\",\"precision\"]),formatter:s.get([\"label\",\"formatter\"])},seriesDataIndices:r.slice()})}}function xN(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+\"AxisIndex\"]=e.componentIndex,n.axisName=n[i+\"AxisName\"]=e.name,n.axisId=n[i+\"AxisId\"]=e.id,n}function _N(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function bN(t){uI.registerAxisPointerClass(\"CartesianAxisPointer\",eN),t.registerComponentModel(oN),t.registerComponentView(pN),t.registerPreprocessor((function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!Y(e)&&(t.axisPointer.link=[e])}})),t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC,(function(t,e){t.getComponent(\"axisPointer\").coordSysAxesInfo=nI(t,e)})),t.registerAction({type:\"updateAxisPointer\",event:\"updateAxisPointer\",update:\":updateAxisPointer\"},gN)}var wN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis;\"angle\"===o.dim&&(this.animationThreshold=Math.PI/18);var a=o.polar,s=a.getOtherAxis(o).getExtent(),l=o.dataToCoord(e),u=i.get(\"type\");if(u&&\"none\"!==u){var h=ZR(i),c=SN[u](o,a,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}var p=function(t,e,n,i,r){var o=e.axis,a=o.dataToCoord(t),s=i.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=i.getRadiusAxis().getExtent();if(\"radius\"===o.dim){var p=[1,0,0,1,0,0];we(p,p,s),be(p,p,[i.cx,i.cy]),l=Eh([a,-r],p);var d=e.getModel(\"axisLabel\").get(\"rotate\")||0,f=KM.innerTextLayout(s,d*Math.PI/180,-1);u=f.textAlign,h=f.textVerticalAlign}else{var g=c[1];l=i.coordToPoint([g+r,a]);var y=i.cx,v=i.cy;u=Math.abs(l[0]-y)/g<.3?\"center\":l[0]>y?\"left\":\"right\",h=Math.abs(l[1]-v)/g<.3?\"middle\":l[1]>v?\"top\":\"bottom\"}return{position:l,align:u,verticalAlign:h}}(e,n,0,a,i.get([\"label\",\"margin\"]));jR(t,n,i,r,p)},e}(GR);var SN={line:function(t,e,n,i){return\"angle\"===t.dim?{type:\"Line\",shape:JR(e.coordToPoint([i[0],n]),e.coordToPoint([i[1],n]))}:{type:\"Circle\",shape:{cx:e.cx,cy:e.cy,r:n}}},shadow:function(t,e,n,i){var r=Math.max(1,t.getBandWidth()),o=Math.PI/180;return\"angle\"===t.dim?{type:\"Sector\",shape:tN(e.cx,e.cy,i[0],i[1],(-n-r/2)*o,(r/2-n)*o)}:{type:\"Sector\",shape:tN(e.cx,e.cy,n-r/2,n+r/2,0,2*Math.PI)}}},MN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.findAxisModel=function(t){var e;return this.ecModel.eachComponent(t,(function(t){t.getCoordSysModel()===this&&(e=t)}),this),e},e.type=\"polar\",e.dependencies=[\"radiusAxis\",\"angleAxis\"],e.defaultOption={z:0,center:[\"50%\",\"50%\"],radius:\"80%\"},e}(Op),IN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents(\"polar\",Eo).models[0]},e.type=\"polarAxis\",e}(Op);R(IN,m_);var TN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"angleAxis\",e}(IN),CN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"radiusAxis\",e}(IN),DN=function(t){function e(e,n){return t.call(this,\"radius\",e,n)||this}return n(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)[\"radius\"===this.dim?0:1]},e}(q_);DN.prototype.dataToRadius=q_.prototype.dataToCoord,DN.prototype.radiusToData=q_.prototype.coordToData;var AN=Po(),kN=function(t){function e(e,n){return t.call(this,\"angle\",e,n||[0,360])||this}return n(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)[\"radius\"===this.dim?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,e=t.getLabelModel(),n=t.scale,i=n.getExtent(),r=n.count();if(i[1]-i[0]<1)return 0;var o=i[0],a=t.dataToCoord(o+1)-t.dataToCoord(o),s=Math.abs(a),l=_r(null==o?\"\":o+\"\",e.getFont(),\"center\",\"top\"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=AN(t.model),p=c.lastAutoInterval,d=c.lastTickCount;return null!=p&&null!=d&&Math.abs(p-h)<=1&&Math.abs(d-r)<=1&&p>h?h=p:(c.lastTickCount=r,c.lastAutoInterval=h),h},e}(q_);kN.prototype.dataToAngle=q_.prototype.dataToCoord,kN.prototype.angleToData=q_.prototype.coordToData;var LN=[\"radius\",\"angle\"],PN=function(){function t(t){this.dimensions=LN,this.type=\"polar\",this.cx=0,this.cy=0,this._radiusAxis=new DN,this._angleAxis=new kN,this.axisPointerEnabled=!0,this.name=t||\"\",this._radiusAxis.polar=this._angleAxis.polar=this}return t.prototype.containPoint=function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},t.prototype.containData=function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},t.prototype.getAxis=function(t){return this[\"_\"+t+\"Axis\"]},t.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},t.prototype.getAxesByScale=function(t){var e=[],n=this._angleAxis,i=this._radiusAxis;return n.scale.type===t&&e.push(n),i.scale.type===t&&e.push(i),e},t.prototype.getAngleAxis=function(){return this._angleAxis},t.prototype.getRadiusAxis=function(){return this._radiusAxis},t.prototype.getOtherAxis=function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},t.prototype.getBaseAxis=function(){return this.getAxesByScale(\"ordinal\")[0]||this.getAxesByScale(\"time\")[0]||this.getAngleAxis()},t.prototype.getTooltipAxes=function(t){var e=null!=t&&\"auto\"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},t.prototype.dataToPoint=function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},t.prototype.pointToData=function(t,e){var n=this.pointToCoord(t);return[this._radiusAxis.radiusToData(n[0],e),this._angleAxis.angleToData(n[1],e)]},t.prototype.pointToCoord=function(t){var e=t[0]-this.cx,n=t[1]-this.cy,i=this.getAngleAxis(),r=i.getExtent(),o=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);i.inverse?o=a-360:a=o+360;var s=Math.sqrt(e*e+n*n);e/=s,n/=s;for(var l=Math.atan2(-n,e)/Math.PI*180,u=la;)l+=360*u;return[s,l]},t.prototype.coordToPoint=function(t){var e=t[0],n=t[1]/180*Math.PI;return[Math.cos(n)*e+this.cx,-Math.sin(n)*e+this.cy]},t.prototype.getArea=function(){var t=this.getAngleAxis(),e=this.getRadiusAxis().getExtent().slice();e[0]>e[1]&&e.reverse();var n=t.getExtent(),i=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-n[0]*i,endAngle:-n[1]*i,clockwise:t.inverse,contain:function(t,e){var n=t-this.cx,i=e-this.cy,r=n*n+i*i-1e-4,o=this.r,a=this.r0;return r<=o*o&&r>=a*a}}},t.prototype.convertToPixel=function(t,e,n){return ON(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return ON(e)===this?this.pointToData(n):null},t}();function ON(t){var e=t.seriesModel,n=t.polarModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}function RN(t,e){var n=this,i=n.getAngleAxis(),r=n.getRadiusAxis();if(i.scale.setExtent(1/0,-1/0),r.scale.setExtent(1/0,-1/0),t.eachSeries((function(t){if(t.coordinateSystem===n){var e=t.getData();E(v_(e,\"radius\"),(function(t){r.scale.unionExtentFromData(e,t)})),E(v_(e,\"angle\"),(function(t){i.scale.unionExtentFromData(e,t)}))}})),h_(i.scale,i.model),h_(r.scale,r.model),\"category\"===i.type&&!i.onBand){var o=i.getExtent(),a=360/i.scale.count();i.inverse?o[1]+=a:o[1]-=a,i.setExtent(o[0],o[1])}}function NN(t,e){if(t.type=e.get(\"type\"),t.scale=c_(e),t.onBand=e.get(\"boundaryGap\")&&\"category\"===t.type,t.inverse=e.get(\"inverse\"),function(t){return\"angleAxis\"===t.mainType}(e)){t.inverse=t.inverse!==e.get(\"clockwise\");var n=e.get(\"startAngle\");t.setExtent(n,n+(t.inverse?-360:360))}e.axis=t,t.model=e}var EN={dimensions:LN,create:function(t,e){var n=[];return t.eachComponent(\"polar\",(function(t,i){var r=new PN(i+\"\");r.update=RN;var o=r.getRadiusAxis(),a=r.getAngleAxis(),s=t.findAxisModel(\"radiusAxis\"),l=t.findAxisModel(\"angleAxis\");NN(o,s),NN(a,l),function(t,e,n){var i=e.get(\"center\"),r=n.getWidth(),o=n.getHeight();t.cx=Ur(i[0],r),t.cy=Ur(i[1],o);var a=t.getRadiusAxis(),s=Math.min(r,o)/2,l=e.get(\"radius\");null==l?l=[0,\"100%\"]:Y(l)||(l=[0,l]);var u=[Ur(l[0],s),Ur(l[1],s)];a.inverse?a.setExtent(u[1],u[0]):a.setExtent(u[0],u[1])}(r,t,e),n.push(r),t.coordinateSystem=r,r.model=t})),t.eachSeries((function(t){if(\"polar\"===t.get(\"coordinateSystem\")){var e=t.getReferringComponents(\"polar\",Eo).models[0];0,t.coordinateSystem=e.coordinateSystem}})),n}},zN=[\"axisLine\",\"axisLabel\",\"axisTick\",\"minorTick\",\"splitLine\",\"minorSplitLine\",\"splitArea\"];function VN(t,e,n){e[1]>e[0]&&(e=e.slice().reverse());var i=t.coordToPoint([e[0],n]),r=t.coordToPoint([e[1],n]);return{x1:i[0],y1:i[1],x2:r[0],y2:r[1]}}function BN(t){return t.getRadiusAxis().inverse?0:1}function FN(t){var e=t[0],n=t[t.length-1];e&&n&&Math.abs(Math.abs(e.coord-n.coord)-360)<1e-4&&t.pop()}var GN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass=\"PolarAxisPointer\",n}return n(e,t),e.prototype.render=function(t,e){if(this.group.removeAll(),t.get(\"show\")){var n=t.axis,i=n.polar,r=i.getRadiusAxis().getExtent(),o=n.getTicksCoords(),a=n.getMinorTicksCoords(),s=z(n.getViewLabels(),(function(t){t=T(t);var e=n.scale,i=\"ordinal\"===e.type?e.getRawOrdinalNumber(t.tickValue):t.tickValue;return t.coord=n.dataToCoord(i),t}));FN(s),FN(o),E(zN,(function(e){!t.get([e,\"show\"])||n.scale.isBlank()&&\"axisLine\"!==e||WN[e](this.group,t,i,o,a,r,s)}),this)}},e.type=\"angleAxis\",e}(uI),WN={axisLine:function(t,e,n,i,r,o){var a,s=e.getModel([\"axisLine\",\"lineStyle\"]),l=BN(n),u=l?0:1;(a=0===o[u]?new xu({shape:{cx:n.cx,cy:n.cy,r:o[l]},style:s.getLineStyle(),z2:1,silent:!0}):new Vu({shape:{cx:n.cx,cy:n.cy,r:o[l],r0:o[u]},style:s.getLineStyle(),z2:1,silent:!0})).style.fill=null,t.add(a)},axisTick:function(t,e,n,i,r,o){var a=e.getModel(\"axisTick\"),s=(a.get(\"inside\")?-1:1)*a.get(\"length\"),l=o[BN(n)],u=z(i,(function(t){return new Xu({shape:VN(n,[l,l+s],t.coord)})}));t.add(Lh(u,{style:k(a.getModel(\"lineStyle\").getLineStyle(),{stroke:e.get([\"axisLine\",\"lineStyle\",\"color\"])})}))},minorTick:function(t,e,n,i,r,o){if(r.length){for(var a=e.getModel(\"axisTick\"),s=e.getModel(\"minorTick\"),l=(a.get(\"inside\")?-1:1)*s.get(\"length\"),u=o[BN(n)],h=[],c=0;cf?\"left\":\"right\",v=Math.abs(d[1]-g)/p<.3?\"middle\":d[1]>g?\"top\":\"bottom\";if(s&&s[c]){var m=s[c];q(m)&&m.textStyle&&(a=new Sc(m.textStyle,l,l.ecModel))}var x=new Bs({silent:KM.isLabelSilent(e),style:ec(a,{x:d[0],y:d[1],fill:a.getTextColor()||e.get([\"axisLine\",\"lineStyle\",\"color\"]),text:i.formattedLabel,align:y,verticalAlign:v})});if(t.add(x),h){var _=KM.makeAxisEventDataBase(e);_.targetType=\"axisLabel\",_.value=i.rawLabel,Js(x).eventData=_}}),this)},splitLine:function(t,e,n,i,r,o){var a=e.getModel(\"splitLine\").getModel(\"lineStyle\"),s=a.get(\"color\"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=0;h=0?\"p\":\"n\",T=_;m&&(i[s][M]||(i[s][M]={p:_,n:_}),T=i[s][M][I]);var C=void 0,D=void 0,A=void 0,k=void 0;if(\"radius\"===c.dim){var L=c.dataToCoord(S)-_,P=o.dataToCoord(M);Math.abs(L)=k})}}}))}var KN={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},$N={splitNumber:5},JN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"polar\",e}(wg);function QN(t,e){e=e||{};var n=t.coordinateSystem,i=t.axis,r={},o=i.position,a=i.orient,s=n.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};r.position=[\"vertical\"===a?u.vertical[o]:l[0],\"horizontal\"===a?u.horizontal[o]:l[3]];r.rotation=Math.PI/2*{horizontal:0,vertical:1}[a];r.labelDirection=r.tickDirection=r.nameDirection={top:-1,bottom:1,right:1,left:-1}[o],t.get([\"axisTick\",\"inside\"])&&(r.tickDirection=-r.tickDirection),it(e.labelInside,t.get([\"axisLabel\",\"inside\"]))&&(r.labelDirection=-r.labelDirection);var h=e.rotate;return null==h&&(h=t.get([\"axisLabel\",\"rotate\"])),r.labelRotation=\"top\"===o?-h:h,r.z2=1,r}var tE=[\"axisLine\",\"axisTickLabel\",\"axisName\"],eE=[\"splitArea\",\"splitLine\"],nE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass=\"SingleAxisPointer\",n}return n(e,t),e.prototype.render=function(e,n,i,r){var o=this.group;o.removeAll();var a=this._axisGroup;this._axisGroup=new Er;var s=QN(e),l=new KM(e,s);E(tE,l.add,l),o.add(this._axisGroup),o.add(l.getGroup()),E(eE,(function(t){e.get([t,\"show\"])&&iE[t](this,this.group,this._axisGroup,e)}),this),Bh(a,this._axisGroup,e),t.prototype.render.call(this,e,n,i,r)},e.prototype.remove=function(){pI(this)},e.type=\"singleAxis\",e}(uI),iE={splitLine:function(t,e,n,i){var r=i.axis;if(!r.scale.isBlank()){var o=i.getModel(\"splitLine\"),a=o.getModel(\"lineStyle\"),s=a.get(\"color\");s=s instanceof Array?s:[s];for(var l=a.get(\"width\"),u=i.coordinateSystem.getRect(),h=r.isHorizontal(),c=[],p=0,d=r.getTicksCoords({tickModel:o}),f=[],g=[],y=0;y=e.y&&t[1]<=e.y+e.height:n.contain(n.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},t.prototype.pointToData=function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t[\"horizontal\"===e.orient?0:1]))]},t.prototype.dataToPoint=function(t){var e=this.getAxis(),n=this.getRect(),i=[],r=\"horizontal\"===e.orient?0:1;return t instanceof Array&&(t=t[0]),i[r]=e.toGlobalCoord(e.dataToCoord(+t)),i[1-r]=0===r?n.y+n.height/2:n.x+n.width/2,i},t.prototype.convertToPixel=function(t,e,n){return lE(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return lE(e)===this?this.pointToData(n):null},t}();function lE(t){var e=t.seriesModel,n=t.singleAxisModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}var uE={create:function(t,e){var n=[];return t.eachComponent(\"singleAxis\",(function(i,r){var o=new sE(i,t,e);o.name=\"single_\"+r,o.resize(i,e),i.coordinateSystem=o,n.push(o)})),t.eachSeries((function(t){if(\"singleAxis\"===t.get(\"coordinateSystem\")){var e=t.getReferringComponents(\"singleAxis\",Eo).models[0];t.coordinateSystem=e&&e.coordinateSystem}})),n},dimensions:aE},hE=[\"x\",\"y\"],cE=[\"width\",\"height\"],pE=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.coordinateSystem,s=gE(a,1-fE(o)),l=a.dataToPoint(e)[0],u=i.get(\"type\");if(u&&\"none\"!==u){var h=ZR(i),c=dE[u](o,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}$R(e,t,QN(n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=QN(e,{labelInside:!1});i.labelMargin=n.get([\"handle\",\"margin\"]);var r=KR(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.coordinateSystem,a=fE(r),s=gE(o,a),l=[t.x,t.y];l[a]+=e[a],l[a]=Math.min(s[1],l[a]),l[a]=Math.max(s[0],l[a]);var u=gE(o,1-a),h=(u[1]+u[0])/2,c=[h,h];return c[a]=l[a],{x:l[0],y:l[1],rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:\"middle\"}}},e}(GR),dE={line:function(t,e,n){return{type:\"Line\",subPixelOptimize:!0,shape:JR([e,n[0]],[e,n[1]],fE(t))}},shadow:function(t,e,n){var i=t.getBandWidth(),r=n[1]-n[0];return{type:\"Rect\",shape:QR([e-i/2,n[0]],[i,r],fE(t))}}};function fE(t){return t.isHorizontal()?0:1}function gE(t,e){var n=t.getRect();return[n[hE[e]],n[hE[e]]+n[cE[e]]]}var yE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"single\",e}(wg);var vE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(e,n,i){var r=kp(e);t.prototype.init.apply(this,arguments),mE(e,r)},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),mE(this.option,e)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type=\"calendar\",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:\"horizontal\",splitLine:{show:!0,lineStyle:{color:\"#000\",width:1,type:\"solid\"}},itemStyle:{color:\"#fff\",borderWidth:1,borderColor:\"#ccc\"},dayLabel:{show:!0,firstDay:0,position:\"start\",margin:\"50%\",color:\"#000\"},monthLabel:{show:!0,position:\"start\",margin:5,align:\"center\",formatter:null,color:\"#000\"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:\"#ccc\",fontFamily:\"sans-serif\",fontWeight:\"bolder\",fontSize:20}},e}(Op);function mE(t,e){var n,i=t.cellSize;1===(n=Y(i)?i:t.cellSize=[i,i]).length&&(n[1]=n[0]);var r=z([0,1],(function(t){return function(t,e){return null!=t[Sp[e][0]]||null!=t[Sp[e][1]]&&null!=t[Sp[e][2]]}(e,t)&&(n[t]=\"auto\"),null!=n[t]&&\"auto\"!==n[t]}));Ap(t,e,{type:\"box\",ignoreSize:r})}var xE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=this.group;i.removeAll();var r=t.coordinateSystem,o=r.getRangeInfo(),a=r.getOrient(),s=e.getLocaleModel();this._renderDayRect(t,o,i),this._renderLines(t,o,a,i),this._renderYearText(t,o,a,i),this._renderMonthText(t,s,a,i),this._renderWeekText(t,s,o,a,i)},e.prototype._renderDayRect=function(t,e,n){for(var i=t.coordinateSystem,r=t.getModel(\"itemStyle\").getItemStyle(),o=i.getCellWidth(),a=i.getCellHeight(),s=e.start.time;s<=e.end.time;s=i.getNextNDay(s,1).time){var l=i.dataToRect([s],!1).tl,u=new Es({shape:{x:l[0],y:l[1],width:o,height:a},cursor:\"default\",style:r});n.add(u)}},e.prototype._renderLines=function(t,e,n,i){var r=this,o=t.coordinateSystem,a=t.getModel([\"splitLine\",\"lineStyle\"]).getLineStyle(),s=t.get([\"splitLine\",\"show\"]),l=a.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=e.start,h=0;u.time<=e.end.time;h++){p(u.formatedDate),0===h&&(u=o.getDateInfo(e.start.y+\"-\"+e.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=o.getDateInfo(c)}function p(e){r._firstDayOfMonth.push(o.getDateInfo(e)),r._firstDayPoints.push(o.dataToRect([e],!1).tl);var l=r._getLinePointsOfOneWeek(t,e,n);r._tlpoints.push(l[0]),r._blpoints.push(l[l.length-1]),s&&r._drawSplitline(l,a,i)}p(o.getNextNDay(e.end.time,1).formatedDate),s&&this._drawSplitline(r._getEdgesPoints(r._tlpoints,l,n),a,i),s&&this._drawSplitline(r._getEdgesPoints(r._blpoints,l,n),a,i)},e.prototype._getEdgesPoints=function(t,e,n){var i=[t[0].slice(),t[t.length-1].slice()],r=\"horizontal\"===n?0:1;return i[0][r]=i[0][r]-e/2,i[1][r]=i[1][r]+e/2,i},e.prototype._drawSplitline=function(t,e,n){var i=new Hu({z2:20,shape:{points:t},style:e});n.add(i)},e.prototype._getLinePointsOfOneWeek=function(t,e,n){for(var i=t.coordinateSystem,r=i.getDateInfo(e),o=[],a=0;a<7;a++){var s=i.getNextNDay(r.time,a),l=i.dataToRect([s.time],!1);o[2*s.day]=l.tl,o[2*s.day+1]=l[\"horizontal\"===n?\"bl\":\"tr\"]}return o},e.prototype._formatterLabel=function(t,e){return X(t)&&t?(n=t,E(e,(function(t,e){n=n.replace(\"{\"+e+\"}\",i?ie(t):t)})),n):U(t)?t(e):e.nameMap;var n,i},e.prototype._yearTextPositionControl=function(t,e,n,i,r){var o=e[0],a=e[1],s=[\"center\",\"bottom\"];\"bottom\"===i?(a+=r,s=[\"center\",\"top\"]):\"left\"===i?o-=r:\"right\"===i?(o+=r,s=[\"center\",\"top\"]):a-=r;var l=0;return\"left\"!==i&&\"right\"!==i||(l=Math.PI/2),{rotation:l,x:o,y:a,style:{align:s[0],verticalAlign:s[1]}}},e.prototype._renderYearText=function(t,e,n,i){var r=t.getModel(\"yearLabel\");if(r.get(\"show\")){var o=r.get(\"margin\"),a=r.get(\"position\");a||(a=\"horizontal\"!==n?\"top\":\"left\");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h=\"horizontal\"===n?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},p=e.start.y;+e.end.y>+e.start.y&&(p=p+\"-\"+e.end.y);var d=r.get(\"formatter\"),f={start:e.start.y,end:e.end.y,nameMap:p},g=this._formatterLabel(d,f),y=new Bs({z2:30,style:ec(r,{text:g})});y.attr(this._yearTextPositionControl(y,c[a],n,a,o)),i.add(y)}},e.prototype._monthTextPositionControl=function(t,e,n,i,r){var o=\"left\",a=\"top\",s=t[0],l=t[1];return\"horizontal\"===n?(l+=r,e&&(o=\"center\"),\"start\"===i&&(a=\"bottom\")):(s+=r,e&&(a=\"middle\"),\"start\"===i&&(o=\"right\")),{x:s,y:l,align:o,verticalAlign:a}},e.prototype._renderMonthText=function(t,e,n,i){var r=t.getModel(\"monthLabel\");if(r.get(\"show\")){var o=r.get(\"nameMap\"),a=r.get(\"margin\"),s=r.get(\"position\"),l=r.get(\"align\"),u=[this._tlpoints,this._blpoints];o&&!X(o)||(o&&(e=Rc(o)||e),o=e.get([\"time\",\"monthAbbr\"])||[]);var h=\"start\"===s?0:1,c=\"horizontal\"===n?0:1;a=\"start\"===s?-a:a;for(var p=\"center\"===l,d=0;d=i.start.time&&n.timea.end.time&&t.reverse(),t},t.prototype._getRangeInfo=function(t){var e,n=[this.getDateInfo(t[0]),this.getDateInfo(t[1])];n[0].time>n[1].time&&(e=!0,n.reverse());var i=Math.floor(n[1].time/_E)-Math.floor(n[0].time/_E)+1,r=new Date(n[0].time),o=r.getDate(),a=n[1].date.getDate();r.setDate(o+i-1);var s=r.getDate();if(s!==a)for(var l=r.getTime()-n[1].time>0?1:-1;(s=r.getDate())!==a&&(r.getTime()-n[1].time)*l>0;)i-=l,r.setDate(s-l);var u=Math.floor((i+n[0].day+6)/7),h=e?1-u:u-1;return e&&n.reverse(),{range:[n[0].formatedDate,n[1].formatedDate],start:n[0],end:n[1],allDay:i,weeks:u,nthWeek:h,fweek:n[0].day,lweek:n[1].day}},t.prototype._getDateByWeeksAndDay=function(t,e,n){var i=this._getRangeInfo(n);if(t>i.weeks||0===t&&ei.lweek)return null;var r=7*(t-1)-i.fweek+e,o=new Date(i.start.time);return o.setDate(+i.start.d+r),this.getDateInfo(o)},t.create=function(e,n){var i=[];return e.eachComponent(\"calendar\",(function(r){var o=new t(r,e,n);i.push(o),r.coordinateSystem=o})),e.eachSeries((function(t){\"calendar\"===t.get(\"coordinateSystem\")&&(t.coordinateSystem=i[t.get(\"calendarIndex\")||0])})),i},t.dimensions=[\"time\",\"value\"],t}();function wE(t){var e=t.calendarModel,n=t.seriesModel;return e?e.coordinateSystem:n?n.coordinateSystem:null}function SE(t,e){var n;return E(e,(function(e){null!=t[e]&&\"auto\"!==t[e]&&(n=!0)})),n}var ME=[\"transition\",\"enterFrom\",\"leaveTo\"],IE=ME.concat([\"enterAnimation\",\"updateAnimation\",\"leaveAnimation\"]);function TE(t,e,n){if(n&&(!t[n]&&e[n]&&(t[n]={}),t=t[n],e=e[n]),t&&e)for(var i=n?ME:IE,r=0;r=0;l--){var p,d,f;if(f=null!=(d=Do((p=n[l]).id,null))?r.get(d):null){var g=f.parent,y=(c=AE(g),{}),v=Cp(f,p,g===i?{width:o,height:a}:{width:c.width,height:c.height},null,{hv:p.hv,boundingMode:p.bounding},y);if(!AE(f).isNew&&v){for(var m=p.transition,x={},_=0;_=0)?x[b]=w:f[b]=w}dh(f,x,t,0)}else f.attr(y)}}},e.prototype._clear=function(){var t=this,e=this._elMap;e.each((function(n){OE(n,AE(n).option,e,t._lastGraphicModel)})),this._elMap=yt()},e.prototype.dispose=function(){this._clear()},e.type=\"graphic\",e}(wg);function LE(t){var e=_t(DE,t)?DE[t]:Ch(t);var n=new e({});return AE(n).type=t,n}function PE(t,e,n,i){var r=LE(n);return e.add(r),i.set(t,r),AE(r).id=t,AE(r).isNew=!0,r}function OE(t,e,n,i){t&&t.parent&&(\"group\"===t.type&&t.traverse((function(t){OE(t,e,n,i)})),KO(t,e,i),n.removeKey(AE(t).id))}function RE(t,e,n,i){t.isGroup||E([[\"cursor\",wa.prototype.cursor],[\"zlevel\",i||0],[\"z\",n||0],[\"z2\",0]],(function(n){var i=n[0];_t(e,i)?t[i]=rt(e[i],n[1]):null==t[i]&&(t[i]=n[1])})),E(G(e),(function(n){if(0===n.indexOf(\"on\")){var i=e[n];t[n]=U(i)?i:null}})),_t(e,\"draggable\")&&(t.draggable=e.draggable),null!=e.name&&(t.name=e.name),null!=e.id&&(t.id=e.id)}var NE=[\"x\",\"y\",\"radius\",\"angle\",\"single\"],EE=[\"cartesian2d\",\"polar\",\"singleAxis\"];function zE(t){return t+\"Axis\"}function VE(t,e){var n,i=yt(),r=[],o=yt();t.eachComponent({mainType:\"dataZoom\",query:e},(function(t){o.get(t.uid)||s(t)}));do{n=!1,t.eachComponent(\"dataZoom\",a)}while(n);function a(t){!o.get(t.uid)&&function(t){var e=!1;return t.eachTargetAxis((function(t,n){var r=i.get(t);r&&r[n]&&(e=!0)})),e}(t)&&(s(t),n=!0)}function s(t){o.set(t.uid,!0),r.push(t),t.eachTargetAxis((function(t,e){(i.get(t)||i.set(t,[]))[e]=!0}))}return r}function BE(t){var e=t.ecModel,n={infoList:[],infoMap:yt()};return t.eachTargetAxis((function(t,i){var r=e.getComponent(zE(t),i);if(r){var o=r.getCoordSysModel();if(o){var a=o.uid,s=n.infoMap.get(a);s||(s={model:o,axisModels:[]},n.infoList.push(s),n.infoMap.set(a,s)),s.axisModels.push(r)}}})),n}var FE=function(){function t(){this.indexList=[],this.indexMap=[]}return t.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},t}(),GE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._autoThrottle=!0,n._noTarget=!0,n._rangePropMode=[\"percent\",\"percent\"],n}return n(e,t),e.prototype.init=function(t,e,n){var i=WE(t);this.settledOption=i,this.mergeDefaultAndTheme(t,n),this._doInit(i)},e.prototype.mergeOption=function(t){var e=WE(t);C(this.option,t,!0),C(this.settledOption,e,!0),this._doInit(e)},e.prototype._doInit=function(t){var e=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var n=this.settledOption;E([[\"start\",\"startValue\"],[\"end\",\"endValue\"]],(function(t,i){\"value\"===this._rangePropMode[i]&&(e[t[0]]=n[t[0]]=null)}),this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get(\"orient\",!0),e=this._targetAxisInfoMap=yt();this._fillSpecifiedTargetAxis(e)?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||\"horizontal\",this._fillAutoTargetAxisByOrient(e,this._orient)),this._noTarget=!0,e.each((function(t){t.indexList.length&&(this._noTarget=!1)}),this)},e.prototype._fillSpecifiedTargetAxis=function(t){var e=!1;return E(NE,(function(n){var i=this.getReferringComponents(zE(n),zo);if(i.specified){e=!0;var r=new FE;E(i.models,(function(t){r.add(t.componentIndex)})),t.set(n,r)}}),this),e},e.prototype._fillAutoTargetAxisByOrient=function(t,e){var n=this.ecModel,i=!0;if(i){var r=\"vertical\"===e?\"y\":\"x\";o(n.findComponents({mainType:r+\"Axis\"}),r)}i&&o(n.findComponents({mainType:\"singleAxis\",filter:function(t){return t.get(\"orient\",!0)===e}}),\"single\");function o(e,n){var r=e[0];if(r){var o=new FE;if(o.add(r.componentIndex),t.set(n,o),i=!1,\"x\"===n||\"y\"===n){var a=r.getReferringComponents(\"grid\",Eo).models[0];a&&E(e,(function(t){r.componentIndex!==t.componentIndex&&a===t.getReferringComponents(\"grid\",Eo).models[0]&&o.add(t.componentIndex)}))}}}i&&E(NE,(function(e){if(i){var r=n.findComponents({mainType:zE(e),filter:function(t){return\"category\"===t.get(\"type\",!0)}});if(r[0]){var o=new FE;o.add(r[0].componentIndex),t.set(e,o),i=!1}}}),this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis((function(e){!t&&(t=e)}),this),\"y\"===t?\"vertical\":\"horizontal\"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty(\"throttle\")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var e=this._rangePropMode,n=this.get(\"rangeMode\");E([[\"start\",\"startValue\"],[\"end\",\"endValue\"]],(function(i,r){var o=null!=t[i[0]],a=null!=t[i[1]];o&&!a?e[r]=\"percent\":!o&&a?e[r]=\"value\":n?e[r]=n[r]:o&&(e[r]=\"percent\")}))},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis((function(e,n){null==t&&(t=this.ecModel.getComponent(zE(e),n))}),this),t},e.prototype.eachTargetAxis=function(t,e){this._targetAxisInfoMap.each((function(n,i){E(n.indexList,(function(n){t.call(e,i,n)}))}))},e.prototype.getAxisProxy=function(t,e){var n=this.getAxisModel(t,e);if(n)return n.__dzAxisProxy},e.prototype.getAxisModel=function(t,e){var n=this._targetAxisInfoMap.get(t);if(n&&n.indexMap[e])return this.ecModel.getComponent(zE(t),e)},e.prototype.setRawRange=function(t){var e=this.option,n=this.settledOption;E([[\"start\",\"startValue\"],[\"end\",\"endValue\"]],(function(i){null==t[i[0]]&&null==t[i[1]]||(e[i[0]]=n[i[0]]=t[i[0]],e[i[1]]=n[i[1]]=t[i[1]])}),this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var e=this.option;E([\"start\",\"startValue\",\"end\",\"endValue\"],(function(n){e[n]=t[n]}))},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var n=this.findRepresentativeAxisProxy();return n?n.getDataValueWindow():void 0},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var e,n=this._targetAxisInfoMap.keys(),i=0;i=0}(e)){var n=zE(this._dimName),i=e.getReferringComponents(n,Eo).models[0];i&&this._axisIndex===i.componentIndex&&t.push(e)}}),this),t},t.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+\"Axis\",this._axisIndex)},t.prototype.getMinMaxSpan=function(){return T(this._minMaxSpan)},t.prototype.calculateDataWindow=function(t){var e,n=this._dataExtent,i=this.getAxisModel().axis.scale,r=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[],s=[];XE([\"start\",\"end\"],(function(l,u){var h=t[l],c=t[l+\"Value\"];\"percent\"===r[u]?(null==h&&(h=o[u]),c=i.parse(Yr(h,o,n))):(e=!0,h=Yr(c=null==c?n[u]:i.parse(c),n,o)),s[u]=null==c||isNaN(c)?n[u]:c,a[u]=null==h||isNaN(h)?o[u]:h})),ZE(s),ZE(a);var l=this._minMaxSpan;function u(t,e,n,r,o){var a=o?\"Span\":\"ValueSpan\";xk(0,t,n,\"all\",l[\"min\"+a],l[\"max\"+a]);for(var s=0;s<2;s++)e[s]=Yr(t[s],n,r,!0),o&&(e[s]=i.parse(e[s]))}return e?u(s,a,n,o,!1):u(a,s,o,n,!0),{valueWindow:s,percentWindow:a}},t.prototype.reset=function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=function(t,e,n){var i=[1/0,-1/0];XE(n,(function(t){!function(t,e,n){e&&E(v_(e,n),(function(n){var i=e.getApproximateExtent(n);i[0]t[1]&&(t[1]=i[1])}))}(i,t.getData(),e)}));var r=t.getAxisModel(),o=s_(r.axis.scale,r,i).calculate();return[o.min,o.max]}(this,this._dimName,e),this._updateMinMaxSpan();var n=this.calculateDataWindow(t.settledOption);this._valueWindow=n.valueWindow,this._percentWindow=n.percentWindow,this._setAxisModel()}},t.prototype.filterData=function(t,e){if(t===this._dataZoomModel){var n=this._dimName,i=this.getTargetSeriesModels(),r=t.get(\"filterMode\"),o=this._valueWindow;\"none\"!==r&&XE(i,(function(t){var e=t.getData(),i=e.mapDimensionsAll(n);if(i.length){if(\"weakFilter\"===r){var a=e.getStore(),s=z(i,(function(t){return e.getDimensionIndex(t)}),e);e.filterSelf((function(t){for(var e,n,r,l=0;lo[1];if(h&&!c&&!p)return!0;h&&(r=!0),c&&(e=!0),p&&(n=!0)}return r&&e&&n}))}else XE(i,(function(n){if(\"empty\"===r)t.setData(e=e.map(n,(function(t){return function(t){return t>=o[0]&&t<=o[1]}(t)?t:NaN})));else{var i={};i[n]=o,e.selectRange(i)}}));XE(i,(function(t){e.setApproximateExtent(o,t)}))}}))}},t.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,n=this._dataExtent;XE([\"min\",\"max\"],(function(i){var r=e.get(i+\"Span\"),o=e.get(i+\"ValueSpan\");null!=o&&(o=this.getAxisModel().axis.scale.parse(o)),null!=o?r=Yr(n[0]+o,n,[0,100],!0):null!=r&&(o=Yr(r,[0,100],n,!0)-n[0]),t[i+\"Span\"]=r,t[i+\"ValueSpan\"]=o}),this)},t.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,n=this._valueWindow;if(e){var i=Kr(n,[0,500]);i=Math.min(i,20);var r=t.axis.scale.rawExtentInfo;0!==e[0]&&r.setDeterminedMinMax(\"min\",+n[0].toFixed(i)),100!==e[1]&&r.setDeterminedMinMax(\"max\",+n[1].toFixed(i)),r.freeze()}},t}();var qE={getTargetSeries:function(t){function e(e){t.eachComponent(\"dataZoom\",(function(n){n.eachTargetAxis((function(i,r){var o=t.getComponent(zE(i),r);e(i,r,o,n)}))}))}e((function(t,e,n,i){n.__dzAxisProxy=null}));var n=[];e((function(e,i,r,o){r.__dzAxisProxy||(r.__dzAxisProxy=new jE(e,i,o,t),n.push(r.__dzAxisProxy))}));var i=yt();return E(n,(function(t){E(t.getTargetSeriesModels(),(function(t){i.set(t.uid,t)}))})),i},overallReset:function(t,e){t.eachComponent(\"dataZoom\",(function(t){t.eachTargetAxis((function(e,n){t.getAxisProxy(e,n).reset(t)})),t.eachTargetAxis((function(n,i){t.getAxisProxy(n,i).filterData(t,e)}))})),t.eachComponent(\"dataZoom\",(function(t){var e=t.findRepresentativeAxisProxy();if(e){var n=e.getDataPercentWindow(),i=e.getDataValueWindow();t.setCalculatedRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]})}}))}};var KE=!1;function $E(t){KE||(KE=!0,t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,qE),function(t){t.registerAction(\"dataZoom\",(function(t,e){E(VE(e,t),(function(e){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})}))}))}(t),t.registerSubTypeDefaulter(\"dataZoom\",(function(){return\"slider\"})))}function JE(t){t.registerComponentModel(HE),t.registerComponentView(UE),$E(t)}var QE=function(){},tz={};function ez(t,e){tz[t]=e}function nz(t){return tz[t]}var iz=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){t.prototype.optionUpdated.apply(this,arguments);var e=this.ecModel;E(this.option.feature,(function(t,n){var i=nz(n);i&&(i.getDefaultOption&&(i.defaultOption=i.getDefaultOption(e)),C(t,i.defaultOption))}))},e.type=\"toolbox\",e.layoutMode={type:\"box\",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:\"horizontal\",left:\"right\",top:\"top\",backgroundColor:\"transparent\",borderColor:\"#ccc\",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:\"#666\",color:\"none\"},emphasis:{iconStyle:{borderColor:\"#3E98C5\"}},tooltip:{show:!1,position:\"bottom\"}},e}(Op);function rz(t,e){var n=dp(e.get(\"padding\")),i=e.getItemStyle([\"color\",\"opacity\"]);return i.fill=e.get(\"backgroundColor\"),t=new Es({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get(\"borderRadius\")},style:i,silent:!0,z2:-1})}var oz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){var r=this.group;if(r.removeAll(),t.get(\"show\")){var o=+t.get(\"itemSize\"),a=\"vertical\"===t.get(\"orient\"),s=t.get(\"feature\")||{},l=this._features||(this._features={}),u=[];E(s,(function(t,e){u.push(e)})),new Lm(this._featureNames||[],u).add(h).update(h).remove(H(h,null)).execute(),this._featureNames=u,function(t,e,n){var i=e.getBoxLayoutParams(),r=e.get(\"padding\"),o={width:n.getWidth(),height:n.getHeight()},a=Tp(i,o,r);Ip(e.get(\"orient\"),t,e.get(\"itemGap\"),a.width,a.height),Cp(t,i,o,r)}(r,t,n),r.add(rz(r.getBoundingRect(),t)),a||r.eachChild((function(t){var e=t.__title,i=t.ensureState(\"emphasis\"),a=i.textConfig||(i.textConfig={}),s=t.getTextContent(),l=s&&s.ensureState(\"emphasis\");if(l&&!U(l)&&e){var u=l.style||(l.style={}),h=_r(e,Bs.makeFont(u)),c=t.x+r.x,p=!1;t.y+r.y+o+h.height>n.getHeight()&&(a.position=\"top\",p=!0);var d=p?-5-h.height:o+10;c+h.width/2>n.getWidth()?(a.position=[\"100%\",d],u.align=\"right\"):c-h.width/2<0&&(a.position=[0,d],u.align=\"left\")}}))}function h(h,c){var p,d=u[h],f=u[c],g=s[d],y=new Sc(g,t,t.ecModel);if(i&&null!=i.newTitle&&i.featureName===d&&(g.title=i.newTitle),d&&!f){if(function(t){return 0===t.indexOf(\"my\")}(d))p={onclick:y.option.onclick,featureName:d};else{var v=nz(d);if(!v)return;p=new v}l[d]=p}else if(!(p=l[f]))return;p.uid=Ic(\"toolbox-feature\"),p.model=y,p.ecModel=e,p.api=n;var m=p instanceof QE;d||!f?!y.get(\"show\")||m&&p.unusable?m&&p.remove&&p.remove(e,n):(!function(i,s,l){var u,h,c=i.getModel(\"iconStyle\"),p=i.getModel([\"emphasis\",\"iconStyle\"]),d=s instanceof QE&&s.getIcons?s.getIcons():i.get(\"icon\"),f=i.get(\"title\")||{};X(d)?(u={})[l]=d:u=d;X(f)?(h={})[l]=f:h=f;var g=i.iconPaths={};E(u,(function(l,u){var d=Wh(l,{},{x:-o/2,y:-o/2,width:o,height:o});d.setStyle(c.getItemStyle()),d.ensureState(\"emphasis\").style=p.getItemStyle();var f=new Bs({style:{text:h[u],align:p.get(\"textAlign\"),borderRadius:p.get(\"textBorderRadius\"),padding:p.get(\"textPadding\"),fill:null},ignore:!0});d.setTextContent(f),Xh({el:d,componentModel:t,itemName:u,formatterParamsExtra:{title:h[u]}}),d.__title=h[u],d.on(\"mouseover\",(function(){var e=p.getItemStyle(),i=a?null==t.get(\"right\")&&\"right\"!==t.get(\"left\")?\"right\":\"left\":null==t.get(\"bottom\")&&\"bottom\"!==t.get(\"top\")?\"bottom\":\"top\";f.setStyle({fill:p.get(\"textFill\")||e.fill||e.stroke||\"#000\",backgroundColor:p.get(\"textBackgroundColor\")}),d.setTextConfig({position:p.get(\"textPosition\")||i}),f.ignore=!t.get(\"showTitle\"),n.enterEmphasis(this)})).on(\"mouseout\",(function(){\"emphasis\"!==i.get([\"iconStatus\",u])&&n.leaveEmphasis(this),f.hide()})),(\"emphasis\"===i.get([\"iconStatus\",u])?Al:kl)(d),r.add(d),d.on(\"click\",W(s.onclick,s,e,n,u)),g[u]=d}))}(y,p,d),y.setIconStatus=function(t,e){var n=this.option,i=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[t]=e,i[t]&&(\"emphasis\"===e?Al:kl)(i[t])},p instanceof QE&&p.render&&p.render(y,e,n,i)):m&&p.dispose&&p.dispose(e,n)}},e.prototype.updateView=function(t,e,n,i){E(this._features,(function(t){t instanceof QE&&t.updateView&&t.updateView(t.model,e,n,i)}))},e.prototype.remove=function(t,e){E(this._features,(function(n){n instanceof QE&&n.remove&&n.remove(t,e)})),this.group.removeAll()},e.prototype.dispose=function(t,e){E(this._features,(function(n){n instanceof QE&&n.dispose&&n.dispose(t,e)}))},e.type=\"toolbox\",e}(wg);var az=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.onclick=function(t,e){var n=this.model,i=n.get(\"name\")||t.get(\"title.0.text\")||\"echarts\",o=\"svg\"===e.getZr().painter.getType(),a=o?\"svg\":n.get(\"type\",!0)||\"png\",s=e.getConnectedDataURL({type:a,backgroundColor:n.get(\"backgroundColor\",!0)||t.get(\"backgroundColor\")||\"#fff\",connectedBackgroundColor:n.get(\"connectedBackgroundColor\"),excludeComponents:n.get(\"excludeComponents\"),pixelRatio:n.get(\"pixelRatio\")}),l=r.browser;if(U(MouseEvent)&&(l.newEdge||!l.ie&&!l.edge)){var u=document.createElement(\"a\");u.download=i+\".\"+a,u.target=\"_blank\",u.href=s;var h=new MouseEvent(\"click\",{view:document.defaultView,bubbles:!0,cancelable:!1});u.dispatchEvent(h)}else if(window.navigator.msSaveOrOpenBlob||o){var c=s.split(\",\"),p=c[0].indexOf(\"base64\")>-1,d=o?decodeURIComponent(c[1]):c[1];p&&(d=window.atob(d));var f=i+\".\"+a;if(window.navigator.msSaveOrOpenBlob){for(var g=d.length,y=new Uint8Array(g);g--;)y[g]=d.charCodeAt(g);var v=new Blob([y]);window.navigator.msSaveOrOpenBlob(v,f)}else{var m=document.createElement(\"iframe\");document.body.appendChild(m);var x=m.contentWindow,_=x.document;_.open(\"image/svg+xml\",\"replace\"),_.write(d),_.close(),x.focus(),_.execCommand(\"SaveAs\",!0,f),document.body.removeChild(m)}}else{var b=n.get(\"lang\"),w='',S=window.open();S.document.write(w),S.document.title=i}},e.getDefaultOption=function(t){return{show:!0,icon:\"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0\",title:t.getLocaleModel().get([\"toolbox\",\"saveAsImage\",\"title\"]),type:\"png\",connectedBackgroundColor:\"#fff\",name:\"\",excludeComponents:[\"toolbox\"],lang:t.getLocaleModel().get([\"toolbox\",\"saveAsImage\",\"lang\"])}},e}(QE),sz=\"__ec_magicType_stack__\",lz=[[\"line\",\"bar\"],[\"stack\"]],uz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getIcons=function(){var t=this.model,e=t.get(\"icon\"),n={};return E(t.get(\"type\"),(function(t){e[t]&&(n[t]=e[t])})),n},e.getDefaultOption=function(t){return{show:!0,type:[],icon:{line:\"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4\",bar:\"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7\",stack:\"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z\"},title:t.getLocaleModel().get([\"toolbox\",\"magicType\",\"title\"]),option:{},seriesIndex:{}}},e.prototype.onclick=function(t,e,n){var i=this.model,r=i.get([\"seriesIndex\",n]);if(hz[n]){var o,a={series:[]};E(lz,(function(t){P(t,n)>=0&&E(t,(function(t){i.setIconStatus(t,\"normal\")}))})),i.setIconStatus(n,\"emphasis\"),t.eachComponent({mainType:\"series\",query:null==r?null:{seriesIndex:r}},(function(t){var e=t.subType,r=t.id,o=hz[n](e,r,t,i);o&&(k(o,t.option),a.series.push(o));var s=t.coordinateSystem;if(s&&\"cartesian2d\"===s.type&&(\"line\"===n||\"bar\"===n)){var l=s.getAxesByScale(\"ordinal\")[0];if(l){var u=l.dim+\"Axis\",h=t.getReferringComponents(u,Eo).models[0].componentIndex;a[u]=a[u]||[];for(var c=0;c<=h;c++)a[u][h]=a[u][h]||{};a[u][h].boundaryGap=\"bar\"===n}}}));var s=n;\"stack\"===n&&(o=C({stack:i.option.title.tiled,tiled:i.option.title.stack},i.option.title),\"emphasis\"!==i.get([\"iconStatus\",n])&&(s=\"tiled\")),e.dispatchAction({type:\"changeMagicType\",currentType:s,newOption:a,newTitle:o,featureName:\"magicType\"})}},e}(QE),hz={line:function(t,e,n,i){if(\"bar\"===t)return C({id:e,type:\"line\",data:n.get(\"data\"),stack:n.get(\"stack\"),markPoint:n.get(\"markPoint\"),markLine:n.get(\"markLine\")},i.get([\"option\",\"line\"])||{},!0)},bar:function(t,e,n,i){if(\"line\"===t)return C({id:e,type:\"bar\",data:n.get(\"data\"),stack:n.get(\"stack\"),markPoint:n.get(\"markPoint\"),markLine:n.get(\"markLine\")},i.get([\"option\",\"bar\"])||{},!0)},stack:function(t,e,n,i){var r=n.get(\"stack\")===sz;if(\"line\"===t||\"bar\"===t)return i.setIconStatus(\"stack\",r?\"normal\":\"emphasis\"),C({id:e,stack:r?\"\":sz},i.get([\"option\",\"stack\"])||{},!0)}};vm({type:\"changeMagicType\",event:\"magicTypeChanged\",update:\"prepareAndUpdate\"},(function(t,e){e.mergeOption(t.newOption)}));var cz=new Array(60).join(\"-\"),pz=\"\\t\";function dz(t){return t.replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\")}var fz=new RegExp(\"[\\t]+\",\"g\");function gz(t,e){var n=t.split(new RegExp(\"\\n*\"+cz+\"\\n*\",\"g\")),i={series:[]};return E(n,(function(t,n){if(function(t){if(t.slice(0,t.indexOf(\"\\n\")).indexOf(pz)>=0)return!0}(t)){var r=function(t){for(var e=t.split(/\\n+/g),n=[],i=z(dz(e.shift()).split(fz),(function(t){return{name:t,data:[]}})),r=0;r=0)&&t(r,i._targetInfoList)}))}return t.prototype.setOutputRanges=function(t,e){return this.matchOutputRanges(t,e,(function(t,e,n){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var i=Az[t.brushType](0,n,e);t.__rangeOffset={offset:Lz[t.brushType](i.values,t.range,[1,1]),xyMinMax:i.xyMinMax}}})),t},t.prototype.matchOutputRanges=function(t,e,n){E(t,(function(t){var i=this.findTargetInfo(t,e);i&&!0!==i&&E(i.coordSyses,(function(i){var r=Az[t.brushType](1,i,t.range,!0);n(t,r.values,i,e)}))}),this)},t.prototype.setInputRanges=function(t,e){E(t,(function(t){var n,i,r,o,a,s=this.findTargetInfo(t,e);if(t.range=t.range||[],s&&!0!==s){t.panelId=s.panelId;var l=Az[t.brushType](0,s.coordSys,t.coordRange),u=t.__rangeOffset;t.range=u?Lz[t.brushType](l.values,u.offset,(n=l.xyMinMax,i=u.xyMinMax,r=Oz(n),o=Oz(i),a=[r[0]/o[0],r[1]/o[1]],isNaN(a[0])&&(a[0]=1),isNaN(a[1])&&(a[1]=1),a)):l.values}}),this)},t.prototype.makePanelOpts=function(t,e){return z(this._targetInfoList,(function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e?e(n):null,clipPath:bL(i),isTargetByCursor:SL(i,t,n.coordSysModel),getLinearBrushOtherExtent:wL(i)}}))},t.prototype.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return!0===i||i&&P(i.coordSyses,e.coordinateSystem)>=0},t.prototype.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=Iz(e,t),r=0;rt[1]&&t.reverse(),t}function Iz(t,e){return Ro(t,e,{includeMainTypes:wz})}var Tz={grid:function(t,e){var n=t.xAxisModels,i=t.yAxisModels,r=t.gridModels,o=yt(),a={},s={};(n||i||r)&&(E(n,(function(t){var e=t.axis.grid.model;o.set(e.id,e),a[e.id]=!0})),E(i,(function(t){var e=t.axis.grid.model;o.set(e.id,e),s[e.id]=!0})),E(r,(function(t){o.set(t.id,t),a[t.id]=!0,s[t.id]=!0})),o.each((function(t){var r=t.coordinateSystem,o=[];E(r.getCartesians(),(function(t,e){(P(n,t.getAxis(\"x\").model)>=0||P(i,t.getAxis(\"y\").model)>=0)&&o.push(t)})),e.push({panelId:\"grid--\"+t.id,gridModel:t,coordSysModel:t,coordSys:o[0],coordSyses:o,getPanelRect:Dz.grid,xAxisDeclared:a[t.id],yAxisDeclared:s[t.id]})})))},geo:function(t,e){E(t.geoModels,(function(t){var n=t.coordinateSystem;e.push({panelId:\"geo--\"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:Dz.geo})}))}},Cz=[function(t,e){var n=t.xAxisModel,i=t.yAxisModel,r=t.gridModel;return!r&&n&&(r=n.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(t,e){var n=t.geoModel;return n&&n===e.geoModel}],Dz={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Nh(t)),e}},Az={lineX:H(kz,0),lineY:H(kz,1),rect:function(t,e,n,i){var r=t?e.pointToData([n[0][0],n[1][0]],i):e.dataToPoint([n[0][0],n[1][0]],i),o=t?e.pointToData([n[0][1],n[1][1]],i):e.dataToPoint([n[0][1],n[1][1]],i),a=[Mz([r[0],o[0]]),Mz([r[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,n,i){var r=[[1/0,-1/0],[1/0,-1/0]];return{values:z(n,(function(n){var o=t?e.pointToData(n,i):e.dataToPoint(n,i);return r[0][0]=Math.min(r[0][0],o[0]),r[1][0]=Math.min(r[1][0],o[1]),r[0][1]=Math.max(r[0][1],o[0]),r[1][1]=Math.max(r[1][1],o[1]),o})),xyMinMax:r}}};function kz(t,e,n,i){var r=n.getAxis([\"x\",\"y\"][t]),o=Mz(z([0,1],(function(t){return e?r.coordToData(r.toLocalCoord(i[t]),!0):r.toGlobalCoord(r.dataToCoord(i[t]))}))),a=[];return a[t]=o,a[1-t]=[NaN,NaN],{values:o,xyMinMax:a}}var Lz={lineX:H(Pz,0),lineY:H(Pz,1),rect:function(t,e,n){return[[t[0][0]-n[0]*e[0][0],t[0][1]-n[0]*e[0][1]],[t[1][0]-n[1]*e[1][0],t[1][1]-n[1]*e[1][1]]]},polygon:function(t,e,n){return z(t,(function(t,i){return[t[0]-n[0]*e[i][0],t[1]-n[1]*e[i][1]]}))}};function Pz(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}function Oz(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}var Rz,Nz,Ez=E,zz=xo+\"toolbox-dataZoom_\",Vz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){this._brushController||(this._brushController=new Yk(n.getZr()),this._brushController.on(\"brush\",W(this._onBrush,this)).mount()),function(t,e,n,i,r){var o=n._isZoomActive;i&&\"takeGlobalCursor\"===i.type&&(o=\"dataZoomSelect\"===i.key&&i.dataZoomSelectActive);n._isZoomActive=o,t.setIconStatus(\"zoom\",o?\"emphasis\":\"normal\");var a=new Sz(Fz(t),e,{include:[\"grid\"]}).makePanelOpts(r,(function(t){return t.xAxisDeclared&&!t.yAxisDeclared?\"lineX\":!t.xAxisDeclared&&t.yAxisDeclared?\"lineY\":\"rect\"}));n._brushController.setPanels(a).enableBrush(!(!o||!a.length)&&{brushType:\"auto\",brushStyle:t.getModel(\"brushStyle\").getItemStyle()})}(t,e,this,i,n),function(t,e){t.setIconStatus(\"back\",function(t){return _z(t).length}(e)>1?\"emphasis\":\"normal\")}(t,e)},e.prototype.onclick=function(t,e,n){Bz[n].call(this)},e.prototype.remove=function(t,e){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,e){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var e=t.areas;if(t.isEnd&&e.length){var n={},i=this.ecModel;this._brushController.updateCovers([]),new Sz(Fz(this.model),i,{include:[\"grid\"]}).matchOutputRanges(e,i,(function(t,e,n){if(\"cartesian2d\"===n.type){var i=t.brushType;\"rect\"===i?(r(\"x\",n,e[0]),r(\"y\",n,e[1])):r({lineX:\"x\",lineY:\"y\"}[i],n,e)}})),function(t,e){var n=_z(t);mz(e,(function(e,i){for(var r=n.length-1;r>=0&&!n[r][i];r--);if(r<0){var o=t.queryComponents({mainType:\"dataZoom\",subType:\"select\",id:i})[0];if(o){var a=o.getPercentRange();n[0][i]={dataZoomId:i,start:a[0],end:a[1]}}}})),n.push(e)}(i,n),this._dispatchZoomAction(n)}function r(t,e,r){var o=e.getAxis(t),a=o.model,s=function(t,e,n){var i;return n.eachComponent({mainType:\"dataZoom\",subType:\"select\"},(function(n){n.getAxisModel(t,e.componentIndex)&&(i=n)})),i}(t,a,i),l=s.findRepresentativeAxisProxy(a).getMinMaxSpan();null==l.minValueSpan&&null==l.maxValueSpan||(r=xk(0,r.slice(),o.scale.getExtent(),0,l.minValueSpan,l.maxValueSpan)),s&&(n[s.id]={dataZoomId:s.id,startValue:r[0],endValue:r[1]})}},e.prototype._dispatchZoomAction=function(t){var e=[];Ez(t,(function(t,n){e.push(T(t))})),e.length&&this.api.dispatchAction({type:\"dataZoom\",from:this.uid,batch:e})},e.getDefaultOption=function(t){return{show:!0,filterMode:\"filter\",icon:{zoom:\"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1\",back:\"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26\"},title:t.getLocaleModel().get([\"toolbox\",\"dataZoom\",\"title\"]),brushStyle:{borderWidth:0,color:\"rgba(210,219,238,0.2)\"}}},e}(QE),Bz={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:\"takeGlobalCursor\",key:\"dataZoomSelect\",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(function(t){var e=_z(t),n=e[e.length-1];e.length>1&&e.pop();var i={};return mz(n,(function(t,n){for(var r=e.length-1;r>=0;r--)if(t=e[r][n]){i[n]=t;break}})),i}(this.ecModel))}};function Fz(t){var e={xAxisIndex:t.get(\"xAxisIndex\",!0),yAxisIndex:t.get(\"yAxisIndex\",!0),xAxisId:t.get(\"xAxisId\",!0),yAxisId:t.get(\"yAxisId\",!0)};return null==e.xAxisIndex&&null==e.xAxisId&&(e.xAxisIndex=\"all\"),null==e.yAxisIndex&&null==e.yAxisId&&(e.yAxisIndex=\"all\"),e}Rz=\"dataZoom\",Nz=function(t){var e=t.getComponent(\"toolbox\",0),n=[\"feature\",\"dataZoom\"];if(e&&null!=e.get(n)){var i=e.getModel(n),r=[],o=Ro(t,Fz(i));return Ez(o.xAxisModels,(function(t){return a(t,\"xAxis\",\"xAxisIndex\")})),Ez(o.yAxisModels,(function(t){return a(t,\"yAxis\",\"yAxisIndex\")})),r}function a(t,e,n){var o=t.componentIndex,a={type:\"select\",$fromToolbox:!0,filterMode:i.get(\"filterMode\",!0)||\"filter\",id:zz+e+o};a[n]=o,r.push(a)}},lt(null==ed.get(Rz)&&Nz),ed.set(Rz,Nz);var Gz=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"tooltip\",e.dependencies=[\"axisPointer\"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:\"item\",triggerOn:\"mousemove|click\",alwaysShowContent:!1,displayMode:\"single\",renderMode:\"auto\",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:\"#fff\",shadowBlur:10,shadowColor:\"rgba(0, 0, 0, .2)\",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:\"\",axisPointer:{type:\"line\",axis:\"auto\",animation:\"auto\",animationDurationUpdate:200,animationEasingUpdate:\"exponentialOut\",crossStyle:{color:\"#999\",width:1,type:\"dashed\",textStyle:{}}},textStyle:{color:\"#666\",fontSize:14}},e}(Op);function Wz(t){var e=t.get(\"confine\");return null!=e?!!e:\"richText\"===t.get(\"renderMode\")}function Hz(t){if(r.domSupported)for(var e=document.documentElement.style,n=0,i=t.length;n-1?(u+=\"top:50%\",h+=\"translateY(-50%) rotate(\"+(a=\"left\"===s?-225:-45)+\"deg)\"):(u+=\"left:50%\",h+=\"translateX(-50%) rotate(\"+(a=\"top\"===s?225:45)+\"deg)\");var c=a*Math.PI/180,p=l+r,d=p*Math.abs(Math.cos(c))+p*Math.abs(Math.sin(c)),f=e+\" solid \"+r+\"px;\";return'
'}(n,i,r)),X(t))o.innerHTML=t+a;else if(t){o.innerHTML=\"\",Y(t)||(t=[t]);for(var s=0;s=0?this._tryShow(n,i):\"leave\"===e&&this._hide(i))}),this))},e.prototype._keepShow=function(){var t=this._tooltipModel,e=this._ecModel,n=this._api,i=t.get(\"triggerOn\");if(null!=this._lastX&&null!=this._lastY&&\"none\"!==i&&\"click\"!==i){var r=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout((function(){!n.isDisposed()&&r.manuallyShowTip(t,e,n,{x:r._lastX,y:r._lastY,dataByCoordSys:r._lastDataByCoordSys})}))}},e.prototype.manuallyShowTip=function(t,e,n,i){if(i.from!==this.uid&&!r.node&&n.getDom()){var o=aV(i,n);this._ticket=\"\";var a=i.dataByCoordSys,s=function(t,e,n){var i=No(t).queryOptionMap,r=i.keys()[0];if(!r||\"series\"===r)return;var o,a=Vo(e,r,i.get(r),{useDefault:!1,enableAll:!1,enableNone:!1}).models[0];if(!a)return;if(n.getViewOfComponentModel(a).group.traverse((function(e){var n=Js(e).tooltipConfig;if(n&&n.name===t.name)return o=e,!0})),o)return{componentMainType:r,componentIndex:a.componentIndex,el:o}}(i,e,n);if(s){var l=s.el.getBoundingRect().clone();l.applyTransform(s.el.transform),this._tryShow({offsetX:l.x+l.width/2,offsetY:l.y+l.height/2,target:s.el,position:i.position,positionDefault:\"bottom\"},o)}else if(i.tooltip&&null!=i.x&&null!=i.y){var u=iV;u.x=i.x,u.y=i.y,u.update(),Js(u).tooltipConfig={name:null,option:i.tooltip},this._tryShow({offsetX:i.x,offsetY:i.y,target:u},o)}else if(a)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:a,tooltipOption:i.tooltipOption},o);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var h=dN(i,e),c=h.point[0],p=h.point[1];null!=c&&null!=p&&this._tryShow({offsetX:c,offsetY:p,target:h.el,position:i.position,positionDefault:\"bottom\"},o)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:\"updateAxisPointer\",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},o))}},e.prototype.manuallyHideTip=function(t,e,n,i){var r=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&r.hideLater(this._tooltipModel.get(\"hideDelay\")),this._lastX=this._lastY=this._lastDataByCoordSys=null,i.from!==this.uid&&this._hide(aV(i,n))},e.prototype._manuallyAxisShowTip=function(t,e,n,i){var r=i.seriesIndex,o=i.dataIndex,a=e.getComponent(\"axisPointer\").coordSysAxesInfo;if(null!=r&&null!=o&&null!=a){var s=e.getSeriesByIndex(r);if(s)if(\"axis\"===oV([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model],this._tooltipModel).get(\"trigger\"))return n.dispatchAction({type:\"updateAxisPointer\",seriesIndex:r,dataIndex:o,position:i.position}),!0}},e.prototype._tryShow=function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;if(i&&i.length)this._showAxisTooltip(i,t);else if(n){var r,o;this._lastDataByCoordSys=null,Ty(n,(function(t){return null!=Js(t).dataIndex?(r=t,!0):null!=Js(t).tooltipConfig?(o=t,!0):void 0}),!0),r?this._showSeriesItemTooltip(t,r,e):o?this._showComponentItemTooltip(t,o,e):this._hide(e)}else this._lastDataByCoordSys=null,this._hide(e)}},e.prototype._showOrMove=function(t,e){var n=t.get(\"showDelay\");e=W(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},e.prototype._showAxisTooltip=function(t,e){var n=this._ecModel,i=this._tooltipModel,r=[e.offsetX,e.offsetY],o=oV([e.tooltipOption],i),a=this._renderMode,s=[],l=Qf(\"section\",{blocks:[],noHeader:!0}),u=[],h=new hg;E(t,(function(t){E(t.dataByAxis,(function(t){var e=n.getComponent(t.axisDim+\"Axis\",t.axisIndex),r=t.value;if(e&&null!=r){var o=qR(r,e.axis,n,t.seriesDataIndices,t.valueLabelOpt),c=Qf(\"section\",{header:o,noHeader:!ut(o),sortBlocks:!0,blocks:[]});l.blocks.push(c),E(t.seriesDataIndices,(function(l){var p=n.getSeriesByIndex(l.seriesIndex),d=l.dataIndexInside,f=p.getDataParams(d);if(!(f.dataIndex<0)){f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=d_(e.axis,{value:r}),f.axisValueLabel=o,f.marker=h.makeTooltipMarker(\"item\",xp(f.color),a);var g=yf(p.formatTooltip(d,!0,null)),y=g.frag;if(y){var v=oV([p],i).get(\"valueFormatter\");c.blocks.push(v?A({valueFormatter:v},y):y)}g.text&&u.push(g.text),s.push(f)}}))}}))})),l.blocks.reverse(),u.reverse();var c=e.position,p=o.get(\"order\"),d=og(l,h,a,p,n.get(\"useUTC\"),o.get(\"textStyle\"));d&&u.unshift(d);var f=\"richText\"===a?\"\\n\\n\":\"
\",g=u.join(f);this._showOrMove(o,(function(){this._updateContentNotChangedOnAxis(t,s)?this._updatePosition(o,c,r[0],r[1],this._tooltipContent,s):this._showTooltipContent(o,g,s,Math.random()+\"\",r[0],r[1],c,null,h)}))},e.prototype._showSeriesItemTooltip=function(t,e,n){var i=this._ecModel,r=Js(e),o=r.seriesIndex,a=i.getSeriesByIndex(o),s=r.dataModel||a,l=r.dataIndex,u=r.dataType,h=s.getData(u),c=this._renderMode,p=t.positionDefault,d=oV([h.getItemModel(l),s,a&&(a.coordinateSystem||{}).model],this._tooltipModel,p?{position:p}:null),f=d.get(\"trigger\");if(null==f||\"item\"===f){var g=s.getDataParams(l,u),y=new hg;g.marker=y.makeTooltipMarker(\"item\",xp(g.color),c);var v=yf(s.formatTooltip(l,!1,u)),m=d.get(\"order\"),x=d.get(\"valueFormatter\"),_=v.frag,b=_?og(x?A({valueFormatter:x},_):_,y,c,m,i.get(\"useUTC\"),d.get(\"textStyle\")):v.text,w=\"item_\"+s.name+\"_\"+l;this._showOrMove(d,(function(){this._showTooltipContent(d,b,g,w,t.offsetX,t.offsetY,t.position,t.target,y)})),n({type:\"showTip\",dataIndexInside:l,dataIndex:h.getRawIndex(l),seriesIndex:o,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,e,n){var i=Js(e),r=i.tooltipConfig.option||{};if(X(r)){r={content:r,formatter:r}}var o=[r],a=this._ecModel.getComponent(i.componentMainType,i.componentIndex);a&&o.push(a),o.push({formatter:r.content});var s=t.positionDefault,l=oV(o,this._tooltipModel,s?{position:s}:null),u=l.get(\"content\"),h=Math.random()+\"\",c=new hg;this._showOrMove(l,(function(){var n=T(l.get(\"formatterParams\")||{});this._showTooltipContent(l,u,n,h,t.offsetX,t.offsetY,t.position,e,c)})),n({type:\"showTip\",from:this.uid})},e.prototype._showTooltipContent=function(t,e,n,i,r,o,a,s,l){if(this._ticket=\"\",t.get(\"showContent\")&&t.get(\"show\")){var u=this._tooltipContent;u.setEnterable(t.get(\"enterable\"));var h=t.get(\"formatter\");a=a||t.get(\"position\");var c=e,p=this._getNearestPoint([r,o],n,t.get(\"trigger\"),t.get(\"borderColor\")).color;if(h)if(X(h)){var d=t.ecModel.get(\"useUTC\"),f=Y(n)?n[0]:n;c=h,f&&f.axisType&&f.axisType.indexOf(\"time\")>=0&&(c=jc(f.axisValue,c,d)),c=vp(c,n,!0)}else if(U(h)){var g=W((function(e,i){e===this._ticket&&(u.setContent(i,l,t,p,a),this._updatePosition(t,a,r,o,u,n,s))}),this);this._ticket=i,c=h(n,i,g)}else c=h;u.setContent(c,l,t,p,a),u.show(t,p),this._updatePosition(t,a,r,o,u,n,s)}},e.prototype._getNearestPoint=function(t,e,n,i){return\"axis\"===n||Y(e)?{color:i||(\"html\"===this._renderMode?\"#fff\":\"none\")}:Y(e)?void 0:{color:i||e.color||e.borderColor}},e.prototype._updatePosition=function(t,e,n,i,r,o,a){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get(\"position\");var u=r.getSize(),h=t.get(\"align\"),c=t.get(\"verticalAlign\"),p=a&&a.getBoundingRect().clone();if(a&&p.applyTransform(a.transform),U(e)&&(e=e([n,i],o,r.el,p,{viewSize:[s,l],contentSize:u.slice()})),Y(e))n=Ur(e[0],s),i=Ur(e[1],l);else if(q(e)){var d=e;d.width=u[0],d.height=u[1];var f=Tp(d,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else if(X(e)&&a){var g=function(t,e,n,i){var r=n[0],o=n[1],a=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=e.width,h=e.height;switch(t){case\"inside\":s=e.x+u/2-r/2,l=e.y+h/2-o/2;break;case\"top\":s=e.x+u/2-r/2,l=e.y-o-a;break;case\"bottom\":s=e.x+u/2-r/2,l=e.y+h+a;break;case\"left\":s=e.x-r-a,l=e.y+h/2-o/2;break;case\"right\":s=e.x+u+a,l=e.y+h/2-o/2}return[s,l]}(e,p,u,t.get(\"borderWidth\"));n=g[0],i=g[1]}else{g=function(t,e,n,i,r,o,a){var s=n.getSize(),l=s[0],u=s[1];null!=o&&(t+l+o+2>i?t-=l+o:t+=o);null!=a&&(e+u+a>r?e-=u+a:e+=a);return[t,e]}(n,i,r,s,l,h?null:20,c?null:20);n=g[0],i=g[1]}if(h&&(n-=sV(h)?u[0]/2:\"right\"===h?u[0]:0),c&&(i-=sV(c)?u[1]/2:\"bottom\"===c?u[1]:0),Wz(t)){g=function(t,e,n,i,r){var o=n.getSize(),a=o[0],s=o[1];return t=Math.min(t+a,i)-a,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(n,i,r,s,l);n=g[0],i=g[1]}r.moveTo(n,i)},e.prototype._updateContentNotChangedOnAxis=function(t,e){var n=this._lastDataByCoordSys,i=this._cbParamsList,r=!!n&&n.length===t.length;return r&&E(n,(function(n,o){var a=n.dataByAxis||[],s=(t[o]||{}).dataByAxis||[];(r=r&&a.length===s.length)&&E(a,(function(t,n){var o=s[n]||{},a=t.seriesDataIndices||[],l=o.seriesDataIndices||[];(r=r&&t.value===o.value&&t.axisType===o.axisType&&t.axisId===o.axisId&&a.length===l.length)&&E(a,(function(t,e){var n=l[e];r=r&&t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})),i&&E(t.seriesDataIndices,(function(t){var n=t.seriesIndex,o=e[n],a=i[n];o&&a&&a.data!==o.data&&(r=!1)}))}))})),this._lastDataByCoordSys=t,this._cbParamsList=e,!!r},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:\"hideTip\",from:this.uid})},e.prototype.dispose=function(t,e){!r.node&&e.getDom()&&(zg(this,\"_updatePosition\"),this._tooltipContent.dispose(),cN(\"itemTooltip\",e))},e.type=\"tooltip\",e}(wg);function oV(t,e,n){var i,r=e.ecModel;n?(i=new Sc(n,r,r),i=new Sc(e.option,i,r)):i=e;for(var o=t.length-1;o>=0;o--){var a=t[o];a&&(a instanceof Sc&&(a=a.get(\"tooltip\",!0)),X(a)&&(a={formatter:a}),a&&(i=new Sc(a,i,r)))}return i}function aV(t,e){return t.dispatchAction||W(e.dispatchAction,e)}function sV(t){return\"center\"===t||\"middle\"===t}var lV=[\"rect\",\"polygon\",\"keep\",\"clear\"];function uV(t,e){var n=_o(t?t.brush:[]);if(n.length){var i=[];E(n,(function(t){var e=t.hasOwnProperty(\"toolbox\")?t.toolbox:[];e instanceof Array&&(i=i.concat(e))}));var r=t&&t.toolbox;Y(r)&&(r=r[0]),r||(r={feature:{}},t.toolbox=[r]);var o=r.feature||(r.feature={}),a=o.brush||(o.brush={}),s=a.type||(a.type=[]);s.push.apply(s,i),function(t){var e={};E(t,(function(t){e[t]=1})),t.length=0,E(e,(function(e,n){t.push(n)}))}(s),e&&!s.length&&s.push.apply(s,lV)}}var hV=E;function cV(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function pV(t,e,n){var i={};return hV(e,(function(e){var r,o=i[e]=((r=function(){}).prototype.__hidden=r.prototype,new r);hV(t[e],(function(t,i){if(dD.isValidType(i)){var r={type:i,visual:t};n&&n(r,e),o[i]=new dD(r),\"opacity\"===i&&((r=T(r)).type=\"colorAlpha\",o.__hidden.__alphaForOpacity=new dD(r))}}))})),i}function dV(t,e,n){var i;E(n,(function(t){e.hasOwnProperty(t)&&cV(e[t])&&(i=!0)})),i&&E(n,(function(n){e.hasOwnProperty(n)&&cV(e[n])?t[n]=T(e[n]):delete t[n]}))}var fV={lineX:gV(0),lineY:gV(1),rect:{point:function(t,e,n){return t&&n.boundingRect.contain(t[0],t[1])},rect:function(t,e,n){return t&&n.boundingRect.intersect(t)}},polygon:{point:function(t,e,n){return t&&n.boundingRect.contain(t[0],t[1])&&w_(n.range,t[0],t[1])},rect:function(t,e,n){var i=n.range;if(!t||i.length<=1)return!1;var r=t.x,o=t.y,a=t.width,s=t.height,l=i[0];return!!(w_(i,r,o)||w_(i,r+a,o)||w_(i,r,o+s)||w_(i,r+a,o+s)||Ee.create(t).contain(l[0],l[1])||Hh(r,o,r+a,o,i)||Hh(r,o,r,o+s,i)||Hh(r+a,o,r+a,o+s,i)||Hh(r,o+s,r+a,o+s,i))||void 0}}};function gV(t){var e=[\"x\",\"y\"],n=[\"width\",\"height\"];return{point:function(e,n,i){if(e){var r=i.range;return yV(e[t],r)}},rect:function(i,r,o){if(i){var a=o.range,s=[i[e[t]],i[e[t]]+i[n[t]]];return s[1]e[0][1]&&(e[0][1]=o[0]),o[1]e[1][1]&&(e[1][1]=o[1])}return e&&IV(e)}};function IV(t){return new Ee(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var TV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new Yk(e.getZr())).on(\"brush\",W(this._onBrush,this)).mount()},e.prototype.render=function(t,e,n,i){this.model=t,this._updateController(t,e,n,i)},e.prototype.updateTransform=function(t,e,n,i){_V(e),this._updateController(t,e,n,i)},e.prototype.updateVisual=function(t,e,n,i){this.updateTransform(t,e,n,i)},e.prototype.updateView=function(t,e,n,i){this._updateController(t,e,n,i)},e.prototype._updateController=function(t,e,n,i){(!i||i.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var e=this.model.id,n=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:\"brush\",brushId:e,areas:T(n),$from:e}),t.isEnd&&this.api.dispatchAction({type:\"brushEnd\",brushId:e,areas:T(n),$from:e})},e.type=\"brush\",e}(wg),CV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.areas=[],n.brushOption={},n}return n(e,t),e.prototype.optionUpdated=function(t,e){var n=this.option;!e&&dV(n,t,[\"inBrush\",\"outOfBrush\"]);var i=n.inBrush=n.inBrush||{};n.outOfBrush=n.outOfBrush||{color:\"#ddd\"},i.hasOwnProperty(\"liftZ\")||(i.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=z(t,(function(t){return DV(this.option,t)}),this))},e.prototype.setBrushOption=function(t){this.brushOption=DV(this.option,t),this.brushType=this.brushOption.brushType},e.type=\"brush\",e.dependencies=[\"geo\",\"grid\",\"xAxis\",\"yAxis\",\"parallel\",\"series\"],e.defaultOption={seriesIndex:\"all\",brushType:\"rect\",brushMode:\"single\",transformable:!0,brushStyle:{borderWidth:1,color:\"rgba(210,219,238,0.3)\",borderColor:\"#D2DBEE\"},throttleType:\"fixRate\",throttleDelay:0,removeOnClick:!0,z:1e4},e}(Op);function DV(t,e){return C({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new Sc(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}var AV=[\"rect\",\"polygon\",\"lineX\",\"lineY\",\"keep\",\"clear\"],kV=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n){var i,r,o;e.eachComponent({mainType:\"brush\"},(function(t){i=t.brushType,r=t.brushOption.brushMode||\"single\",o=o||!!t.areas.length})),this._brushType=i,this._brushMode=r,E(t.get(\"type\",!0),(function(e){t.setIconStatus(e,(\"keep\"===e?\"multiple\"===r:\"clear\"===e?o:e===i)?\"emphasis\":\"normal\")}))},e.prototype.updateView=function(t,e,n){this.render(t,e,n)},e.prototype.getIcons=function(){var t=this.model,e=t.get(\"icon\",!0),n={};return E(t.get(\"type\",!0),(function(t){e[t]&&(n[t]=e[t])})),n},e.prototype.onclick=function(t,e,n){var i=this._brushType,r=this._brushMode;\"clear\"===n?(e.dispatchAction({type:\"axisAreaSelect\",intervals:[]}),e.dispatchAction({type:\"brush\",command:\"clear\",areas:[]})):e.dispatchAction({type:\"takeGlobalCursor\",key:\"brush\",brushOption:{brushType:\"keep\"===n?i:i!==n&&n,brushMode:\"keep\"===n?\"multiple\"===r?\"single\":\"multiple\":r}})},e.getDefaultOption=function(t){return{show:!0,type:AV.slice(),icon:{rect:\"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13\",polygon:\"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2\",lineX:\"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4\",lineY:\"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4\",keep:\"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z\",clear:\"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2\"},title:t.getLocaleModel().get([\"toolbox\",\"brush\",\"title\"])}},e}(QE);var LV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode={type:\"box\",ignoreSize:!0},n}return n(e,t),e.type=\"title\",e.defaultOption={z:6,show:!0,text:\"\",target:\"blank\",subtext:\"\",subtarget:\"blank\",left:0,top:0,backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:\"bold\",color:\"#464646\"},subtextStyle:{fontSize:12,color:\"#6E7079\"}},e}(Op),PV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){if(this.group.removeAll(),t.get(\"show\")){var i=this.group,r=t.getModel(\"textStyle\"),o=t.getModel(\"subtextStyle\"),a=t.get(\"textAlign\"),s=rt(t.get(\"textBaseline\"),t.get(\"textVerticalAlign\")),l=new Bs({style:ec(r,{text:t.get(\"text\"),fill:r.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get(\"subtext\"),c=new Bs({style:ec(o,{text:h,fill:o.getTextColor(),y:u.height+t.get(\"itemGap\"),verticalAlign:\"top\"},{disableBox:!0}),z2:10}),p=t.get(\"link\"),d=t.get(\"sublink\"),f=t.get(\"triggerEvent\",!0);l.silent=!p&&!f,c.silent=!d&&!f,p&&l.on(\"click\",(function(){_p(p,\"_\"+t.get(\"target\"))})),d&&c.on(\"click\",(function(){_p(d,\"_\"+t.get(\"subtarget\"))})),Js(l).eventData=Js(c).eventData=f?{componentType:\"title\",componentIndex:t.componentIndex}:null,i.add(l),h&&i.add(c);var g=i.getBoundingRect(),y=t.getBoxLayoutParams();y.width=g.width,y.height=g.height;var v=Tp(y,{width:n.getWidth(),height:n.getHeight()},t.get(\"padding\"));a||(\"middle\"===(a=t.get(\"left\")||t.get(\"right\"))&&(a=\"center\"),\"right\"===a?v.x+=v.width:\"center\"===a&&(v.x+=v.width/2)),s||(\"center\"===(s=t.get(\"top\")||t.get(\"bottom\"))&&(s=\"middle\"),\"bottom\"===s?v.y+=v.height:\"middle\"===s&&(v.y+=v.height/2),s=s||\"top\"),i.x=v.x,i.y=v.y,i.markRedraw();var m={align:a,verticalAlign:s};l.setStyle(m),c.setStyle(m),g=i.getBoundingRect();var x=v.margin,_=t.getItemStyle([\"color\",\"opacity\"]);_.fill=t.get(\"backgroundColor\");var b=new Es({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get(\"borderRadius\")},style:_,subPixelOptimize:!0,silent:!0});i.add(b)}},e.type=\"title\",e}(wg);var OV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode=\"box\",n}return n(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n),this._initData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t,e=this.option,n=e.data||[],i=e.axisType,r=this._names=[];\"category\"===i?(t=[],E(n,(function(e,n){var i,o=Do(So(e),\"\");q(e)?(i=T(e)).value=n:i=n,t.push(i),r.push(o)}))):t=n;var o={category:\"ordinal\",time:\"time\",value:\"number\"}[i]||\"number\";(this._data=new ex([{name:\"value\",type:o}],this)).initData(t,r)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if(\"category\"===this.get(\"axisType\"))return this._names.slice()},e.type=\"timeline\",e.defaultOption={z:4,show:!0,axisType:\"time\",realtime:!0,left:\"20%\",top:null,right:\"20%\",bottom:0,width:null,height:40,padding:5,controlPosition:\"left\",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:\"#000\"},data:[]},e}(Op),RV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"timeline.slider\",e.defaultOption=Tc(OV.defaultOption,{backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",borderWidth:0,orient:\"horizontal\",inverse:!1,tooltip:{trigger:\"item\"},symbol:\"circle\",symbolSize:12,lineStyle:{show:!0,width:2,color:\"#DAE1F5\"},label:{position:\"auto\",show:!0,interval:\"auto\",rotate:0,color:\"#A4B1D7\"},itemStyle:{color:\"#A4B1D7\",borderWidth:1},checkpointStyle:{symbol:\"circle\",symbolSize:15,color:\"#316bf3\",borderColor:\"#fff\",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:\"rgba(0, 0, 0, 0.3)\",animation:!0,animationDuration:300,animationEasing:\"quinticInOut\"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:\"left\",playIcon:\"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z\",stopIcon:\"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z\",nextIcon:\"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z\",prevIcon:\"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z\",prevBtnSize:18,nextBtnSize:18,color:\"#A4B1D7\",borderColor:\"#A4B1D7\",borderWidth:1},emphasis:{label:{show:!0,color:\"#6f778d\"},itemStyle:{color:\"#316BF3\"},controlStyle:{color:\"#316BF3\",borderColor:\"#316BF3\",borderWidth:2}},progress:{lineStyle:{color:\"#316BF3\"},itemStyle:{color:\"#316BF3\"},label:{color:\"#6f778d\"}},data:[]}),e}(OV);R(RV,gf.prototype);var NV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"timeline\",e}(wg),EV=function(t){function e(e,n,i,r){var o=t.call(this,e,n,i)||this;return o.type=r||\"value\",o}return n(e,t),e.prototype.getLabelModel=function(){return this.model.getModel(\"label\")},e.prototype.isHorizontal=function(){return\"horizontal\"===this.model.get(\"orient\")},e}(q_),zV=Math.PI,VV=Po(),BV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){this.api=e},e.prototype.render=function(t,e,n){if(this.model=t,this.api=n,this.ecModel=e,this.group.removeAll(),t.get(\"show\",!0)){var i=this._layout(t,n),r=this._createGroup(\"_mainGroup\"),o=this._createGroup(\"_labelGroup\"),a=this._axis=this._createAxis(i,t);t.formatTooltip=function(t){return Qf(\"nameValue\",{noName:!0,value:a.scale.getLabel({value:t})})},E([\"AxisLine\",\"AxisTick\",\"Control\",\"CurrentPointer\"],(function(e){this[\"_render\"+e](i,r,a,t)}),this),this._renderAxisLabel(i,o,a,t),this._position(i,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,e){var n,i,r,o,a=t.get([\"label\",\"position\"]),s=t.get(\"orient\"),l=function(t,e){return Tp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get(\"padding\"))}(t,e),u={horizontal:\"center\",vertical:(n=null==a||\"auto\"===a?\"horizontal\"===s?l.y+l.height/2=0||\"+\"===n?\"left\":\"right\"},h={horizontal:n>=0||\"+\"===n?\"top\":\"bottom\",vertical:\"middle\"},c={horizontal:0,vertical:zV/2},p=\"vertical\"===s?l.height:l.width,d=t.getModel(\"controlStyle\"),f=d.get(\"show\",!0),g=f?d.get(\"itemSize\"):0,y=f?d.get(\"itemGap\"):0,v=g+y,m=t.get([\"label\",\"rotate\"])||0;m=m*zV/180;var x=d.get(\"position\",!0),_=f&&d.get(\"showPlayBtn\",!0),b=f&&d.get(\"showPrevBtn\",!0),w=f&&d.get(\"showNextBtn\",!0),S=0,M=p;\"left\"===x||\"bottom\"===x?(_&&(i=[0,0],S+=v),b&&(r=[S,0],S+=v),w&&(o=[M-g,0],M-=v)):(_&&(i=[M-g,0],M-=v),b&&(r=[0,0],S+=v),w&&(o=[M-g,0],M-=v));var I=[S,M];return t.get(\"inverse\")&&I.reverse(),{viewRect:l,mainLength:p,orient:s,rotation:c[s],labelRotation:m,labelPosOpt:n,labelAlign:t.get([\"label\",\"align\"])||u[s],labelBaseline:t.get([\"label\",\"verticalAlign\"])||t.get([\"label\",\"baseline\"])||h[s],playPosition:i,prevBtnPosition:r,nextBtnPosition:o,axisExtent:I,controlSize:g,controlGap:y}},e.prototype._position=function(t,e){var n=this._mainGroup,i=this._labelGroup,r=t.viewRect;if(\"vertical\"===t.orient){var o=[1,0,0,1,0,0],a=r.x,s=r.y+r.height;be(o,o,[-a,-s]),we(o,o,-zV/2),be(o,o,[a,s]),(r=r.clone()).applyTransform(o)}var l=y(r),u=y(n.getBoundingRect()),h=y(i.getBoundingRect()),c=[n.x,n.y],p=[i.x,i.y];p[0]=c[0]=l[0][0];var d,f=t.labelPosOpt;null==f||X(f)?(v(c,u,l,1,d=\"+\"===f?0:1),v(p,h,l,1,1-d)):(v(c,u,l,1,d=f>=0?0:1),p[1]=c[1]+f);function g(t){t.originX=l[0][0]-t.x,t.originY=l[1][0]-t.y}function y(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function v(t,e,n,i,r){t[i]+=n[i][r]-e[i][r]}n.setPosition(c),i.setPosition(p),n.rotation=i.rotation=t.rotation,g(n),g(i)},e.prototype._createAxis=function(t,e){var n=e.getData(),i=e.get(\"axisType\"),r=function(t,e){if(e=e||t.get(\"type\"))switch(e){case\"category\":return new Mx({ordinalMeta:t.getCategories(),extent:[1/0,-1/0]});case\"time\":return new Fx({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get(\"useUTC\")});default:return new Tx}}(e,i);r.getTicks=function(){return n.mapArray([\"value\"],(function(t){return{value:t}}))};var o=n.getDataExtent(\"value\");r.setExtent(o[0],o[1]),r.calcNiceTicks();var a=new EV(\"value\",r,t.axisExtent,i);return a.model=e,a},e.prototype._createGroup=function(t){var e=this[t]=new Er;return this.group.add(e),e},e.prototype._renderAxisLine=function(t,e,n,i){var r=n.getExtent();if(i.get([\"lineStyle\",\"show\"])){var o=new Xu({shape:{x1:r[0],y1:0,x2:r[1],y2:0},style:A({lineCap:\"round\"},i.getModel(\"lineStyle\").getLineStyle()),silent:!0,z2:1});e.add(o);var a=this._progressLine=new Xu({shape:{x1:r[0],x2:this._currentPointer?this._currentPointer.x:r[0],y1:0,y2:0},style:k({lineCap:\"round\",lineWidth:o.style.lineWidth},i.getModel([\"progress\",\"lineStyle\"]).getLineStyle()),silent:!0,z2:1});e.add(a)}},e.prototype._renderAxisTick=function(t,e,n,i){var r=this,o=i.getData(),a=n.scale.getTicks();this._tickSymbols=[],E(a,(function(t){var a=n.dataToCoord(t.value),s=o.getItemModel(t.value),l=s.getModel(\"itemStyle\"),u=s.getModel([\"emphasis\",\"itemStyle\"]),h=s.getModel([\"progress\",\"itemStyle\"]),c={x:a,y:0,onclick:W(r._changeTimeline,r,t.value)},p=FV(s,l,e,c);p.ensureState(\"emphasis\").style=u.getItemStyle(),p.ensureState(\"progress\").style=h.getItemStyle(),Wl(p);var d=Js(p);s.get(\"tooltip\")?(d.dataIndex=t.value,d.dataModel=i):d.dataIndex=d.dataModel=null,r._tickSymbols.push(p)}))},e.prototype._renderAxisLabel=function(t,e,n,i){var r=this;if(n.getLabelModel().get(\"show\")){var o=i.getData(),a=n.getViewLabels();this._tickLabels=[],E(a,(function(i){var a=i.tickValue,s=o.getItemModel(a),l=s.getModel(\"label\"),u=s.getModel([\"emphasis\",\"label\"]),h=s.getModel([\"progress\",\"label\"]),c=n.dataToCoord(i.tickValue),p=new Bs({x:c,y:0,rotation:t.labelRotation-t.rotation,onclick:W(r._changeTimeline,r,a),silent:!1,style:ec(l,{text:i.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});p.ensureState(\"emphasis\").style=ec(u),p.ensureState(\"progress\").style=ec(h),e.add(p),Wl(p),VV(p).dataIndex=a,r._tickLabels.push(p)}))}},e.prototype._renderControl=function(t,e,n,i){var r=t.controlSize,o=t.rotation,a=i.getModel(\"controlStyle\").getItemStyle(),s=i.getModel([\"emphasis\",\"controlStyle\"]).getItemStyle(),l=i.getPlayState(),u=i.get(\"inverse\",!0);function h(t,n,l,u){if(t){var h=Mr(rt(i.get([\"controlStyle\",n+\"BtnSize\"]),r),r),c=function(t,e,n,i){var r=i.style,o=Wh(t.get([\"controlStyle\",e]),i||{},new Ee(n[0],n[1],n[2],n[3]));r&&o.setStyle(r);return o}(i,n+\"Icon\",[0,-h/2,h,h],{x:t[0],y:t[1],originX:r/2,originY:0,rotation:u?-o:0,rectHover:!0,style:a,onclick:l});c.ensureState(\"emphasis\").style=s,e.add(c),Wl(c)}}h(t.nextBtnPosition,\"next\",W(this._changeTimeline,this,u?\"-\":\"+\")),h(t.prevBtnPosition,\"prev\",W(this._changeTimeline,this,u?\"+\":\"-\")),h(t.playPosition,l?\"stop\":\"play\",W(this._handlePlayClick,this,!l),!0)},e.prototype._renderCurrentPointer=function(t,e,n,i){var r=i.getData(),o=i.getCurrentIndex(),a=r.getItemModel(o).getModel(\"checkpointStyle\"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=W(s._handlePointerDrag,s),t.ondragend=W(s._handlePointerDragend,s),GV(t,s._progressLine,o,n,i,!0)},onUpdate:function(t){GV(t,s._progressLine,o,n,i)}};this._currentPointer=FV(a,a,this._mainGroup,{},this._currentPointer,l)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:\"timelinePlayChange\",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,e,n){this._clearTimer(),this._pointerChangeTimeline([n.offsetX,n.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,e){var n=this._toAxisCoord(t)[0],i=Zr(this._axis.getExtent().slice());n>i[1]&&(n=i[1]),n=0&&(a[o]=+a[o].toFixed(c)),[a,h]}var JV={min:H($V,\"min\"),max:H($V,\"max\"),average:H($V,\"average\"),median:H($V,\"median\")};function QV(t,e){if(e){var n=t.getData(),i=t.coordinateSystem,r=i.dimensions;if(!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!Y(e.coord)&&i){var o=tB(e,n,i,t);if((e=T(e)).type&&JV[e.type]&&o.baseAxis&&o.valueAxis){var a=P(r,o.baseAxis.dim),s=P(r,o.valueAxis.dim),l=JV[e.type](n,o.baseDataDim,o.valueDataDim,a,s);e.coord=l[0],e.value=l[1]}else e.coord=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis]}if(null==e.coord)e.coord=[];else for(var u=e.coord,h=0;h<2;h++)JV[u[h]]&&(u[h]=iB(n,n.mapDimension(r[h]),u[h]));return e}}function tB(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(function(t,e){var n=t.getData().getDimensionInfo(e);return n&&n.coordDim}(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function eB(t,e){return!(t&&t.containData&&e.coord&&!KV(e))||t.containData(e.coord)}function nB(t,e){return t?function(t,n,i,r){return _f(r<2?t.coord&&t.coord[r]:t.value,e[r])}:function(t,n,i,r){return _f(t.value,e[r])}}function iB(t,e,n){if(\"average\"===n){var i=0,r=0;return t.each(e,(function(t,e){isNaN(t)||(i+=t,r++)})),i/r}return\"median\"===n?t.getMedian(e):t.getDataExtent(e)[\"max\"===n?1:0]}var rB=Po(),oB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){this.markerGroupMap=yt()},e.prototype.render=function(t,e,n){var i=this,r=this.markerGroupMap;r.each((function(t){rB(t).keep=!1})),e.eachSeries((function(t){var r=jV.getMarkerModelFromSeries(t,i.type);r&&i.renderSeries(t,r,e,n)})),r.each((function(t){!rB(t).keep&&i.group.remove(t.group)}))},e.prototype.markKeep=function(t){rB(t).keep=!0},e.prototype.toggleBlurSeries=function(t,e){var n=this;E(t,(function(t){var i=jV.getMarkerModelFromSeries(t,n.type);i&&i.getData().eachItemGraphicEl((function(t){t&&(e?Ll(t):Pl(t))}))}))},e.type=\"marker\",e}(wg);function aB(t,e,n){var i=e.coordinateSystem;t.each((function(r){var o,a=t.getItemModel(r),s=Ur(a.get(\"x\"),n.getWidth()),l=Ur(a.get(\"y\"),n.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)o=e.getMarkerPosition(t.getValues(t.dimensions,r));else if(i){var u=t.get(i.dimensions[0],r),h=t.get(i.dimensions[1],r);o=i.dataToPoint([u,h])}}else o=[s,l];isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),t.setItemLayout(r,o)}))}var sB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=jV.getMarkerModelFromSeries(t,\"markPoint\");e&&(aB(e.getData(),t,n),this.markerGroupMap.get(t.id).updateLayout())}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new iS),u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return A(A({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:\"value\",type:\"float\"}];var r=new ex(i,n),o=z(n.get(\"data\"),H(QV,e));t&&(o=B(o,H(eB,t)));var a=nB(!!t,i);return r.initData(o,null,a),r}(r,t,e);e.setData(u),aB(e.getData(),t,i),u.each((function(t){var n=u.getItemModel(t),i=n.getShallow(\"symbol\"),r=n.getShallow(\"symbolSize\"),o=n.getShallow(\"symbolRotate\"),s=n.getShallow(\"symbolOffset\"),l=n.getShallow(\"symbolKeepAspect\");if(U(i)||U(r)||U(o)||U(s)){var h=e.getRawValue(t),c=e.getDataParams(t);U(i)&&(i=i(h,c)),U(r)&&(r=r(h,c)),U(o)&&(o=o(h,c)),U(s)&&(s=s(h,c))}var p=n.getModel(\"itemStyle\").getItemStyle(),d=wy(a,\"color\");p.fill||(p.fill=d),u.setItemVisual(t,{symbol:i,symbolSize:r,symbolRotate:o,symbolOffset:s,symbolKeepAspect:l,style:p})})),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl((function(t){t.traverse((function(t){Js(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get(\"silent\")||t.get(\"silent\")},e.type=\"markPoint\",e}(oB);var lB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type=\"markLine\",e.defaultOption={z:5,symbol:[\"circle\",\"arrow\"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:\"item\"},label:{show:!0,position:\"end\",distance:5},lineStyle:{type:\"dashed\"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:\"linear\"},e}(jV),uB=Po(),hB=function(t,e,n,i){var r,o=t.getData();if(Y(i))r=i;else{var a=i.type;if(\"min\"===a||\"max\"===a||\"average\"===a||\"median\"===a||null!=i.xAxis||null!=i.yAxis){var s=void 0,l=void 0;if(null!=i.yAxis||null!=i.xAxis)s=e.getAxis(null!=i.yAxis?\"y\":\"x\"),l=it(i.yAxis,i.xAxis);else{var u=tB(i,o,e,t);s=u.valueAxis,l=iB(o,ux(o,u.valueDataDim),a)}var h=\"x\"===s.dim?0:1,c=1-h,p=T(i),d={coord:[]};p.type=null,p.coord=[],p.coord[c]=-1/0,d.coord[c]=1/0;var f=n.get(\"precision\");f>=0&&j(l)&&(l=+l.toFixed(Math.min(f,20))),p.coord[h]=d.coord[h]=l,r=[p,d,{type:a,valueIndex:i.valueIndex,value:l}]}else r=[]}var g=[QV(t,r[0]),QV(t,r[1]),A({},r[2])];return g[2].type=g[2].type||null,C(g[2],g[0]),C(g[2],g[1]),g};function cB(t){return!isNaN(t)&&!isFinite(t)}function pB(t,e,n,i){var r=1-t,o=i.dimensions[t];return cB(e[r])&&cB(n[r])&&e[t]===n[t]&&i.getAxis(o).containData(e[t])}function dB(t,e){if(\"cartesian2d\"===t.type){var n=e[0].coord,i=e[1].coord;if(n&&i&&(pB(1,n,i,t)||pB(0,n,i,t)))return!0}return eB(t,e[0])&&eB(t,e[1])}function fB(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=Ur(s.get(\"x\"),r.getWidth()),u=Ur(s.get(\"y\"),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition)o=i.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=a.dimensions,c=t.get(h[0],e),p=t.get(h[1],e);o=a.dataToPoint([c,p])}if(vS(a,\"cartesian2d\")){var d=a.getAxis(\"x\"),f=a.getAxis(\"y\");h=a.dimensions;cB(t.get(h[0],e))?o[0]=d.toGlobalCoord(d.getExtent()[n?0:1]):cB(t.get(h[1],e))&&(o[1]=f.toGlobalCoord(f.getExtent()[n?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];t.setItemLayout(e,o)}var gB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=jV.getMarkerModelFromSeries(t,\"markLine\");if(e){var i=e.getData(),r=uB(e).from,o=uB(e).to;r.each((function(e){fB(r,e,!0,t,n),fB(o,e,!1,t,n)})),i.each((function(t){i.setItemLayout(t,[r.getItemLayout(t),o.getItemLayout(t)])})),this.markerGroupMap.get(t.id).updateLayout()}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new TA);this.group.add(l.group);var u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return A(A({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:\"value\",type:\"float\"}];var r=new ex(i,n),o=new ex(i,n),a=new ex([],n),s=z(n.get(\"data\"),H(hB,e,t,n));t&&(s=B(s,H(dB,t)));var l=nB(!!t,i);return r.initData(z(s,(function(t){return t[0]})),null,l),o.initData(z(s,(function(t){return t[1]})),null,l),a.initData(z(s,(function(t){return t[2]}))),a.hasItemOption=!0,{from:r,to:o,line:a}}(r,t,e),h=u.from,c=u.to,p=u.line;uB(e).from=h,uB(e).to=c,e.setData(p);var d=e.get(\"symbol\"),f=e.get(\"symbolSize\"),g=e.get(\"symbolRotate\"),y=e.get(\"symbolOffset\");function v(e,n,r){var o=e.getItemModel(n);fB(e,n,r,t,i);var s=o.getModel(\"itemStyle\").getItemStyle();null==s.fill&&(s.fill=wy(a,\"color\")),e.setItemVisual(n,{symbolKeepAspect:o.get(\"symbolKeepAspect\"),symbolOffset:rt(o.get(\"symbolOffset\",!0),y[r?0:1]),symbolRotate:rt(o.get(\"symbolRotate\",!0),g[r?0:1]),symbolSize:rt(o.get(\"symbolSize\"),f[r?0:1]),symbol:rt(o.get(\"symbol\",!0),d[r?0:1]),style:s})}Y(d)||(d=[d,d]),Y(f)||(f=[f,f]),Y(g)||(g=[g,g]),Y(y)||(y=[y,y]),u.from.each((function(t){v(h,t,!0),v(c,t,!1)})),p.each((function(t){var e=p.getItemModel(t).getModel(\"lineStyle\").getLineStyle();p.setItemLayout(t,[h.getItemLayout(t),c.getItemLayout(t)]),null==e.stroke&&(e.stroke=h.getItemVisual(t,\"style\").fill),p.setItemVisual(t,{fromSymbolKeepAspect:h.getItemVisual(t,\"symbolKeepAspect\"),fromSymbolOffset:h.getItemVisual(t,\"symbolOffset\"),fromSymbolRotate:h.getItemVisual(t,\"symbolRotate\"),fromSymbolSize:h.getItemVisual(t,\"symbolSize\"),fromSymbol:h.getItemVisual(t,\"symbol\"),toSymbolKeepAspect:c.getItemVisual(t,\"symbolKeepAspect\"),toSymbolOffset:c.getItemVisual(t,\"symbolOffset\"),toSymbolRotate:c.getItemVisual(t,\"symbolRotate\"),toSymbolSize:c.getItemVisual(t,\"symbolSize\"),toSymbol:c.getItemVisual(t,\"symbol\"),style:e})})),l.updateData(p),u.line.eachItemGraphicEl((function(t){Js(t).dataModel=e,t.traverse((function(t){Js(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get(\"silent\")||t.get(\"silent\")},e.type=\"markLine\",e}(oB);var yB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type=\"markArea\",e.defaultOption={z:1,tooltip:{trigger:\"item\"},animation:!1,label:{show:!0,position:\"top\"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:\"top\"}}},e}(jV),vB=Po(),mB=function(t,e,n,i){var r=i[0],o=i[1];if(r&&o){var a=QV(t,r),s=QV(t,o),l=a.coord,u=s.coord;l[0]=it(l[0],-1/0),l[1]=it(l[1],-1/0),u[0]=it(u[0],1/0),u[1]=it(u[1],1/0);var h=D([{},a,s]);return h.coord=[a.coord,s.coord],h.x0=a.x,h.y0=a.y,h.x1=s.x,h.y1=s.y,h}};function xB(t){return!isNaN(t)&&!isFinite(t)}function _B(t,e,n,i){var r=1-t;return xB(e[r])&&xB(n[r])}function bB(t,e){var n=e.coord[0],i=e.coord[1],r={coord:n,x:e.x0,y:e.y0},o={coord:i,x:e.x1,y:e.y1};return vS(t,\"cartesian2d\")?!(!n||!i||!_B(1,n,i)&&!_B(0,n,i))||function(t,e,n){return!(t&&t.containZone&&e.coord&&n.coord&&!KV(e)&&!KV(n))||t.containZone(e.coord,n.coord)}(t,r,o):eB(t,r)||eB(t,o)}function wB(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=Ur(s.get(n[0]),r.getWidth()),u=Ur(s.get(n[1]),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition){var h=t.getValues([\"x0\",\"y0\"],e),c=t.getValues([\"x1\",\"y1\"],e),p=a.clampData(h),d=a.clampData(c),f=[];\"x0\"===n[0]?f[0]=p[0]>d[0]?c[0]:h[0]:f[0]=p[0]>d[0]?h[0]:c[0],\"y0\"===n[1]?f[1]=p[1]>d[1]?c[1]:h[1]:f[1]=p[1]>d[1]?h[1]:c[1],o=i.getMarkerPosition(f,n,!0)}else{var g=[m=t.get(n[0],e),x=t.get(n[1],e)];a.clampData&&a.clampData(g,g),o=a.dataToPoint(g,!0)}if(vS(a,\"cartesian2d\")){var y=a.getAxis(\"x\"),v=a.getAxis(\"y\"),m=t.get(n[0],e),x=t.get(n[1],e);xB(m)?o[0]=y.toGlobalCoord(y.getExtent()[\"x0\"===n[0]?0:1]):xB(x)&&(o[1]=v.toGlobalCoord(v.getExtent()[\"y0\"===n[1]?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];return o}var SB=[[\"x0\",\"y0\"],[\"x1\",\"y0\"],[\"x1\",\"y1\"],[\"x0\",\"y1\"]],MB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=jV.getMarkerModelFromSeries(t,\"markArea\");if(e){var i=e.getData();i.each((function(e){var r=z(SB,(function(r){return wB(i,e,r,t,n)}));i.setItemLayout(e,r),i.getItemGraphicEl(e).setShape(\"points\",r)}))}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,{group:new Er});this.group.add(l.group),this.markKeep(l);var u=function(t,e,n){var i,r,o=[\"x0\",\"y0\",\"x1\",\"y1\"];if(t){var a=z(t&&t.dimensions,(function(t){var n=e.getData();return A(A({},n.getDimensionInfo(n.mapDimension(t))||{}),{name:t,ordinalMeta:null})}));r=z(o,(function(t,e){return{name:t,type:a[e%2].type}})),i=new ex(r,n)}else i=new ex(r=[{name:\"value\",type:\"float\"}],n);var s=z(n.get(\"data\"),H(mB,e,t,n));t&&(s=B(s,H(bB,t)));var l=t?function(t,e,n,i){return _f(t.coord[Math.floor(i/2)][i%2],r[i])}:function(t,e,n,i){return _f(t.value,r[i])};return i.initData(s,null,l),i.hasItemOption=!0,i}(r,t,e);e.setData(u),u.each((function(e){var n=z(SB,(function(n){return wB(u,e,n,t,i)})),o=r.getAxis(\"x\").scale,s=r.getAxis(\"y\").scale,l=o.getExtent(),h=s.getExtent(),c=[o.parse(u.get(\"x0\",e)),o.parse(u.get(\"x1\",e))],p=[s.parse(u.get(\"y0\",e)),s.parse(u.get(\"y1\",e))];Zr(c),Zr(p);var d=!!(l[0]>c[1]||l[1]p[1]||h[1]=0},e.prototype.getOrient=function(){return\"vertical\"===this.get(\"orient\")?{index:1,name:\"vertical\"}:{index:0,name:\"horizontal\"}},e.type=\"legend.plain\",e.dependencies=[\"series\"],e.defaultOption={z:4,show:!0,orient:\"horizontal\",left:\"center\",top:0,align:\"auto\",backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:\"inherit\",symbolKeepAspect:!0,inactiveColor:\"#ccc\",inactiveBorderColor:\"#ccc\",inactiveBorderWidth:\"auto\",itemStyle:{color:\"inherit\",opacity:\"inherit\",borderColor:\"inherit\",borderWidth:\"auto\",borderCap:\"inherit\",borderJoin:\"inherit\",borderDashOffset:\"inherit\",borderMiterLimit:\"inherit\"},lineStyle:{width:\"auto\",color:\"inherit\",inactiveColor:\"#ccc\",inactiveWidth:2,opacity:\"inherit\",type:\"inherit\",cap:\"inherit\",join:\"inherit\",dashOffset:\"inherit\",miterLimit:\"inherit\"},textStyle:{color:\"#333\"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:\"sans-serif\",color:\"#666\",borderWidth:1,borderColor:\"#666\"},emphasis:{selectorLabel:{show:!0,color:\"#eee\",backgroundColor:\"#666\"}},selectorPosition:\"auto\",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(Op),TB=H,CB=E,DB=Er,AB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.newlineDisabled=!1,n}return n(e,t),e.prototype.init=function(){this.group.add(this._contentGroup=new DB),this.group.add(this._selectorGroup=new DB),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get(\"show\",!0)){var r=t.get(\"align\"),o=t.get(\"orient\");r&&\"auto\"!==r||(r=\"right\"===t.get(\"left\")&&\"vertical\"===o?\"right\":\"left\");var a=t.get(\"selector\",!0),s=t.get(\"selectorPosition\",!0);!a||s&&\"auto\"!==s||(s=\"horizontal\"===o?\"end\":\"start\"),this.renderInner(r,t,e,n,a,o,s);var l=t.getBoxLayoutParams(),u={width:n.getWidth(),height:n.getHeight()},h=t.get(\"padding\"),c=Tp(l,u,h),p=this.layoutInner(t,r,c,i,a,s),d=Tp(k({width:p.width,height:p.height},l),u,h);this.group.x=d.x-p.x,this.group.y=d.y-p.y,this.group.markRedraw(),this.group.add(this._backgroundEl=rz(p,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,e,n,i,r,o,a){var s=this.getContentGroup(),l=yt(),u=e.get(\"selectedMode\"),h=[];n.eachRawSeries((function(t){!t.get(\"legendHoverLink\")&&h.push(t.id)})),CB(e.getData(),(function(r,o){var a=r.get(\"name\");if(!this.newlineDisabled&&(\"\"===a||\"\\n\"===a)){var c=new DB;return c.newline=!0,void s.add(c)}var p=n.getSeriesByName(a)[0];if(!l.get(a)){if(p){var d=p.getData(),f=d.getVisual(\"legendLineStyle\")||{},g=d.getVisual(\"legendIcon\"),y=d.getVisual(\"style\");this._createItem(p,a,o,r,e,t,f,y,g,u,i).on(\"click\",TB(kB,a,null,i,h)).on(\"mouseover\",TB(PB,p.name,null,i,h)).on(\"mouseout\",TB(OB,p.name,null,i,h)),l.set(a,!0)}else n.eachRawSeries((function(n){if(!l.get(a)&&n.legendVisualProvider){var s=n.legendVisualProvider;if(!s.containName(a))return;var c=s.indexOfName(a),p=s.getItemVisual(c,\"style\"),d=s.getItemVisual(c,\"legendIcon\"),f=jn(p.fill);f&&0===f[3]&&(f[3]=.2,p=A(A({},p),{fill:ii(f,\"rgba\")})),this._createItem(n,a,o,r,e,t,{},p,d,u,i).on(\"click\",TB(kB,null,a,i,h)).on(\"mouseover\",TB(PB,null,a,i,h)).on(\"mouseout\",TB(OB,null,a,i,h)),l.set(a,!0)}}),this);0}}),this),r&&this._createSelector(r,e,i,o,a)},e.prototype._createSelector=function(t,e,n,i,r){var o=this.getSelectorGroup();CB(t,(function(t){var i=t.type,r=new Bs({style:{x:0,y:0,align:\"center\",verticalAlign:\"middle\"},onclick:function(){n.dispatchAction({type:\"all\"===i?\"legendAllSelect\":\"legendInverseSelect\"})}});o.add(r),Qh(r,{normal:e.getModel(\"selectorLabel\"),emphasis:e.getModel([\"emphasis\",\"selectorLabel\"])},{defaultText:t.title}),Wl(r)}))},e.prototype._createItem=function(t,e,n,i,r,o,a,s,l,u,h){var c=t.visualDrawType,p=r.get(\"itemWidth\"),d=r.get(\"itemHeight\"),f=r.isSelected(e),g=i.get(\"symbolRotate\"),y=i.get(\"symbolKeepAspect\"),v=i.get(\"icon\"),m=function(t,e,n,i,r,o,a){function s(t,e){\"auto\"===t.lineWidth&&(t.lineWidth=e.lineWidth>0?2:0),CB(t,(function(n,i){\"inherit\"===t[i]&&(t[i]=e[i])}))}var l=e.getModel(\"itemStyle\"),u=l.getItemStyle(),h=0===t.lastIndexOf(\"empty\",0)?\"fill\":\"stroke\",c=l.getShallow(\"decal\");u.decal=c&&\"inherit\"!==c?cv(c,a):i.decal,\"inherit\"===u.fill&&(u.fill=i[r]);\"inherit\"===u.stroke&&(u.stroke=i[h]);\"inherit\"===u.opacity&&(u.opacity=(\"fill\"===r?i:n).opacity);s(u,i);var p=e.getModel(\"lineStyle\"),d=p.getLineStyle();if(s(d,n),\"auto\"===u.fill&&(u.fill=i.fill),\"auto\"===u.stroke&&(u.stroke=i.fill),\"auto\"===d.stroke&&(d.stroke=i.fill),!o){var f=e.get(\"inactiveBorderWidth\"),g=u[h];u.lineWidth=\"auto\"===f?i.lineWidth>0&&g?2:0:u.lineWidth,u.fill=e.get(\"inactiveColor\"),u.stroke=e.get(\"inactiveBorderColor\"),d.stroke=p.get(\"inactiveColor\"),d.lineWidth=p.get(\"inactiveWidth\")}return{itemStyle:u,lineStyle:d}}(l=v||l||\"roundRect\",i,a,s,c,f,h),x=new DB,_=i.getModel(\"textStyle\");if(!U(t.getLegendIcon)||v&&\"inherit\"!==v){var b=\"inherit\"===v&&t.getData().getVisual(\"symbol\")?\"inherit\"===g?t.getData().getVisual(\"symbolRotate\"):g:0;x.add(function(t){var e=t.icon||\"roundRect\",n=Vy(e,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill,t.symbolKeepAspect);n.setStyle(t.itemStyle),n.rotation=(t.iconRotate||0)*Math.PI/180,n.setOrigin([t.itemWidth/2,t.itemHeight/2]),e.indexOf(\"empty\")>-1&&(n.style.stroke=n.style.fill,n.style.fill=\"#fff\",n.style.lineWidth=2);return n}({itemWidth:p,itemHeight:d,icon:l,iconRotate:b,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:y}))}else x.add(t.getLegendIcon({itemWidth:p,itemHeight:d,icon:l,iconRotate:g,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:y}));var w=\"left\"===o?p+5:-5,S=o,M=r.get(\"formatter\"),I=e;X(M)&&M?I=M.replace(\"{name}\",null!=e?e:\"\"):U(M)&&(I=M(e));var T=i.get(\"inactiveColor\");x.add(new Bs({style:ec(_,{text:I,x:w,y:d/2,fill:f?_.getTextColor():T,align:S,verticalAlign:\"middle\"})}));var C=new Es({shape:x.getBoundingRect(),invisible:!0}),D=i.getModel(\"tooltip\");return D.get(\"show\")&&Xh({el:C,componentModel:r,itemName:e,itemTooltipOption:D.option}),x.add(C),x.eachChild((function(t){t.silent=!0})),C.silent=!u,this.getContentGroup().add(x),Wl(x),x.__legendDataIndex=n,x},e.prototype.layoutInner=function(t,e,n,i,r,o){var a=this.getContentGroup(),s=this.getSelectorGroup();Ip(t.get(\"orient\"),a,t.get(\"itemGap\"),n.width,n.height);var l=a.getBoundingRect(),u=[-l.x,-l.y];if(s.markRedraw(),a.markRedraw(),r){Ip(\"horizontal\",s,t.get(\"selectorItemGap\",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],p=t.get(\"selectorButtonGap\",!0),d=t.getOrient().index,f=0===d?\"width\":\"height\",g=0===d?\"height\":\"width\",y=0===d?\"y\":\"x\";\"end\"===o?c[d]+=l[f]+p:u[d]+=h[f]+p,c[1-d]+=l[g]/2-h[g]/2,s.x=c[0],s.y=c[1],a.x=u[0],a.y=u[1];var v={x:0,y:0};return v[f]=l[f]+p+h[f],v[g]=Math.max(l[g],h[g]),v[y]=Math.min(0,h[y]+c[1-d]),v}return a.x=u[0],a.y=u[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type=\"legend.plain\",e}(wg);function kB(t,e,n,i){OB(t,e,n,i),n.dispatchAction({type:\"legendToggleSelect\",name:null!=t?t:e}),PB(t,e,n,i)}function LB(t){for(var e,n=t.getZr().storage.getDisplayList(),i=0,r=n.length;in[r],f=[-c.x,-c.y];e||(f[i]=l[s]);var g=[0,0],y=[-p.x,-p.y],v=rt(t.get(\"pageButtonGap\",!0),t.get(\"itemGap\",!0));d&&(\"end\"===t.get(\"pageButtonPosition\",!0)?y[i]+=n[r]-p[r]:g[i]+=p[r]+v);y[1-i]+=c[o]/2-p[o]/2,l.setPosition(f),u.setPosition(g),h.setPosition(y);var m={x:0,y:0};if(m[r]=d?n[r]:c[r],m[o]=Math.max(c[o],p[o]),m[a]=Math.min(0,p[a]+y[1-i]),u.__rectSize=n[r],d){var x={x:0,y:0};x[r]=Math.max(n[r]-p[r]-v,0),x[o]=m[o],u.setClipPath(new Es({shape:x})),u.__rectSize=x[r]}else h.eachChild((function(t){t.attr({invisible:!0,silent:!0})}));var _=this._getPageInfo(t);return null!=_.pageIndex&&dh(l,{x:_.contentPosition[0],y:_.contentPosition[1]},d?t:null),this._updatePageInfoView(t,_),m},e.prototype._pageGo=function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:\"legendScroll\",scrollDataIndex:i,legendId:e.id})},e.prototype._updatePageInfoView=function(t,e){var n=this._controllerGroup;E([\"pagePrev\",\"pageNext\"],(function(i){var r=null!=e[i+\"DataIndex\"],o=n.childOfName(i);o&&(o.setStyle(\"fill\",r?t.get(\"pageIconColor\",!0):t.get(\"pageIconInactiveColor\",!0)),o.cursor=r?\"pointer\":\"default\")}));var i=n.childOfName(\"pageText\"),r=t.get(\"pageFormatter\"),o=e.pageIndex,a=null!=o?o+1:0,s=e.pageCount;i&&r&&i.setStyle(\"text\",X(r)?r.replace(\"{current}\",null==a?\"\":a+\"\").replace(\"{total}\",null==s?\"\":s+\"\"):r({current:a,total:s}))},e.prototype._getPageInfo=function(t){var e=t.get(\"scrollDataIndex\",!0),n=this.getContentGroup(),i=this._containerGroup.__rectSize,r=t.getOrient().index,o=FB[r],a=GB[r],s=this._findTargetItemIndex(e),l=n.children(),u=l[s],h=l.length,c=h?1:0,p={contentPosition:[n.x,n.y],pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return p;var d=m(u);p.contentPosition[r]=-d.s;for(var f=s+1,g=d,y=d,v=null;f<=h;++f)(!(v=m(l[f]))&&y.e>g.s+i||v&&!x(v,g.s))&&(g=y.i>g.i?y:v)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=g.i),++p.pageCount),y=v;for(f=s-1,g=d,y=d,v=null;f>=-1;--f)(v=m(l[f]))&&x(y,v.s)||!(g.i=e&&t.s<=e+i}},e.prototype._findTargetItemIndex=function(t){return this._showController?(this.getContentGroup().eachChild((function(i,r){var o=i.__legendDataIndex;null==n&&null!=o&&(n=r),o===t&&(e=r)})),null!=e?e:n):0;var e,n},e.type=\"legend.scroll\",e}(AB);function HB(t){Dm(EB),t.registerComponentModel(zB),t.registerComponentView(WB),function(t){t.registerAction(\"legendScroll\",\"legendscroll\",(function(t,e){var n=t.scrollDataIndex;null!=n&&e.eachComponent({mainType:\"legend\",subType:\"scroll\",query:t},(function(t){t.setScrollDataIndex(n)}))}))}(t)}var YB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"dataZoom.inside\",e.defaultOption=Tc(GE.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(GE),UB=Po();function XB(t,e,n){UB(t).coordSysRecordMap.each((function(t){var i=t.dataZoomInfoMap.get(e.uid);i&&(i.getRange=n)}))}function ZB(t,e){if(e){t.removeKey(e.model.uid);var n=e.controller;n&&n.dispose()}}function jB(t,e){t.isDisposed()||t.dispatchAction({type:\"dataZoom\",animation:{easing:\"cubicOut\",duration:100},batch:e})}function qB(t,e,n,i){return t.coordinateSystem.containPoint([n,i])}function KB(t){t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,(function(t,e){var n=UB(e),i=n.coordSysRecordMap||(n.coordSysRecordMap=yt());i.each((function(t){t.dataZoomInfoMap=null})),t.eachComponent({mainType:\"dataZoom\",subType:\"inside\"},(function(t){E(BE(t).infoList,(function(n){var r=n.model.uid,o=i.get(r)||i.set(r,function(t,e){var n={model:e,containsPoint:H(qB,e),dispatchAction:H(jB,t),dataZoomInfoMap:null,controller:null},i=n.controller=new BI(t.getZr());return E([\"pan\",\"zoom\",\"scrollMove\"],(function(t){i.on(t,(function(e){var i=[];n.dataZoomInfoMap.each((function(r){if(e.isAvailableBehavior(r.model.option)){var o=(r.getRange||{})[t],a=o&&o(r.dzReferCoordSysInfo,n.model.mainType,n.controller,e);!r.model.get(\"disabled\",!0)&&a&&i.push({dataZoomId:r.model.id,start:a[0],end:a[1]})}})),i.length&&n.dispatchAction(i)}))})),n}(e,n.model));(o.dataZoomInfoMap||(o.dataZoomInfoMap=yt())).set(t.uid,{dzReferCoordSysInfo:n,model:t,getRange:null})}))})),i.each((function(t){var e,n=t.controller,r=t.dataZoomInfoMap;if(r){var o=r.keys()[0];null!=o&&(e=r.get(o))}if(e){var a=function(t){var e,n=\"type_\",i={type_true:2,type_move:1,type_false:0,type_undefined:-1},r=!0;return t.each((function(t){var o=t.model,a=!o.get(\"disabled\",!0)&&(!o.get(\"zoomLock\",!0)||\"move\");i[n+a]>i[n+e]&&(e=a),r=r&&o.get(\"preventDefaultMouseMove\",!0)})),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!r}}}(r);n.enable(a.controlType,a.opt),n.setPointerChecker(t.containsPoint),Eg(t,\"dispatchAction\",e.model.get(\"throttle\",!0),\"fixRate\")}else ZB(i,t)}))}))}var $B=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type=\"dataZoom.inside\",e}return n(e,t),e.prototype.render=function(e,n,i){t.prototype.render.apply(this,arguments),e.noTarget()?this._clear():(this.range=e.getPercentRange(),XB(i,e,{pan:W(JB.pan,this),zoom:W(JB.zoom,this),scrollMove:W(JB.scrollMove,this)}))},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){!function(t,e){for(var n=UB(t).coordSysRecordMap,i=n.keys(),r=0;r0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(o[1]-o[0])+o[0],u=Math.max(1/i.scale,0);o[0]=(o[0]-l)*u+l,o[1]=(o[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return xk(0,o,[0,100],0,h.minSpan,h.maxSpan),this.range=o,r[0]!==o[0]||r[1]!==o[1]?o:void 0}},pan:QB((function(t,e,n,i,r,o){var a=tF[i]([o.oldX,o.oldY],[o.newX,o.newY],e,r,n);return a.signal*(t[1]-t[0])*a.pixel/a.pixelLength})),scrollMove:QB((function(t,e,n,i,r,o){return tF[i]([0,0],[o.scrollDelta,o.scrollDelta],e,r,n).signal*(t[1]-t[0])*o.scrollDelta}))};function QB(t){return function(e,n,i,r){var o=this.range,a=o.slice(),s=e.axisModels[0];if(s)return xk(t(a,s,e,n,i,r),a,[0,100],\"all\"),this.range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}}var tF={grid:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem.getRect();return t=t||[0,0],\"x\"===o.dim?(a.pixel=e[0]-t[0],a.pixelLength=s.width,a.pixelStart=s.x,a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=s.height,a.pixelStart=s.y,a.signal=o.inverse?-1:1),a},polar:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),\"radiusAxis\"===n.mainType?(a.pixel=e[0]-t[0],a.pixelLength=l[1]-l[0],a.pixelStart=l[0],a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=u[1]-u[0],a.pixelStart=u[0],a.signal=o.inverse?-1:1),a},singleAxis:function(t,e,n,i,r){var o=n.axis,a=r.model.coordinateSystem.getRect(),s={};return t=t||[0,0],\"horizontal\"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=a.width,s.pixelStart=a.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=a.height,s.pixelStart=a.y,s.signal=o.inverse?-1:1),s}};function eF(t){$E(t),t.registerComponentModel(YB),t.registerComponentView($B),KB(t)}var nF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type=\"dataZoom.slider\",e.layoutMode=\"box\",e.defaultOption=Tc(GE.defaultOption,{show:!0,right:\"ph\",top:\"ph\",width:\"ph\",height:\"ph\",left:null,bottom:null,borderColor:\"#d2dbee\",borderRadius:3,backgroundColor:\"rgba(47,69,84,0)\",dataBackground:{lineStyle:{color:\"#d2dbee\",width:.5},areaStyle:{color:\"#d2dbee\",opacity:.2}},selectedDataBackground:{lineStyle:{color:\"#8fb0f7\",width:.5},areaStyle:{color:\"#8fb0f7\",opacity:.2}},fillerColor:\"rgba(135,175,274,0.2)\",handleIcon:\"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z\",handleSize:\"100%\",handleStyle:{color:\"#fff\",borderColor:\"#ACB8D1\"},moveHandleSize:7,moveHandleIcon:\"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z\",moveHandleStyle:{color:\"#D2DBEE\",opacity:.7},showDetail:!0,showDataShadow:\"auto\",realtime:!0,zoomLock:!1,textStyle:{color:\"#6E7079\"},brushSelect:!0,brushStyle:{color:\"rgba(135,175,274,0.15)\"},emphasis:{handleStyle:{borderColor:\"#8FB0F7\"},moveHandleStyle:{color:\"#8FB0F7\"}}}),e}(GE),iF=Es,rF=\"horizontal\",oF=\"vertical\",aF=[\"line\",\"bar\",\"candlestick\",\"scatter\"],sF={easing:\"cubicOut\",duration:100,delay:0},lF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._displayables={},n}return n(e,t),e.prototype.init=function(t,e){this.api=e,this._onBrush=W(this._onBrush,this),this._onBrushEnd=W(this._onBrushEnd,this)},e.prototype.render=function(e,n,i,r){if(t.prototype.render.apply(this,arguments),Eg(this,\"_dispatchZoomAction\",e.get(\"throttle\"),\"fixRate\"),this._orient=e.getOrient(),!1!==e.get(\"show\")){if(e.noTarget())return this._clear(),void this.group.removeAll();r&&\"dataZoom\"===r.type&&r.from===this.uid||this._buildView(),this._updateView()}else this.group.removeAll()},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){zg(this,\"_dispatchZoomAction\");var t=this.api.getZr();t.off(\"mousemove\",this._onBrush),t.off(\"mouseup\",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var e=this._displayables.sliderGroup=new Er;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,e=this.api,n=t.get(\"brushSelect\")?7:0,i=this._findCoordRect(),r={width:e.getWidth(),height:e.getHeight()},o=this._orient===rF?{right:r.width-i.x-i.width,top:r.height-30-7-n,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=kp(t.option);E([\"right\",\"top\",\"width\",\"height\"],(function(t){\"ph\"===a[t]&&(a[t]=o[t])}));var s=Tp(a,r);this._location={x:s.x,y:s.y},this._size=[s.width,s.height],this._orient===oF&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,e=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),r=i&&i.get(\"inverse\"),o=this._displayables.sliderGroup,a=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(n!==rF||r?n===rF&&r?{scaleY:a?1:-1,scaleX:-1}:n!==oF||r?{scaleY:a?-1:1,scaleX:-1,rotation:Math.PI/2}:{scaleY:a?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:a?1:-1,scaleX:1});var s=t.getBoundingRect([o]);t.x=e.x-s.x,t.y=e.y-s.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,e=this._size,n=this._displayables.sliderGroup,i=t.get(\"brushSelect\");n.add(new iF({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get(\"backgroundColor\")},z2:-40}));var r=new iF({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:\"transparent\"},z2:0,onclick:W(this._onClickPanel,this)}),o=this.api.getZr();i?(r.on(\"mousedown\",this._onBrushStart,this),r.cursor=\"crosshair\",o.on(\"mousemove\",this._onBrush),o.on(\"mouseup\",this._onBrushEnd)):(o.off(\"mousemove\",this._onBrush),o.off(\"mouseup\",this._onBrushEnd)),n.add(r)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],t){var e=this._size,n=this._shadowSize||[],i=t.series,r=i.getRawData(),o=i.getShadowDim&&i.getShadowDim(),a=o&&r.getDimensionInfo(o)?i.getShadowDim():t.otherDim;if(null!=a){var s=this._shadowPolygonPts,l=this._shadowPolylinePts;if(r!==this._shadowData||a!==this._shadowDim||e[0]!==n[0]||e[1]!==n[1]){var u=r.getDataExtent(a),h=.3*(u[1]-u[0]);u=[u[0]-h,u[1]+h];var c,p=[0,e[1]],d=[0,e[0]],f=[[e[0],0],[0,0]],g=[],y=d[1]/(r.count()-1),v=0,m=Math.round(r.count()/e[0]);r.each([a],(function(t,e){if(m>0&&e%m)v+=y;else{var n=null==t||isNaN(t)||\"\"===t,i=n?0:Yr(t,u,p,!0);n&&!c&&e?(f.push([f[f.length-1][0],0]),g.push([g[g.length-1][0],0])):!n&&c&&(f.push([v,0]),g.push([v,0])),f.push([v,i]),g.push([v,i]),v+=y,c=n}})),s=this._shadowPolygonPts=f,l=this._shadowPolylinePts=g}this._shadowData=r,this._shadowDim=a,this._shadowSize=[e[0],e[1]];for(var x=this.dataZoomModel,_=0;_<3;_++){var b=w(1===_);this._displayables.sliderGroup.add(b),this._displayables.dataShadowSegs.push(b)}}}function w(t){var e=x.getModel(t?\"selectedDataBackground\":\"dataBackground\"),n=new Er,i=new Gu({shape:{points:s},segmentIgnoreThreshold:1,style:e.getModel(\"areaStyle\").getAreaStyle(),silent:!0,z2:-20}),r=new Hu({shape:{points:l},segmentIgnoreThreshold:1,style:e.getModel(\"lineStyle\").getLineStyle(),silent:!0,z2:-19});return n.add(i),n.add(r),n}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,e=t.get(\"showDataShadow\");if(!1!==e){var n,i=this.ecModel;return t.eachTargetAxis((function(r,o){E(t.getAxisProxy(r,o).getTargetSeriesModels(),(function(t){if(!(n||!0!==e&&P(aF,t.get(\"type\"))<0)){var a,s=i.getComponent(zE(r),o).axis,l={x:\"y\",y:\"x\",radius:\"angle\",angle:\"radius\"}[r],u=t.coordinateSystem;null!=l&&u.getOtherAxis&&(a=u.getOtherAxis(s).inverse),l=t.getData().mapDimension(l),n={thisAxis:s,series:t,thisDim:r,otherDim:l,otherAxisInverse:a}}}),this)}),this),n}},e.prototype._renderHandle=function(){var t=this.group,e=this._displayables,n=e.handles=[null,null],i=e.handleLabels=[null,null],r=this._displayables.sliderGroup,o=this._size,a=this.dataZoomModel,s=this.api,l=a.get(\"borderRadius\")||0,u=a.get(\"brushSelect\"),h=e.filler=new iF({silent:u,style:{fill:a.get(\"fillerColor\")},textConfig:{position:\"inside\"}});r.add(h),r.add(new iF({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:o[0],height:o[1],r:l},style:{stroke:a.get(\"dataBackgroundColor\")||a.get(\"borderColor\"),lineWidth:1,fill:\"rgba(0,0,0,0)\"}})),E([0,1],(function(e){var o=a.get(\"handleIcon\");!Ny[o]&&o.indexOf(\"path://\")<0&&o.indexOf(\"image://\")<0&&(o=\"path://\"+o);var s=Vy(o,-1,0,2,2,null,!0);s.attr({cursor:uF(this._orient),draggable:!0,drift:W(this._onDragMove,this,e),ondragend:W(this._onDragEnd,this),onmouseover:W(this._showDataInfo,this,!0),onmouseout:W(this._showDataInfo,this,!1),z2:5});var l=s.getBoundingRect(),u=a.get(\"handleSize\");this._handleHeight=Ur(u,this._size[1]),this._handleWidth=l.width/l.height*this._handleHeight,s.setStyle(a.getModel(\"handleStyle\").getItemStyle()),s.style.strokeNoScale=!0,s.rectHover=!0,s.ensureState(\"emphasis\").style=a.getModel([\"emphasis\",\"handleStyle\"]).getItemStyle(),Wl(s);var h=a.get(\"handleColor\");null!=h&&(s.style.fill=h),r.add(n[e]=s);var c=a.getModel(\"textStyle\");t.add(i[e]=new Bs({silent:!0,invisible:!0,style:ec(c,{x:0,y:0,text:\"\",verticalAlign:\"middle\",align:\"center\",fill:c.getTextColor(),font:c.getFont()}),z2:10}))}),this);var c=h;if(u){var p=Ur(a.get(\"moveHandleSize\"),o[1]),d=e.moveHandle=new Es({style:a.getModel(\"moveHandleStyle\").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:o[1]-.5,height:p}}),f=.8*p,g=e.moveHandleIcon=Vy(a.get(\"moveHandleIcon\"),-f/2,-f/2,f,f,\"#fff\",!0);g.silent=!0,g.y=o[1]+p/2-.5,d.ensureState(\"emphasis\").style=a.getModel([\"emphasis\",\"moveHandleStyle\"]).getItemStyle();var y=Math.min(o[1]/2,Math.max(p,10));(c=e.moveZone=new Es({invisible:!0,shape:{y:o[1]-y,height:p+y}})).on(\"mouseover\",(function(){s.enterEmphasis(d)})).on(\"mouseout\",(function(){s.leaveEmphasis(d)})),r.add(d),r.add(g),r.add(c)}c.attr({draggable:!0,cursor:uF(this._orient),drift:W(this._onDragMove,this,\"all\"),ondragstart:W(this._showDataInfo,this,!0),ondragend:W(this._onDragEnd,this),onmouseover:W(this._showDataInfo,this,!0),onmouseout:W(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[Yr(t[0],[0,100],e,!0),Yr(t[1],[0,100],e,!0)]},e.prototype._updateInterval=function(t,e){var n=this.dataZoomModel,i=this._handleEnds,r=this._getViewExtent(),o=n.findRepresentativeAxisProxy().getMinMaxSpan(),a=[0,100];xk(e,i,r,n.get(\"zoomLock\")?\"all\":t,null!=o.minSpan?Yr(o.minSpan,a,r,!0):null,null!=o.maxSpan?Yr(o.maxSpan,a,r,!0):null);var s=this._range,l=this._range=Zr([Yr(i[0],r,a,!0),Yr(i[1],r,a,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},e.prototype._updateView=function(t){var e=this._displayables,n=this._handleEnds,i=Zr(n.slice()),r=this._size;E([0,1],(function(t){var i=e.handles[t],o=this._handleHeight;i.attr({scaleX:o/2,scaleY:o/2,x:n[t]+(t?-1:1),y:r[1]/2-o/2})}),this),e.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:r[1]});var o={x:i[0],width:i[1]-i[0]};e.moveHandle&&(e.moveHandle.setShape(o),e.moveZone.setShape(o),e.moveZone.getBoundingRect(),e.moveHandleIcon&&e.moveHandleIcon.attr(\"x\",o.x+o.width/2));for(var a=e.dataShadowSegs,s=[0,i[0],i[1],r[0]],l=0;le[0]||n[1]<0||n[1]>e[1])){var i=this._handleEnds,r=(i[0]+i[1])/2,o=this._updateInterval(\"all\",n[0]-r);this._updateView(),o&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var e=t.offsetX,n=t.offsetY;this._brushStart=new Ce(e,n),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var e=this._displayables.brushRect;if(this._brushing=!1,e){e.attr(\"ignore\",!0);var n=e.shape;if(!(+new Date-this._brushStartTime<200&&Math.abs(n.width)<5)){var i=this._getViewExtent(),r=[0,100];this._range=Zr([Yr(n.x,i,r,!0),Yr(n.x+n.width,i,r,!0)]),this._handleEnds=[n.x,n.x+n.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(pe(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,e){var n=this._displayables,i=this.dataZoomModel,r=n.brushRect;r||(r=n.brushRect=new iF({silent:!0,style:i.getModel(\"brushStyle\").getItemStyle()}),n.sliderGroup.add(r)),r.attr(\"ignore\",!1);var o=this._brushStart,a=this._displayables.sliderGroup,s=a.transformCoordToLocal(t,e),l=a.transformCoordToLocal(o.x,o.y),u=this._size;s[0]=Math.max(Math.min(u[0],s[0]),0),r.setShape({x:l[0],y:0,width:s[0]-l[0],height:u[1]})},e.prototype._dispatchZoomAction=function(t){var e=this._range;this.api.dispatchAction({type:\"dataZoom\",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?sF:null,start:e[0],end:e[1]})},e.prototype._findCoordRect=function(){var t,e=BE(this.dataZoomModel).infoList;if(!t&&e.length){var n=e[0].model.coordinateSystem;t=n.getRect&&n.getRect()}if(!t){var i=this.api.getWidth(),r=this.api.getHeight();t={x:.2*i,y:.2*r,width:.6*i,height:.6*r}}return t},e.type=\"dataZoom.slider\",e}(YE);function uF(t){return\"vertical\"===t?\"ns-resize\":\"ew-resize\"}function hF(t){t.registerComponentModel(nF),t.registerComponentView(lF),$E(t)}var cF=function(t,e,n){var i=T((pF[t]||{})[e]);return n&&Y(i)?i[i.length-1]:i},pF={color:{active:[\"#006edd\",\"#e0ffff\"],inactive:[\"rgba(0,0,0,0)\"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:[\"circle\",\"roundRect\",\"diamond\"],inactive:[\"none\"]},symbolSize:{active:[10,50],inactive:[0,0]}},dF=dD.mapVisual,fF=dD.eachVisual,gF=Y,yF=E,vF=Zr,mF=Yr,xF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.stateList=[\"inRange\",\"outOfRange\"],n.replacableOptionKeys=[\"inRange\",\"outOfRange\",\"target\",\"controller\",\"color\"],n.layoutMode={type:\"box\",ignoreSize:!0},n.dataBound=[-1/0,1/0],n.targetVisuals={},n.controllerVisuals={},n}return n(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n)},e.prototype.optionUpdated=function(t,e){var n=this.option;!e&&dV(n,t,this.replacableOptionKeys),this.textStyleModel=this.getModel(\"textStyle\"),this.resetItemSize(),this.completeVisualOption()},e.prototype.resetVisual=function(t){var e=this.stateList;t=W(t,this),this.controllerVisuals=pV(this.option.controller,e,t),this.targetVisuals=pV(this.option.target,e,t)},e.prototype.getItemSymbol=function(){return null},e.prototype.getTargetSeriesIndices=function(){var t=this.option.seriesIndex,e=[];return null==t||\"all\"===t?this.ecModel.eachSeries((function(t,n){e.push(n)})):e=_o(t),e},e.prototype.eachTargetSeries=function(t,e){E(this.getTargetSeriesIndices(),(function(n){var i=this.ecModel.getSeriesByIndex(n);i&&t.call(e,i)}),this)},e.prototype.isTargetSeries=function(t){var e=!1;return this.eachTargetSeries((function(n){n===t&&(e=!0)})),e},e.prototype.formatValueText=function(t,e,n){var i,r=this.option,o=r.precision,a=this.dataBound,s=r.formatter;n=n||[\"<\",\">\"],Y(t)&&(t=t.slice(),i=!0);var l=e?t:i?[u(t[0]),u(t[1])]:u(t);return X(s)?s.replace(\"{value}\",i?l[0]:l).replace(\"{value2}\",i?l[1]:l):U(s)?i?s(t[0],t[1]):s(t):i?t[0]===a[0]?n[0]+\" \"+l[1]:t[1]===a[1]?n[1]+\" \"+l[0]:l[0]+\" - \"+l[1]:l;function u(t){return t===a[0]?\"min\":t===a[1]?\"max\":(+t).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,e=vF([t.min,t.max]);this._dataExtent=e},e.prototype.getDataDimensionIndex=function(t){var e=this.option.dimension;if(null!=e)return t.getDimensionIndex(e);for(var n=t.dimensions,i=n.length-1;i>=0;i--){var r=n[i],o=t.getDimensionInfo(r);if(!o.isCalculationCoord)return o.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,e=this.option,n={inRange:e.inRange,outOfRange:e.outOfRange},i=e.target||(e.target={}),r=e.controller||(e.controller={});C(i,n),C(r,n);var o=this.isCategory();function a(n){gF(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get(\"gradientColor\")}}a.call(this,i),a.call(this,r),function(t,e,n){var i=t[e],r=t[n];i&&!r&&(r=t[n]={},yF(i,(function(t,e){if(dD.isValidType(e)){var n=cF(e,\"inactive\",o);null!=n&&(r[e]=n,\"color\"!==e||r.hasOwnProperty(\"opacity\")||r.hasOwnProperty(\"colorAlpha\")||(r.opacity=[0,0]))}})))}.call(this,i,\"inRange\",\"outOfRange\"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,i=this.get(\"inactiveColor\"),r=this.getItemSymbol()||\"roundRect\";yF(this.stateList,(function(a){var s=this.itemSize,l=t[a];l||(l=t[a]={color:o?i:[i]}),null==l.symbol&&(l.symbol=e&&T(e)||(o?r:[r])),null==l.symbolSize&&(l.symbolSize=n&&T(n)||(o?s[0]:[s[0],s[0]])),l.symbol=dF(l.symbol,(function(t){return\"none\"===t?r:t}));var u=l.symbolSize;if(null!=u){var h=-1/0;fF(u,(function(t){t>h&&(h=t)})),l.symbolSize=dF(u,(function(t){return mF(t,[0,h],[0,s[0]],!0)}))}}),this)}.call(this,r)},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get(\"itemWidth\")),parseFloat(this.get(\"itemHeight\"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type=\"visualMap\",e.dependencies=[\"series\"],e.defaultOption={show:!0,z:4,seriesIndex:\"all\",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:\"vertical\",backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",contentColor:\"#5793f3\",inactiveColor:\"#aaa\",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:\"#333\"}},e}(Op),_F=[20,140],bF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(e,n){t.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual((function(t){t.mappingMethod=\"linear\",t.dataExtent=this.getExtent()})),this._resetRange()},e.prototype.resetItemSize=function(){t.prototype.resetItemSize.apply(this,arguments);var e=this.itemSize;(null==e[0]||isNaN(e[0]))&&(e[0]=_F[0]),(null==e[1]||isNaN(e[1]))&&(e[1]=_F[1])},e.prototype._resetRange=function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):Y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},e.prototype.completeVisualOption=function(){t.prototype.completeVisualOption.apply(this,arguments),E(this.stateList,(function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=e[1]/3)}),this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),e=Zr((this.get(\"range\")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=n[1]||t<=e[1])?\"inRange\":\"outOfRange\"},e.prototype.findTargetDataIndices=function(t){var e=[];return this.eachTargetSeries((function(n){var i=[],r=n.getData();r.each(this.getDataDimensionIndex(r),(function(e,n){t[0]<=e&&e<=t[1]&&i.push(n)}),this),e.push({seriesId:n.id,dataIndex:i})}),this),e},e.prototype.getVisualMeta=function(t){var e=wF(this,\"outOfRange\",this.getExtent()),n=wF(this,\"inRange\",this.option.range.slice()),i=[];function r(e,n){i.push({value:e,color:t(e,n)})}for(var o=0,a=0,s=n.length,l=e.length;at[1])break;n.push({color:this.getControllerVisual(o,\"color\",e),offset:r/100})}return n.push({color:this.getControllerVisual(t[1],\"color\",e),offset:1}),n},e.prototype._createBarPoints=function(t,e){var n=this.visualMapModel.itemSize;return[[n[0]-e[0],t[0]],[n[0],t[0]],[n[0],t[1]],[n[0]-e[1],t[1]]]},e.prototype._createBarGroup=function(t){var e=this._orient,n=this.visualMapModel.get(\"inverse\");return new Er(\"horizontal\"!==e||n?\"horizontal\"===e&&n?{scaleX:\"bottom\"===t?-1:1,rotation:-Math.PI/2}:\"vertical\"!==e||n?{scaleX:\"left\"===t?1:-1}:{scaleX:\"left\"===t?1:-1,scaleY:-1}:{scaleX:\"bottom\"===t?1:-1,rotation:Math.PI/2})},e.prototype._updateHandle=function(t,e){if(this._useHandle){var n=this._shapes,i=this.visualMapModel,r=n.handleThumbs,o=n.handleLabels,a=i.itemSize,s=i.getExtent();DF([0,1],(function(l){var u=r[l];u.setStyle(\"fill\",e.handlesColor[l]),u.y=t[l];var h=CF(t[l],[0,a[1]],s,!0),c=this.getControllerVisual(h,\"symbolSize\");u.scaleX=u.scaleY=c/a[0],u.x=a[0]-c/2;var p=Eh(n.handleLabelPoints[l],Nh(u,this.group));o[l].setStyle({x:p[0],y:p[1],text:i.formatValueText(this._dataInterval[l]),verticalAlign:\"middle\",align:\"vertical\"===this._orient?this._applyTransform(\"left\",n.mainGroup):\"center\"})}),this)}},e.prototype._showIndicator=function(t,e,n,i){var r=this.visualMapModel,o=r.getExtent(),a=r.itemSize,s=[0,a[1]],l=this._shapes,u=l.indicator;if(u){u.attr(\"invisible\",!1);var h=this.getControllerVisual(t,\"color\",{convertOpacityToAlpha:!0}),c=this.getControllerVisual(t,\"symbolSize\"),p=CF(t,o,s,!0),d=a[0]-c/2,f={x:u.x,y:u.y};u.y=p,u.x=d;var g=Eh(l.indicatorLabelPoint,Nh(u,this.group)),y=l.indicatorLabel;y.attr(\"invisible\",!1);var v=this._applyTransform(\"left\",l.mainGroup),m=\"horizontal\"===this._orient;y.setStyle({text:(n||\"\")+r.formatValueText(e),verticalAlign:m?v:\"middle\",align:m?\"center\":v});var x={x:d,y:p,style:{fill:h}},_={style:{x:g[0],y:g[1]}};if(r.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var b={duration:100,easing:\"cubicInOut\",additive:!0};u.x=f.x,u.y=f.y,u.animateTo(x,b),y.animateTo(_,b)}else u.attr(x),y.attr(_);this._firstShowIndicator=!1;var w=this._shapes.handleLabels;if(w)for(var S=0;Sr[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],\"< \",a):u[1]===1/0?this._showIndicator(l,u[0],\"> \",a):this._showIndicator(l,l,\"≈ \",a));var h=this._hoverLinkDataIndices,c=[];(e||OF(n))&&(c=this._hoverLinkDataIndices=n.findTargetDataIndices(u));var p=function(t,e){var n={},i={};return r(t||[],n),r(e||[],i,n),[o(n),o(i)];function r(t,e,n){for(var i=0,r=t.length;i=0&&(r.dimension=o,i.push(r))}})),t.getData().setVisual(\"visualMeta\",i)}}];function VF(t,e,n,i){for(var r=e.targetVisuals[i],o=dD.prepareVisualTypes(r),a={color:wy(t.getData(),\"color\")},s=0,l=o.length;s0:t.splitNumber>0)&&!t.calculable?\"piecewise\":\"continuous\"})),t.registerAction(NF,EF),E(zF,(function(e){t.registerVisual(t.PRIORITY.VISUAL.COMPONENT,e)})),t.registerPreprocessor(FF))}function YF(t){t.registerComponentModel(bF),t.registerComponentView(LF),HF(t)}var UF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._pieceList=[],n}return n(e,t),e.prototype.optionUpdated=function(e,n){t.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var i=this._mode=this._determineMode();this._pieceList=[],XF[this._mode].call(this,this._pieceList),this._resetSelected(e,n);var r=this.option.categories;this.resetVisual((function(t,e){\"categories\"===i?(t.mappingMethod=\"category\",t.categories=T(r)):(t.dataExtent=this.getExtent(),t.mappingMethod=\"piecewise\",t.pieceList=z(this._pieceList,(function(t){return t=T(t),\"inRange\"!==e&&(t.visual=null),t})))}))},e.prototype.completeVisualOption=function(){var e=this.option,n={},i=dD.listVisualTypes(),r=this.isCategory();function o(t,e,n){return t&&t[e]&&t[e].hasOwnProperty(n)}E(e.pieces,(function(t){E(i,(function(e){t.hasOwnProperty(e)&&(n[e]=1)}))})),E(n,(function(t,n){var i=!1;E(this.stateList,(function(t){i=i||o(e,t,n)||o(e.target,t,n)}),this),!i&&E(this.stateList,(function(t){(e[t]||(e[t]={}))[n]=cF(n,\"inRange\"===t?\"active\":\"inactive\",r)}))}),this),t.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,e){var n=this.option,i=this._pieceList,r=(e?n:t).selected||{};if(n.selected=r,E(i,(function(t,e){var n=this.getSelectedMapKey(t);r.hasOwnProperty(n)||(r[n]=!0)}),this),\"single\"===n.selectedMode){var o=!1;E(i,(function(t,e){var n=this.getSelectedMapKey(t);r[n]&&(o?r[n]=!1:o=!0)}),this)}},e.prototype.getItemSymbol=function(){return this.get(\"itemSymbol\")},e.prototype.getSelectedMapKey=function(t){return\"categories\"===this._mode?t.value+\"\":t.index+\"\"},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?\"pieces\":this.option.categories?\"categories\":\"splitNumber\"},e.prototype.setSelected=function(t){this.option.selected=T(t)},e.prototype.getValueState=function(t){var e=dD.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?\"inRange\":\"outOfRange\"},e.prototype.findTargetDataIndices=function(t){var e=[],n=this._pieceList;return this.eachTargetSeries((function(i){var r=[],o=i.getData();o.each(this.getDataDimensionIndex(o),(function(e,i){dD.findPieceIndex(e,n)===t&&r.push(i)}),this),e.push({seriesId:i.id,dataIndex:r})}),this),e},e.prototype.getRepresentValue=function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var n=t.interval||[];e=n[0]===-1/0&&n[1]===1/0?0:(n[0]+n[1])/2}return e},e.prototype.getVisualMeta=function(t){if(!this.isCategory()){var e=[],n=[\"\",\"\"],i=this,r=this._pieceList.slice();if(r.length){var o=r[0].interval[0];o!==-1/0&&r.unshift({interval:[-1/0,o]}),(o=r[r.length-1].interval[1])!==1/0&&r.push({interval:[o,1/0]})}else r.push({interval:[-1/0,1/0]});var a=-1/0;return E(r,(function(t){var e=t.interval;e&&(e[0]>a&&s([a,e[0]],\"outOfRange\"),s(e.slice()),a=e[1])}),this),{stops:e,outerColors:n}}function s(r,o){var a=i.getRepresentValue({interval:r});o||(o=i.getValueState(a));var s=t(a,o);r[0]===-1/0?n[0]=s:r[1]===1/0?n[1]=s:e.push({value:r[0],color:s},{value:r[1],color:s})}},e.type=\"visualMap.piecewise\",e.defaultOption=Tc(xF.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:\"auto\",itemWidth:20,itemHeight:14,itemSymbol:\"roundRect\",pieces:null,categories:null,splitNumber:5,selectedMode:\"multiple\",itemGap:10,hoverLink:!0}),e}(xF),XF={splitNumber:function(t){var e=this.option,n=Math.min(e.precision,20),i=this.getExtent(),r=e.splitNumber;r=Math.max(parseInt(r,10),1),e.splitNumber=r;for(var o=(i[1]-i[0])/r;+o.toFixed(n)!==o&&n<5;)n++;e.precision=n,o=+o.toFixed(n),e.minOpen&&t.push({interval:[-1/0,i[0]],close:[0,0]});for(var a=0,s=i[0];a\",\"≥\"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,n)}),this)}};function ZF(t,e){var n=t.inverse;(\"vertical\"===t.orient?!n:n)&&e.reverse()}var jF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.doRender=function(){var t=this.group;t.removeAll();var e=this.visualMapModel,n=e.get(\"textGap\"),i=e.textStyleModel,r=i.getFont(),o=i.getTextColor(),a=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=it(e.get(\"showLabel\",!0),!u);u&&this._renderEndsText(t,u[0],s,h,a),E(l.viewPieceList,(function(i){var l=i.piece,u=new Er;u.onclick=W(this._onItemClick,this,l),this._enableHoverLink(u,i.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var p=this.visualMapModel.getValueState(c);u.add(new Bs({style:{x:\"right\"===a?-n:s[0]+n,y:s[1]/2,text:l.text,verticalAlign:\"middle\",align:a,font:r,fill:o,opacity:\"outOfRange\"===p?.5:1}}))}t.add(u)}),this),u&&this._renderEndsText(t,u[1],s,h,a),Ip(e.get(\"orient\"),t,e.get(\"itemGap\")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,e){var n=this;t.on(\"mouseover\",(function(){return i(\"highlight\")})).on(\"mouseout\",(function(){return i(\"downplay\")}));var i=function(t){var i=n.visualMapModel;i.option.hoverLink&&n.api.dispatchAction({type:t,batch:TF(i.findTargetDataIndices(e),i)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,e=t.option;if(\"vertical\"===e.orient)return IF(t,this.api,t.itemSize);var n=e.align;return n&&\"auto\"!==n||(n=\"left\"),n},e.prototype._renderEndsText=function(t,e,n,i,r){if(e){var o=new Er,a=this.visualMapModel.textStyleModel;o.add(new Bs({style:ec(a,{x:i?\"right\"===r?n[0]:0:n[0]/2,y:n[1]/2,verticalAlign:\"middle\",align:i?r:\"center\",text:e})})),t.add(o)}},e.prototype._getViewData=function(){var t=this.visualMapModel,e=z(t.getPieceList(),(function(t,e){return{piece:t,indexInModelPieceList:e}})),n=t.get(\"text\"),i=t.get(\"orient\"),r=t.get(\"inverse\");return(\"horizontal\"===i?r:!r)?e.reverse():n&&(n=n.slice().reverse()),{viewPieceList:e,endsText:n}},e.prototype._createItemSymbol=function(t,e,n){t.add(Vy(this.getControllerVisual(e,\"symbol\"),n[0],n[1],n[2],n[3],this.getControllerVisual(e,\"color\")))},e.prototype._onItemClick=function(t){var e=this.visualMapModel,n=e.option,i=n.selectedMode;if(i){var r=T(n.selected),o=e.getSelectedMapKey(t);\"single\"===i||!0===i?(r[o]=!0,E(r,(function(t,e){r[e]=e===o}))):r[o]=!r[o],this.api.dispatchAction({type:\"selectDataRange\",from:this.uid,visualMapId:this.visualMapModel.id,selected:r})}},e.type=\"visualMap.piecewise\",e}(SF);function qF(t){t.registerComponentModel(UF),t.registerComponentView(jF),HF(t)}var KF={label:{enabled:!0},decal:{show:!1}},$F=Po(),JF={};function QF(t,e){var n=t.getModel(\"aria\");if(n.get(\"enabled\")){var i=T(KF);C(i.label,t.getLocaleModel().get(\"aria\"),!1),C(n.option,i,!1),function(){if(n.getModel(\"decal\").get(\"show\")){var e=yt();t.eachSeries((function(t){if(!t.isColorBySeries()){var n=e.get(t.type);n||(n={},e.set(t.type,n)),$F(t).scope=n}})),t.eachRawSeries((function(e){if(!t.isSeriesFiltered(e))if(U(e.enableAriaDecal))e.enableAriaDecal();else{var n=e.getData();if(e.isColorBySeries()){var i=ld(e.ecModel,e.name,JF,t.getSeriesCount()),r=n.getVisual(\"decal\");n.setVisual(\"decal\",u(r,i))}else{var o=e.getRawData(),a={},s=$F(e).scope;n.each((function(t){var e=n.getRawIndex(t);a[e]=t}));var l=o.count();o.each((function(t){var i=a[t],r=o.getName(t)||t+\"\",h=ld(e.ecModel,r,s,l),c=n.getItemVisual(i,\"decal\");n.setItemVisual(i,\"decal\",u(c,h))}))}}function u(t,e){var n=t?A(A({},e),t):e;return n.dirty=!0,n}}))}}(),function(){var i=t.getLocaleModel().get(\"aria\"),o=n.getModel(\"label\");if(o.option=k(o.option,i),!o.get(\"enabled\"))return;var a=e.getZr().dom;if(o.get(\"description\"))return void a.setAttribute(\"aria-label\",o.get(\"description\"));var s,l=t.getSeriesCount(),u=o.get([\"data\",\"maxCount\"])||10,h=o.get([\"series\",\"maxCount\"])||10,c=Math.min(l,h);if(l<1)return;var p=function(){var e=t.get(\"title\");e&&e.length&&(e=e[0]);return e&&e.text}();if(p){var d=o.get([\"general\",\"withTitle\"]);s=r(d,{title:p})}else s=o.get([\"general\",\"withoutTitle\"]);var f=[],g=l>1?o.get([\"series\",\"multiple\",\"prefix\"]):o.get([\"series\",\"single\",\"prefix\"]);s+=r(g,{seriesCount:l}),t.eachSeries((function(e,n){if(n1?o.get([\"series\",\"multiple\",a]):o.get([\"series\",\"single\",a]),{seriesId:e.seriesIndex,seriesName:e.get(\"name\"),seriesType:(x=e.subType,t.getLocaleModel().get([\"series\",\"typeNames\"])[x]||\"自定义图\")});var s=e.getData();if(s.count()>u)i+=r(o.get([\"data\",\"partialData\"]),{displayCnt:u});else i+=o.get([\"data\",\"allData\"]);for(var h=o.get([\"data\",\"separator\",\"middle\"]),p=o.get([\"data\",\"separator\",\"end\"]),d=[],g=0;g\":\"gt\",\">=\":\"gte\",\"=\":\"eq\",\"!=\":\"ne\",\"<>\":\"ne\"},nG=function(){function t(t){if(null==(this._condVal=X(t)?new RegExp(t):et(t)?t:null)){var e=\"\";0,yo(e)}}return t.prototype.evaluate=function(t){var e=typeof t;return X(e)?this._condVal.test(t):!!j(e)&&this._condVal.test(t+\"\")},t}(),iG=function(){function t(){}return t.prototype.evaluate=function(){return this.value},t}(),rG=function(){function t(){}return t.prototype.evaluate=function(){for(var t=this.children,e=0;e2&&l.push(e),e=[t,n]}function f(t,n,i,r){vG(t,i)&&vG(n,r)||e.push(t,n,i,r,i,r)}function g(t,n,i,r,o,a){var s=Math.abs(n-t),l=4*Math.tan(s/4)/3,u=nM:C2&&l.push(e),l}function xG(t,e,n,i,r,o,a,s,l,u){if(vG(t,n)&&vG(e,i)&&vG(r,a)&&vG(o,s))l.push(a,s);else{var h=2/u,c=h*h,p=a-t,d=s-e,f=Math.sqrt(p*p+d*d);p/=f,d/=f;var g=n-t,y=i-e,v=r-a,m=o-s,x=g*g+y*y,_=v*v+m*m;if(x=0&&_-w*w=0)l.push(a,s);else{var S=[],M=[];bn(t,n,r,a,.5,S),bn(e,i,o,s,.5,M),xG(S[0],M[0],S[1],M[1],S[2],M[2],S[3],M[3],l,u),xG(S[4],M[4],S[5],M[5],S[6],M[6],S[7],M[7],l,u)}}}}function _G(t,e,n){var i=t[e],r=t[1-e],o=Math.abs(i/r),a=Math.ceil(Math.sqrt(o*n)),s=Math.floor(n/a);0===s&&(s=1,a=n);for(var l=[],u=0;u0)for(u=0;uMath.abs(u),c=_G([l,u],h?0:1,e),p=(h?s:u)/c.length,d=0;d1?null:new Ce(d*l+t,d*u+e)}function MG(t,e,n){var i=new Ce;Ce.sub(i,n,e),i.normalize();var r=new Ce;return Ce.sub(r,t,e),r.dot(i)}function IG(t,e){var n=t[t.length-1];n&&n[0]===e[0]&&n[1]===e[1]||t.push(e)}function TG(t){var e=t.points,n=[],i=[];Oa(e,n,i);var r=new Ee(n[0],n[1],i[0]-n[0],i[1]-n[1]),o=r.width,a=r.height,s=r.x,l=r.y,u=new Ce,h=new Ce;return o>a?(u.x=h.x=s+o/2,u.y=l,h.y=l+a):(u.y=h.y=l+a/2,u.x=s,h.x=s+o),function(t,e,n){for(var i=t.length,r=[],o=0;or,a=_G([i,r],o?0:1,e),s=o?\"width\":\"height\",l=o?\"height\":\"width\",u=o?\"x\":\"y\",h=o?\"y\":\"x\",c=t[s]/a.length,p=0;p0)for(var b=i/n,w=-i/2;w<=i/2;w+=b){var S=Math.sin(w),M=Math.cos(w),I=0;for(x=0;x0;l/=2){var u=0,h=0;(t&l)>0&&(u=1),(e&l)>0&&(h=1),s+=l*l*(3*u^h),0===h&&(1===u&&(t=l-1-t,e=l-1-e),a=t,t=e,e=a)}return s}function HG(t){var e=1/0,n=1/0,i=-1/0,r=-1/0,o=z(t,(function(t){var o=t.getBoundingRect(),a=t.getComputedTransform(),s=o.x+o.width/2+(a?a[4]:0),l=o.y+o.height/2+(a?a[5]:0);return e=Math.min(s,e),n=Math.min(l,n),i=Math.max(s,i),r=Math.max(l,r),[s,l]}));return z(o,(function(o,a){return{cp:o,z:WG(o[0],o[1],e,n,i,r),path:t[a]}})).sort((function(t,e){return t.z-e.z})).map((function(t){return t.path}))}function YG(t){return AG(t.path,t.count)}function UG(t){return Y(t[0])}function XG(t,e){for(var n=[],i=t.length,r=0;r=0;r--)if(!n[r].many.length){var l=n[s].many;if(l.length<=1){if(!s)return n;s=0}o=l.length;var u=Math.ceil(o/2);n[r].many=l.slice(u,o),n[s].many=l.slice(0,u),s++}return n}var ZG={clone:function(t){for(var e=[],n=1-Math.pow(1-t.path.style.opacity,1/t.count),i=0;i0){var s,l,u=i.getModel(\"universalTransition\").get(\"delay\"),h=Object.assign({setToFinal:!0},a);UG(t)&&(s=t,l=e),UG(e)&&(s=e,l=t);for(var c=s?s===t:t.length>e.length,p=s?XG(l,s):XG(c?e:t,[c?t:e]),d=0,f=0;f1e4))for(var i=n.getIndices(),r=function(t){for(var e=t.dimensions,n=0;n0&&i.group.traverse((function(t){t instanceof Ms&&!t.animators.length&&t.animateFrom({style:{opacity:0}},r)}))}))}function iW(t){var e=t.getModel(\"universalTransition\").get(\"seriesKey\");return e||t.id}function rW(t){return Y(t)?t.sort().join(\",\"):t}function oW(t){if(t.hostModel)return t.hostModel.getModel(\"universalTransition\").get(\"divideShape\")}function aW(t,e){for(var n=0;n=0&&r.push({dataGroupId:e.oldDataGroupIds[n],data:e.oldData[n],divide:oW(e.oldData[n]),dim:t.dimension})})),E(_o(t.to),(function(t){var i=aW(n.updatedSeries,t);if(i>=0){var r=n.updatedSeries[i].getData();o.push({dataGroupId:e.oldDataGroupIds[i],data:r,divide:oW(r),dim:t.dimension})}})),r.length>0&&o.length>0&&nW(r,o,i)}(t,i,n,e)}));else{var o=function(t,e){var n=yt(),i=yt(),r=yt();return E(t.oldSeries,(function(e,n){var o=t.oldDataGroupIds[n],a=t.oldData[n],s=iW(e),l=rW(s);i.set(l,{dataGroupId:o,data:a}),Y(s)&&E(s,(function(t){r.set(t,{key:l,dataGroupId:o,data:a})}))})),E(e.updatedSeries,(function(t){if(t.isUniversalTransitionEnabled()&&t.isAnimationEnabled()){var e=t.get(\"dataGroupId\"),o=t.getData(),a=iW(t),s=rW(a),l=i.get(s);if(l)n.set(s,{oldSeries:[{dataGroupId:l.dataGroupId,divide:oW(l.data),data:l.data}],newSeries:[{dataGroupId:e,divide:oW(o),data:o}]});else if(Y(a)){var u=[];E(a,(function(t){var e=i.get(t);e.data&&u.push({dataGroupId:e.dataGroupId,divide:oW(e.data),data:e.data})})),u.length&&n.set(s,{oldSeries:u,newSeries:[{dataGroupId:e,data:o,divide:oW(o)}]})}else{var h=r.get(a);if(h){var c=n.get(h.key);c||(c={oldSeries:[{dataGroupId:h.dataGroupId,data:h.data,divide:oW(h.data)}],newSeries:[]},n.set(h.key,c)),c.newSeries.push({dataGroupId:e,data:o,divide:oW(o)})}}}})),n}(i,n);E(o.keys(),(function(t){var n=o.get(t);nW(n.oldSeries,n.newSeries,e)}))}E(n.updatedSeries,(function(t){t.__universalTransitionEnabled&&(t.__universalTransitionEnabled=!1)}))}for(var a=t.getSeries(),s=i.oldSeries=[],l=i.oldDataGroupIds=[],u=i.oldData=[],h=0;h +<$list filter="[is[tiddler]] [is[shadow]]"> +<$echarts $tiddler=<> $height="$height$" $width="$width$" $class="$class$" $theme="$theme$" $renderer="$renderer$" $fillSidebar="$fillSidebar$"/> + +<$list filter="[!is[tiddler]!is[shadow]]"> +<$echarts $text=<> $height="$height$" $width="$width$" $class="$class$" $theme="$theme$" $renderer="$renderer$" $fillSidebar="$fillSidebar$"/> + + +\end diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_readme.tid b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_readme.tid new file mode 100644 index 0000000..df718be --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_readme.tid @@ -0,0 +1,25 @@ +title: $:/plugins/Gk0Wk/echarts/readme + +<$list filter="[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]" variable="lang"> +<$list filter="[search[zh]]"> + +将强大的可视化工具 [[ECharts|https://echarts.apache.org/zh/index.html]] 以优雅的方式与 TiddlyWiki 相结合。 + +插件说明与使用教程较长,请参考 https://tiddly-gittly.github.io/tw-echarts/ + +> 本插件使用灵活而强大的 <$text text="TiddlyWiki" /> 开发框架 [[Tiddly.ModernDev|https://github.com/tiddly-gittly/Modern.TiddlyDev]] + + + +<$list filter="[!search[zh]]"> + +Combines the powerful visualization tool [[ECharts|https://echarts.apache.org/en/index.html]] with TiddlyWiki in an elegant way. + +The plugin description and tutorial is long, please refer to https://tiddly-gittly.github.io/tw-echarts/ + +> This plugin uses the flexible and powerful <$text text="TiddlyWiki" /> development framework [[Tiddly.ModernDev|https://github.com/tiddly-gittly/Modern.TiddlyDev]] + + + + +[img[$:/plugins/Gk0Wk/echarts/banner]] diff --git a/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_widget.js.json b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_widget.js.json new file mode 100644 index 0000000..2271534 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/$__plugins_Gk0Wk_echarts_widget.js.json @@ -0,0 +1,9 @@ +[ + { + "title": "$:/plugins/Gk0Wk/echarts/widget.js", + "text": "\"use strict\";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(e,i,r,s)=>{if(i&&\"object\"==typeof i||\"function\"==typeof i)for(let t of __getOwnPropNames(i))__hasOwnProp.call(e,t)||t===r||__defProp(e,t,{get:()=>i[t],enumerable:!(s=__getOwnPropDesc(i,t))||s.enumerable});return e},__toESM=(t,e,i)=>(i=null!=t?__create(__getProtoOf(t)):{},__copyProps(!e&&t&&t.__esModule?i:__defProp(i,\"default\",{value:t,enumerable:!0}),t)),import_widget=require(\"$:/core/modules/widgets/widget.js\"),ECharts=__toESM(require(\"$:/plugins/Gk0Wk/echarts/echarts.min.js\")),echartWidgets=new Set,Function_=Function;if($tw.browser){globalThis.echarts=ECharts;try{$tw.modules.forEachModuleOfType(\"echarts-extension\",(t,e)=>{var i,r,s,n,h;\"$:/plugins/Gk0Wk/echarts-stat/ecStat.min.js\"===t&&(({transform:{histogram:r,clustering:s,regression:n},statistics:h}=e),null!=(i=ECharts.registerTransform)&&i(r),null!=(r=ECharts.registerTransform)&&r(s),null!=(i=ECharts.registerTransform)&&i(n),globalThis.EChartsStat=h)})}catch(error){console.error(error)}setInterval(()=>{var t=[];for(const i of echartWidgets)document.contains(i.containerDom)||(unmountAddon(i.tiddlerTitle,i.state,i.echartsInstance),i.clearInstance(),t.push(i));var e=t.length;for(let r=0;r{var r,s,n,h,a;try{i.off(\"restore\"),t&&\"application/javascript\"===(null==(s=null==(r=$tw.wiki.getTiddler(t))?void 0:r.fields)?void 0:s.type)&&(a=(null!=(n=(h=require(t))[\"default\"])?n:h)[\"onUnmount\"],\"function\"==typeof a)&&a(e)}catch(error){console.error(error)}},nextId=0,EChartsWidget=class extends import_widget.widget{constructor(){super(...arguments),this.uuid=\"gk0wk-echarts-container-\"+nextId++,this.width=\"100%\",this.height=\"300px\",this[\"class\"]=\"gk0wk-echarts-body\",this.fillSidebar=!0,this.renderer=\"canvas\"}initialise(t,e){super.initialise(t,e),this.computeAttributes()}execute(){switch(this.tiddlerTitle=this.getAttribute(\"$tiddler\",\"\")||void 0,this.width=this.getAttribute(\"$width\",\"100%\"),this.height=this.getAttribute(\"$height\",\"300px\"),this[\"class\"]=this.getAttribute(\"$class\",\"gk0wk-echarts-body\"),this.fillSidebar=\"true\"===this.getAttribute(\"$fillSidebar\",\"true\").toLowerCase(),this.getAttribute(\"$theme\",\"auto\")){case\"light\":this.theme=void 0;break;case\"dark\":this.theme=\"dark\";break;default:this.theme=0<$tw.wiki.filterTiddlers(\"[{$:/palette}field:color-scheme[dark]]\").length?\"dark\":void 0}this.renderer=\"svg\"===this.getAttribute(\"$renderer\",\"canvas\")?\"svg\":\"canvas\",this.text=this.getAttribute(\"$text\",\"\").trim()||void 0,this.throttle=Math.max($tw.utils.getAnimationDuration()||100,100)}render(t,e){this.parentDomNode=t,this.execute(),this.containerDom=$tw.utils.domMaker(\"div\",{\"class\":this[\"class\"],document:this.document,style:{width:this.width,height:this.height}}),this.containerDom.id=this.uuid,t.insertBefore(this.containerDom,e),this.domNodes.push(this.containerDom);try{if(!(this.tiddlerTitle&&$tw.wiki.getTiddler(this.tiddlerTitle)||this.text))throw new Error(\"Widget need either $tiddler or $text attribute!\");var i=t.isTiddlyWikiFakeDom;this.rebuildInstance(i),this.initAddon(),this.renderAddon(),i?(Number.isSafeInteger(Number(this.width.replace(\"px\",\"\")))&&Number.isSafeInteger(Number(this.height.replace(\"px\",\"\")))||console.error(\"If you require SSR(server side render), you need to define $height and $width with format like '300px'\"),this.parentDomNode.innerHTML=this.echartsInstance.renderToSVGString()):echartWidgets.add(this)}catch(error){console.error(error),this.containerDom.innerText=String(error),this.containerDom.style.color=\"white\",this.containerDom.style.background=\"red\",this.containerDom.style.fontSize=\"12px\"}}refresh(s){return this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=void 0;var t,e=this.tiddlerTitle;const i=this.computeAttributes();let r=0;if(0<$tw.utils.count(i)){let e=0;$tw.utils.each([\"$theme\",\"$fillSidebar\",\"$renderer\"],t=>{void 0!==i[t]&&e++}),0e&&(r|=1)}void 0!==this.text||1&r||!(this.tiddlerTitle&&s[this.tiddlerTitle]||this.askForAddonUpdate(s,i))||(r|=1),this.execute(),2&r?!(t=this.rebuildInstance())||1&r?(unmountAddon(void 0!==this.text?void 0:e,this.state,this.echartsInstance),this.initAddon(),this.renderAddon()):this.echartsInstance.setOption(t):1&r&&this.renderAddon()},this.throttle),!1}askForAddonUpdate(t,e){var i,r,s,n,h,a,o;try{return this.tiddlerTitle&&$tw.wiki.getTiddler(this.tiddlerTitle)?\"text/vnd.tiddlywiki\"===(n=(s=$tw.wiki.getTiddler(this.tiddlerTitle).fields).type||\"text/vnd.tiddlywiki\")||\"application/json\"===n?(this._state=JSON.stringify($tw.wiki.filterTiddlers(s[\"echarts-refresh-trigger\"])),this._state!==this.state):\"application/javascript\"===n&&(void 0===(o=null!=(r=(a=null!=(i=(h=require(this.tiddlerTitle))[\"default\"])?i:h).shouldUpdate)?r:a.shouldRefresh)||(\"string\"==typeof o?(this._state=JSON.stringify($tw.wiki.filterTiddlers(o)),this._state!==this.state):\"function\"!=typeof o||o(this.state,t,e))):!1}catch(error){return console.error(error),!1}}clearInstance(){let t;return this.echartsInstance&&(t=this.echartsInstance.getOption(),this.echartsInstance.isDisposed()||this.echartsInstance.dispose(),this.echartsInstance=void 0),this.containerDom.innerHTML=\"\",this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=void 0),t}rebuildInstance(t=!1){var e=this.clearInstance();return this.echartsInstance=ECharts.init(t?null:this.containerDom,this.theme,t?{ssr:!0,renderer:\"svg\",height:Number(this.height.replace(\"px\",\"\"))||300,width:Number(this.width.replace(\"px\",\"\"))||400}:{renderer:this.renderer}),this.echartsInstance.setOption({darkMode:\"dark\"===this.theme,backgroundColor:\"transparent\"}),globalThis.ResizeObserver&&$tw.browser&&!t&&(this.resizeObserver=new ResizeObserver(r=>{requestAnimationFrame(()=>{var e;if(this.echartsInstance){var i=document.querySelector(\".tc-sidebar-scrollable\");let t=r[0].contentRect[\"height\"];this.fillSidebar&&null!=(e=null==i?void 0:i.contains)&&e.call(i,this.containerDom)&&(t=window.innerHeight-this.parentDomNode.getBoundingClientRect().top-(Number(getComputedStyle(i).paddingBottom.replace(\"px\",\"\"))||0)),this.echartsInstance.resize({width:r[0].contentRect.width,height:t})}})}),this.resizeObserver.observe(this.containerDom)),e}initAddon(){var t,e,i;try{if(void 0===this.text){if(!this.tiddlerTitle||!$tw.wiki.getTiddler(this.tiddlerTitle))return;var r=$tw.wiki.getTiddler(this.tiddlerTitle).fields,s=r.type||\"text/vnd.tiddlywiki\";if(\"text/vnd.tiddlywiki\"===s||\"application/json\"===s)this.state=null!=(t=this._state)?t:JSON.stringify($tw.wiki.filterTiddlers(r[\"echarts-refresh-trigger\"])),this._state=void 0;else{if(\"application/javascript\"!==s)return;var n=require(this.tiddlerTitle),h=null!=(e=n[\"default\"])?e:n,a=null!=(i=h.onMount)?i:h.onInit;\"function\"==typeof a&&(this.state=a(this.echartsInstance,this.attributes,this))}}this.echartsInstance.on(\"restore\",()=>this.renderAddon())}catch(error){console.error(error)}}async renderAddon(){var t;this.echartsInstance.showLoading();try{if(void 0===this.text){if(!this.tiddlerTitle||!$tw.wiki.getTiddler(this.tiddlerTitle))return void this.echartsInstance.hideLoading();var e,i=$tw.wiki.getTiddler(this.tiddlerTitle).fields.type||\"text/vnd.tiddlywiki\";\"text/vnd.tiddlywiki\"===i?this.echartsInstance.setOption(JSON.parse($tw.wiki.renderTiddler(\"text/plain\",this.tiddlerTitle,{variables:this.attributes}))):\"application/json\"===i?this.echartsInstance.setOption(JSON.parse($tw.wiki.getTiddlerText(this.tiddlerTitle))):\"application/javascript\"===i&&(null!=(t=(e=require(this.tiddlerTitle))[\"default\"])?t:e).onUpdate(this.echartsInstance,this.state,this.attributes)}else new Function_(\"myChart\",\"chartDom\",\"echarts\",\"$tw\",`var option;${this.text};if (option instanceof Object) myChart.setOption(option);`)(this.echartsInstance,this.containerDom,ECharts,$tw)}catch(error){console.error(error)}this.echartsInstance.hideLoading()}};exports.echarts=EChartsWidget;", + "Modern.TiddlyDev#Origin": "widget.ts", + "module-type": "widget", + "type": "application/javascript" + } +] \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/echarts/plugin.info b/Wiki-OcttKB/plugins/echarts/plugin.info new file mode 100644 index 0000000..0c12f47 --- /dev/null +++ b/Wiki-OcttKB/plugins/echarts/plugin.info @@ -0,0 +1,13 @@ +{ + "version": "0.1.4", + "title": "$:/plugins/Gk0Wk/echarts", + "plugin-type": "plugin", + "name": "ECharts", + "list": "readme LICENSE", + "description": "ECharts for TiddlyWiki5", + "author": "Gk0Wk", + "source": "https://github.com/tiddly-gittly/tw-echarts/tree/master/plugins/Gk0Wk/echarts", + "dependents": "$:/plugins/Gk0Wk/focused-tiddler", + "Modern.TiddlyDev#SHA256-Hashed": "f5cbae57e5d060bfca14eaa6b8a5669a56e0139b0250e5c65d215cdcafb5a07e", + "core-version": ">=5.2.0" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_Configuration.tid b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_Configuration.tid new file mode 100644 index 0000000..5a6b153 --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_Configuration.tid @@ -0,0 +1,12 @@ +title: $:/plugins/felixhayashi/hotzone/Configuration + +Please see the [[GitHub page|https://github.com/felixhayashi/TW5-HotZone]] for more information on the options. + +Save and reload the wiki to activate changes. + + + + + + +
Focus offset:<$edit-text tiddler="$:/config/hotzone/focusOffset" tag="input" default="71px" />
\ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_License.tid b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_License.tid new file mode 100644 index 0000000..e2aeb17 --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_License.tid @@ -0,0 +1,5 @@ +title: $:/plugins/felixhayashi/hotzone/License + +This code is released under the BSD license. For the exact terms visit: + +https://github.com/felixhayashi/TW5-HotZone/blob/master/LICENSE \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_Readme.tid b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_Readme.tid new file mode 100644 index 0000000..83c3e28 --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_Readme.tid @@ -0,0 +1,3 @@ +title: $:/plugins/felixhayashi/hotzone/Readme + +Please visit the [[GitHub page|https://github.com/felixhayashi/TW5-HotZone]] for more information. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_config.js b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_config.js new file mode 100644 index 0000000..0597b9f --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_config.js @@ -0,0 +1,10 @@ +/*\ + +title: $:/plugins/felixhayashi/hotzone/config.js +type: application/javascript +module-type: library + +@preserve + +\*/ +(function(){"use strict";exports.config={classNames:{storyRiver:"tc-story-river",tiddlerFrame:"tc-tiddler-frame",tiddlerTitle:"tc-title"},references:{userConfig:"$:/config/hotzone/focusOffset",focussedTiddlerStore:"$:/temp/focussedTiddler"},checkbackTime:$tw.utils.getAnimationDuration()}})(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_config.js.meta b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_config.js.meta new file mode 100644 index 0000000..bbcb759 --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_config.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/felixhayashi/hotzone/config.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_hotzone.js b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_hotzone.js new file mode 100644 index 0000000..6e621ca --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_hotzone.js @@ -0,0 +1,10 @@ +/*\ + +title: $:/plugins/felixhayashi/hotzone/hotzone.js +type: application/javascript +module-type: startup + +@preserve + +\*/ +(function(){"use strict";exports.name="hotzone";exports.platforms=["browser"];exports.after=["story"];exports.synchronous=true;exports.startup=function(){var t=require("$:/plugins/felixhayashi/hotzone/config.js").config;var e=null;var i=document.getElementsByClassName(t.classNames.storyRiver)[0];var r=$tw.wiki.getTiddlerData(t.references.userConfig,{});var s=isNaN(parseInt(r.focusOffset))?150:parseInt(r.focusOffset);var a=function(e,i,r){if(!(e instanceof Element))return;if(!$tw.utils.hasClass(e,t.classNames.tiddlerFrame))return;var s=e.getElementsByClassName(t.classNames.tiddlerTitle)[0];if(s){var a=s.innerText||s.textContent;return a.trim()}};var n=function(e,i){$tw.wiki.addTiddler(new $tw.Tiddler({title:t.references.focussedTiddlerStore,text:e},$tw.wiki.getModificationFields()));if(i){var r=document.getElementsByClassName("hzone-focus")[0];if(r){$tw.utils.removeClass(r,"hzone-focus")}$tw.utils.addClass(i,"hzone-focus")}};var l=function(){var r=$tw.wiki.getTiddler("$:/StoryList");if(r&&r.fields.list.length){var l=null;var o=Number.MAX_VALUE;var f=i.children;var u=t.classNames.tiddlerFrame;for(var d=f.length;d--;){if($tw.utils.hasClass(f[d],u)){var c=f[d].getBoundingClientRect();var v=Math.min(Math.abs(s-c.top),Math.abs(s-c.bottom));if(v=0;if(!r)return;f($tw.utils.getAnimationDuration()+10,true)}else if(t["$:/StoryList"]){f($tw.utils.getAnimationDuration()+10,true)}};var d=function(t){f(300,false)};$tw.wiki.addEventListener("change",u);window.addEventListener("scroll",d,false);d()}})(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_hotzone.js.meta b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_hotzone.js.meta new file mode 100644 index 0000000..eeff0cc --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/$__plugins_felixhayashi_hotzone_hotzone.js.meta @@ -0,0 +1,3 @@ +module-type: startup +title: $:/plugins/felixhayashi/hotzone/hotzone.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/$__temp_focussedTiddler.tid b/Wiki-OcttKB/plugins/hotzone/$__temp_focussedTiddler.tid new file mode 100644 index 0000000..c4a5871 --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/$__temp_focussedTiddler.tid @@ -0,0 +1 @@ +title: $:/temp/focussedTiddler \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/hotzone/plugin.info b/Wiki-OcttKB/plugins/hotzone/plugin.info new file mode 100644 index 0000000..6df4937 --- /dev/null +++ b/Wiki-OcttKB/plugins/hotzone/plugin.info @@ -0,0 +1,13 @@ +{ + "author": "Felix Küppers", + "core-version": ">=5.1.5", + "dependents": "", + "description": "HotZone – Be notified when tiddlers are scrolled into view", + "list": "Configuration License Readme", + "plugin-type": "plugin", + "released": "", + "source": "https://github.com/felixhayashi/TW5-HotZone", + "title": "$:/plugins/felixhayashi/hotzone", + "version": "0.0.3", + "name": "hotzone" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_buttons_open.tid b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_buttons_open.tid new file mode 100644 index 0000000..7523152 --- /dev/null +++ b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_buttons_open.tid @@ -0,0 +1,11 @@ +title: $:/plugins/tobibeer/inc/buttons/open + +<$button tooltip="Open this tiddler" class=<>> +<$action-navigate/> +<$list filter="[prefix[yes]]"> +{{$:/core/images/down-arrow}} + +<$list filter="[prefix[yes]]"> +open + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_macro.tid b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_macro.tid new file mode 100644 index 0000000..82e2633 --- /dev/null +++ b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_macro.tid @@ -0,0 +1,23 @@ +tags: $:/tags/Macro +title: $:/plugins/tobibeer/inc/macro + +\define tb-inc(tiddler) +
+<$tiddler tiddler="""$tiddler$"""> +
+<$list filter="[list[$:/plugins/tobibeer/inc/toolbar!!text]]" variable="listItem"><$transclude tiddler=<>/> +
+
+<$transclude mode=block/> +
+ +
+\end +\define {(tiddler) +<$reveal type="match" text="""$tiddler$""" default=""> +<$macrocall $name="tb-inc" tiddler=<>/> + +<$reveal type="nomatch" text="""$tiddler$""" default=""> +<$macrocall $name="tb-inc" tiddler="""$tiddler$"""/> + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_readme.tid b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_readme.tid new file mode 100644 index 0000000..9e5a52b --- /dev/null +++ b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_readme.tid @@ -0,0 +1,6 @@ +title: $:/plugins/tobibeer/inc/readme + +Provides the macro `<<{>>` that allows to transclude tiddlers with an on-hover toolbar for editing. + +; documentation / examples / demos... +: http://tobibeer.github.io/tw5-plugins#inc \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_styles.css b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_styles.css new file mode 100644 index 0000000..fb4f213 --- /dev/null +++ b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_styles.css @@ -0,0 +1,20 @@ +.tb-inc-controls{ +margin-top:-2em; +padding: 5px; +display:none; +} +.tb-inc-tab-content .tb-inc{ +margin:0; +padding:0; +position:relative; +} +.tb-inc-tab-content .tb-inc-controls{ +position:absolute; +margin-top:-5px; +right:0; +top:0; +} +.tb-inc:hover > .tb-inc-controls{ +display:block; +float:right; +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_styles.css.meta b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_styles.css.meta new file mode 100644 index 0000000..9a8a98c --- /dev/null +++ b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_styles.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/tobibeer/inc/styles +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_templates_tabs.tid b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_templates_tabs.tid new file mode 100644 index 0000000..5353055 --- /dev/null +++ b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_templates_tabs.tid @@ -0,0 +1,5 @@ +title: $:/plugins/tobibeer/inc/templates/tabs + +
+<$macrocall $name="{" tiddler=<>/> +
\ No newline at end of file diff --git a/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_toolbar.tid b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_toolbar.tid new file mode 100644 index 0000000..5ccedc1 --- /dev/null +++ b/Wiki-OcttKB/plugins/inc/$__plugins_tobibeer_inc_toolbar.tid @@ -0,0 +1,7 @@ +title: $:/plugins/tobibeer/inc/toolbar + +$:/plugins/tobibeer/inc/buttons/open + +$:/core/ui/Buttons/edit + +$:/core/ui/Buttons/delete \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/inc/plugin.info b/Wiki-OcttKB/plugins/inc/plugin.info new file mode 100644 index 0000000..e77e96a --- /dev/null +++ b/Wiki-OcttKB/plugins/inc/plugin.info @@ -0,0 +1,13 @@ +{ + "title": "$:/plugins/tobibeer/inc", + "description": "Enhance transclusion by including tiddlers with an on-hover toolbar", + "author": "Tobias Beer", + "version": "0.5.2", + "core-version": ">=5.1.9", + "source": "https://github.com/tobibeer/tw5-inc", + "documentation": "https://tobibeer.github.io/tw5-inc", + "plugin-type": "plugin", + "requires": "", + "list": "readme", + "dependents": "" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_LICENSE.txt b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_LICENSE.txt new file mode 100644 index 0000000..8072ca1 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Ke Wang (Gk0Wk in GitHub) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_LICENSE.txt.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_LICENSE.txt.meta new file mode 100644 index 0000000..ac6da51 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_LICENSE.txt.meta @@ -0,0 +1,2 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/LICENSE +type: text/plain \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_body.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_body.tid new file mode 100644 index 0000000..f60c64c --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_body.tid @@ -0,0 +1,84 @@ +list-before: $:/core/ui/ViewTemplate/title +tags: $:/tags/ViewTemplate +title: $:/plugins/Gk0Wk/notionpage-covericon/body + +<$list filter="[all[current]!is[system]]"> +<$set name="tiddler" value=<>> +<$list filter="[addprefix[$:/temp/Gk0Wk/notionpage-covericon/Selector/]]" variable="stateTiddler1"> +<$list filter="[addprefix[$:/temp/Gk0Wk/notionpage-covericon/ChangeCover/]]" variable="stateTiddler2"> +<$set name="icon" value={{!!icon}}> +<$set name="cover" value={{!!page-cover}}> +<$list filter="[match[]]"> +<$list filter="[match[]]"> + +
+
+ <$button setTitle=<> setField="icon" setTo={{$:/plugins/Gk0Wk/notionpage-covericon/default-icon}} tooltip="Add Icon">😁 Add Icon + <$button setTitle=<> setField="page-cover" setTo={{$:/plugins/Gk0Wk/notionpage-covericon/default-pagecover-url}} tooltip="Add Cover">{{$:/core/images/picture}} Add Cover +
+
+ +<$list filter="[!match[]]"> + +
+
<$image source=<> width="100%" height="auto"/>
+ <$button popup=<> class="gk0wk-notionpageb-changecover" tooltip="Change Cover">Change Cover + <$reveal type="popup" state=<> position="belowleft" tag="div" class="tc-popup-keep"> +
+
+ <$edit-text tiddler=<> field="page-cover" default="" placeholder="Tiddler or URL" focus="true"/> +
+
+ +
+ <$button setTitle=<> setField="icon" setTo={{$:/plugins/Gk0Wk/notionpage-covericon/default-icon}} tooltip="Add Icon">😁 Add Icon +
+
+ + +<$list filter="[!match[]]"> +<$list filter="[match[]]"> + +
+ <$button popup=<> class="gk0wk-notionpagebg-icon1"> + <$list filter="[titleis[shadow]!is[tiddler]]"><$transclude tiddler=<>/> + <$list filter="[titleis[tiddler]!is[shadow]]"><$transclude tiddler=<>/> + <$list filter="[title!is[shadow]!is[tiddler]]"><$wikify name="rendered" text=<> output=html><> + + <$reveal type="popup" state=<> position="below" tag="div" class="tc-popup-keep"> + {{$:/plugins/Gk0Wk/notionpage-covericon/icon-selector}} + +
+ <$button setTitle=<> setField="page-cover" setTo={{$:/plugins/Gk0Wk/notionpage-covericon/default-pagecover-url}} tooltip="Add Cover">{{$:/core/images/picture}} Add Cover +
+
+ +<$list filter="[!match[]]"> + +
+
<$image source=<> width="100%" height="auto"/>
+ <$button popup=<> class="gk0wk-notionpagebg-icon2"> + <$list filter="[titleis[shadow]!is[tiddler]]"><$transclude tiddler=<>/> + <$list filter="[titleis[tiddler]!is[shadow]]"><$transclude tiddler=<>/> + <$list filter="[title!is[shadow]!is[tiddler]]"><$wikify name="rendered" text=<> output=html><> + + <$reveal type="popup" state=<> position="below" tag="div" class="tc-popup-keep"> + {{$:/plugins/Gk0Wk/notionpage-covericon/icon-selector}} + + <$button popup=<> class="gk0wk-notionpageb-changecover" tooltip="Change Cover">Change Cover + <$reveal type="popup" state=<> position="belowleft" tag="div" class="tc-popup-keep"> +
+
+ <$edit-text tiddler=<> field="page-cover" default="" placeholder="Tiddler or URL" focus="true"/> +
+
+ +
+ + + + + + + + diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_default-icon.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_default-icon.tid new file mode 100644 index 0000000..139ecec --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_default-icon.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/default-icon + +📒 \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_default-pagecover-url.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_default-pagecover-url.tid new file mode 100644 index 0000000..f787d6e --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_default-pagecover-url.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/default-pagecover-url + +https://source.unsplash.com/random \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_activities b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_activities new file mode 100644 index 0000000..53e8460 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_activities @@ -0,0 +1,84 @@ +🎃: jack-o-lantern +🎄: Christmas tree +🎆: fireworks +🎇: sparkler +🧨: firecracker +✨: sparkles +🎈: balloon +🎉: party popper +🎊: confetti ball +🎋: tanabata tree +🎍: pine decoration +🎎: Japanese dolls +🎏: carp streamer +🎐: wind chime +🎑: moon viewing ceremony +🧧: red envelope +🎀: ribbon +🎁: wrapped gift +🎗️: reminder ribbon +🎟️: admission tickets +🎫: ticket +🎖️: military medal +🏆: trophy +🏅: sports medal +🥇: 1st place medal +🥈: 2nd place medal +🥉: 3rd place medal +⚽: soccer ball +⚾: baseball +🥎: softball +🏀: basketball +🏐: volleyball +🏈: american football +🏉: rugby football +🎾: tennis +🥏: flying disc +🎳: bowling +🏏: cricket game +🏑: field hockey +🏒: ice hockey +🥍: lacrosse +🏓: ping pong +🏸: badminton +🥊: boxing glove +🥋: martial arts uniform +🥅: goal net +⛳: flag in hole +⛸️: ice skate +🎣: fishing pole +🤿: diving mask +🎽: running shirt +🎿: skis +🛷: sled +🥌: curling stone +🎯: bullseye +🪀: yo-yo +🪁: kite +🎱: pool 8 ball +🔮: crystal ball +🪄: magic wand +🧿: nazar amulet +🎮: video game +🕹️: joystick +🎰: slot machine +🎲: game die +🧩: puzzle piece +🧸: teddy bear +🪅: piñata +🪆: nesting dolls +♠️: spade suit +♥️: heart suit +♦️: diamond suit +♣️: club suit +♟️: chess pawn +🃏: joker +🀄: mahjong red dragon +🎴: flower playing cards +🎭: performing arts +🖼️: framed picture +🎨: artist palette +🧵: thread +🪡: sewing needle +🧶: yarn +🪢: knot diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_activities.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_activities.meta new file mode 100644 index 0000000..5286d1b --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_activities.meta @@ -0,0 +1,4 @@ +caption: Activities +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/activities +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_animals-nature b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_animals-nature new file mode 100644 index 0000000..6ded0c3 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_animals-nature @@ -0,0 +1,140 @@ +🐵: monkey face +🐒: monkey +🦍: gorilla +🦧: orangutan +🐶: dog face +🐕: dog +🦮: guide dog +🐕‍🦺: service dog +🐩: poodle +🐺: wolf +🦊: fox +🦝: raccoon +🐱: cat face +🐈: cat +🐈‍⬛: black cat +🦁: lion +🐯: tiger face +🐅: tiger +🐆: leopard +🐴: horse face +🐎: horse +🦄: unicorn +🦓: zebra +🦌: deer +🦬: bison +🐮: cow face +🐂: ox +🐃: water buffalo +🐄: cow +🐷: pig face +🐖: pig +🐗: boar +🐽: pig nose +🐏: ram +🐑: ewe +🐐: goat +🐪: camel +🐫: two-hump camel +🦙: llama +🦒: giraffe +🐘: elephant +🦣: mammoth +🦏: rhinoceros +🦛: hippopotamus +🐭: mouse face +🐁: mouse +🐀: rat +🐹: hamster +🐰: rabbit face +🐇: rabbit +🐿️: chipmunk +🦫: beaver +🦔: hedgehog +🦇: bat +🐻: bear +🐻‍❄️: polar bear +🐨: koala +🐼: panda +🦥: sloth +🦦: otter +🦨: skunk +🦘: kangaroo +🦡: badger +🐾: paw prints +🦃: turkey +🐔: chicken +🐓: rooster +🐣: hatching chick +🐤: baby chick +🐥: front-facing baby chick +🐦: bird +🐧: penguin +🕊️: dove +🦅: eagle +🦆: duck +🦢: swan +🦉: owl +🦤: dodo +🪶: feather +🦩: flamingo +🦚: peacock +🦜: parrot +🐸: frog +🐊: crocodile +🐢: turtle +🦎: lizard +🐍: snake +🐲: dragon face +🐉: dragon +🦕: sauropod +🦖: T-Rex +🐳: spouting whale +🐋: whale +🐬: dolphin +🦭: seal +🐟: fish +🐠: tropical fish +🐡: blowfish +🦈: shark +🐙: octopus +🐚: spiral shell +🐌: snail +🦋: butterfly +🐛: bug +🐜: ant +🐝: honeybee +🪲: beetle +🐞: lady beetle +🦗: cricket +🪳: cockroach +🕷️: spider +🕸️: spider web +🦂: scorpion +🦟: mosquito +🪰: fly +🪱: worm +🦠: microbe +💐: bouquet +🌸: cherry blossom +💮: white flower +🏵️: rosette +🌹: rose +🥀: wilted flower +🌺: hibiscus +🌻: sunflower +🌼: blossom +🌷: tulip +🌱: seedling +🪴: potted plant +🌲: evergreen tree +🌳: deciduous tree +🌴: palm tree +🌵: cactus +🌾: sheaf of rice +🌿: herb +☘️: shamrock +🍀: four leaf clover +🍁: maple leaf +🍂: fallen leaf +🍃: leaf fluttering in wind diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_animals-nature.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_animals-nature.meta new file mode 100644 index 0000000..26831f4 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_animals-nature.meta @@ -0,0 +1,4 @@ +caption: Animals & Nature +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/animals-nature +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_flags b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_flags new file mode 100644 index 0000000..4424186 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_flags @@ -0,0 +1,268 @@ +🏁: chequered flag +🚩: triangular flag +🎌: crossed flags +🏴: black flag +🏳️: white flag +🏳️‍🌈: rainbow flag +🏳️‍⚧️: transgender flag +🏴‍☠️: pirate flag +🇦🇨: flag Ascension Island +🇦🇩: flag Andorra +🇦🇪: flag United Arab Emirates +🇦🇫: flag Afghanistan +🇦🇬: flag Antigua & Barbuda +🇦🇮: flag Anguilla +🇦🇱: flag Albania +🇦🇲: flag Armenia +🇦🇴: flag Angola +🇦🇶: flag Antarctica +🇦🇷: flag Argentina +🇦🇸: flag American Samoa +🇦🇹: flag Austria +🇦🇺: flag Australia +🇦🇼: flag Aruba +🇦🇽: flag Åland Islands +🇦🇿: flag Azerbaijan +🇧🇦: flag Bosnia & Herzegovina +🇧🇧: flag Barbados +🇧🇩: flag Bangladesh +🇧🇪: flag Belgium +🇧🇫: flag Burkina Faso +🇧🇬: flag Bulgaria +🇧🇭: flag Bahrain +🇧🇮: flag Burundi +🇧🇯: flag Benin +🇧🇱: flag St. Barthélemy +🇧🇲: flag Bermuda +🇧🇳: flag Brunei +🇧🇴: flag Bolivia +🇧🇶: flag Caribbean Netherlands +🇧🇷: flag Brazil +🇧🇸: flag Bahamas +🇧🇹: flag Bhutan +🇧🇻: flag Bouvet Island +🇧🇼: flag Botswana +🇧🇾: flag Belarus +🇧🇿: flag Belize +🇨🇦: flag Canada +🇨🇨: flag Cocos (Keeling) Islands +🇨🇩: flag Congo - Kinshasa +🇨🇫: flag Central African Republic +🇨🇬: flag Congo - Brazzaville +🇨🇭: flag Switzerland +🇨🇮: flag Côte d’Ivoire +🇨🇰: flag Cook Islands +🇨🇱: flag Chile +🇨🇲: flag Cameroon +🇨🇳: flag China +🇨🇴: flag Colombia +🇨🇵: flag Clipperton Island +🇨🇷: flag Costa Rica +🇨🇺: flag Cuba +🇨🇻: flag Cape Verde +🇨🇼: flag Curaçao +🇨🇽: flag Christmas Island +🇨🇾: flag Cyprus +🇨🇿: flag Czechia +🇩🇪: flag Germany +🇩🇬: flag Diego Garcia +🇩🇯: flag Djibouti +🇩🇰: flag Denmark +🇩🇲: flag Dominica +🇩🇴: flag Dominican Republic +🇩🇿: flag Algeria +🇪🇦: flag Ceuta & Melilla +🇪🇨: flag Ecuador +🇪🇪: flag Estonia +🇪🇬: flag Egypt +🇪🇭: flag Western Sahara +🇪🇷: flag Eritrea +🇪🇸: flag Spain +🇪🇹: flag Ethiopia +🇪🇺: flag European Union +🇫🇮: flag Finland +🇫🇯: flag Fiji +🇫🇰: flag Falkland Islands +🇫🇲: flag Micronesia +🇫🇴: flag Faroe Islands +🇫🇷: flag France +🇬🇦: flag Gabon +🇬🇧: flag United Kingdom +🇬🇩: flag Grenada +🇬🇪: flag Georgia +🇬🇫: flag French Guiana +🇬🇬: flag Guernsey +🇬🇭: flag Ghana +🇬🇮: flag Gibraltar +🇬🇱: flag Greenland +🇬🇲: flag Gambia +🇬🇳: flag Guinea +🇬🇵: flag Guadeloupe +🇬🇶: flag Equatorial Guinea +🇬🇷: flag Greece +🇬🇸: flag South Georgia & South Sandwich Islands +🇬🇹: flag Guatemala +🇬🇺: flag Guam +🇬🇼: flag Guinea-Bissau +🇬🇾: flag Guyana +🇭🇰: flag Hong Kong SAR China +🇭🇲: flag Heard & McDonald Islands +🇭🇳: flag Honduras +🇭🇷: flag Croatia +🇭🇹: flag Haiti +🇭🇺: flag Hungary +🇮🇨: flag Canary Islands +🇮🇩: flag Indonesia +🇮🇪: flag Ireland +🇮🇱: flag Israel +🇮🇲: flag Isle of Man +🇮🇳: flag India +🇮🇴: flag British Indian Ocean Territory +🇮🇶: flag Iraq +🇮🇷: flag Iran +🇮🇸: flag Iceland +🇮🇹: flag Italy +🇯🇪: flag Jersey +🇯🇲: flag Jamaica +🇯🇴: flag Jordan +🇯🇵: flag Japan +🇰🇪: flag Kenya +🇰🇬: flag Kyrgyzstan +🇰🇭: flag Cambodia +🇰🇮: flag Kiribati +🇰🇲: flag Comoros +🇰🇳: flag St. Kitts & Nevis +🇰🇵: flag North Korea +🇰🇷: flag South Korea +🇰🇼: flag Kuwait +🇰🇾: flag Cayman Islands +🇰🇿: flag Kazakhstan +🇱🇦: flag Laos +🇱🇧: flag Lebanon +🇱🇨: flag St. Lucia +🇱🇮: flag Liechtenstein +🇱🇰: flag Sri Lanka +🇱🇷: flag Liberia +🇱🇸: flag Lesotho +🇱🇹: flag Lithuania +🇱🇺: flag Luxembourg +🇱🇻: flag Latvia +🇱🇾: flag Libya +🇲🇦: flag Morocco +🇲🇨: flag Monaco +🇲🇩: flag Moldova +🇲🇪: flag Montenegro +🇲🇫: flag St. Martin +🇲🇬: flag Madagascar +🇲🇭: flag Marshall Islands +🇲🇰: flag North Macedonia +🇲🇱: flag Mali +🇲🇲: flag Myanmar (Burma) +🇲🇳: flag Mongolia +🇲🇴: flag Macao SAR China +🇲🇵: flag Northern Mariana Islands +🇲🇶: flag Martinique +🇲🇷: flag Mauritania +🇲🇸: flag Montserrat +🇲🇹: flag Malta +🇲🇺: flag Mauritius +🇲🇻: flag Maldives +🇲🇼: flag Malawi +🇲🇽: flag Mexico +🇲🇾: flag Malaysia +🇲🇿: flag Mozambique +🇳🇦: flag Namibia +🇳🇨: flag New Caledonia +🇳🇪: flag Niger +🇳🇫: flag Norfolk Island +🇳🇬: flag Nigeria +🇳🇮: flag Nicaragua +🇳🇱: flag Netherlands +🇳🇴: flag Norway +🇳🇵: flag Nepal +🇳🇷: flag Nauru +🇳🇺: flag Niue +🇳🇿: flag New Zealand +🇴🇲: flag Oman +🇵🇦: flag Panama +🇵🇪: flag Peru +🇵🇫: flag French Polynesia +🇵🇬: flag Papua New Guinea +🇵🇭: flag Philippines +🇵🇰: flag Pakistan +🇵🇱: flag Poland +🇵🇲: flag St. Pierre & Miquelon +🇵🇳: flag Pitcairn Islands +🇵🇷: flag Puerto Rico +🇵🇸: flag Palestinian Territories +🇵🇹: flag Portugal +🇵🇼: flag Palau +🇵🇾: flag Paraguay +🇶🇦: flag Qatar +🇷🇪: flag Réunion +🇷🇴: flag Romania +🇷🇸: flag Serbia +🇷🇺: flag Russia +🇷🇼: flag Rwanda +🇸🇦: flag Saudi Arabia +🇸🇧: flag Solomon Islands +🇸🇨: flag Seychelles +🇸🇩: flag Sudan +🇸🇪: flag Sweden +🇸🇬: flag Singapore +🇸🇭: flag St. Helena +🇸🇮: flag Slovenia +🇸🇯: flag Svalbard & Jan Mayen +🇸🇰: flag Slovakia +🇸🇱: flag Sierra Leone +🇸🇲: flag San Marino +🇸🇳: flag Senegal +🇸🇴: flag Somalia +🇸🇷: flag Suriname +🇸🇸: flag South Sudan +🇸🇹: flag São Tomé & Príncipe +🇸🇻: flag El Salvador +🇸🇽: flag Sint Maarten +🇸🇾: flag Syria +🇸🇿: flag Eswatini +🇹🇦: flag Tristan da Cunha +🇹🇨: flag Turks & Caicos Islands +🇹🇩: flag Chad +🇹🇫: flag French Southern Territories +🇹🇬: flag Togo +🇹🇭: flag Thailand +🇹🇯: flag Tajikistan +🇹🇰: flag Tokelau +🇹🇱: flag Timor-Leste +🇹🇲: flag Turkmenistan +🇹🇳: flag Tunisia +🇹🇴: flag Tonga +🇹🇷: flag Turkey +🇹🇹: flag Trinidad & Tobago +🇹🇻: flag Tuvalu +🇹🇿: flag Tanzania +🇺🇦: flag Ukraine +🇺🇬: flag Uganda +🇺🇲: flag U.S. Outlying Islands +🇺🇳: flag United Nations +🇺🇸: flag United States +🇺🇾: flag Uruguay +🇺🇿: flag Uzbekistan +🇻🇦: flag Vatican City +🇻🇨: flag St. Vincent & Grenadines +🇻🇪: flag Venezuela +🇻🇬: flag British Virgin Islands +🇻🇮: flag U.S. Virgin Islands +🇻🇳: flag Vietnam +🇻🇺: flag Vanuatu +🇼🇫: flag Wallis & Futuna +🇼🇸: flag Samoa +🇽🇰: flag Kosovo +🇾🇪: flag Yemen +🇾🇹: flag Mayotte +🇿🇦: flag South Africa +🇿🇲: flag Zambia +🇿🇼: flag Zimbabwe +🏴󠁧󠁢󠁥󠁮󠁧󠁿: flag England +🏴󠁧󠁢󠁳󠁣󠁴󠁿: flag Scotland +🏴󠁧󠁢󠁷󠁬󠁳󠁿: flag Wales diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_flags.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_flags.meta new file mode 100644 index 0000000..502c68d --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_flags.meta @@ -0,0 +1,4 @@ +caption: Flags +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/flags +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_food-drink b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_food-drink new file mode 100644 index 0000000..5eae5ff --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_food-drink @@ -0,0 +1,129 @@ +🍇: grapes +🍈: melon +🍉: watermelon +🍊: tangerine +🍋: lemon +🍌: banana +🍍: pineapple +🥭: mango +🍎: red apple +🍏: green apple +🍐: pear +🍑: peach +🍒: cherries +🍓: strawberry +🫐: blueberries +🥝: kiwi fruit +🍅: tomato +🫒: olive +🥥: coconut +🥑: avocado +🍆: eggplant +🥔: potato +🥕: carrot +🌽: ear of corn +🌶️: hot pepper +🫑: bell pepper +🥒: cucumber +🥬: leafy green +🥦: broccoli +🧄: garlic +🧅: onion +🍄: mushroom +🥜: peanuts +🌰: chestnut +🍞: bread +🥐: croissant +🥖: baguette bread +🫓: flatbread +🥨: pretzel +🥯: bagel +🥞: pancakes +🧇: waffle +🧀: cheese wedge +🍖: meat on bone +🍗: poultry leg +🥩: cut of meat +🥓: bacon +🍔: hamburger +🍟: french fries +🍕: pizza +🌭: hot dog +🥪: sandwich +🌮: taco +🌯: burrito +🫔: tamale +🥙: stuffed flatbread +🧆: falafel +🥚: egg +🍳: cooking +🥘: shallow pan of food +🍲: pot of food +🫕: fondue +🥣: bowl with spoon +🥗: green salad +🍿: popcorn +🧈: butter +🧂: salt +🥫: canned food +🍱: bento box +🍘: rice cracker +🍙: rice ball +🍚: cooked rice +🍛: curry rice +🍜: steaming bowl +🍝: spaghetti +🍠: roasted sweet potato +🍢: oden +🍣: sushi +🍤: fried shrimp +🍥: fish cake with swirl +🥮: moon cake +🍡: dango +🥟: dumpling +🥠: fortune cookie +🥡: takeout box +🦀: crab +🦞: lobster +🦐: shrimp +🦑: squid +🦪: oyster +🍦: soft ice cream +🍧: shaved ice +🍨: ice cream +🍩: doughnut +🍪: cookie +🎂: birthday cake +🍰: shortcake +🧁: cupcake +🥧: pie +🍫: chocolate bar +🍬: candy +🍭: lollipop +🍮: custard +🍯: honey pot +🍼: baby bottle +🥛: glass of milk +☕: hot beverage +🫖: teapot +🍵: teacup without handle +🍶: sake +🍾: bottle with popping cork +🍷: wine glass +🍸: cocktail glass +🍹: tropical drink +🍺: beer mug +🍻: clinking beer mugs +🥂: clinking glasses +🥃: tumbler glass +🥤: cup with straw +🧋: bubble tea +🧃: beverage box +🧉: mate +🧊: ice +🥢: chopsticks +🍽️: fork and knife with plate +🍴: fork and knife +🥄: spoon +🔪: kitchen knife +🏺: amphora diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_food-drink.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_food-drink.meta new file mode 100644 index 0000000..a3c6d7c --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_food-drink.meta @@ -0,0 +1,4 @@ +caption: Food & Drink +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/food-drink +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_objects b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_objects new file mode 100644 index 0000000..4408627 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_objects @@ -0,0 +1,250 @@ +👓: glasses +🕶️: sunglasses +🥽: goggles +🥼: lab coat +🦺: safety vest +👔: necktie +👕: t-shirt +👖: jeans +🧣: scarf +🧤: gloves +🧥: coat +🧦: socks +👗: dress +👘: kimono +🥻: sari +🩱: one-piece swimsuit +🩲: briefs +🩳: shorts +👙: bikini +👚: woman’s clothes +👛: purse +👜: handbag +👝: clutch bag +🛍️: shopping bags +🎒: backpack +🩴: thong sandal +👞: man’s shoe +👟: running shoe +🥾: hiking boot +🥿: flat shoe +👠: high-heeled shoe +👡: woman’s sandal +🩰: ballet shoes +👢: woman’s boot +👑: crown +👒: woman’s hat +🎩: top hat +🎓: graduation cap +🧢: billed cap +🪖: military helmet +⛑️: rescue worker’s helmet +📿: prayer beads +💄: lipstick +💍: ring +💎: gem stone +🔇: muted speaker +🔈: speaker low volume +🔉: speaker medium volume +🔊: speaker high volume +📢: loudspeaker +📣: megaphone +📯: postal horn +🔔: bell +🔕: bell with slash +🎼: musical score +🎵: musical note +🎶: musical notes +🎙️: studio microphone +🎚️: level slider +🎛️: control knobs +🎤: microphone +🎧: headphone +📻: radio +🎷: saxophone +🪗: accordion +🎸: guitar +🎹: musical keyboard +🎺: trumpet +🎻: violin +🪕: banjo +🥁: drum +🪘: long drum +📱: mobile phone +📲: mobile phone with arrow +☎️: telephone +📞: telephone receiver +📟: pager +📠: fax machine +🔋: battery +🔌: electric plug +💻: laptop +🖥️: desktop computer +🖨️: printer +⌨️: keyboard +🖱️: computer mouse +🖲️: trackball +💽: computer disk +💾: floppy disk +💿: optical disk +📀: dvd +🧮: abacus +🎥: movie camera +🎞️: film frames +📽️: film projector +🎬: clapper board +📺: television +📷: camera +📸: camera with flash +📹: video camera +📼: videocassette +🔍: magnifying glass tilted left +🔎: magnifying glass tilted right +🕯️: candle +💡: light bulb +🔦: flashlight +🏮: red paper lantern +🪔: diya lamp +📔: notebook with decorative cover +📕: closed book +📖: open book +📗: green book +📘: blue book +📙: orange book +📚: books +📓: notebook +📒: ledger +📃: page with curl +📜: scroll +📄: page facing up +📰: newspaper +🗞️: rolled-up newspaper +📑: bookmark tabs +🔖: bookmark +🏷️: label +💰: money bag +🪙: coin +💴: yen banknote +💵: dollar banknote +💶: euro banknote +💷: pound banknote +💸: money with wings +💳: credit card +🧾: receipt +💹: chart increasing with yen +✉️: envelope +📧: e-mail +📨: incoming envelope +📩: envelope with arrow +📤: outbox tray +📥: inbox tray +📦: package +📫: closed mailbox with raised flag +📪: closed mailbox with lowered flag +📬: open mailbox with raised flag +📭: open mailbox with lowered flag +📮: postbox +🗳️: ballot box with ballot +✏️: pencil +✒️: black nib +🖋️: fountain pen +🖊️: pen +🖌️: paintbrush +🖍️: crayon +📝: memo +💼: briefcase +📁: file folder +📂: open file folder +🗂️: card index dividers +📅: calendar +📆: tear-off calendar +🗒️: spiral notepad +🗓️: spiral calendar +📇: card index +📈: chart increasing +📉: chart decreasing +📊: bar chart +📋: clipboard +📌: pushpin +📍: round pushpin +📎: paperclip +🖇️: linked paperclips +📏: straight ruler +📐: triangular ruler +✂️: scissors +🗃️: card file box +🗄️: file cabinet +🗑️: wastebasket +🔒: locked +🔓: unlocked +🔏: locked with pen +🔐: locked with key +🔑: key +🗝️: old key +🔨: hammer +🪓: axe +⛏️: pick +⚒️: hammer and pick +🛠️: hammer and wrench +🗡️: dagger +⚔️: crossed swords +🔫: water pistol +🪃: boomerang +🏹: bow and arrow +🛡️: shield +🪚: carpentry saw +🔧: wrench +🪛: screwdriver +🔩: nut and bolt +⚙️: gear +🗜️: clamp +⚖️: balance scale +🦯: white cane +🔗: link +⛓️: chains +🪝: hook +🧰: toolbox +🧲: magnet +🪜: ladder +⚗️: alembic +🧪: test tube +🧫: petri dish +🧬: dna +🔬: microscope +🔭: telescope +📡: satellite antenna +💉: syringe +🩸: drop of blood +💊: pill +🩹: adhesive bandage +🩺: stethoscope +🚪: door +🛗: elevator +🪞: mirror +🪟: window +🛏️: bed +🛋️: couch and lamp +🪑: chair +🚽: toilet +🪠: plunger +🚿: shower +🛁: bathtub +🪤: mouse trap +🪒: razor +🧴: lotion bottle +🧷: safety pin +🧹: broom +🧺: basket +🧻: roll of paper +🪣: bucket +🧼: soap +🪥: toothbrush +🧽: sponge +🧯: fire extinguisher +🛒: shopping cart +🚬: cigarette +⚰️: coffin +🪦: headstone +⚱️: funeral urn +🗿: moai +🪧: placard diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_objects.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_objects.meta new file mode 100644 index 0000000..23c1a50 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_objects.meta @@ -0,0 +1,4 @@ +caption: Objects +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/objects +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_people-body b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_people-body new file mode 100644 index 0000000..d3b8ced --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_people-body @@ -0,0 +1,349 @@ +👋: waving hand +🤚: raised back of hand +🖐️: hand with fingers splayed +✋: raised hand +🖖: vulcan salute +👌: OK hand +🤌: pinched fingers +🤏: pinching hand +✌️: victory hand +🤞: crossed fingers +🤟: love-you gesture +🤘: sign of the horns +🤙: call me hand +👈: backhand index pointing left +👉: backhand index pointing right +👆: backhand index pointing up +🖕: middle finger +👇: backhand index pointing down +☝️: index pointing up +👍: thumbs up +👎: thumbs down +✊: raised fist +👊: oncoming fist +🤛: left-facing fist +🤜: right-facing fist +👏: clapping hands +🙌: raising hands +👐: open hands +🤲: palms up together +🤝: handshake +🙏: folded hands +✍️: writing hand +💅: nail polish +🤳: selfie +💪: flexed biceps +🦾: mechanical arm +🦿: mechanical leg +🦵: leg +🦶: foot +👂: ear +🦻: ear with hearing aid +👃: nose +🧠: brain +🫀: anatomical heart +🫁: lungs +🦷: tooth +🦴: bone +👀: eyes +👁️: eye +👅: tongue +👄: mouth +👶: baby +🧒: child +👦: boy +👧: girl +🧑: person +👱: person blond hair +👨: man +🧔: person beard +🧔‍♂️: man beard +🧔‍♀️: woman beard +👨‍🦰: man red hair +👨‍🦱: man curly hair +👨‍🦳: man white hair +👨‍🦲: man bald +👩: woman +👩‍🦰: woman red hair +🧑‍🦰: person red hair +👩‍🦱: woman curly hair +🧑‍🦱: person curly hair +👩‍🦳: woman white hair +🧑‍🦳: person white hair +👩‍🦲: woman bald +🧑‍🦲: person bald +👱‍♀️: woman blond hair +👱‍♂️: man blond hair +🧓: older person +👴: old man +👵: old woman +🙍: person frowning +🙍‍♂️: man frowning +🙍‍♀️: woman frowning +🙎: person pouting +🙎‍♂️: man pouting +🙎‍♀️: woman pouting +🙅: person gesturing NO +🙅‍♂️: man gesturing NO +🙅‍♀️: woman gesturing NO +🙆: person gesturing OK +🙆‍♂️: man gesturing OK +🙆‍♀️: woman gesturing OK +💁: person tipping hand +💁‍♂️: man tipping hand +💁‍♀️: woman tipping hand +🙋: person raising hand +🙋‍♂️: man raising hand +🙋‍♀️: woman raising hand +🧏: deaf person +🧏‍♂️: deaf man +🧏‍♀️: deaf woman +🙇: person bowing +🙇‍♂️: man bowing +🙇‍♀️: woman bowing +🤦: person facepalming +🤦‍♂️: man facepalming +🤦‍♀️: woman facepalming +🤷: person shrugging +🤷‍♂️: man shrugging +🤷‍♀️: woman shrugging +🧑‍⚕️: health worker +👨‍⚕️: man health worker +👩‍⚕️: woman health worker +🧑‍🎓: student +👨‍🎓: man student +👩‍🎓: woman student +🧑‍🏫: teacher +👨‍🏫: man teacher +👩‍🏫: woman teacher +🧑‍⚖️: judge +👨‍⚖️: man judge +👩‍⚖️: woman judge +🧑‍🌾: farmer +👨‍🌾: man farmer +👩‍🌾: woman farmer +🧑‍🍳: cook +👨‍🍳: man cook +👩‍🍳: woman cook +🧑‍🔧: mechanic +👨‍🔧: man mechanic +👩‍🔧: woman mechanic +🧑‍🏭: factory worker +👨‍🏭: man factory worker +👩‍🏭: woman factory worker +🧑‍💼: office worker +👨‍💼: man office worker +👩‍💼: woman office worker +🧑‍🔬: scientist +👨‍🔬: man scientist +👩‍🔬: woman scientist +🧑‍💻: technologist +👨‍💻: man technologist +👩‍💻: woman technologist +🧑‍🎤: singer +👨‍🎤: man singer +👩‍🎤: woman singer +🧑‍🎨: artist +👨‍🎨: man artist +👩‍🎨: woman artist +🧑‍✈️: pilot +👨‍✈️: man pilot +👩‍✈️: woman pilot +🧑‍🚀: astronaut +👨‍🚀: man astronaut +👩‍🚀: woman astronaut +🧑‍🚒: firefighter +👨‍🚒: man firefighter +👩‍🚒: woman firefighter +👮: police officer +👮‍♂️: man police officer +👮‍♀️: woman police officer +🕵️: detective +🕵️‍♂️: man detective +🕵️‍♀️: woman detective +💂: guard +💂‍♂️: man guard +💂‍♀️: woman guard +🥷: ninja +👷: construction worker +👷‍♂️: man construction worker +👷‍♀️: woman construction worker +🤴: prince +👸: princess +👳: person wearing turban +👳‍♂️: man wearing turban +👳‍♀️: woman wearing turban +👲: person with skullcap +🧕: woman with headscarf +🤵: person in tuxedo +🤵‍♂️: man in tuxedo +🤵‍♀️: woman in tuxedo +👰: person with veil +👰‍♂️: man with veil +👰‍♀️: woman with veil +🤰: pregnant woman +🤱: breast-feeding +👩‍🍼: woman feeding baby +👨‍🍼: man feeding baby +🧑‍🍼: person feeding baby +👼: baby angel +🎅: Santa Claus +🤶: Mrs. Claus +🧑‍🎄: mx claus +🦸: superhero +🦸‍♂️: man superhero +🦸‍♀️: woman superhero +🦹: supervillain +🦹‍♂️: man supervillain +🦹‍♀️: woman supervillain +🧙: mage +🧙‍♂️: man mage +🧙‍♀️: woman mage +🧚: fairy +🧚‍♂️: man fairy +🧚‍♀️: woman fairy +🧛: vampire +🧛‍♂️: man vampire +🧛‍♀️: woman vampire +🧜: merperson +🧜‍♂️: merman +🧜‍♀️: mermaid +🧝: elf +🧝‍♂️: man elf +🧝‍♀️: woman elf +🧞: genie +🧞‍♂️: man genie +🧞‍♀️: woman genie +🧟: zombie +🧟‍♂️: man zombie +🧟‍♀️: woman zombie +💆: person getting massage +💆‍♂️: man getting massage +💆‍♀️: woman getting massage +💇: person getting haircut +💇‍♂️: man getting haircut +💇‍♀️: woman getting haircut +🚶: person walking +🚶‍♂️: man walking +🚶‍♀️: woman walking +🧍: person standing +🧍‍♂️: man standing +🧍‍♀️: woman standing +🧎: person kneeling +🧎‍♂️: man kneeling +🧎‍♀️: woman kneeling +🧑‍🦯: person with white cane +👨‍🦯: man with white cane +👩‍🦯: woman with white cane +🧑‍🦼: person in motorized wheelchair +👨‍🦼: man in motorized wheelchair +👩‍🦼: woman in motorized wheelchair +🧑‍🦽: person in manual wheelchair +👨‍🦽: man in manual wheelchair +👩‍🦽: woman in manual wheelchair +🏃: person running +🏃‍♂️: man running +🏃‍♀️: woman running +💃: woman dancing +🕺: man dancing +🕴️: person in suit levitating +👯: people with bunny ears +👯‍♂️: men with bunny ears +👯‍♀️: women with bunny ears +🧖: person in steamy room +🧖‍♂️: man in steamy room +🧖‍♀️: woman in steamy room +🧗: person climbing +🧗‍♂️: man climbing +🧗‍♀️: woman climbing +🤺: person fencing +🏇: horse racing +⛷️: skier +🏂: snowboarder +🏌️: person golfing +🏌️‍♂️: man golfing +🏌️‍♀️: woman golfing +🏄: person surfing +🏄‍♂️: man surfing +🏄‍♀️: woman surfing +🚣: person rowing boat +🚣‍♂️: man rowing boat +🚣‍♀️: woman rowing boat +🏊: person swimming +🏊‍♂️: man swimming +🏊‍♀️: woman swimming +⛹️: person bouncing ball +⛹️‍♂️: man bouncing ball +⛹️‍♀️: woman bouncing ball +🏋️: person lifting weights +🏋️‍♂️: man lifting weights +🏋️‍♀️: woman lifting weights +🚴: person biking +🚴‍♂️: man biking +🚴‍♀️: woman biking +🚵: person mountain biking +🚵‍♂️: man mountain biking +🚵‍♀️: woman mountain biking +🤸: person cartwheeling +🤸‍♂️: man cartwheeling +🤸‍♀️: woman cartwheeling +🤼: people wrestling +🤼‍♂️: men wrestling +🤼‍♀️: women wrestling +🤽: person playing water polo +🤽‍♂️: man playing water polo +🤽‍♀️: woman playing water polo +🤾: person playing handball +🤾‍♂️: man playing handball +🤾‍♀️: woman playing handball +🤹: person juggling +🤹‍♂️: man juggling +🤹‍♀️: woman juggling +🧘: person in lotus position +🧘‍♂️: man in lotus position +🧘‍♀️: woman in lotus position +🛀: person taking bath +🛌: person in bed +🧑‍🤝‍🧑: people holding hands +👭: women holding hands +👫: woman and man holding hands +👬: men holding hands +💏: kiss +👩‍❤️‍💋‍👨: kiss woman, man +👨‍❤️‍💋‍👨: kiss man, man +👩‍❤️‍💋‍👩: kiss woman, woman +💑: couple with heart +👩‍❤️‍👨: couple with heart woman, man +👨‍❤️‍👨: couple with heart man, man +👩‍❤️‍👩: couple with heart woman, woman +👪: family +👨‍👩‍👦: family man, woman, boy +👨‍👩‍👧: family man, woman, girl +👨‍👩‍👧‍👦: family man, woman, girl, boy +👨‍👩‍👦‍👦: family man, woman, boy, boy +👨‍👩‍👧‍👧: family man, woman, girl, girl +👨‍👨‍👦: family man, man, boy +👨‍👨‍👧: family man, man, girl +👨‍👨‍👧‍👦: family man, man, girl, boy +👨‍👨‍👦‍👦: family man, man, boy, boy +👨‍👨‍👧‍👧: family man, man, girl, girl +👩‍👩‍👦: family woman, woman, boy +👩‍👩‍👧: family woman, woman, girl +👩‍👩‍👧‍👦: family woman, woman, girl, boy +👩‍👩‍👦‍👦: family woman, woman, boy, boy +👩‍👩‍👧‍👧: family woman, woman, girl, girl +👨‍👦: family man, boy +👨‍👦‍👦: family man, boy, boy +👨‍👧: family man, girl +👨‍👧‍👦: family man, girl, boy +👨‍👧‍👧: family man, girl, girl +👩‍👦: family woman, boy +👩‍👦‍👦: family woman, boy, boy +👩‍👧: family woman, girl +👩‍👧‍👦: family woman, girl, boy +👩‍👧‍👧: family woman, girl, girl +🗣️: speaking head +👤: bust in silhouette +👥: busts in silhouette +🫂: people hugging +👣: footprints diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_people-body.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_people-body.meta new file mode 100644 index 0000000..7a6c4a8 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_people-body.meta @@ -0,0 +1,4 @@ +caption: People & Body +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/people-body +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_smileys-emotion b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_smileys-emotion new file mode 100644 index 0000000..6b4afe6 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_smileys-emotion @@ -0,0 +1,156 @@ +😀: grinning face +😃: grinning face with big eyes +😄: grinning face with smiling eyes +😁: beaming face with smiling eyes +😆: grinning squinting face +😅: grinning face with sweat +🤣: rolling on the floor laughing +😂: face with tears of joy +🙂: slightly smiling face +🙃: upside-down face +😉: winking face +😊: smiling face with smiling eyes +😇: smiling face with halo +🥰: smiling face with hearts +😍: smiling face with heart-eyes +🤩: star-struck +😘: face blowing a kiss +😗: kissing face +☺️: smiling face +😚: kissing face with closed eyes +😙: kissing face with smiling eyes +🥲: smiling face with tear +😋: face savoring food +😛: face with tongue +😜: winking face with tongue +🤪: zany face +😝: squinting face with tongue +🤑: money-mouth face +🤗: hugging face +🤭: face with hand over mouth +🤫: shushing face +🤔: thinking face +🤐: zipper-mouth face +🤨: face with raised eyebrow +😐: neutral face +😑: expressionless face +😶: face without mouth +😶‍🌫️: face in clouds +😏: smirking face +😒: unamused face +🙄: face with rolling eyes +😬: grimacing face +😮‍💨: face exhaling +🤥: lying face +😌: relieved face +😔: pensive face +😪: sleepy face +🤤: drooling face +😴: sleeping face +😷: face with medical mask +🤒: face with thermometer +🤕: face with head-bandage +🤢: nauseated face +🤮: face vomiting +🤧: sneezing face +🥵: hot face +🥶: cold face +🥴: woozy face +😵: knocked-out face +😵‍💫: face with spiral eyes +🤯: exploding head +🤠: cowboy hat face +🥳: partying face +🥸: disguised face +😎: smiling face with sunglasses +🤓: nerd face +🧐: face with monocle +😕: confused face +😟: worried face +🙁: slightly frowning face +☹️: frowning face +😮: face with open mouth +😯: hushed face +😲: astonished face +😳: flushed face +🥺: pleading face +😦: frowning face with open mouth +😧: anguished face +😨: fearful face +😰: anxious face with sweat +😥: sad but relieved face +😢: crying face +😭: loudly crying face +😱: face screaming in fear +😖: confounded face +😣: persevering face +😞: disappointed face +😓: downcast face with sweat +😩: weary face +😫: tired face +🥱: yawning face +😤: face with steam from nose +😡: pouting face +😠: angry face +🤬: face with symbols on mouth +😈: smiling face with horns +👿: angry face with horns +💀: skull +☠️: skull and crossbones +💩: pile of poo +🤡: clown face +👹: ogre +👺: goblin +👻: ghost +👽: alien +👾: alien monster +🤖: robot +😺: grinning cat +😸: grinning cat with smiling eyes +😹: cat with tears of joy +😻: smiling cat with heart-eyes +😼: cat with wry smile +😽: kissing cat +🙀: weary cat +😿: crying cat +😾: pouting cat +🙈: see-no-evil monkey +🙉: hear-no-evil monkey +🙊: speak-no-evil monkey +💋: kiss mark +💌: love letter +💘: heart with arrow +💝: heart with ribbon +💖: sparkling heart +💗: growing heart +💓: beating heart +💞: revolving hearts +💕: two hearts +💟: heart decoration +❣️: heart exclamation +💔: broken heart +❤️‍🔥: heart on fire +❤️‍🩹: mending heart +❤️: red heart +🧡: orange heart +💛: yellow heart +💚: green heart +💙: blue heart +💜: purple heart +🤎: brown heart +🖤: black heart +🤍: white heart +💯: hundred points +💢: anger symbol +💥: collision +💫: dizzy +💦: sweat droplets +💨: dashing away +🕳️: hole +💣: bomb +💬: speech balloon +👁️‍🗨️: eye in speech bubble +🗨️: left speech bubble +🗯️: right anger bubble +💭: thought balloon +💤: zzz diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_smileys-emotion.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_smileys-emotion.meta new file mode 100644 index 0000000..f77d103 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_smileys-emotion.meta @@ -0,0 +1,4 @@ +caption: Smileys & Emotion +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/smileys-emotion +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_symbols b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_symbols new file mode 100644 index 0000000..6212042 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_symbols @@ -0,0 +1,220 @@ +🏧: ATM sign +🚮: litter in bin sign +🚰: potable water +♿: wheelchair symbol +🚹: men’s room +🚺: women’s room +🚻: restroom +🚼: baby symbol +🚾: water closet +🛂: passport control +🛃: customs +🛄: baggage claim +🛅: left luggage +⚠️: warning +🚸: children crossing +⛔: no entry +🚫: prohibited +🚳: no bicycles +🚭: no smoking +🚯: no littering +🚱: non-potable water +🚷: no pedestrians +📵: no mobile phones +🔞: no one under eighteen +☢️: radioactive +☣️: biohazard +⬆️: up arrow +↗️: up-right arrow +➡️: right arrow +↘️: down-right arrow +⬇️: down arrow +↙️: down-left arrow +⬅️: left arrow +↖️: up-left arrow +↕️: up-down arrow +↔️: left-right arrow +↩️: right arrow curving left +↪️: left arrow curving right +⤴️: right arrow curving up +⤵️: right arrow curving down +🔃: clockwise vertical arrows +🔄: counterclockwise arrows button +🔙: BACK arrow +🔚: END arrow +🔛: ON! arrow +🔜: SOON arrow +🔝: TOP arrow +🛐: place of worship +⚛️: atom symbol +🕉️: om +✡️: star of David +☸️: wheel of dharma +☯️: yin yang +✝️: latin cross +☦️: orthodox cross +☪️: star and crescent +☮️: peace symbol +🕎: menorah +🔯: dotted six-pointed star +♈: Aries +♉: Taurus +♊: Gemini +♋: Cancer +♌: Leo +♍: Virgo +♎: Libra +♏: Scorpio +♐: Sagittarius +♑: Capricorn +♒: Aquarius +♓: Pisces +⛎: Ophiuchus +🔀: shuffle tracks button +🔁: repeat button +🔂: repeat single button +▶️: play button +⏩: fast-forward button +⏭️: next track button +⏯️: play or pause button +◀️: reverse button +⏪: fast reverse button +⏮️: last track button +🔼: upwards button +⏫: fast up button +🔽: downwards button +⏬: fast down button +⏸️: pause button +⏹️: stop button +⏺️: record button +⏏️: eject button +🎦: cinema +🔅: dim button +🔆: bright button +📶: antenna bars +📳: vibration mode +📴: mobile phone off +♀️: female sign +♂️: male sign +⚧️: transgender symbol +✖️: multiply +➕: plus +➖: minus +➗: divide +♾️: infinity +‼️: double exclamation mark +⁉️: exclamation question mark +❓: red question mark +❔: white question mark +❕: white exclamation mark +❗: red exclamation mark +〰️: wavy dash +💱: currency exchange +💲: heavy dollar sign +⚕️: medical symbol +♻️: recycling symbol +⚜️: fleur-de-lis +🔱: trident emblem +📛: name badge +🔰: Japanese symbol for beginner +⭕: hollow red circle +✅: check mark button +☑️: check box with check +✔️: check mark +❌: cross mark +❎: cross mark button +➰: curly loop +➿: double curly loop +〽️: part alternation mark +✳️: eight-spoked asterisk +✴️: eight-pointed star +❇️: sparkle +©️: copyright +®️: registered +™️: trade mark +#️⃣: keycap # +*️⃣: keycap * +0️⃣: keycap 0 +1️⃣: keycap 1 +2️⃣: keycap 2 +3️⃣: keycap 3 +4️⃣: keycap 4 +5️⃣: keycap 5 +6️⃣: keycap 6 +7️⃣: keycap 7 +8️⃣: keycap 8 +9️⃣: keycap 9 +🔟: keycap 10 +🔠: input latin uppercase +🔡: input latin lowercase +🔢: input numbers +🔣: input symbols +🔤: input latin letters +🅰️: A button (blood type) +🆎: AB button (blood type) +🅱️: B button (blood type) +🆑: CL button +🆒: COOL button +🆓: FREE button +ℹ️: information +🆔: ID button +Ⓜ️: circled M +🆕: NEW button +🆖: NG button +🅾️: O button (blood type) +🆗: OK button +🅿️: P button +🆘: SOS button +🆙: UP! button +🆚: VS button +🈁: Japanese “here” button +🈂️: Japanese “service charge” button +🈷️: Japanese “monthly amount” button +🈶: Japanese “not free of charge” button +🈯: Japanese “reserved” button +🉐: Japanese “bargain” button +🈹: Japanese “discount” button +🈚: Japanese “free of charge” button +🈲: Japanese “prohibited” button +🉑: Japanese “acceptable” button +🈸: Japanese “application” button +🈴: Japanese “passing grade” button +🈳: Japanese “vacancy” button +㊗️: Japanese “congratulations” button +㊙️: Japanese “secret” button +🈺: Japanese “open for business” button +🈵: Japanese “no vacancy” button +🔴: red circle +🟠: orange circle +🟡: yellow circle +🟢: green circle +🔵: blue circle +🟣: purple circle +🟤: brown circle +⚫: black circle +⚪: white circle +🟥: red square +🟧: orange square +🟨: yellow square +🟩: green square +🟦: blue square +🟪: purple square +🟫: brown square +⬛: black large square +⬜: white large square +◼️: black medium square +◻️: white medium square +◾: black medium-small square +◽: white medium-small square +▪️: black small square +▫️: white small square +🔶: large orange diamond +🔷: large blue diamond +🔸: small orange diamond +🔹: small blue diamond +🔺: red triangle pointed up +🔻: red triangle pointed down +💠: diamond with a dot +🔘: radio button +🔳: white square button +🔲: black square button diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_symbols.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_symbols.meta new file mode 100644 index 0000000..f9eb830 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_symbols.meta @@ -0,0 +1,4 @@ +caption: Symbols +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/symbols +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_travel-places b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_travel-places new file mode 100644 index 0000000..ae3967f --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_travel-places @@ -0,0 +1,215 @@ +🌍: globe showing Europe-Africa +🌎: globe showing Americas +🌏: globe showing Asia-Australia +🌐: globe with meridians +🗺️: world map +🗾: map of Japan +🧭: compass +🏔️: snow-capped mountain +⛰️: mountain +🌋: volcano +🗻: mount fuji +🏕️: camping +🏖️: beach with umbrella +🏜️: desert +🏝️: desert island +🏞️: national park +🏟️: stadium +🏛️: classical building +🏗️: building construction +🧱: brick +🪨: rock +🪵: wood +🛖: hut +🏘️: houses +🏚️: derelict house +🏠: house +🏡: house with garden +🏢: office building +🏣: Japanese post office +🏤: post office +🏥: hospital +🏦: bank +🏨: hotel +🏩: love hotel +🏪: convenience store +🏫: school +🏬: department store +🏭: factory +🏯: Japanese castle +🏰: castle +💒: wedding +🗼: Tokyo tower +🗽: Statue of Liberty +⛪: church +🕌: mosque +🛕: hindu temple +🕍: synagogue +⛩️: shinto shrine +🕋: kaaba +⛲: fountain +⛺: tent +🌁: foggy +🌃: night with stars +🏙️: cityscape +🌄: sunrise over mountains +🌅: sunrise +🌆: cityscape at dusk +🌇: sunset +🌉: bridge at night +♨️: hot springs +🎠: carousel horse +🎡: ferris wheel +🎢: roller coaster +💈: barber pole +🎪: circus tent +🚂: locomotive +🚃: railway car +🚄: high-speed train +🚅: bullet train +🚆: train +🚇: metro +🚈: light rail +🚉: station +🚊: tram +🚝: monorail +🚞: mountain railway +🚋: tram car +🚌: bus +🚍: oncoming bus +🚎: trolleybus +🚐: minibus +🚑: ambulance +🚒: fire engine +🚓: police car +🚔: oncoming police car +🚕: taxi +🚖: oncoming taxi +🚗: automobile +🚘: oncoming automobile +🚙: sport utility vehicle +🛻: pickup truck +🚚: delivery truck +🚛: articulated lorry +🚜: tractor +🏎️: racing car +🏍️: motorcycle +🛵: motor scooter +🦽: manual wheelchair +🦼: motorized wheelchair +🛺: auto rickshaw +🚲: bicycle +🛴: kick scooter +🛹: skateboard +🛼: roller skate +🚏: bus stop +🛣️: motorway +🛤️: railway track +🛢️: oil drum +⛽: fuel pump +🚨: police car light +🚥: horizontal traffic light +🚦: vertical traffic light +🛑: stop sign +🚧: construction +⚓: anchor +⛵: sailboat +🛶: canoe +🚤: speedboat +🛳️: passenger ship +⛴️: ferry +🛥️: motor boat +🚢: ship +✈️: airplane +🛩️: small airplane +🛫: airplane departure +🛬: airplane arrival +🪂: parachute +💺: seat +🚁: helicopter +🚟: suspension railway +🚠: mountain cableway +🚡: aerial tramway +🛰️: satellite +🚀: rocket +🛸: flying saucer +🛎️: bellhop bell +🧳: luggage +⌛: hourglass done +⏳: hourglass not done +⌚: watch +⏰: alarm clock +⏱️: stopwatch +⏲️: timer clock +🕰️: mantelpiece clock +🕛: twelve o’clock +🕧: twelve-thirty +🕐: one o’clock +🕜: one-thirty +🕑: two o’clock +🕝: two-thirty +🕒: three o’clock +🕞: three-thirty +🕓: four o’clock +🕟: four-thirty +🕔: five o’clock +🕠: five-thirty +🕕: six o’clock +🕡: six-thirty +🕖: seven o’clock +🕢: seven-thirty +🕗: eight o’clock +🕣: eight-thirty +🕘: nine o’clock +🕤: nine-thirty +🕙: ten o’clock +🕥: ten-thirty +🕚: eleven o’clock +🕦: eleven-thirty +🌑: new moon +🌒: waxing crescent moon +🌓: first quarter moon +🌔: waxing gibbous moon +🌕: full moon +🌖: waning gibbous moon +🌗: last quarter moon +🌘: waning crescent moon +🌙: crescent moon +🌚: new moon face +🌛: first quarter moon face +🌜: last quarter moon face +🌡️: thermometer +☀️: sun +🌝: full moon face +🌞: sun with face +🪐: ringed planet +⭐: star +🌟: glowing star +🌠: shooting star +🌌: milky way +☁️: cloud +⛅: sun behind cloud +⛈️: cloud with lightning and rain +🌤️: sun behind small cloud +🌥️: sun behind large cloud +🌦️: sun behind rain cloud +🌧️: cloud with rain +🌨️: cloud with snow +🌩️: cloud with lightning +🌪️: tornado +🌫️: fog +🌬️: wind face +🌀: cyclone +🌈: rainbow +🌂: closed umbrella +☂️: umbrella +☔: umbrella with rain drops +⛱️: umbrella on ground +⚡: high voltage +❄️: snowflake +☃️: snowman +⛄: snowman without snow +☄️: comet +🔥: fire +💧: droplet +🌊: water wave diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_travel-places.meta b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_travel-places.meta new file mode 100644 index 0000000..6c7502d --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_emoji_travel-places.meta @@ -0,0 +1,4 @@ +caption: Travel & Places +tags: $:/plugins/Gk0Wk/notionpage-covericon/emojies +title: $:/plugins/Gk0Wk/notionpage-covericon/emoji/travel-places +type: application/x-tiddler-dictionary \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_icon-selector.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_icon-selector.tid new file mode 100644 index 0000000..c5aede2 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_icon-selector.tid @@ -0,0 +1,94 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/icon-selector + +<$list filter="[addprefix[$:/temp/Gk0Wk/notionpage-covericon/SelectorTab/]]" variable="tabTiddler"> +<$list filter="[addprefix[$:/temp/Gk0Wk/notionpage-covericon/EmojiFilter/]]" variable="filter"> +<$list filter="[get[text]else[emoji]]" variable="tabName"> +
+ +
+
+ <$list filter="[!match[emoji]]"> + <$button set=<> setTo="emoji" tooltip="Emoji Tab">Emoji + + <$list filter="[match[emoji]]"> + <$button set=<> class="gk0wk-notionbg-tab-selected" setTo="emoji" tooltip="Emoji Tab">Emoji + + <$list filter="[!match[system]]"> + <$button set=<> setTo="system" tooltip="System Icon Tab">System Icon + + <$list filter="[match[system]]"> + <$button set=<> class="gk0wk-notionbg-tab-selected" setTo="system" tooltip="System Icon Tab">System Icon + + <$list filter="[!match[tiddlerurl]]"> + <$button set=<> setTo="tiddlerurl" tooltip="Tiddler & URL Tab">Tiddler & URL + + <$list filter="[match[tiddlerurl]]"> + <$button set=<> class="gk0wk-notionbg-tab-selected" setTo="tiddlerurl" tooltip="Tiddler & URL Tab">Tiddler & URL + + <$button setTitle=<> setField="icon" setTo="" style="float: right; opacity: 0.5;" tooltip="Clear Icon">{{$:/core/images/delete-button}} Clear Icon +
+ <$list filter="[match[emoji]]"> +
+ <$edit-text tiddler=<> default="" placeholder="Filter..." focus="true"/> +
+ +
+ + <$list filter="[match[emoji]]"> + <$list filter="[get[text]!match[]]" variable="filterText"> + <$list filter="[all[tiddlers+shadows]tag[$:/plugins/Gk0Wk/notionpage-covericon/emojies]]"> +
+ <$set name="dictonary" value=<>> +
{{!!caption}}
+
+ <$list filter="[all[current]indexes[]]"> + <$list filter="[getindexsearch]" variable="tmp"> + <$button setTitle=<> setField="icon" setTo=<> tooltip={{{[getindex]}}}> + <> + + + +
+ +
+ + + <$reveal state=<> type="match" text=""> + <$list filter="[all[tiddlers+shadows]tag[$:/plugins/Gk0Wk/notionpage-covericon/emojies]]"> +
+ <$set name="dictonary" value=<>> +
{{!!caption}}
+
+ <$list filter="[all[current]indexes[]]"> + <$button setTitle=<> setField="icon" setTo=<> tooltip={{{[getindex]}}}> + <> + + +
+ +
+ + + + + <$list filter="[match[system]]"> +
+
+ <$list filter="[all[tiddlers+shadows]tag[$:/tags/Image]]"> + <$button setTitle=<> setField="icon" setTo=<> tooltip=<>> + <$transclude tiddler=<>/> + + +
+
+ + + <$list filter="[match[tiddlerurl]]"> +
+ <$edit-text tiddler=<> field="icon" default="" placeholder="Tiddler or URL" focus="true"/> +
+ +
+ + + diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_readme.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_readme.tid new file mode 100644 index 0000000..0706ba5 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_readme.tid @@ -0,0 +1,71 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/readme + +\define lingo-base() $:/language/ThemeTweaks/ + +<$list filter="[[$:/language]get[text]removeprefix[$:/languages/]else[en-GB]]" variable="lang"> +<$list filter="[search[zh]]"> + +安装插件后,在每个tiddler的标题上方会有两个按钮(鼠标悬浮在上面就会显示),分别用于添加图标(默认是emoji📒)和添加页面封面(默认是`https://source.unsplash.com/random`)。点击图标就可以修改图标内容,点击修改封面就可以修改封面地址(可以是url或者tiddler标题)。 + +使用如下字段来存储页面的图标和封面信息: + +* `icon` 存储图标,可以是emoji、WikiText或者tiddler的标题。 +* `page-cover` 存储封面的url或者tiddler的标题。 + +!! 设置 + +
+ +|[[默认图标|$:/plugins/Gk0Wk/notionpage-covericon/default-icon]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/default-icon" default="📒" placeholder="Emoji, WikiText 或者 Tiddler"/> | +|[[默认封面|$:/plugins/Gk0Wk/notionpage-covericon/default-pagecover-url]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/default-pagecover-url" default="https://source.unsplash.com/random" placeholder="URL 或者 Tiddler"/> | +|[[图标大小|$:/plugins/Gk0Wk/notionpage-covericon/style/icon-size]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/icon-size" placeholder="如:65px" tag="input"/> | +|[[封面高度(紧凑模式)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/narrow]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/narrow" placeholder="如:300px" tag="input"/> | +|[[封面高度(宽屏模式)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/wide]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/wide" placeholder="如:300px" tag="input"/> | +|[[封面顶端位置(紧凑模式)|$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/narrow]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/narrow" placeholder="如:-14px" tag="input"/> | +|[[封面顶端位置(宽屏模式)|$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/wide]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/wide" placeholder="如:-28px" tag="input"/> | +|[[封面左侧位置(紧凑模式)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/narrow]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/narrow" placeholder="如:-14px" tag="input"/> | +|[[封面左侧位置(宽屏模式)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/wide]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/wide" placeholder="如:-42px" tag="input"/> | +|[[封面右侧位置(紧凑模式)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/narrow]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/narrow" placeholder="如:-14px" tag="input"/> | +|[[封面右侧位置(宽屏模式)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/wide]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/wide" placeholder="如:-42px" tag="input"/> | + +
+ +* 注:【宽屏模式】和【紧凑模式】是由 <$link to="$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint"><> 决定的,当前<>为{{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}。 + +> 本插件使用灵活而强大的 <$text text="TiddlyWiki" /> 开发框架 [[Tiddly.ModernDev|https://github.com/tiddly-gittly/Modern.TiddlyDev]] + + + +<$list filter="[!search[zh]]"> + +After installing the plugin, there will be two buttons above the title of each tiddler (which will be displayed when the mouse hovers over it) for adding icons (default is emoji📒) and adding page covers (default is `https://source.unsplash.com/random`). Click on the icon to modify the icon content, and click on the modify cover to modify the cover address (can be url or tiddler title). + +Use the following fields to store the page's icon and cover information. + +* `icon` stores the icon, which can be an emoji, WikiText or tiddler title. +* `page-cover` stores the url of the cover or the title of the tiddler. + +!! Settings + +
+ +|[[Default icon|$:/plugins/Gk0Wk/notionpage-covericon/default-icon]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/default-icon" default="📒" placeholder="Emoji, WikiText or Tiddler"/> | +|[[Default page cover|$:/plugins/Gk0Wk/notionpage-covericon/default-pagecover-url]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/default-pagecover-url" default="https://source.unsplash.com/random" placeholder="URL or Tiddler"/> | +|[[Icon size|$:/plugins/Gk0Wk/notionpage-covericon/style/icon-size]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/icon-size" placeholder="e.g. 65px" tag="input"/> | +|[[Height of page cover(Compact mode)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/narrow]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/narrow" placeholder="e.g. 300px" tag="input"/> | +|[[Height of page cover(Widescreen mode)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/wide]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/wide" placeholder="e.g. 300px" tag="input"/> | +|[[Top position of page cover(Compact mode)|$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/narrow]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/narrow" placeholder="e.g. -14px" tag="input"/> | +|[[Top position of page cover(Widescreen mode)|$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/wide]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/wide" placeholder="e.g. -28px" tag="input"/> | +|[[Left position of page cover(Compact mode)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/narrow]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/narrow" placeholder="e.g. -14px" tag="input"/> | +|[[Left position of page cover(Widescreen mode)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/wide]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/wide" placeholder="e.g. -42px" tag="input"/> | +|[[Right position of page cover(Compact mode)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/narrow]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/narrow" placeholder="e.g. -14px" tag="input"/> | +|[[Right position of page cover(Widescreen mode)|$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/wide]] |<$edit-text tiddler="$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/wide" placeholder="e.g. -42px" tag="input"/> | + +
+ +* Note: [Widescreen mode] and [Compact mode] are determined by <$link to="$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint"><>. Now the <> is {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}. + +> This plugin uses the flexible and powerful <$text text="TiddlyWiki" /> development framework [[Tiddly.ModernDev|https://github.com/tiddly-gittly/Modern.TiddlyDev]] + + + diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style.css.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style.css.tid new file mode 100644 index 0000000..6554d0d --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style.css.tid @@ -0,0 +1,304 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/Gk0Wk/notionpage-covericon/style.css +type: text/vnd.tiddlywiki + +/* Container */ +.gk0wk-notionpagebg { + width: 100%; + position: relative; +} + +.gk0wk-notionpagebg-c, .gk0wk-notionpagebg-ci { + top: {{$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/wide}}; +} + +.gk0wk-notionpagebg .gk0wk-notionpagebg-image { + width: calc(100% - {{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/wide}} - {{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/wide}}); + left: {{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/wide}}; + height: {{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/wide}}; + overflow: hidden; + position: relative; +} + +.gk0wk-notionpagebg-ci { + height: calc({{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/wide}} + {{$:/plugins/Gk0Wk/notionpage-covericon/style/icon-size}} / 2 + {{$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/wide}} + 10px); + pointer-events: none; +} + +.gk0wk-notionpagebg-c { + height: calc({{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/wide}} + {{$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/wide}} + 30px + 10px); +} + +@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) { + .gk0wk-notionpagebg-c, .gk0wk-notionpagebg-ci { + top: {{$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/narrow}}; + } + .gk0wk-notionpagebg .gk0wk-notionpagebg-image { + width: calc(100% - {{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/narrow}} - {{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/narrow}}); + left: {{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/narrow}}; + height: {{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/narrow}}; + } + .gk0wk-notionpagebg-ci { + height: calc({{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/narrow}} + {{$:/plugins/Gk0Wk/notionpage-covericon/style/icon-size}} / 2 + {{$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/narrow}} + 10px); + } + .gk0wk-notionpagebg-c { + height: calc({{$:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/narrow}} + {{$:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/narrow}} + 30px + 10px); + } +} + +.gk0wk-notionpagebg p { + margin: 0; +} + +/* Buttons */ + +.gk0wk-notionpagebg button { + background: transparent; + border: none; +} + +.gk0wk-notionpagebg-icon1, +.gk0wk-notionpagebg-icon2, +.gk0wk-notionpageb-changecover, +.gk0wk-notionbg-addbuttons button { + color: <> !important; + fill: <> !important; + user-select: none; + cursor: pointer; + transition: all {{$:/config/AnimationDuration}}ms; +} + +.gk0wk-notionpagebg-icon1, +.gk0wk-notionpagebg-icon2 { + font-size: {{$:/plugins/Gk0Wk/notionpage-covericon/style/icon-size}}; + font-family: "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", EmojiSymbols; + padding: 4px !important; + pointer-events: auto; +} + +.gk0wk-notionpagebg-icon2 { + position: relative; + top: calc(-{{$:/plugins/Gk0Wk/notionpage-covericon/style/icon-size}} / 1.6); +} + +.gk0wk-notionpagebg-icon1:hover, +.gk0wk-notionpagebg-icon2:hover { + background: <> !important; +} + +.gk0wk-notionbg-addbuttons { + width: 100%; + height: 30px; + opacity: 0; + display: flex; + margin-top: 5px; + transition: all {{$:/config/AnimationDuration}}ms; +} + +.gk0wk-notionpagebg:hover .gk0wk-notionbg-addbuttons, +.gk0wk-notionpagebg:hover .gk0wk-notionpageb-changecover { + opacity: 1; +} + +.gk0wk-notionbg-addbuttons button { + padding: 3px 6px; + margin-right: 12px; + opacity: 0.8; +} + +.gk0wk-notionpageb-changecover { + position: absolute; + top: 265px; + right: 10px; + padding: 4px 6px !important; + filter: contrast(90%); + opacity: 0; + pointer-events: auto; + transition: all {{$:/config/AnimationDuration}}ms; +} + +.gk0wk-notionpageb-changecover:hover { + background: <>; +} + +/* Page Cover */ + +.gk0wk-notionpagebg .gk0wk-notionpagebg-image img { + position: relative; + top: 50%; + transform: translateY(-50%); +} + +/* Change Page Cover */ + +.gk0wk-notionpageb-changecover-box { + border-radius: 3px; + <> + background: <>; + padding: 10px 6px 20px 6px; + width: 318px; + pointer-events: auto; +} + +/* Icon Selector */ + +.gk0wk-notionbg-icon-selection-box { + border-radius: 3px; + <> + overflow: auto; + filter: contrast(90%); + background: <>; + max-height: min(60vh, 390px); + max-width: 480px; + pointer-events: auto; +} + +.gk0wk-notionbg-icon-selection-type { + padding: 6px 0; +} + +.gk0wk-notionbg-icon-selection-typetitle { + color: <>; + display: block; + padding-left: 14px; + padding-right: 14px; + margin-top: 6px; + margin-bottom: 8px; + font-size: 1em; + font-weight: 600; + line-height: 120%; + user-select: none; + text-transform: uppercase; +} + +.gk0wk-notionbg-icon-selection-icons { + display: flex; + flex-flow: row wrap; + align-items: flex-start; + background: transparent; + padding: 0px 0px 0px 12px; + margin-bottom: 1px; + font-family: "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Noto Color Emoji", "Segoe UI Symbol", "Android Emoji", EmojiSymbols; +} + +.gk0wk-notionbg-icon-selection-icons > button { + user-select: none; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + border-radius: 3px; + width: 32px; + height: 32px; + font-size: 24px; +} + +.gk0wk-notionbg-icon-selection-type button { + background: transparent !important; + border: none !important; + border-radius: 3px; + padding: 4px 8px; + transition: all {{$:/config/AnimationDuration}}ms; + color: <> !important; + fill: <> !important; +} + +.gk0wk-notionbg-icon-selection-type button:hover { + background: <> !important; + color: <> !important; + fill: <> !important; + filter: contrast(85%); +} + +.gk0wk-notionbg-icon-selection-type button:active { + background: <> !important; + color: <> !important; + fill: <> !important; + filter: contrast(70%); +} + +.gk0wk-notionbg-selection-box-emojifilter, +.gk0wk-notionbg-selection-box-tiddlerurlinput, +.gk0wk-notionpageb-changecover-box > div { + display: flex; + align-items: center; + width: calc(100% - 28px); + font-size: 14px; + line-height: 20px; + padding: 3px 6px; + position: relative; + border-radius: 3px; + cursor: text; + height: 28px; + margin: 10px 14px 0px 14px; + background: <>; + filter: contrast(90%); +} + +.gk0wk-notionbg-selection-box-tiddlerurlinput { + margin-bottom: 10px; +} + +.gk0wk-notionbg-selection-box-emojifilter > textarea, +.gk0wk-notionbg-selection-box-tiddlerurlinput > textarea, +.gk0wk-notionpageb-changecover-box > div > input, +.gk0wk-notionbg-selection-box-tiddlerurlinput > input { + height: 22px !important; + font-size: inherit; + line-height: inherit; + border: none; + background: none; + width: 100%; + display: block; + resize: none; + padding: 0px; + width: 100%; +} + +.gk0wk-notionbg-selection-box-emojifilter > textarea:focus, +.gk0wk-notionbg-selection-box-tiddlerurlinput > textarea:focus, +.gk0wk-notionpageb-changecover-box > div > input:focus, +.gk0wk-notionbg-selection-box-tiddlerurlinput > input:focus { + outline: none; +} + +.gk0wk-notionbg-selection-box-header { + position: sticky; + top: 0; + width: 100%; + background: <>; + padding-bottom: 6px; + z-index: 1000; +} + +.gk0wk-notionbg-selection-box-tabs { + width: 100%; + padding-left: 8px; + -webkit-box-shadow: <> 0px 1px 0px; + -moz-box-shadow: <> 0px 1px 0px; + box-shadow: <> 0px 1px 0px; +} + +.gk0wk-notionbg-selection-box-tabs button { + padding: 6px 8px 10px 8px !important; + line-height: 1.2; + margin: 4px 4px 0 4px !important; + cursor: pointer; + white-space: nowrap; + color: <>; + fill: <>; + border-radius: 3px 3px 0 0 !important; + transition: all {{$:/config/AnimationDuration}}ms; +} + +.gk0wk-notionbg-selection-box-tabs button:hover { + background: <> !important; + filter: contrast(85%); +} + +.gk0wk-notionbg-selection-box-tabs button.gk0wk-notionbg-tab-selected { + font-weight: 600; + -webkit-box-shadow: <> 0px 2px 0px; + -moz-box-shadow: <> 0px 2px 0px; + box-shadow: <> 0px 2px 0px; +} diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-height_narrow.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-height_narrow.tid new file mode 100644 index 0000000..a1cd51f --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-height_narrow.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/narrow + +300px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-height_wide.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-height_wide.tid new file mode 100644 index 0000000..b4a3718 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-height_wide.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/cover-height/wide + +300px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-left_narrow.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-left_narrow.tid new file mode 100644 index 0000000..218da68 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-left_narrow.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/narrow + +-14px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-left_wide.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-left_wide.tid new file mode 100644 index 0000000..f4bed0b --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-left_wide.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/cover-left/wide + +-42px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-right_narrow.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-right_narrow.tid new file mode 100644 index 0000000..544d8c3 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-right_narrow.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/narrow + +-14px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-right_wide.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-right_wide.tid new file mode 100644 index 0000000..a68ddd4 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_cover-right_wide.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/cover-right/wide + +-42px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_icon-size.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_icon-size.tid new file mode 100644 index 0000000..a6fac65 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_icon-size.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/icon-size + +65px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_top-offset_narrow.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_top-offset_narrow.tid new file mode 100644 index 0000000..04a65c9 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_top-offset_narrow.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/narrow + +-14px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_top-offset_wide.tid b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_top-offset_wide.tid new file mode 100644 index 0000000..c487b65 --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/$__plugins_Gk0Wk_notionpage-covericon_style_top-offset_wide.tid @@ -0,0 +1,3 @@ +title: $:/plugins/Gk0Wk/notionpage-covericon/style/top-offset/wide + +-28px \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/notionpage-covericon/plugin.info b/Wiki-OcttKB/plugins/notionpage-covericon/plugin.info new file mode 100644 index 0000000..51723fe --- /dev/null +++ b/Wiki-OcttKB/plugins/notionpage-covericon/plugin.info @@ -0,0 +1,12 @@ +{ + "version": "0.0.11", + "title": "$:/plugins/Gk0Wk/notionpage-covericon", + "plugin-type": "plugin", + "name": "Notion Page(Cover + Icon)", + "list": "readme LICENSE", + "description": "Add notion-like page cover and icon display and control panel", + "author": "Gk0Wk", + "source": "https://github.com/Gk0Wk/TiddlySeq/tree/master/plugins/Gk0Wk/notionpage-covericon", + "dependents": "", + "Modern.TiddlyDev#SHA256-Hashed": "b2752d1e2507ac0e8bd49fa41b339e5e3f75cd7285e67305a97925c486009cc9" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_history.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_history.tid new file mode 100644 index 0000000..42c9565 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_history.tid @@ -0,0 +1,12 @@ +tags: +title: $:/plugins/kookma/refnotes/history +type: text/vnd.tiddlywiki + +Full change log https://kookma.github.io/TW-Refnotes/#ChangeLog + +* ''1.8.1'' -- 2022.06.03 -- many improvements to APA7 and BibTeX support in Refnotes +* ''1.8.0'' -- 2022.05.27 -- many improvements, refrence manager has APA7 as default style +* ''1.7.4'' -- 2022.05.18 -- stable release based on TW 5.2.2, minor bugs fixed +* ''1.7.2'' -- 2021.09.19 -- stable release based on TW 5.2.0 +* ''1.6.0'' -- 2021.04.02 -- development (beta) of new release +* ''1.0.3'' -- 2019.03.20 -- first stable release diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_license.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_license.tid new file mode 100644 index 0000000..0e4aaa8 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_license.tid @@ -0,0 +1,15 @@ +tags: +title: $:/plugins/kookma/refnotes/license +type: text/vnd.tiddlywiki + +Distributed under an MIT license. + +Copyright (c) 2019-2021 [[Mohammad Rahmani|https://github.com/kookma]] + +<<< +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +<<< \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_abbr.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_abbr.tid new file mode 100644 index 0000000..5884b4c --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_abbr.tid @@ -0,0 +1,12 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/abbr +type: text/vnd.tiddlywiki + +\define abbr(term:"", dict:"Glossary") +<$set name="abbreviation" + tiddler=<<__dict__>> + index=<<__term__>> + emptyValue="Term not found"> + > ><$text text=<<__term__>> /> + +\end diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_authors.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_authors.tid new file mode 100644 index 0000000..26f0c2e --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_authors.tid @@ -0,0 +1,100 @@ +code-body: yes +tags: +title: $:/plugins/kookma/refnotes/macros/apa/authors +type: text/vnd.tiddlywiki + +\define show-authors-in-citation(conjunction:"&") + +<$let authorlist= {{{ [<__tid__>get[bibtex-author]] }}} + number-authors= {{{ [split[ and ]!is[blank]count[]] }}} +> + +<$list filter="[compare:number:eq[1]]" variable=null> +<$list filter="[split[ and ]first[]]" variable=author> +<> + + + + +<$list filter="[compare:number:eq[2]]" variable=null> +<$list filter="[split[ and ]first[]]" variable=author><> $conjunction$ +<$list filter="[split[ and ]last[]]" variable=author><> + + + +<$list filter="[compare:number:gt[2]]" variable=null> +<$list filter="[split[ and ]first[]]" variable=author> +<> et al. + + + + +<$list filter="[compare:number:eq[0]]" variable=null> +<$text text={{{ [<__tid__>get[bibtex-title]split[ ]!is[blank]first[3]join[ ]] :else[<__tid__>]}}}/> + + +\end + + +\define parse-fullname() + + +<$list filter="[!search[,]]" emptyMessage=<> variable=null> +<$let + pattern1="\s+([a-z][a-zA-Z]*?)\s+" + pname={{{ + [search-replace:g:regexp,[ $1°]] + +[splitregexp[\s]trim[]] + +[search-replace:g:regexp[°],[ ]] + +[join[°_°]] + }}} +><$text text={{{ [split[°_°]!is[blank]last[]addsuffix[,]] [split[°_°]!is[blank]butlast[]] +[join[ ]] }}}/> + + +\end + + + +\define authorName(format:"") + +\whitespace trim +<$wikify name=pname text=<> > +<$let last= {{{ [split[,]!is[blank]trim[]first[]]}}} + initials={{{ [split[,]!is[blank]trim[]butfirst[]split[ ]!is[blank]] :map[split[]!is[blank]first[]addsuffix[.]] +[join[ ]]}}} + dispname={{{ [addsuffix[, ]addsuffix] }}} +> +<$list filter="[<__format__>!match[LastName]]" variable=null emptyMessage=<>><> + + +\end + +\define show-authors-in-references() + +<$let authorslist= {{!!bibtex-author}} + number-authors= {{{ [split[ and ]!is[blank]count[]] }}} + > +<$set name=authors filter="[split[ and ]trim[]]" > + +<$list filter="[compare:integer:eq[1]]" variable=null> +<$vars author={{{ [enlistlast[]] }}}><> + + +<$list filter="[compare:integer:gt[1]]" variable=null> +<$list filter="[enlistbutlast[]]" variable=author> +<>, + +<$vars author={{{ [enlistlast[]] }}}>& <> + + +<$list filter="[compare:number:eq[0]]" variable=null> +<$text text={{{ [{!!bibtex-title}split[ ]!is[blank]first[3]join[ ]] :else[[Unknown author]]}}}/> + + + +\end + + diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_bibliography-helper.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_bibliography-helper.tid new file mode 100644 index 0000000..ed16955 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_bibliography-helper.tid @@ -0,0 +1,23 @@ +code-body: yes +tags: +title: $:/plugins/kookma/refnotes/macros/apa/bibliography-helper +type: text/vnd.tiddlywiki + +\define find-cited-works() +\import $:/plugins/kookma/refnotes/macros/bibtex/find-refs +<$list filter=<<__citedfilter__>> > +<$macrocall $name="find-refs" thisTiddler=<> /> + +\end + +\define display-single-reference() +\import $:/plugins/kookma/refnotes/macros/apa/authors +<$let currentType={{{[get[bibtex-entry-type]lowercase[]] ~[[miscellaneous]]}}} > +<$set name="bodyLookup" + filter="[all[tiddlers+shadows]tag[$:/tags/Refnotes/ReflistTemplate]contains:list] +[limit[1]get[title]]" + value=<> + emptyValue="$:/plugins/kookma/refnotes/templates/reflist/apa/default"> +<$transclude tiddler=<> field="text" mode="inline"/> + + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_bibliography.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_bibliography.tid new file mode 100644 index 0000000..06be775 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_bibliography.tid @@ -0,0 +1,18 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/apa/bibliography +type: text/vnd.tiddlywiki + +\define bibliography(citedfilter:"[]", furtherfilter:"", class:"ref-list") +\import $:/plugins/kookma/refnotes/macros/apa/bibliography-helper + +<$wikify name="works-cited" text=<> > + +
    +<$list filter="[enlist][subfilter<__furtherfilter__>]:and[sort[]]" variable="reference"> +<> + +
+ +\end + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_ref-helper.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_ref-helper.tid new file mode 100644 index 0000000..741ed84 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_ref-helper.tid @@ -0,0 +1,27 @@ +code-body: yes +tags: +title: $:/plugins/kookma/refnotes/macros/apa/ref-helper +type: text/vnd.tiddlywiki + + + + +\define parenthetical() +<$wikify name=authors text=<> > +(<$text text={{{ [trim[]addsuffix[, ]] }}}/><$text text={{{ [<__tid__>get[bibtex-year]] :else[[n.d.]] }}}/><$text text={{{[<__pages__>!is[blank]then<__pages__>addprefix[, ]]}}}/>) + +\end + + +\define narrative() +<$wikify name=authors text=<> > +<$text text={{{ [trim[]addsuffix[ ]] }}}/>(<$text text={{{ [<__tid__>get[bibtex-year]] :else[[n.d.]] }}}/><$text text={{{[<__pages__>!is[blank]then<__pages__>addprefix[, ]]}}}/>) + +\end + + +\define multiwork-parenthetical() +<$wikify name=authors text=<> > +<$text text={{{ [trim[]addsuffix[, ]] }}}/><$text text={{{ [<__tid__>get[bibtex-year]] :else[[n.d.]] }}}/><$text text={{{[<__pages__>!is[blank]then<__pages__>addprefix[, ]]}}}/> + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_ref.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_ref.tid new file mode 100644 index 0000000..ec094ce --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_ref.tid @@ -0,0 +1,30 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/apa/ref +type: text/vnd.tiddlywiki + +\define ref(tid, type:"p", pages:"") +\import $:/plugins/kookma/refnotes/macros/apa/authors +\import $:/plugins/kookma/refnotes/macros/apa/ref-helper +\whitespace trim +<$set name="ref-tid" tiddler=<<__tid__>> field="title" emptyValue="RefNotFound"> +
+<$reveal type="match" default=<> text="RefNotFound"> +<$link overrideClass="link-refcls">[<$view tiddler=<<__tid__>> field="title"/>] +
Warning: Reference Not Found.
Click to create it:<>
+ +<$reveal type="nomatch" default=<> text="RefNotFound"> +<$list filter="[[$type$]lowercase[]match[p]]" variable=null><> +<$list filter="[[$type$]lowercase[]match[n]]" variable=null><> +<$list filter="[[$type$]lowercase[]match[m]]" variable=null><> +
+<$macrocall $name="displayref-onhover" refTid=<> /> +
+ +
+ +\end + + +\define cite(tid, type:"p", pages:"") <$macrocall $name=ref tid=<<__tid__>> type=<<__type__>> pages=<<__pages__>> /> + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_showrefs.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_showrefs.tid new file mode 100644 index 0000000..db57841 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_apa_showrefs.tid @@ -0,0 +1,34 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/apa/showrefs +type: text/vnd.tiddlywiki + +\define showrefs(filter:[] title:Empty class:ref-list emptyMessage) +\import $:/plugins/kookma/refnotes/macros/apa/authors +\import $:/plugins/kookma/refnotes/macros/bibtex/find-refs +<$let leftDelimiter1="< +<$list filter="[subfilter<__filter__>search:text:literal][subfilter<__filter__>search:text:literal]:and[limit[1]]" emptyMessage=<<__emptyMessage__>>variable=null> +<$reveal tag=div type=nomatch text=<<__title__>>default=Empty> +

$title$

+ + +<$wikify text=" +<$list filter=<<__filter__>>> +<$macrocall thisTiddler={{!!title}}$name=find-refs/> + +"name=mylist> + +
    +<$list filter="[enlisttrim[]sort[]]"variable=reference> + +<$let currentType={{{[get[bibtex-entry-type]lowercase[]]~miscellaneous}}}> +<$set filter="[[$:/tags/Refnotes/ReflistTemplate]tagging[]contains:listnth[]get[title]]"value=<>emptyValue="$:/plugins/kookma/refnotes/templates/reflist/apa/default"name=bodyLookup> +<$transclude tiddler=<>field=text mode=inline/> + + + + +
+ + + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_find-refs.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_find-refs.tid new file mode 100644 index 0000000..0c365e7 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_find-refs.tid @@ -0,0 +1,31 @@ +code-body: yes +tags: +title: $:/plugins/kookma/refnotes/macros/bibtex/find-refs +type: text/vnd.tiddlywiki + + +\define find-refs(thisTiddler) +<$vars +regexp="(?g)<>" regexpc ="(?g)<>" +regexp2='<>' regexp2c='<>' +regexp3='^"(.*?)"' +regexp4="^'(.*?)'" +regexp5="\[\[(.*?)\]\]" +regexp6="^(.*?)\s" +> +<$list filter="[<__thisTiddler__>regexprefs:text][<__thisTiddler__>regexprefs:text]"> +<$list filter="[all[current]regexprefs][all[current]regexprefs]"> +<$list filter=""" + [all[current]regexprefs] +:else[all[current]regexprefs] +:else[all[current]regexprefs] +:else[all[current]regexprefs] +:else[all[current]] +:and[format:titlelist[]] +""" variable=p > +<$text text=<

> /> + + + + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_process-entries.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_process-entries.tid new file mode 100644 index 0000000..317bb8c --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_process-entries.tid @@ -0,0 +1,49 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/bibtex/process-entries +type: text/vnd.tiddlywiki + +\define title-slugify() +<$vars curTitle=<> newTitle={{{[slugify[]]}}}> +<$list filter="[!match]" variable=null> +<$action-sendmessage $message="tm-rename-tiddler" from=<> to=<> /> + + +\end + +\define correct-doi() +<$list filter="[has[bibtex-doi]get[bibtex-doi]!prefix[https://doi.org]]" variable=null> +<$action-setfield $field="bibtex-doi" $value={{{ [{!!bibtex-doi}addprefix[https://doi.org/]] }}}/> + +\end + +\define tag-entries() + +<$action-setfield $tiddler=<> bibtex-entry-type={{{[get[bibtex-entry-type]lowercase[]]}}} /> + +<$fieldmangler> +<$action-sendmessage $message="tm-add-tag" $param="bibtex-entry" /> + +\end + +\define process-entries(title:"Process New Bibtex Entries") +<$button> $title$ +<$wikify name=chkDuplicates text=<> > +<$action-confirm $message=<> > +<$list filter="[has[bibtex-title]!tag[bibtex-entry]]"> +<> +<> +<> + + + + +\end + + +\define check-duplicates() +<$list filter="[has[bibtex-title]duplicateslugs[]limit[1]]" emptyMessage="There are no duplicate entries, do you want to process new entries?"> +The following tiddlers have duplicate slugs, so they will overwrite eachother, do you want to continue? + +<$list filter="[has[bibtex-title]duplicateslugs[]] +[join[, ]]" template="$:/core/ui/ListItemTemplate"/> + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_regexprefs.js b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_regexprefs.js new file mode 100644 index 0000000..f8c66ff --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_regexprefs.js @@ -0,0 +1,87 @@ +/*\ +title: $:/plugins/kookma/macro/bibtex/regexprefs.js +type: application/javascript +module-type: filteroperator + +Filter operator for regexp matching and returning result. All results are returned if global flag used. All sub-groups are returned if not global and sub-group hits are found. + +This is a hacked version of core macro: $:/core/modules/filters/regexp.js + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +/* +Export our filter function +*/ +exports.regexprefs = function(source,operator,options) { + var results = [], + fieldname = (operator.suffix || "title").toLowerCase(), + regexpString, regexp, flags = "", match, global, + getFieldString = function(tiddler,title) { + if(tiddler) { + return tiddler.getFieldString(fieldname); + } else if(fieldname === "title") { + return title; + } else { + return null; + } + }; + // Process flags and construct regexp + regexpString = operator.operand; + match = /^\(\?([gim]+)\)/.exec(regexpString); + if(match) { + flags = match[1]; + regexpString = regexpString.substr(match[0].length); + } else { + match = /\(\?([gim]+)\)$/.exec(regexpString); + if(match) { + flags = match[1]; + regexpString = regexpString.substr(0,regexpString.length - match[0].length); + } + } + try { + regexp = new RegExp(regexpString,flags); + } catch(e) { + return ["" + e]; + } + + global = /g/.test(flags) ; + + // Process the incoming tiddlers + if(operator.prefix === "!") { + source(function(tiddler,title) { + var text = getFieldString(tiddler,title); + if(text !== null) { + if(!regexp.exec(text)) { + results.push(title); + } + } + }); + } else { + source(function(tiddler,title) { + var text = getFieldString(tiddler,title), ret=""; + if(text !== null) { + ret = text.match(regexp) ; + if(ret !==null) { + if(global) { + results.push.apply(results,ret) ; //DEBUG + } else { + // if there are sub groups return sub groups START + if(ret.length > 1) { // return sub groups + results = results.concat(ret.slice(1)) ; + } else { // if no sub-groups + results.push(ret[0]); + } + } + } + } + }); + } + return results; +}; + +})(); \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_regexprefs.js.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_regexprefs.js.meta new file mode 100644 index 0000000..4710c80 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_regexprefs.js.meta @@ -0,0 +1,3 @@ +module-type: filteroperator +title: $:/plugins/kookma/refnotes/macros/bibtex/regexprefs.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_utility.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_utility.tid new file mode 100644 index 0000000..d8f4d53 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_bibtex_utility.tid @@ -0,0 +1,30 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/bibtex/utility +type: text/vnd.tiddlywiki + +\define displayref-onhover(refTid) +<$set name="ref-tid" value=<<__refTid__>> > +<$link overrideClass="link-refcls" to=<> > +<$list filter="[get[bibtex-entry-type]lowercase[]!match[website]]" variable=null +emptyMessage="""<$view tiddler=<> field="bibtex-url"/>."""> +<$view tiddler=<> field="bibtex-author"/>. + + +<$view tiddler=<> field="bibtex-title"/>. (<$view tiddler=<> field="bibtex-year"/>) + +\end + +\define create-notexisted-ref(refTid) +<$set name="myTid" value=<<__refTid__>> > +<$button class="tc-btn-invisible tc-tiddlylink"> +<$action-sendmessage $message="tm-new-tiddler" + title=<> + bibtex-author="" bibtex-year="" + bibtex-title="" bibtex-abstract="" + bibtex-entry-type="" bibtex-keywords="" + bibtex-doi="" bibtex-url="" + tags="bibtex-entry" + /><> + + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_find.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_find.tid new file mode 100644 index 0000000..998e35c --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_find.tid @@ -0,0 +1,36 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/find +type: text/vnd.tiddlywiki + +\define find(text, begin, end, output:"simple", mode:"all") +<$vars + fulltext=<<__text__>> + start=<<__begin__>> + stop=<<__end__>> + output-macro=<<__output__>> +> +<$list variable=p1 filter="[splitbefore]"> +<$list variable=p2 filter="[removeprefix]"> +<$list variable=p3 filter="[splitbeforeremovesuffix]"> +<$macrocall $name=<> p=<> /> +<$reveal type="match" text="all" default=<<__mode__>> > +<$macrocall $name="find" + text={{{[removeprefixremoveprefix]}}} + begin=<> + end=<> + output=<> +/> + + + + + +\end + +\define simple(p) +<$text text=<<__p__>> /> +\end + +\define simple-list(p) +

  • <$text text=<<__p__>>/>
  • +\end diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_footnote.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_footnote.tid new file mode 100644 index 0000000..1f40352 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_footnote.tid @@ -0,0 +1,7 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/footnote +type: text/vnd.tiddlywiki + +\define fnote(note) +
    $note$
    +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_numbered_refnum.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_numbered_refnum.tid new file mode 100644 index 0000000..9e33b83 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_numbered_refnum.tid @@ -0,0 +1,22 @@ +tags: +title: $:/plugins/kookma/refnotes/macros/numbered/refnum +type: text/vnd.tiddlywiki + +\define refnum(tid) +<$set name="ref-tid" tiddler=<<__tid__>> field="title" emptyValue="RefNotFound"> +
    +<$reveal type="match" default=<> text="RefNotFound"> +<$link overrideClass="link-refcls"> +[<$view tiddler=<<__tid__>> field="title"/>] + +
    Warning: Reference Not Found.
    Click to create it:<>
    + +<$reveal type="nomatch" default=<> text="RefNotFound"> +[<$view tiddler=<<__tid__>> field="caption"><$view tiddler=<<__tid__>> field="title"/>] +
    +<$macrocall $name="displayref-onhover" refTid=<> /> +
    + +
    + +\end diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_search-ui.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_search-ui.tid new file mode 100644 index 0000000..fb3b7a6 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_search-ui.tid @@ -0,0 +1,33 @@ +tags: +title: $:/plugins/kookma/refnotes/macros/search-ui +type: text/vnd.tiddlywiki + +\define searchTid() $:/temp/refnotes/search +\define bibtexFields() [!is[shadow]!is[system]has[bibtex-title]fields[]prefix[bibtex-]sort[]] +\define mainFields() bibtex-title bibtex-author bibtex-year +\define searchUi() + +\end \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_showabbrs.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_showabbrs.tid new file mode 100644 index 0000000..749c49d --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_showabbrs.tid @@ -0,0 +1,56 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/showabbrs +type: text/vnd.tiddlywiki + +\define showabbrs(filter:"[]", dtiddler:"Glossary", title:"Empty", emptyMessage:"") +<$wikify name="indexes" text=<> > +<$macrocall $name="abbr-list" indexes=<> dtiddler=<<__dtiddler__>> title=<<__title__>> emptyMessage=<<__emptyMessage__>> /> + +\end + +\define patterndb() \[\[|\]\] +\define pattern() ('.*?'|".*?"|\S+) +\define output-item(p) +<$list filter="""[<__p__>search-replace:g:regexp,["]]""" variable=pars> +<$list filter="""[trim[]!prefix[dict:]search-replace[term:],[]splitregexptrim[]!is[blank]!prefix[dict:]first[]]"""> +<$text text=<>/> + +<$list filter="""[trim[]prefix[dict:]search-replace[term:],[]splitregexptrim[]!is[blank]!prefix[dict:]last[]]"""> +<$text text=<>/> + + +\end + +\define find-all-items() +<$list filter=<<__filter__>> > +<$macrocall $name="find" text={{!!text}} begin="< + +\end + + +\define abbr-list(dtiddler, indexes, title:"Empty", emptyMessage:"") +<$list filter="[limit[1]]" variable=null emptyMessage=<<__emptyMessage__>> > +<$reveal tag="div" type="nomatch" default="Empty" text=<<__title__>> > +

    <$text text=<<__title__>> />

    + + +<$list filter="""[subfilter<__indexes__>]""" variable="item"> + + + + + +
    <$text text=<> /> + <$set name="term" tiddler=<<__dtiddler__>> index=<> emptyValue=<> > + <> + +
    + +\end + + +\define term-not-found() +Term not found +\end + + diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_showfnotes.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_showfnotes.tid new file mode 100644 index 0000000..a1bbe1d --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_showfnotes.tid @@ -0,0 +1,30 @@ +tags: $:/tags/Macro +title: $:/plugins/kookma/refnotes/macros/showfnotes +type: text/vnd.tiddlywiki + +\define showfnotes(filter:"[]", title:"Empty" class:"fnote-list", emptyMessage:"") +<$vars leftDelimiter="< +<$list filter="[subfilter<__filter__>search:text:literallimit[1]]" variable=null emptyMessage=<<__emptyMessage__>> > +<$reveal tag="div" type="nomatch" default="Empty" text=<<__title__>> > +

    $title$

    + +
      +<$list filter=<<__filter__>> > +<$macrocall $name="find" + text={{!!text}} + begin="< + +
    + + +\end + +\define output-fnote(p) +<$vars output=$p$> +
  • <>
  • + +\end + diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_stretch-text.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_stretch-text.tid new file mode 100644 index 0000000..ed0c403 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_macros_stretch-text.tid @@ -0,0 +1,11 @@ +tags: +title: $:/plugins/kookma/refnotes/macros/stretch-text +type: text/vnd.tiddlywiki + +\define tmpTidDetails() $:/temp/refnotes/library/$(currentTiddler)$ + +\define stretchText(text, title:"...") +<$button class="tc-btn-invisible">$title$ +<$action-listops $tiddler=<> $field="text" $subfilter="+[toggle[show]]" /> + <$reveal type="match" stateTitle=<> sateField=text text="show">$text$ +\end diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_readme.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_readme.tid new file mode 100644 index 0000000..3d06237 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_readme.tid @@ -0,0 +1,12 @@ +tags: +title: $:/plugins/kookma/refnotes/readme +type: text/vnd.tiddlywiki + +; Refnotes +Refnotes is a Tiddlywiki plugin to create and manage footnotes, abbreviations, citations, and references. Refnotes can create bibliography, but for the best performance, and to use import bibtex entries, the use of the official ''bibtex importer'' plugin is required. APA7 style is used as default. Refnotes output is very close to APA7 standard. + +;Code and demo +For learning Refnotes features, syntax, tutorial and examples see the plugin demo and code pages + +* Demo: https://kookma.github.io/TW-Refnotes/ +* Code: https://github.com/kookma/TW-Refnotes diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_abbr.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_abbr.css new file mode 100644 index 0000000..57a7863 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_abbr.css @@ -0,0 +1,31 @@ +/* Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS3 */ +.refnotes-abbr abbr[title] { + color: inherit; + font-style: normal; + text-decoration: none; + border-bottom: 1px dotted #aaa; + cursor: help; +} + +.refnotes-abbr-term-not-found{ +/* color:red;*/ + font-style: oblique; +} + +.refnotes-abbr-term{ +/* color:blue;*/ +} + +/* Ref:https://aarontgrogg.com/lab/ +Show the title for small screen +*/ +/* this works based on the max-width*/ +@media only screen and (max-width: 960px) { +.refnotes-abbr abbr:hover:after { content: ' ('attr(title)')'; } +} + +@media (hover: none) { +/* Push the title attribute into generated content after the abbr. */ +.refnotes-abbr abbr[title]::after { + content: ' ('attr(title)')'; } +} diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_abbr.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_abbr.css.meta new file mode 100644 index 0000000..bdca22e --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_abbr.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/abbr +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-details.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-details.css new file mode 100644 index 0000000..1d25612 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-details.css @@ -0,0 +1,9 @@ +.refnotes-details > summary{ + padding-left:0; + padding-top:15px; + padding-bottom:15px; + width: 160px; + cursor: pointer; + font-weight:bold; +} + diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-details.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-details.css.meta new file mode 100644 index 0000000..b19ddb6 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-details.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/bibtex-details +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-entryview.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-entryview.css new file mode 100644 index 0000000..6ca61f6 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-entryview.css @@ -0,0 +1,12 @@ +/* used for viewtemplate displaying the bibtex entry */ +.refnotes-bibtex-field{ + display:table-row +} +.refnotes-bibtex-field > span{ + display:table-cell +} +.refnotes-bibtex-field > span:first-of-type{ + font-weight:bold; + padding-right:10px; + white-space: nowrap; +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-entryview.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-entryview.css.meta new file mode 100644 index 0000000..57c65af --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex-entryview.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/bibtex-entryview +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex.tid new file mode 100644 index 0000000..9cac4cc --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_bibtex.tid @@ -0,0 +1,40 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/bibtex +type: text/vnd.tiddlywiki + +.ref-nonumber{ +/* color:blue;*/ + font-size:90%; + list-style-type:none; +} + +.ref-nonumber li{ + padding-bottom:8px; +} + +.ref-list{ +/* color:blue;*/ + font-size:90%; +} + +.link-refcls{ + font-weight:400; +/* color:#00008B;*/ /*darkblue*/ + text-decoration:none; + color: <>; +} + +.refcls{ +/* color:#00008B;*/ + color: <>; +/* text-transform: capitalize;*/ +} + +.ref-notfound{ +/* color: #856404 !important;*/ +/* background-color: #fff3cd !important;*/ +} + +.ref-author{ +/* color:#00008B;*/ /*color for author in tooltip*/ +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_dropzone.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_dropzone.css new file mode 100644 index 0000000..bee0fb9 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_dropzone.css @@ -0,0 +1,11 @@ +.bibtex-dropzone{ + min-height:30px; + max-width:100%; + margin:4px auto; + border:2px dotted green; + text-align:center; +} + +.bibtex-dropzone:focus { + background: #fffedd; +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_dropzone.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_dropzone.css.meta new file mode 100644 index 0000000..56fc88f --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_dropzone.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/dropzone +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_footnote-counter.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_footnote-counter.css new file mode 100644 index 0000000..44ceb48 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_footnote-counter.css @@ -0,0 +1,15 @@ +/*automatic counter for fnote macro. The counter resets at the begining of each tiddler*/ +.tc-tiddler-frame { + counter-reset: fnote-count; +} +.refnotes-footnote { + counter-increment: fnote-count; +} +.refnotes-footnote:after { + content: counter(fnote-count); + font-size:small; + /* color:#0000ee;*/ + vertical-align: super; + line-height: 1.5; + margin-left: -0.1em; +} diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_footnote-counter.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_footnote-counter.css.meta new file mode 100644 index 0000000..babb224 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_footnote-counter.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/footnote-counter +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_library.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_library.css new file mode 100644 index 0000000..cb64aec --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_library.css @@ -0,0 +1,9 @@ +/* in folding-editor*/ +.refnotes-library button svg{ + font-size:0.8em; + vertical-align: middle; + margin-right:0; + margin-left:0; + +} + diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_library.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_library.css.meta new file mode 100644 index 0000000..8d7820e --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_library.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/library +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_showfnotes.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_showfnotes.css new file mode 100644 index 0000000..a5cd12f --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_showfnotes.css @@ -0,0 +1,22 @@ +/* Footnote class*/ + +.fnote-list{ +/* color:blue;*/ + font-size:90%; +} + +.fnote-pretty{ + display: block; + margin: 0.5em; + margin-right: auto; + width: 100% !important; + border-collapse: collapse; + padding: 15px 15px 15px 25px; /*left padding=25px*/ + border-width: 0px; + border-style: solid; + border-left-width: 1px; + background-color: rgb(255,248,220); + color: rgb(91,49,7); + line-height: 1.2em; + font-size:0.9em; +} diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_showfnotes.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_showfnotes.css.meta new file mode 100644 index 0000000..3298053 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_showfnotes.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/showfnotes +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_table-borderless.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_table-borderless.css new file mode 100644 index 0000000..316c652 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_table-borderless.css @@ -0,0 +1,7 @@ +/*Borderless table*/ +.refnotes-table-borderless, +.refnotes-table-borderless th, +.refnotes-table-borderless tr, +.refnotes-table-borderless td{ + border:0; +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_table-borderless.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_table-borderless.css.meta new file mode 100644 index 0000000..9dc7e5e --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_table-borderless.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/table-borderless +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_tooltip.css b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_tooltip.css new file mode 100644 index 0000000..689990a --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_tooltip.css @@ -0,0 +1,61 @@ +/* tooltip class used for ref, fnote and other macros */ +.refnotes-tooltip { + position: relative; + display: inline-block; + cursor: pointer; +} + +.refnotes-tooltip .refnotes-tooltiptext{ + font-size: 0.90em; /* change if it is too small */ +} + +.refnotes-tooltip .refnotes-tooltiptext { + visibility: hidden; + background-color: #fff; + color: #222222; + text-align: left; + border-radius: 2px; + padding: 5px 10px; + max-width: 30vw; + max-height:20em; + overflow-y: auto; + cursor: auto; + width: max-content; + width: -moz-max-content; + width: -webkit-max-content; + width: -o-max-content; + + /* Position the tooltip */ + position: absolute; + z-index: 1; + bottom: 100%; + left: 50%; + margin-left: -40px; + box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19); +} + +.refnotes-tooltip:hover .refnotes-tooltiptext { + visibility: visible; + /*opacity: 0.9;*/ +} + +/* for small screens */ + +@media screen and (max-width: 960px) { +.refnotes-tooltip .refnotes-tooltiptext { + /* Position the tooltip */ + position:fixed; + top:0; + left: 0; + margin-left: 0px; + bottom: unset; + width:100%; + max-width: 100vw; + z-index: 9999; +} + +.refnotes-tooltip:hover .refnotes-tooltiptext { + opacity: 1; +} + +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_tooltip.css.meta b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_tooltip.css.meta new file mode 100644 index 0000000..fa5a86d --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_styles_tooltip.css.meta @@ -0,0 +1,3 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/kookma/refnotes/styles/tooltip +type: text/css \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_article.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_article.tid new file mode 100644 index 0000000..734ccb2 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_article.tid @@ -0,0 +1,19 @@ +code-body: yes +list: article +tags: $:/tags/Refnotes/ReflistTemplate +title: $:/plugins/kookma/refnotes/templates/reflist/apa/article +type: text/vnd.tiddlywiki + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field=title emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$link to=<>><> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />. <$view field="bibtex-journal"/>. <$view field="bibtex-volume"/>. <$view field="bibtex-pages"/>. get[bibtex-doi]!prefix[https://doi.org/]addprefix[https://doi.org/]else{!!bibtex-doi}]}}} target=_blank><$view field="bibtex-doi"/>
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference <$text text=<>/> NOT FOUND. Check your input.
  • + + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_book.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_book.tid new file mode 100644 index 0000000..5614189 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_book.tid @@ -0,0 +1,24 @@ +code-body: yes +list: book incollection +tags: $:/tags/Refnotes/ReflistTemplate +title: $:/plugins/kookma/refnotes/templates/reflist/apa/book +type: text/vnd.tiddlywiki + +\define disp-bibtex-edition() +<$list filter="[has[bibtex-edition]]" variable=null>(<$view field="bibtex-edition"/>). +\end + + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field=title emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$link to=<>><> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />. <> <$view field="bibtex-publisher"/>.
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference <$text text=<>/> NOT FOUND. Check your input.
  • + + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_default.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_default.tid new file mode 100644 index 0000000..9a0cc0b --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_default.tid @@ -0,0 +1,14 @@ +code-body: yes +tags: $:/tags/Refnotes/ReflistTemplate +title: $:/plugins/kookma/refnotes/templates/reflist/apa/default +type: text/vnd.tiddlywiki + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field="title" emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$link to=<>><> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />.
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference <$text text=<>/> NOT FOUND. Check your input.
  • + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_inproceedings.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_inproceedings.tid new file mode 100644 index 0000000..9431cb2 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_inproceedings.tid @@ -0,0 +1,19 @@ +code-body: yes +list: inproceedings +tags: $:/tags/Refnotes/ReflistTemplate +title: $:/plugins/kookma/refnotes/templates/reflist/apa/inproceedings +type: text/vnd.tiddlywiki + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field=title emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$link to=<>><> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />. In <$view field="bibtex-booktitle"/>. pp. <$view field="bibtex-pages"/>. get[bibtex-doi]]}}}><$view field="bibtex-doi"/>
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference <$text text=<>/> NOT FOUND. Check your input.
  • + + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_patent.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_patent.tid new file mode 100644 index 0000000..c93966b --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_patent.tid @@ -0,0 +1,20 @@ +code-body: yes +list: patent +tags: $:/tags/Refnotes/ReflistTemplate +title: $:/plugins/kookma/refnotes/templates/reflist/apa/patent +type: text/vnd.tiddlywiki + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field=title emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$link to=<>><> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />. (<$view field="bibtex-nationality"/> Patent No. <$view field="bibtex-number"/>). <$view field="bibtex-url"/>
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference <$text text=<>/> NOT FOUND. Check your input.
  • + + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_thesis.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_thesis.tid new file mode 100644 index 0000000..f1df943 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_thesis.tid @@ -0,0 +1,31 @@ +code-body: yes +list: thesis mastersthesis phdthesis +tags: $:/tags/Refnotes/ReflistTemplate +title: $:/plugins/kookma/refnotes/templates/reflist/apa/thesis +type: text/vnd.tiddlywiki + +\define disp-thesis-type() +\whitespace trim +<$list filter="[get[bibtex-entry-type]]" variable=thesisType> +<$text text={{{ + [match[mastersthesis]then[Master's thesis]] + [match[phdthesis]then[PhD thesis]] + :else[[Thesis]] }}} /> + +\end + + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field=title emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$link to=<>><> (<$text text={{{ [{!!bibtex-year}!is[blank]] :else[[n.d.]] }}}/>). <$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />. <>, <$view field="bibtex-school"/>.
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference <$text text=<>/> NOT FOUND. Check your input.
  • + + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_website.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_website.tid new file mode 100644 index 0000000..e5cb8eb --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_apa_website.tid @@ -0,0 +1,19 @@ +code-body: yes +list: website +tags: $:/tags/Refnotes/ReflistTemplate +title: $:/plugins/kookma/refnotes/templates/reflist/apa/website +type: text/vnd.tiddlywiki + +\define retrieved-date() +<$list filter="[has[bibtex-urldate]]" variable=null>Retrieved <$text text={{{ [{!!bibtex-urldate}search-replace:g[.],[]search-replace:g[-],[]] :map[format:date[MMM 0DD, YYYY]] }}}/><$list filter="[!has[bibtex-urldate]has[bibtex-note]]" variable=null><$view field="bibtex-note"/><$list filter="[!has[bibtex-urldate]!has[bibtex-note]]" variable=null>Retrieved n.d. +\end + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field="title" emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$link to=<>><$text text={{{ [{!!bibtex-title}lowercase[]sentencecase[]] }}} />. <>, <$text text={{!!bibtex-url}} />.
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference <$text text=<>/> NOT FOUND. Check your input.
  • + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_article.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_article.tid new file mode 100644 index 0000000..42512d6 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_article.tid @@ -0,0 +1,15 @@ +code-body: yes +list: article +tags: +title: $:/plugins/kookma/refnotes/templates/reflist/numbered/article +type: text/vnd.tiddlywiki + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field=title emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$view field="bibtex-author"/>, <$view field="bibtex-title"/>, <$view field="bibtex-journal"/>, <$view field="bibtex-year"/>.
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference $p$ NOT FOUND. Check your input.
  • + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_book.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_book.tid new file mode 100644 index 0000000..125aa10 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_book.tid @@ -0,0 +1,15 @@ +code-body: yes +list: book +tags: +title: $:/plugins/kookma/refnotes/templates/reflist/numbered/book +type: text/vnd.tiddlywiki + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field=title emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <>, <$view field="bibtex-title"/>, <$view field="bibtex-edition"/>, <$view field="bibtex-year"/>, <$view field="bibtex-address"/>, <$view field="bibtex-publisher"/>.
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference $p$ NOT FOUND. Check your input.
  • + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_default.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_default.tid new file mode 100644 index 0000000..0398473 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_default.tid @@ -0,0 +1,14 @@ +code-body: yes +tags: +title: $:/plugins/kookma/refnotes/templates/reflist/numbered/default +type: text/vnd.tiddlywiki + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name=currentTiddler tiddler=<> field="title" emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$view field="bibtex-author"/>, <$view field="bibtex-title"/>,<$view field="bibtex-journal"/>, <$view field="bibtex-year"/>.
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference $p$ NOT FOUND. Check your input.
  • + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_website.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_website.tid new file mode 100644 index 0000000..782ef45 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_templates_reflist_numbered_website.tid @@ -0,0 +1,15 @@ +code-body: yes +list: website +tags: +title: $:/plugins/kookma/refnotes/templates/reflist/numbered/website +type: text/vnd.tiddlywiki + +<$wikify name=bibtexEntryTiddler text=<> > +<$set name="curtid" tiddler=<> field="title" emptyValue="RefNotFound"> +<$reveal type="nomatch" default="RefNotFound" text=<> > +
  • <$view field="bibtex-title" tiddler=<>/>, get[bibtex-url]]}}} target="_blank"><$text text={{{ [get[bibtex-url]] }}}/>, <$view field="bibtex-year" tiddler=<>/>.
  • + +<$reveal type="match" default="RefNotFound" text=<> > +
  • Reference $p$ NOT FOUND. Check your input.
  • + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_ui_bibtexlibrary.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_ui_bibtexlibrary.tid new file mode 100644 index 0000000..86c9896 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_ui_bibtexlibrary.tid @@ -0,0 +1,60 @@ +caption: Bibliography +tags: $:/tags/SideBar +title: $:/plugins/kookma/refnotes/ui/bibtexlibrary +type: text/vnd.tiddlywiki + +\import [[$:/plugins/kookma/refnotes/macros/search-ui]] + +\define dispEntry() +<$link/> +<$macrocall $name=stretchText text=""" +<$view field="bibtex-author"/>. (<$view field="bibtex-year"/>). <$view field="bibtex-title"/>.""" /> +\end + + +\define searchFilter() [has[bibtex-title]search:$(sField)$[$(sTerm)$]] + +\define bibLibrary() +\import [[$:/plugins/kookma/refnotes/macros/stretch-text]] +<$vars sField={{{[get[field]] ~[[bibtex-author]]}}} sTerm={{{[get[text]]}}}> + + + + + +
      +<$list filter="[subfilter]"> +
    1. <>
    2. + +
    + +\end + + +
    +<> +{{$:/plugins/kookma/refnotes/ui/dropzone}} +
    + + + +<> + +<> + + + diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_ui_dropzone.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_ui_dropzone.tid new file mode 100644 index 0000000..a89b5c0 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_ui_dropzone.tid @@ -0,0 +1,13 @@ +caption: Dropzone +tags: +title: $:/plugins/kookma/refnotes/ui/dropzone +type: text/vnd.tiddlywiki + +<$dropzone + deserializer="application/x-bibtex" + filesOnly=no + importTitle="Import Bibtex"> +
    +Paste your Bibtex Entry here +
    + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_article.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_article.tid new file mode 100644 index 0000000..c2c9bae --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_article.tid @@ -0,0 +1,9 @@ +list: article +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/article +type: text/vnd.tiddlywiki + +\define mainFields() bibtex-title bibtex-author bibtex-journal bibtex-year bibtex-pages bibtex-number bibtex-volume bibtex-doi bibtex-entry-type + + +<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_book.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_book.tid new file mode 100644 index 0000000..5637a7b --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_book.tid @@ -0,0 +1,8 @@ +list: book +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/book +type: text/vnd.tiddlywiki + +\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-publisher bibtex-entry-type + +<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_default.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_default.tid new file mode 100644 index 0000000..f7293bd --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_default.tid @@ -0,0 +1,8 @@ +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/default +type: text/vnd.tiddlywiki + +\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-doi bibtex-entry-type + + +<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_helper.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_helper.tid new file mode 100644 index 0000000..ec5e9c9 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_helper.tid @@ -0,0 +1,37 @@ +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/helper +type: text/vnd.tiddlywiki + +\define citedIn(refname) + <$vars pattern="""<>""" > + <$list filter="[all[tiddlers]search:text:regexpsort[title]]" + template="$:/core/ui/ListItemTemplate" + emptyMessage="""//No tiddler has cited this reference//""" /> + +\end + +\define display-bibtex-field() +
    +<$text text={{{ [removeprefix[bibtex-]titlecase[]] }}} /> +<$transclude tiddler=<> field=<> mode=inline /> +
    +\end + +<$let tv-wikilinks="no"> + +<$list filter="[enlist]" variable=currentField> +<> + + + +
    + More details +<$list filter="[fields[]prefix[bibtex]sort[]] -[enlist]" variable=currentField> +<> + +
    + + + +; Cited in +: <$macrocall $name=citedIn refname=<> /> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_incollection.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_incollection.tid new file mode 100644 index 0000000..a5591ea --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_incollection.tid @@ -0,0 +1,8 @@ +list: incollection +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/incollection +type: text/vnd.tiddlywiki + +\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-booktitle bibtex-editor bibtex-publisher bibtex-doi bibtex-entry-type + +<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_inproceedings.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_inproceedings.tid new file mode 100644 index 0000000..72a5926 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_inproceedings.tid @@ -0,0 +1,8 @@ +list: inproceedings +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/inproceedings +type: text/vnd.tiddlywiki + +\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-booktitle bibtex-editor bibtex-doi bibtex-entry-type + +<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_main.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_main.tid new file mode 100644 index 0000000..7879b99 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_main.tid @@ -0,0 +1,14 @@ +tags: $:/tags/ViewTemplate +title: $:/plugins/kookma/refnotes/viewtemplates/main +type: text/vnd.tiddlywiki + +<$list filter="[all[current]has[bibtex-title]]"> +<$vars currentType={{{[get[bibtex-entry-type]lowercase[]] ~[[miscellaneous]]}}} > +<$set name="bodyLookup" + filter="[all[tiddlers+shadows]tag[$:/tags/Refnotes/Template]contains:list] +[limit[1]get[title]]" + value=<> + emptyValue="$:/plugins/kookma/refnotes/viewtemplates/default"> +<$transclude tiddler=<> field="text" mode="inline"/> + + + \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_thesis.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_thesis.tid new file mode 100644 index 0000000..e069695 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_thesis.tid @@ -0,0 +1,8 @@ +list: phdthesis mastersthesis thesis +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/thesis +type: text/vnd.tiddlywiki + +\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-school bibtex-entry-type + +<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_unpublished.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_unpublished.tid new file mode 100644 index 0000000..39e6ff2 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_unpublished.tid @@ -0,0 +1,8 @@ +list: unpublished +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/unpublished +type: text/vnd.tiddlywiki + +\define mainFields() bibtex-title bibtex-author bibtex-year bibtex-note bibtex-entry-type + +<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_website.tid b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_website.tid new file mode 100644 index 0000000..20f6bd6 --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/$__plugins_kookma_refnotes_viewtemplates_website.tid @@ -0,0 +1,9 @@ +list: website +tags: $:/tags/Refnotes/Template +title: $:/plugins/kookma/refnotes/viewtemplates/website +type: text/vnd.tiddlywiki + +\define mainFields() bibtex-title bibtex-url bibtex-urldate bibtex-note bibtex-entry-type + + +<$transclude tiddler="$:/plugins/kookma/refnotes/viewtemplates/helper" mode=block/> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/refnotes/plugin.info b/Wiki-OcttKB/plugins/refnotes/plugin.info new file mode 100644 index 0000000..41cf57d --- /dev/null +++ b/Wiki-OcttKB/plugins/refnotes/plugin.info @@ -0,0 +1,12 @@ +{ + "title": "$:/plugins/kookma/refnotes", + "name": "Refnotes", + "description": "references, citations, footnotes and abbreviations in Tiddlywiki", + "author": "Mohammad Rahmani", + "version": "1.8.5", + "core-version": ">=5.2.0", + "source": "https://github.com/kookma/TW-Refnotes", + "list": "readme license history", + "dependents": "bibtex", + "plugin-type": "plugin" +} \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_DefaultColourMappings_relink-impossible.tid b/Wiki-OcttKB/plugins/relink/$__config_DefaultColourMappings_relink-impossible.tid new file mode 100644 index 0000000..50a4f5e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_DefaultColourMappings_relink-impossible.tid @@ -0,0 +1,3 @@ +title: $:/config/DefaultColourMappings/relink-impossible + +<> \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_PluginLibrary.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_PluginLibrary.tid new file mode 100644 index 0000000..d3b663f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_PluginLibrary.tid @@ -0,0 +1,6 @@ +caption: //Relink// Library +tags: $:/tags/PluginLibrary +title: $:/config/flibbles/relink/PluginLibrary +url: https://flibbles.github.io/tw5-relink/library/index.html + +The //Relink// library contains //Relink// as well as its supplemental plugins. It is maintained by Flibbles. See the [[github page|https://github.com/flibbles/tw5-relink]] for more information. diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletefield_$tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletefield_$tiddler.tid new file mode 100644 index 0000000..5fcbe9e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletefield_$tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-deletefield/$tiddler + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletetiddler_$filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletetiddler_$filter.tid new file mode 100644 index 0000000..64d12e9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletetiddler_$filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-deletetiddler/$filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletetiddler_$tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletetiddler_$tiddler.tid new file mode 100644 index 0000000..c571117 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-deletetiddler_$tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-deletetiddler/$tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-listops_$filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-listops_$filter.tid new file mode 100644 index 0000000..11ee350 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-listops_$filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-listops/$filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-listops_$tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-listops_$tiddler.tid new file mode 100644 index 0000000..bd01519 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-listops_$tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-listops/$tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-log_$$filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-log_$$filter.tid new file mode 100644 index 0000000..1191e70 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-log_$$filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-log/$$filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-navigate_$to.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-navigate_$to.tid new file mode 100644 index 0000000..b89c139 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-navigate_$to.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-navigate/$to + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-popup_$state.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-popup_$state.tid new file mode 100644 index 0000000..99a46d9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-popup_$state.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-popup/$state + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-sendmessage_$names.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-sendmessage_$names.tid new file mode 100644 index 0000000..94d4ba3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-sendmessage_$names.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-sendmessage/$names + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-sendmessage_$values.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-sendmessage_$values.tid new file mode 100644 index 0000000..1d428eb --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-sendmessage_$values.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-sendmessage/$values + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setfield_$tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setfield_$tiddler.tid new file mode 100644 index 0000000..70787e3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setfield_$tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-setfield/$tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$fields.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$fields.tid new file mode 100644 index 0000000..8ee8a0d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$fields.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-setmultiplefields/$fields + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$indexes.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$indexes.tid new file mode 100644 index 0000000..4739d30 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$indexes.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-setmultiplefields/$indexes + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$tiddler.tid new file mode 100644 index 0000000..3eb56f1 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-setmultiplefields/$tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$values.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$values.tid new file mode 100644 index 0000000..5b0c63b --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$action-setmultiplefields_$values.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$action-setmultiplefields/$values + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_actions.tid new file mode 100644 index 0000000..5c4fc59 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$button/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_set.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_set.tid new file mode 100644 index 0000000..21b8afc --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_set.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$button/set + +reference \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_setTo.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_setTo.tid new file mode 100644 index 0000000..ae90983 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_setTo.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$button/setTo + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_to.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_to.tid new file mode 100644 index 0000000..05edc92 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$button_to.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$button/to + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_actions.tid new file mode 100644 index 0000000..bae4122 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$checkbox/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_checkactions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_checkactions.tid new file mode 100644 index 0000000..c5f2165 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_checkactions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$checkbox/checkactions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_tag.tid new file mode 100644 index 0000000..911de2a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$checkbox/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_tiddler.tid new file mode 100644 index 0000000..329d30b --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$checkbox/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_uncheckactions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_uncheckactions.tid new file mode 100644 index 0000000..26fa3c0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$checkbox_uncheckactions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$checkbox/uncheckactions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$count_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$count_filter.tid new file mode 100644 index 0000000..557b80e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$count_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$count/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$draggable_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$draggable_filter.tid new file mode 100644 index 0000000..6b759eb --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$draggable_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$draggable/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$draggable_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$draggable_tiddler.tid new file mode 100644 index 0000000..66ac962 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$draggable_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$draggable/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$droppable_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$droppable_actions.tid new file mode 100644 index 0000000..151c845 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$droppable_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$droppable/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$dropzone_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$dropzone_actions.tid new file mode 100644 index 0000000..8b0906b --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$dropzone_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$dropzone/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit-bitmap_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit-bitmap_tiddler.tid new file mode 100644 index 0000000..bfdfd1c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit-bitmap_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$edit-bitmap/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit-text_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit-text_tiddler.tid new file mode 100644 index 0000000..c856e02 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit-text_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$edit-text/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_inputActions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_inputActions.tid new file mode 100644 index 0000000..bbcaf07 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_inputActions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$edit/inputActions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_refreshTitle.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_refreshTitle.tid new file mode 100644 index 0000000..42b9f07 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_refreshTitle.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$edit/refreshTitle + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_tiddler.tid new file mode 100644 index 0000000..bea75b2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$edit_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$edit/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$encrypt_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$encrypt_filter.tid new file mode 100644 index 0000000..f73f573 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$encrypt_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$encrypt/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$fieldmangler_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$fieldmangler_tiddler.tid new file mode 100644 index 0000000..67c048e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$fieldmangler_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$fieldmangler/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$fields_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$fields_tiddler.tid new file mode 100644 index 0000000..24b8e22 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$fields_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$fields/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$genesis_$names.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$genesis_$names.tid new file mode 100644 index 0000000..e902849 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$genesis_$names.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$genesis/$names + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$genesis_$values.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$genesis_$values.tid new file mode 100644 index 0000000..272e5a9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$genesis_$values.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$genesis/$values + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$image_source.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$image_source.tid new file mode 100644 index 0000000..3523a18 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$image_source.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$image/source + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$importvariables_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$importvariables_filter.tid new file mode 100644 index 0000000..d07aad0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$importvariables_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$importvariables/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$jsontiddler_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$jsontiddler_tiddler.tid new file mode 100644 index 0000000..f13a6b4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$jsontiddler_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$jsontiddler/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$keyboard_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$keyboard_actions.tid new file mode 100644 index 0000000..316d234 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$keyboard_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$keyboard/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$link_to.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$link_to.tid new file mode 100644 index 0000000..cf3b5db --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$link_to.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$link/to + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$link_tooltip.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$link_tooltip.tid new file mode 100644 index 0000000..fbc97c3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$link_tooltip.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$link/tooltip + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_actions.tid new file mode 100644 index 0000000..5fabc9e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$linkcatcher/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_set.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_set.tid new file mode 100644 index 0000000..4d5e4ff --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_set.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$linkcatcher/set + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_to.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_to.tid new file mode 100644 index 0000000..af5ee7f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$linkcatcher_to.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$linkcatcher/to + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_editTemplate.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_editTemplate.tid new file mode 100644 index 0000000..30a394a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_editTemplate.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$list/editTemplate + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_emptyMessage.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_emptyMessage.tid new file mode 100644 index 0000000..65cbca0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_emptyMessage.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$list/emptyMessage + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_filter.tid new file mode 100644 index 0000000..4003f4d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$list/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_history.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_history.tid new file mode 100644 index 0000000..deda57a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_history.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$list/history + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_template.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_template.tid new file mode 100644 index 0000000..55c0c8d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$list_template.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$list/template + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$log_$$filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$log_$$filter.tid new file mode 100644 index 0000000..3d741d2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$log_$$filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$log/$$filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$messagecatcher_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$messagecatcher_actions.tid new file mode 100644 index 0000000..890e08e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$messagecatcher_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$messagecatcher/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$navigator_history.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$navigator_history.tid new file mode 100644 index 0000000..8dfc4bf --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$navigator_history.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$navigator/history + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$navigator_story.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$navigator_story.tid new file mode 100644 index 0000000..5f53017 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$navigator_story.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$navigator/story + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$radio_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$radio_actions.tid new file mode 100644 index 0000000..0b59f73 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$radio_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$radio/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$radio_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$radio_tiddler.tid new file mode 100644 index 0000000..eb8f708 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$radio_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$radio/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actions.tid new file mode 100644 index 0000000..5254dd0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$range/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actionsStart.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actionsStart.tid new file mode 100644 index 0000000..88d6407 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actionsStart.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$range/actionsStart + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actionsStop.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actionsStop.tid new file mode 100644 index 0000000..396d3f7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_actionsStop.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$range/actionsStop + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_tiddler.tid new file mode 100644 index 0000000..79b1343 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$range_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$range/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$reveal_state.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$reveal_state.tid new file mode 100644 index 0000000..523bfa3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$reveal_state.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$reveal/state + +reference \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$reveal_stateTitle.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$reveal_stateTitle.tid new file mode 100644 index 0000000..f0f5b5b --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$reveal_stateTitle.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$reveal/stateTitle + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$select_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$select_actions.tid new file mode 100644 index 0000000..4ad2522 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$select_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$select/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$select_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$select_tiddler.tid new file mode 100644 index 0000000..a122bfc --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$select_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$select/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_filter.tid new file mode 100644 index 0000000..0278888 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$set/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_subtiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_subtiddler.tid new file mode 100644 index 0000000..138b2e6 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_subtiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$set/subtiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_tiddler.tid new file mode 100644 index 0000000..8233b44 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$set_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$set/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setmultiplevariables_$names.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setmultiplevariables_$names.tid new file mode 100644 index 0000000..66173d7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setmultiplevariables_$names.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$setmultiplevariables/$names + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setmultiplevariables_$values.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setmultiplevariables_$values.tid new file mode 100644 index 0000000..d011729 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setmultiplevariables_$values.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$setmultiplevariables/$values + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_filter.tid new file mode 100644 index 0000000..f4c4db0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$setvariable/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_subtiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_subtiddler.tid new file mode 100644 index 0000000..8e5a35b --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_subtiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$setvariable/subtiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_tiddler.tid new file mode 100644 index 0000000..12f6a49 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$setvariable_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$setvariable/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$tiddler_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$tiddler_tiddler.tid new file mode 100644 index 0000000..3c49a5e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$tiddler_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$tiddler/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$transclude_subtiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$transclude_subtiddler.tid new file mode 100644 index 0000000..d64f6ef --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$transclude_subtiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$transclude/subtiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$transclude_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$transclude_tiddler.tid new file mode 100644 index 0000000..05a1878 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$transclude_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$transclude/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$view_subtiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$view_subtiddler.tid new file mode 100644 index 0000000..7cebbfa --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$view_subtiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$view/subtiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$view_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$view_tiddler.tid new file mode 100644 index 0000000..003060c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$view_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$view/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$wikify_text.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$wikify_text.tid new file mode 100644 index 0000000..cbdeb3d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_attributes_$wikify_text.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/attributes/$wikify/text + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-createtiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-createtiddler.tid new file mode 100644 index 0000000..fa90ab0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-createtiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fieldattributes/$action-createtiddler + +([^$].*) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-deletefield.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-deletefield.tid new file mode 100644 index 0000000..33cf270 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-deletefield.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fieldattributes/$action-deletefield + +([^$].*) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-setfield.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-setfield.tid new file mode 100644 index 0000000..8ad7ec4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$action-setfield.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fieldattributes/$action-setfield + +([^$].*) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$jsontiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$jsontiddler.tid new file mode 100644 index 0000000..5f9f5d0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fieldattributes_$jsontiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fieldattributes/$jsontiddler + +\$(.*) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_caption.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_caption.tid new file mode 100644 index 0000000..c5b0e87 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_caption.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fields/caption + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_filter.tid new file mode 100644 index 0000000..2fd0c62 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fields/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list-after.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list-after.tid new file mode 100644 index 0000000..eb8c5db --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list-after.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fields/list-after + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list-before.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list-before.tid new file mode 100644 index 0000000..2e14b24 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list-before.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fields/list-before + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list.tid new file mode 100644 index 0000000..f996a5d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_list.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fields/list + +list \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_tags.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_tags.tid new file mode 100644 index 0000000..e5f9153 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_fields_tags.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/fields/tags + +list \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_colour-picker_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_colour-picker_actions.tid new file mode 100644 index 0000000..d128819 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_colour-picker_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/colour-picker/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_csvtiddlers_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_csvtiddlers_filter.tid new file mode 100644 index 0000000..72bdedb --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_csvtiddlers_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/csvtiddlers/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_datauri_title.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_datauri_title.tid new file mode 100644 index 0000000..096f37e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_datauri_title.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/datauri/title + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_image-picker_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_image-picker_actions.tid new file mode 100644 index 0000000..147a163 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_image-picker_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/image-picker/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_jsontiddler_title.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_jsontiddler_title.tid new file mode 100644 index 0000000..9a704d4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_jsontiddler_title.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/jsontiddler/title + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_jsontiddlers_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_jsontiddlers_filter.tid new file mode 100644 index 0000000..acf84dd --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_jsontiddlers_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/jsontiddlers/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_configTiddlerFilter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_configTiddlerFilter.tid new file mode 100644 index 0000000..69c2358 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_configTiddlerFilter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/keyboard-driven-input/configTiddlerFilter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputAcceptActions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputAcceptActions.tid new file mode 100644 index 0000000..2be78d3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputAcceptActions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/keyboard-driven-input/inputAcceptActions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputAcceptVariantActions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputAcceptVariantActions.tid new file mode 100644 index 0000000..0c5dd72 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputAcceptVariantActions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/keyboard-driven-input/inputAcceptVariantActions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputCancelActions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputCancelActions.tid new file mode 100644 index 0000000..eda51b3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_inputCancelActions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/keyboard-driven-input/inputCancelActions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_selectionStateTitle.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_selectionStateTitle.tid new file mode 100644 index 0000000..e436306 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_selectionStateTitle.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/keyboard-driven-input/selectionStateTitle + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_storeTitle.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_storeTitle.tid new file mode 100644 index 0000000..50fca13 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_storeTitle.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/keyboard-driven-input/storeTitle + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_tiddler.tid new file mode 100644 index 0000000..d9168a3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_keyboard-driven-input_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/keyboard-driven-input/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links-draggable_itemTemplate.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links-draggable_itemTemplate.tid new file mode 100644 index 0000000..68bcb6c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links-draggable_itemTemplate.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/list-links-draggable/itemTemplate + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links-draggable_tiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links-draggable_tiddler.tid new file mode 100644 index 0000000..89f74ff --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links-draggable_tiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/list-links-draggable/tiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links_emptyMessage.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links_emptyMessage.tid new file mode 100644 index 0000000..1ca5fbe --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links_emptyMessage.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/list-links/emptyMessage + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links_filter.tid new file mode 100644 index 0000000..27a7ea0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-links_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/list-links/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_emptyMessage.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_emptyMessage.tid new file mode 100644 index 0000000..b90efab --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_emptyMessage.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/list-tagged-draggable/emptyMessage + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_itemTemplate.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_itemTemplate.tid new file mode 100644 index 0000000..f08c223 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_itemTemplate.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/list-tagged-draggable/itemTemplate + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_tag.tid new file mode 100644 index 0000000..a02b5b1 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-tagged-draggable_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/list-tagged-draggable/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-thumbnails_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-thumbnails_filter.tid new file mode 100644 index 0000000..aba62a7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_list-thumbnails_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/list-thumbnails/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_actions.tid new file mode 100644 index 0000000..582d4d8 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tabs/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_buttonTemplate.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_buttonTemplate.tid new file mode 100644 index 0000000..d51a913 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_buttonTemplate.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tabs/buttonTemplate + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_default.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_default.tid new file mode 100644 index 0000000..451eae8 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_default.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tabs/default + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_tabsList.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_tabsList.tid new file mode 100644 index 0000000..4f5b732 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_tabsList.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tabs/tabsList + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_template.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_template.tid new file mode 100644 index 0000000..3caf2f9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tabs_template.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tabs/template + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-picker_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-picker_actions.tid new file mode 100644 index 0000000..93fe881 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-picker_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tag-picker/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-pill_actions.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-pill_actions.tid new file mode 100644 index 0000000..25fa28e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-pill_actions.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tag-pill/actions + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-pill_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-pill_tag.tid new file mode 100644 index 0000000..2ca9df2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag-pill_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tag-pill/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag_tag.tid new file mode 100644 index 0000000..9623d35 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_tag_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/tag/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_exclude.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_exclude.tid new file mode 100644 index 0000000..114244e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_exclude.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-expandable/exclude + +list \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_itemClassFilter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_itemClassFilter.tid new file mode 100644 index 0000000..8c0f5b0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_itemClassFilter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-expandable/itemClassFilter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_tag.tid new file mode 100644 index 0000000..2248852 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-expandable_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-expandable/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_exclude.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_exclude.tid new file mode 100644 index 0000000..edca9c6 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_exclude.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-selective-expandable/exclude + +list \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_itemClassFilter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_itemClassFilter.tid new file mode 100644 index 0000000..d791f90 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_itemClassFilter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-selective-expandable/itemClassFilter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_tag.tid new file mode 100644 index 0000000..2d02564 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-selective-expandable_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-selective-expandable/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_missingText.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_missingText.tid new file mode 100644 index 0000000..17c41fd --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_missingText.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-external-nav/missingText + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_selectedTiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_selectedTiddler.tid new file mode 100644 index 0000000..897253f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_selectedTiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-external-nav/selectedTiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_tag.tid new file mode 100644 index 0000000..59ff1ba --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-external-nav/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_template.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_template.tid new file mode 100644 index 0000000..3c0e777 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_template.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-external-nav/template + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_unselectedText.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_unselectedText.tid new file mode 100644 index 0000000..f657504 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-external-nav_unselectedText.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-external-nav/unselectedText + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_missingText.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_missingText.tid new file mode 100644 index 0000000..9dfa415 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_missingText.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-internal-nav/missingText + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_selectedTiddler.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_selectedTiddler.tid new file mode 100644 index 0000000..1cc09b7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_selectedTiddler.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-internal-nav/selectedTiddler + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_tag.tid new file mode 100644 index 0000000..6c48608 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-internal-nav/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_template.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_template.tid new file mode 100644 index 0000000..8a872b2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_template.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-internal-nav/template + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_unselectedText.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_unselectedText.tid new file mode 100644 index 0000000..926d168 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc-tabbed-internal-nav_unselectedText.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc-tabbed-internal-nav/unselectedText + +wikitext \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc_itemClassFilter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc_itemClassFilter.tid new file mode 100644 index 0000000..d41dd02 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc_itemClassFilter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc/itemClassFilter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc_tag.tid new file mode 100644 index 0000000..f0327a0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_macros_toc_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/macros/toc/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_field_title.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_field_title.tid new file mode 100644 index 0000000..7360243 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_field_title.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/operators/field:title + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_filter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_filter.tid new file mode 100644 index 0000000..37674ce --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_filter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/operators/filter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_list.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_list.tid new file mode 100644 index 0000000..bc28bf6 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_list.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/operators/list + +reference \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_relink_report.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_relink_report.tid new file mode 100644 index 0000000..e29cc5f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_relink_report.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/operators/relink:report + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_subfilter.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_subfilter.tid new file mode 100644 index 0000000..7583401 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_subfilter.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/operators/subfilter + +filter \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_tag.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_tag.tid new file mode 100644 index 0000000..0d2f2af --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_tag.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/operators/tag + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_title.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_title.tid new file mode 100644 index 0000000..e5ab258 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_operators_title.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/operators/title + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_settings_default-type.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_settings_default-type.tid new file mode 100644 index 0000000..84f3ccd --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_settings_default-type.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/settings/default-type + +title \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_touch-modify.tid b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_touch-modify.tid new file mode 100644 index 0000000..56fb2be --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__config_flibbles_relink_touch-modify.tid @@ -0,0 +1,3 @@ +title: $:/config/flibbles/relink/touch-modify + +yes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__core_ui_EditTemplate_title.tid b/Wiki-OcttKB/plugins/relink/$__core_ui_EditTemplate_title.tid new file mode 100644 index 0000000..bbd78d0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__core_ui_EditTemplate_title.tid @@ -0,0 +1,81 @@ +tags: $:/tags/EditTemplate +title: $:/core/ui/EditTemplate/title + +\whitespace trim +<$edit-text field="draft.title" class="tc-titlebar tc-edit-texteditor" focus="true" tabindex={{$:/config/EditTabIndex}}/> + +<$reveal state="!!draft.title" type="nomatch" text={{!!draft.of}} tag="div"> + +<$vars pattern="""[\|\[\]{}]""" bad-chars="""`| [ ] { }`"""> + +<$list filter="[all[current]regexp:draft.title]" variable="listItem"> + +
    + +{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/BadCharacterWarning}} + +
    + + + + + +<$list filter="[{!!draft.title}!is[missing]]" variable="listItem"> + +
    + +{{$:/core/images/warning}} {{$:/language/EditTemplate/Title/Exists/Prompt}} + +
    + + + +<$list filter="[{!!draft.of}!is[missing]]" variable="listItem"> + +<$vars fromTitle={{!!draft.of}} toTitle={{!!draft.title}}> + +<$checkbox tiddler="$:/config/RelinkOnRename" field="text" checked="yes" unchecked="no" default="no"> {{$:/language/EditTemplate/Title/Relink/Prompt}} + +<$tiddler tiddler=<> > + +<$list filter="[relink:wouldchangelimit[1]]" variable="listItem"> + +<$vars stateTiddler=<> > + +<$set + name="prompt" + filter="[relink:wouldchangerelink:impossible]" + value="EditTemplate/Title/Impossibles/Prompt" + emptyValue="EditTemplate/Title/References/Prompt" > +<$reveal type="nomatch" state=<> text="show"> +<$button set=<> setTo="show" class="tc-btn-invisible"> +{{$:/core/images/right-arrow}} + +<$macrocall $name=lingo title=<> /> + + +<$reveal type="match" state=<> text="show"> +<$button set=<> setTo="hide" class="tc-btn-invisible"> +{{$:/core/images/down-arrow}} + +<$macrocall $name=lingo title=<> /> + + + + +<$reveal type="match" state=<> text="show"> +<$list variable="listItem" filter="[relink:wouldchange!title[$:/StoryList]sort[title]]" template="$:/plugins/flibbles/relink/ui/ListItemTemplate"> + + + + + + + + + + + + + + diff --git a/Wiki-OcttKB/plugins/relink/$__language_Docs_PaletteColours_relink-impossible.tid b/Wiki-OcttKB/plugins/relink/$__language_Docs_PaletteColours_relink-impossible.tid new file mode 100644 index 0000000..7aac861 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__language_Docs_PaletteColours_relink-impossible.tid @@ -0,0 +1,3 @@ +title: $:/language/Docs/PaletteColours/relink-impossible + +Relink link impossible \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_Impossibles_Prompt.tid b/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_Impossibles_Prompt.tid new file mode 100644 index 0000000..f351623 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_Impossibles_Prompt.tid @@ -0,0 +1,3 @@ +title: $:/language/EditTemplate/Title/Impossibles/Prompt + +''Warning:'' Not all references in the following tiddlers can be updated by //Relink// due to the complexity of the new title: \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_References_Prompt.tid b/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_References_Prompt.tid new file mode 100644 index 0000000..1134c8c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_References_Prompt.tid @@ -0,0 +1,3 @@ +title: $:/language/EditTemplate/Title/References/Prompt + +The following tiddlers will be updated if relinking: \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_Relink_Prompt.tid b/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_Relink_Prompt.tid new file mode 100644 index 0000000..e63f7fa --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__language_EditTemplate_Title_Relink_Prompt.tid @@ -0,0 +1,3 @@ +title: $:/language/EditTemplate/Title/Relink/Prompt + +Use //Relink// to update ''<$text text=<>/>'' to ''<$text text=<>/>'' across all other tiddlers \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_Filters_Missing.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_Filters_Missing.tid new file mode 100644 index 0000000..fc9e772 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_Filters_Missing.tid @@ -0,0 +1,4 @@ +description: {{$:/plugins/flibbles/relink/language/Filters/Missing}} +filter: [all[]!is[system]relink:references[]!is[tiddler]!is[shadow]!prefix[$:/tags/]sort[title]] -[[]] +tags: $:/tags/Filter +title: $:/plugins/flibbles/relink/Filters/Missing \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_Filters_Orphans.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_Filters_Orphans.tid new file mode 100644 index 0000000..ab62db8 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_Filters_Orphans.tid @@ -0,0 +1,4 @@ +description: {{$:/plugins/flibbles/relink/language/Filters/Orphans}} +filter: [relink:orphans[]!is[system]sort[title]] +tags: $:/tags/Filter +title: $:/plugins/flibbles/relink/Filters/Orphans \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_configuration.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_configuration.tid new file mode 100644 index 0000000..eb1520d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_configuration.tid @@ -0,0 +1,6 @@ +title: $:/plugins/flibbles/relink/configuration + +\whitespace trim +
    +<> +
    diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_bulkops.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_bulkops.js new file mode 100644 index 0000000..0775e7a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_bulkops.js @@ -0,0 +1,80 @@ +/*\ +module-type: startup + +Replaces the relinkTiddler defined in $:/core/modules/wiki-bulkops.js + +This is a startup instead of a wikimethods module-type because it's the only +way to ensure this runs after the old relinkTiddler method is applied. + +\*/ +(function(){ + +/*jslint node: false, browser: true */ +/*global $tw: false */ +"use strict"; + +var language = require('$:/plugins/flibbles/relink/js/language.js'); +var utils = require("$:/plugins/flibbles/relink/js/utils.js"); + +exports.name = "redefine-relinkTiddler"; +exports.synchronous = true; +// load-modules is when wikimethods are applied in +// ``$:/core/modules/startup/load-modules.js`` +exports.after = ['load-modules']; +// We come before commands because they may do renaming, or jasmine testing +exports.before = ['commands']; + +exports.startup = function() { + $tw.Wiki.prototype.relinkTiddler = relinkTiddler; +}; + +/** Walks through all relinkable tiddlers and relinks them. + * This replaces the existing function in core Tiddlywiki. + */ +function relinkTiddler(fromTitle, toTitle, options) { + options = options || {}; + var failures = []; + var indexer = utils.getIndexer(this); + var records = indexer.relinkLookup(fromTitle, toTitle, options); + for (var title in records) { + var entries = records[title], + changes = Object.create(null), + update = false, + fails = false; + for (var field in entries) { + var entry = entries[field]; + fails = fails || entry.impossible; + if (entry.output !== undefined) { + changes[field] = entry.output; + update = true; + } + } + if (fails) { + failures.push(title); + } + // If any fields changed, update tiddler + if (update) { + console.log("Renaming '"+fromTitle+"' to '"+toTitle+"' in '" + title + "'"); + + var tiddler = this.getTiddler(title); + var modifyField = utils.touchModifyField(this) ? this.getModificationFields() : undefined; + var newTiddler = new $tw.Tiddler(tiddler,changes,modifyField) + newTiddler = $tw.hooks.invokeHook("th-relinking-tiddler",newTiddler,tiddler); + this.addTiddler(newTiddler); + // If the title changed, we need to perform a nested rename + if (newTiddler.fields.title !== title) { + this.deleteTiddler(title); + this.relinkTiddler(title, newTiddler.fields.title,options); + } + } + }; + if (failures.length > 0) { + var options = $tw.utils.extend( + { variables: {to: toTitle, from: fromTitle}, + wiki: this}, + options ); + language.reportFailures(failures, options); + } +}; + +})(); diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_bulkops.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_bulkops.js.meta new file mode 100644 index 0000000..3e92161 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_bulkops.js.meta @@ -0,0 +1,3 @@ +module-type: startup +title: $:/plugins/flibbles/relink/js/bulkops.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_context.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_context.js new file mode 100644 index 0000000..4343c59 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_context.js @@ -0,0 +1,56 @@ +/*\ + +Base class for relink contexts. + +\*/ + +function Context() { +}; + +exports.context = Context; + +// This class does no special handling of fields, operators, or attributes. +// we pass it along to the parent. +Context.prototype.getFields = function() { + return this.parent.getFields(); +}; + +Context.prototype.getOperator = function(name, index) { + return this.parent.getOperator(name, index); +}; + +Context.prototype.getOperators = function() { + return this.parent.getOperators(); +}; + +Context.prototype.getAttribute = function(elementName) { + return this.parent.getAttribute(elementName); +}; + +Context.prototype.getAttributes = function() { + return this.parent.getAttributes(); +}; + +Context.prototype.getConfig = function(category) { + return this.parent.getConfig(category); +}; + +Context.prototype.getMacro = function(macroName) { + return this.parent.getMacro(macroName); +}; + +Context.prototype.getMacros = function() { + return this.parent.getMacros(); +}; + +Context.prototype.allowPrettylinks = function() { + return this.parent.allowPrettylinks(); +}; + +Context.prototype.allowWidgets = function() { + return this.parent.allowWidgets(); +}; + +Context.prototype.hasImports = function(value) { + return this.parent.hasImports(value); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_context.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_context.js.meta new file mode 100644 index 0000000..89ec8f7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_context.js.meta @@ -0,0 +1,3 @@ +module-type: relinkcontext +title: $:/plugins/flibbles/relink/js/contexts/context.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_import.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_import.js new file mode 100644 index 0000000..ecd54aa --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_import.js @@ -0,0 +1,66 @@ +/*\ + +This handles the fetching and distribution of relink settings. + +\*/ + +var WidgetContext = require('./widget').widget; + +function ImportContext(wiki, parent, filter) { + this.parent = parent; + this.wiki = wiki; + var importWidget = createImportWidget(filter, this.wiki, this.parent.widget); + this._compileList(importWidget.tiddlerList); + // This only works if only one filter is imported + this.widget = this.getBottom(importWidget); + // Trickle this up, so that any containing tiddlercontext knows that this + // tiddler does some importing, and must be checked regularly. + parent.hasImports(true); +}; + +exports.import = ImportContext; + +ImportContext.prototype = new WidgetContext(); + +ImportContext.prototype.changed = function(changes) { + return this.widget && this.widget.refresh(changes) +}; + +function createImportWidget(filter, wiki, parent) { + var widget = wiki.makeWidget( { tree: [{ + type: "importvariables", + attributes: { + "filter": { + type: "string", + value: filter + } + } + }] }, { parentWidget: parent} ); + if (parent) { + parent.children.push(widget); + } + widget.execute(); + widget.renderChildren(); + var importWidget = widget.children[0]; + return importWidget; +}; + +ImportContext.prototype._compileList = function(titleList) { + for (var i = 0; i < titleList.length; i++) { + var parser = this.wiki.parseTiddler(titleList[i]); + if (parser) { + var parseTreeNode = parser.tree[0]; + while (parseTreeNode && parseTreeNode.type === "set") { + if (parseTreeNode.relink) { + for (var macroName in parseTreeNode.relink) { + var parameters = parseTreeNode.relink[macroName]; + for (paramName in parameters) { + this.addSetting(this.wiki, macroName, paramName, parameters[paramName], titleList[i]); + } + } + } + parseTreeNode = parseTreeNode.children && parseTreeNode.children[0]; + } + } + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_import.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_import.js.meta new file mode 100644 index 0000000..1394a8f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_import.js.meta @@ -0,0 +1,3 @@ +module-type: relinkcontext +title: $:/plugins/flibbles/relink/js/contexts/import.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_tiddler.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_tiddler.js new file mode 100644 index 0000000..2cc136a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_tiddler.js @@ -0,0 +1,31 @@ +/*\ + +Context for a tiddler. Defines nothing but makes an entry point to test if +a tiddler must be refreshed. + +\*/ + +var WidgetContext = require('./widget.js').widget; + +function TiddlerContext(wiki, parentContext, title) { + this.title = title; + this.parent = parentContext; + var globalWidget = parentContext && parentContext.widget; + var parentWidget = wiki.makeWidget(null, {parentWidget: globalWidget}); + parentWidget.setVariable('currentTiddler', title); + this.widget = wiki.makeWidget(null, {parentWidget: parentWidget}); +}; + +exports.tiddler = TiddlerContext; + +TiddlerContext.prototype = new WidgetContext(); + +TiddlerContext.prototype.changed = function(changes) { + return this.widget && this.widget.refresh(changes); +}; + +// By default, a tiddler context does not use imports, unless an import +// statement is later discovered somewhere in the fields. +TiddlerContext.prototype.hasImports = function(value) { + return this._hasImports || (this._hasImports = value); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_tiddler.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_tiddler.js.meta new file mode 100644 index 0000000..7af7315 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_tiddler.js.meta @@ -0,0 +1,3 @@ +module-type: relinkcontext +title: $:/plugins/flibbles/relink/js/contexts/tiddler.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_variable.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_variable.js new file mode 100644 index 0000000..b4654b7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_variable.js @@ -0,0 +1,23 @@ +/*\ + +This handles the context for variables. Either from $set, $vars, or \define + +\*/ + +var WidgetContext = require('./widget').widget; + +function VariableContext(parent, setParseTreeNode) { + this.parent = parent; + // Now create a new widget and attach it. + var attachPoint = parent.widget; + var setWidget = attachPoint.makeChildWidget(setParseTreeNode); + attachPoint.children.push(setWidget); + setWidget.computeAttributes(); + setWidget.execute(); + // point our widget to bottom, where any other contexts would attach to + this.widget = this.getBottom(setWidget); +}; + +exports.variable = VariableContext; + +VariableContext.prototype = new WidgetContext(); diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_variable.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_variable.js.meta new file mode 100644 index 0000000..cbd836f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_variable.js.meta @@ -0,0 +1,3 @@ +module-type: relinkcontext +title: $:/plugins/flibbles/relink/js/contexts/variable.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_whitelist.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_whitelist.js new file mode 100644 index 0000000..d7ea10d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_whitelist.js @@ -0,0 +1,138 @@ +/*\ + +This top-level context manages settings inside the whitelist. It never has +a parent. + +\*/ + +var utils = require('../utils'); +var Context = require('./context').context; + +var prefix = "$:/config/flibbles/relink/"; + +/**Factories define methods that create settings given config tiddlers. + * for factory method 'example', it will be called once for each: + * "$:/config/flibbles/relink/example/..." tiddler that exists. + * the argument "key" will be set to the contents of "..." + * + * The reason I build relink settings in this convoluted way is to minimize + * the number of times tiddlywiki has to run through EVERY tiddler looking + * for relink config tiddlers. + */ +var settingsGenerators = utils.getModulesByTypeAsHashmap('relinksetting', 'name'); + +function WhitelistContext(wiki) { + build(this, wiki); +}; + +exports.whitelist = WhitelistContext; + +WhitelistContext.prototype = new Context(); + +/**Hot directories are directories for which if anything changes inside them, + * then Relink must completely rebuild its index. + * By default, this includes the whitelist settings, but relink-titles also + * includes its rules disabling directory. + * This is the FIRST solution I came up with to this problem. If you're + * looking at this, please make a github issue so I have a chance to understand + * your needs. This is currently a HACK solution. + */ +WhitelistContext.hotDirectories = [prefix]; + +WhitelistContext.prototype.getAttribute = function(elementName) { + return this.attributes[elementName]; +}; + +WhitelistContext.prototype.getAttributes = function() { + return flatten(this.attributes); +}; + +WhitelistContext.prototype.getFields = function() { + return this.fields; +}; + +WhitelistContext.prototype.getConfig = function(category) { + return this[category]; +}; + +WhitelistContext.prototype.getOperator = function(operatorName, operandIndex) { + var op = this.operators[operatorName]; + return op && op[operandIndex || 1]; +}; + +WhitelistContext.prototype.getOperators = function() { + var signatures = Object.create(null); + for (var op in this.operators) { + var operandSet = this.operators[op]; + for (var index in operandSet) { + var entry = operandSet[index]; + signatures[entry.key] = entry; + } + } + return signatures; +}; + +WhitelistContext.prototype.getMacro = function(macroName) { + return this.macros[macroName]; +}; + +WhitelistContext.prototype.getMacros = function() { + return flatten(this.macros); +}; + +WhitelistContext.prototype.changed = function(changedTiddlers) { + for (var i = 0; i < WhitelistContext.hotDirectories.length; i++) { + var dir = WhitelistContext.hotDirectories[i]; + for (var title in changedTiddlers) { + if (title.substr(0, dir.length) === dir) { + return true; + } + } + } + return false; +}; + +WhitelistContext.prototype.hasImports = function(value) { + // We don't care if imports are used. This is the global level. + return false; +}; + +function build(settings, wiki) { + for (var name in settingsGenerators) { + settings[name] = Object.create(null); + } + wiki.eachShadowPlusTiddlers(function(tiddler, title) { + if (title.substr(0, prefix.length) === prefix) { + var remainder = title.substr(prefix.length); + var category = root(remainder); + var factory = settingsGenerators[category]; + if (factory) { + var name = remainder.substr(category.length+1); + factory.generate(settings[category], tiddler, name, wiki); + } + } + }); +}; + +/* Returns first bit of a path. path/to/tiddler -> path + */ +function root(string) { + var index = string.indexOf('/'); + if (index >= 0) { + return string.substr(0, index); + } +}; + +/* Turns {dir: {file1: 'value1', file2: 'value2'}} + * into {dir/file1: 'value1', dir/file2: 'value2'} + */ +function flatten(set) { + var signatures = Object.create(null); + for (var outerName in set) { + var setItem = set[outerName]; + for (var innerName in setItem) { + signatures[outerName + "/" + innerName] = setItem[innerName]; + } + } + return signatures; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_whitelist.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_whitelist.js.meta new file mode 100644 index 0000000..d84c605 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_whitelist.js.meta @@ -0,0 +1,3 @@ +module-type: relinkcontext +title: $:/plugins/flibbles/relink/js/contexts/whitelist.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_widget.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_widget.js new file mode 100644 index 0000000..ac5e279 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_widget.js @@ -0,0 +1,81 @@ +/*\ + +This is a virtual subclass of context for contexts that exist within widgets +of a specific tiddler. + +All widget contexts must have a widget member. + +\*/ + +var Context = require('./context.js').context; +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); + +function WidgetContext() {}; + +exports.widget = WidgetContext; + +WidgetContext.prototype = new Context(); + +WidgetContext.prototype.getMacroDefinition = function(variableName) { + // widget.variables is prototyped, so it looks up into all its parents too + return this.widget.variables[variableName] || $tw.macros[variableName]; +}; + +WidgetContext.prototype.addSetting = function(wiki, macroName, parameter, type, sourceTitle) { + this.macros = this.macros || Object.create(null); + var macro = this.macros[macroName]; + type = type || utils.getDefaultType(wiki); + if (macro === undefined) { + macro = this.macros[macroName] = Object.create(null); + } + var handler = utils.getType(type); + if (handler) { + handler.source = sourceTitle; + // We attach the fields of the defining tiddler for the benefit + // of any 3rd party field types that want access to them. + var tiddler = wiki.getTiddler(sourceTitle); + handler.fields = tiddler.fields; + macro[parameter] = handler; + } +}; + +WidgetContext.prototype.getMacros = function() { + var signatures = this.parent.getMacros(); + if (this.macros) { + for (var macroName in this.macros) { + var macro = this.macros[macroName]; + for (var param in macro) { + signatures[macroName + "/" + param] = macro[param]; + } + } + } + return signatures; +}; + +/**This does strange handling because it's possible for a macro to have + * its individual parameters whitelisted in separate places. + * Don't know WHY someone would do this, but it can happen. + */ +WidgetContext.prototype.getMacro = function(macroName) { + var theseSettings = this.macros && this.macros[macroName]; + var parentSettings; + if (this.parent) { + parentSettings = this.parent.getMacro(macroName); + } + if (theseSettings && parentSettings) { + // gotta merge them without changing either. This is expensive, + // but it'll happen rarely. + var rtnSettings = $tw.utils.extend(Object.create(null), theseSettings, parentSettings); + return rtnSettings; + } + return theseSettings || parentSettings; +}; + +/**Returns the deepest descendant of the given widget. + */ +WidgetContext.prototype.getBottom = function(widget) { + while (widget.children.length > 0) { + widget = widget.children[0]; + } + return widget; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_widget.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_widget.js.meta new file mode 100644 index 0000000..4dac64e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_widget.js.meta @@ -0,0 +1,3 @@ +module-type: relinkcontext +title: $:/plugins/flibbles/relink/js/contexts/widget.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_wikitext.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_wikitext.js new file mode 100644 index 0000000..df15360 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_wikitext.js @@ -0,0 +1,23 @@ +/*\ + +Context for wikitext. It can contain rules about what's allowed in this +current layer of wikitext. + +\*/ + +var WidgetContext = require('./widget.js').widget; + +function WikitextContext(parentContext) { + this.parent = parentContext; + this.widget = parentContext.widget; +}; + +exports.wikitext = WikitextContext; + +WikitextContext.prototype = new WidgetContext(); + +// Unless this specific context has rules about it, widgets and prettyLInks are allowed. +WikitextContext.prototype.allowWidgets = enabled; +WikitextContext.prototype.allowPrettylinks = enabled; + +function enabled() { return true; }; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_wikitext.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_wikitext.js.meta new file mode 100644 index 0000000..db8fa9d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_contexts_wikitext.js.meta @@ -0,0 +1,3 @@ +module-type: relinkcontext +title: $:/plugins/flibbles/relink/js/contexts/wikitext.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter.js new file mode 100644 index 0000000..a4038c9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter.js @@ -0,0 +1,265 @@ +/*\ + +This specifies logic for updating filters to reflect title changes. + +\*/ + +var refHandler = require("$:/plugins/flibbles/relink/js/fieldtypes/reference"); +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder"); +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); +var filterRelinkers = utils.getModulesByTypeAsHashmap('relinkfilter', 'name'); + +exports.name = "filter"; + +exports.report = function(filter, callback, options) { + if (filter) { + try { + var parseTree = options.wiki.parseFilter(filter); + } catch (e) { + // It must have been malformed. Return without doing anything. + return; + } + for (var module in filterRelinkers) { + filterRelinkers[module].report(parseTree, callback, options); + } + } +}; + +/**Returns undefined if no change was made. + */ +exports.relink = function(filter, fromTitle, toTitle, options) { + var changed = false; + var results = {}; + var parseTree; + if (filter) { + try { + parseTree = options.wiki.parseFilter(filter); + } catch (e) { + // It must have been malformed. Return without doing anything. + return; + } + for (var module in filterRelinkers) { + var entry = filterRelinkers[module].relink(parseTree, fromTitle, toTitle, options); + if (entry) { + if (entry.changed) { + changed = true; + } + if (entry.impossible) { + results.impossible = true; + } + } + } + } + if (changed) { + builder = assembleFilterString(parseTree, filter, options); + results.output = builder.results(); + results.impossible = results.impossible || builder.impossible; + return results; + } + if (results.impossible) { + return results; + } + return undefined +}; + +function assembleFilterString(parseTree, oldFilter, options) { + var relinker = new Rebuilder(oldFilter), + wordBarrierRequired = false, + p = 0; + for (var i = 0; i < parseTree.length; i++) { + var start = $tw.utils.skipWhiteSpace(oldFilter, p); + if (start !== p) { + // There's some breathing room between this run and the last. + // We'll never need to insert space. + wordBarrierRequired = false; + p = start; + } + var run = parseTree[i]; + if (run.prefix) { + if (wordBarrierRequired) { + relinker.add(' ', p, p); + wordBarrierRequired = false; + } + p += run.prefix.length; + } + if (oldFilter[p] !== '[' + || (oldFilter[p+1] === '[' && run.operators.length === 1)) { + // It's a string title + var text = run.operators[0].operands[0].text, + end, + old; + switch (oldFilter[p]) { + case "'": + case '"': + // p + 1 to skip the first quote + // indexOf() + 1 to skip the last + end = oldFilter.indexOf(oldFilter[p], p+1) + 1; + old = oldFilter.substring(p+1, end-1); + break; + case '[': + end = oldFilter.indexOf(']', p); + old = oldFilter.substring(p+2, end); + // +2 to get past the ']]' + end += 2; + break; + default: + end = skipWord(oldFilter, p); + old = oldFilter.substring(p, end); + } + if (old !== text) { + var wrapped = wrapTitle(text, oldFilter[p] !== "[" ? oldFilter[p] : '', options); + if (wrapped !== undefined) { + // This is a no-quote title. If breathing room is required, + // add it. Also, we may need breathing room after it. + if (wordBarrierRequired && wrapped[0] !== "[") { + relinker.add(' ', p, p); + } + relinker.add(wrapped, p, end); + wordBarrierRequired = wrapped === text; + } else if (options.placeholder) { + var ph = options.placeholder.getPlaceholderFor(text); + relinker.add('[<' + ph + '>]', p, end); + } else { + relinker.impossible = true; + } + } else { + if (wordBarrierRequired && oldFilter[p] !== "[") { + relinker.add(' ', p, p); + } + wordBarrierRequired = oldFilter.indexOf(text) === p; + } + p = end; + } else { + wordBarrierRequired = false; + p++; + for (var j = 0; j < run.operators.length; j++) { + var operator = run.operators[j]; + var start = p; + for (var index = 0; index < operator.operands.length; index++) { + var operand = operator.operands[index], + skip = false; + end, + wrapped; + if (operand.indirect) { + p = oldFilter.indexOf('{', p); + end = oldFilter.indexOf('}', p+1); + wrapped = '{' + operand.text + '}'; + } else if (operand.variable) { + p = oldFilter.indexOf('<', p); + end = oldFilter.indexOf('>', p+1); + wrapped = '<' + operand.text + '>'; + } else if (operator.regexp) { + p = oldFilter.indexOf('/', p); + end = oldFilter.indexOf('/', p+1); + skip = true; + } else { + p = oldFilter.indexOf('[', p); + end = oldFilter.indexOf(']', p+1); + if (!canBePrettyOperand(operand.text) || (options.inBraces && operand.text.indexOf('}}}') >= 0)) { + if (options.placeholder) { + var ph = options.placeholder.getPlaceholderFor(operand.text, operand.handler); + wrapped = '<' + ph + '>'; + } else { + skip = true; + relinker.impossible = true; + } + } else { + wrapped = '[' + operand.text + ']'; + } + } + end++; // skip the closing brace + if (index === 0) { + // If this is the first operand, let's first recreate the operator signature in case it was changed at all. + relinker.add(operatorSignature(operator, oldFilter, start), start, p); + } + if (!skip) { + relinker.add(wrapped, p, end); + } + p = end; + } + } + p++; // Skip the closing brace; + } + } + return relinker; +}; + +function operatorSignature(operator, oldText, start) { + // If it's a title operand, try to determine if it was a shorthand. + var prefix = operator.prefix || ''; + var signature = prefix + ((operator.operator === 'title' && oldText[start + prefix.length] !== 't')? '': operator.operator); + if (operator.suffix) { + signature += ':' + operator.suffix; + } + return signature; +} + +function skipWord(source,pos) { + var c; + while(true) { + c = source.charAt(pos); + if((c !== "") && (c !== " ") && (c !== "\f") && (c !== "\n") + && (c !== "\r") && (c !== "\t") + && (c !== "\v")&& (c !== "\u00a0") // Ignores obscure unicode spaces + && (c !== "[") && (c !== "]")) { // Ignore brackets + pos++; + } else { + return pos; + } + } +}; + +/* Same as this.relink, except this has the added constraint that the return + * value must be able to be wrapped in curly braces. (i.e. '{{{...}}}') + */ +exports.relinkInBraces = function(filter, fromTitle, toTitle, options) { + var braceOptions = $tw.utils.extend({inBraces: true}, options); + var entry = this.relink(filter, fromTitle, toTitle, braceOptions); + if (entry && entry.output && !canBeInBraces(entry.output)) { + // It was possible, but it won't fit in braces, so we must give up + delete entry.output; + entry.impossible = true; + } + return entry; +}; + +function wrapTitle(value, preference, options) { + var choices = { + "": function(v) {return /^[^\s\[\]\}\+\-\~\=\:][^\s\[\]]*[^\s\[\]\}]$/.test(v); }, + "[": canBePrettyOperand, + "'": function(v) {return v.indexOf("'") < 0; }, + '"': function(v) {return v.indexOf('"') < 0; } + }; + var wrappers = { + "": function(v) {return v; }, + "[": function(v) {return "[["+v+"]]"; }, + "'": function(v) {return "'"+v+"'"; }, + '"': function(v) {return '"'+v+'"'; } + }; + if (options.inBraces && value.indexOf('}}}') >= 0) { + // In this particular case, it can't be wrapped in this filter, + // even if it would have worked within the context of the filter itself + return undefined; + } + if (!choices[preference]) { + preference = ''; + } + if (choices[preference](value)) { + return wrappers[preference](value); + } + for (var quote in choices) { + if (choices[quote](value)) { + return wrappers[quote](value); + } + } + // No quotes will work on this + return undefined; +} + +function canBePrettyOperand(value) { + return value.indexOf(']') < 0; +}; + +function canBeInBraces(value) { + return value.indexOf("}}}") < 0 && value.substr(value.length-2) !== '}}'; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter.js.meta new file mode 100644 index 0000000..4d8d71c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfieldtype +title: $:/plugins/flibbles/relink/js/fieldtypes/filter.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter_operators.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter_operators.js new file mode 100644 index 0000000..3f11034 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter_operators.js @@ -0,0 +1,146 @@ +/*\ + +Handles reporting of filter operators. + +\*/ + +var refHandler = require("$:/plugins/flibbles/relink/js/fieldtypes/reference"); +var titleHandler = require("$:/plugins/flibbles/relink/js/fieldtypes/title"); +var macrocall = require("$:/plugins/flibbles/relink/js/utils/macrocall.js"); + +exports.name = "operators"; + +exports.report = function(filterParseTree, callback, options) { + for (var i = 0; i < filterParseTree.length; i++) { + var run = filterParseTree[i]; + for (var j = 0; j < run.operators.length; j++) { + var operator = run.operators[j]; + for (var index = 1; index <= operator.operands.length; index++) { + var operand = operator.operands[index-1]; + var display = operator.operator === 'title'? '': operator.operator; + if (operator.suffix) { + display += ':' + operator.suffix; + } + // Now add any commas if this is a later operand + for (var x = 1; x < index; x++) { + display += ','; + } + if (operand.indirect) { + refHandler.report(operand.text, function(title, blurb) { + callback(title, (run.prefix || '') + '[' + (operator.prefix || '') + display + '{' + (blurb || '') + '}]'); + }, options); + } else if (operand.variable) { + var macro = $tw.utils.parseMacroInvocation("<<"+operand.text+">>", 0); + macrocall.report(options.settings, macro, function(title, blurb) { + callback(title, (run.prefix || '') + '[' + (operator.prefix || '') + display + '<' + blurb + '>]'); + }, options); + continue; + } else if (operand.text) { + var handler = fieldType(options.settings, operator, index, options) + if (handler) { + handler.report(operand.text, function(title, blurb) { + if (blurb || !standaloneTitleRun(run)) { + callback(title, (run.prefix || '') + '[' + (operator.prefix || '') + display + '[' + (blurb || '') + ']]'); + } else { + callback(title, run.prefix); + } + }, options); + } + } + } + } + } +}; + +exports.relink = function(filterParseTree, fromTitle, toTitle, options) { + var output = {}; + for (var i = 0; i < filterParseTree.length; i++) { + var run = filterParseTree[i]; + for (var j = 0; j < run.operators.length; j++) { + var operator = run.operators[j]; + for (var index = 1; index <= operator.operands.length; index++) { + var operand = operator.operands[index-1], + entry = undefined; + if (operand.indirect) { + entry = refHandler.relinkInBraces(operand.text, fromTitle, toTitle, options); + } else if (operand.variable) { + entry = relinkMacro(options.settings, operand.text, fromTitle, toTitle, options); + } else if (operand.text) { + var handler = fieldType(options.settings, operator, index, options) + if (handler) { + entry = handler.relink(operand.text, fromTitle, toTitle, options); + if (entry && entry.output) { + operand.handler = handler.name; + } + } + } + if (entry) { + if (entry.output) { + output.changed = true; + operand.text = entry.output; + } + if (entry.impossible) { + output.impossible = true; + } + } + } + } + } + return output; +}; + +// Returns the relinker needed for a given operator, or returns undefined. +// This method should really be broken into three modules called relinkfilteroperator +function fieldType(context, operator, index, options) { + var op = operator.operator, + suffix = operator.suffix, + rtn = (suffix && context.getOperator(op + ':' + suffix, index)) + || context.getOperator(op, index); + if (!rtn && op === 'contains' && index == 1) { + // The 'contains' operator gets special handling + suffix = suffix || 'list'; + var handler = context.getFields()[suffix]; + if (handler && (handler.name === 'list' || handler.name === 'filter')) { + // Contains uses the title handler, but only if it's + // searching a 'list' or 'filter' field. + return titleHandler; + } + + } + if (!rtn && index == 1) { + // maybe it's a field operator? + rtn = (op === 'field' && context.getFields()[suffix]) + || (!suffix && !options.wiki.getFilterOperators()[op] && context.getFields()[op]); + } + return rtn; +}; + +function standaloneTitleRun(run) { + if (run.operators.length == 1) { + var op = run.operators[0]; + return op.operator === 'title' + && !op.prefix + && !op.suffix; + } + return false; +}; + +// Takes care of relinking a macro, as well as putting it back together. +function relinkMacro(context, text, fromTitle, toTitle, options) { + text = "<<" + text + ">>"; + var macro = $tw.utils.parseMacroInvocation(text, 0); + var entry = macrocall.relink(context, macro, text, fromTitle, toTitle, false, options); + if (entry && entry.output) { + var string = macrocall.reassemble(entry.output, text, options); + // We remove the surrounding brackets. + string = string.substring(2, string.length-2); + // And we make sure that no brackets remain + if (string.indexOf(">") >= 0) { + delete entry.output; + entry.impossible = true; + } else { + entry.output = string; + } + } + return entry; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter_operators.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter_operators.js.meta new file mode 100644 index 0000000..72a7555 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_filter_operators.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfilter +title: $:/plugins/flibbles/relink/js/fieldtypes/filter/operators.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_list.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_list.js new file mode 100644 index 0000000..95e4a40 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_list.js @@ -0,0 +1,58 @@ +/*\ +This manages replacing titles that occur within stringLists, like, + +TiddlerA [[Tiddler with spaces]] [[Another Title]] +\*/ + +exports.name = "list"; + +exports.report = function(value, callback, options) { + var list = $tw.utils.parseStringArray(value); + for (var i = 0; i < list.length; i++) { + callback(list[i]); + } +}; + +/**Returns undefined if no change was made. + * Parameter: value can literally be a list. This can happen for builtin + * types 'list' and 'tag'. In those cases, we also return list. + */ +exports.relink = function(value, fromTitle, toTitle, options) { + var isModified = false, + actualList = false, + list; + if (typeof value !== "string") { + // Not a string. Must be a list. + // clone it, since we may make changes to this possibly + // frozen list. + list = (value || []).slice(0); + actualList = true; + } else { + list = $tw.utils.parseStringArray(value || ""); + } + $tw.utils.each(list,function (title,index) { + if(title === fromTitle) { + list[index] = toTitle; + isModified = true; + } + }); + if (isModified) { + var entry = {name: "list"}; + // It doesn't parse correctly alone, it won't + // parse correctly in any list. + if (!canBeListItem(toTitle)) { + entry.impossible = true; + } else if (actualList) { + entry.output = list; + } else { + entry.output = $tw.utils.stringifyList(list); + } + return entry; + } + return undefined; +}; + +function canBeListItem(value) { + var regexp = /\]\][^\S\xA0]/m; + return !regexp.test(value); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_list.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_list.js.meta new file mode 100644 index 0000000..303a111 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_list.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfieldtype +title: $:/plugins/flibbles/relink/js/fieldtypes/list.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference.js new file mode 100644 index 0000000..40ee949 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference.js @@ -0,0 +1,81 @@ +/*\ +This manages replacing titles that occur inside text references, + +tiddlerTitle +tiddlerTitle!!field +!!field +tiddlerTitle##propertyIndex +\*/ + +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); +var referenceOperators = utils.getModulesByTypeAsHashmap('relinkreference', 'name'); + +exports.name = "reference"; + +exports.report = function(value, callback, options) { + if (value) { + var reference = $tw.utils.parseTextReference(value); + for (var operator in referenceOperators) { + referenceOperators[operator].report(reference, callback, options); + } + } +}; + +exports.relink = function(value, fromTitle, toTitle, options) { + var entry; + if (value) { + var impossible = false; + var modified = false; + var reference = $tw.utils.parseTextReference(value); + for (var operator in referenceOperators) { + var result = referenceOperators[operator].relink(reference, fromTitle, toTitle, options); + if (result) { + if (result.impossible) { + impossible = true; + } + if (result.output) { + modified = true; + reference = result.output; + } + } + } + if (modified) { + if (exports.canBePretty(reference.title)) { + entry = {output: exports.toString(reference)}; + } else { + impossible = true; + } + } + if (impossible) { + entry = entry || {}; + entry.impossible = true; + } + } + return entry; +}; + +/* Same as this.relink, except this has the added constraint that the return + * value must be able to be wrapped in curly braces. + */ +exports.relinkInBraces = function(value, fromTitle, toTitle, options) { + var log = this.relink(value, fromTitle, toTitle, options); + if (log && log.output && log.output.indexOf("}") >= 0) { + delete log.output; + log.impossible = true; + } + return log; +}; + +exports.toString = function(textReference) { + var title = textReference.title || ''; + if (textReference.field) { + return title + "!!" + textReference.field; + } else if (textReference.index) { + return title + "##" + textReference.index; + } + return title; +}; + +exports.canBePretty = function(title) { + return !title || (title.indexOf("!!") < 0 && title.indexOf("##") < 0); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference.js.meta new file mode 100644 index 0000000..1022e97 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfieldtype +title: $:/plugins/flibbles/relink/js/fieldtypes/reference.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference_title.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference_title.js new file mode 100644 index 0000000..c3bc852 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference_title.js @@ -0,0 +1,28 @@ +/*\ + +This handles the title inside of references. + +\*/ + +exports.name = 'title'; + +exports.report = function(reference, callback, options) { + var title = reference.title; + if (title) { + if (reference.field) { + callback(title, '!!' + reference.field); + } else if (reference.index) { + callback(title, '##' + reference.index); + } else { + callback(title); + } + } +}; + +exports.relink = function(reference, fromTitle, toTitle, options) { + if ($tw.utils.trim(reference.title) === fromTitle) { + // preserve user's whitespace + reference.title = reference.title.replace(fromTitle, toTitle); + return {output: reference}; + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference_title.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference_title.js.meta new file mode 100644 index 0000000..6f9effd --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_reference_title.js.meta @@ -0,0 +1,3 @@ +module-type: relinkreference +title: $:/plugins/flibbles/relink/js/fieldtypes/reference/title.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_title.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_title.js new file mode 100644 index 0000000..9081a2c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_title.js @@ -0,0 +1,24 @@ +/*\ +This specifies logic for replacing a single-tiddler field. This is the +simplest kind of field type. One title swaps out for the other. +\*/ + +// NOTE TO MODDERS: If you're making your own field types, the name must be +// alpha characters only. +exports.name = 'title'; + +exports.report = function(value, callback, options) { + callback(value); +}; + +/**Returns undefined if no change was made. + */ +exports.relink = function(value, fromTitle, toTitle, options) { + if (value === fromTitle) { + return {output: toTitle}; + } + return undefined; +}; + +// This is legacy support for when 'title' was known as 'field' +exports.aliases = ['field', 'yes']; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_title.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_title.js.meta new file mode 100644 index 0000000..e1b7aee --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_title.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfieldtype +title: $:/plugins/flibbles/relink/js/fieldtypes/title.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_wikitext.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_wikitext.js new file mode 100644 index 0000000..431cf53 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_wikitext.js @@ -0,0 +1,236 @@ +/*\ +This specifies logic for updating filters to reflect title changes. +\*/ + +exports.name = "wikitext"; + +var type = 'text/vnd.tiddlywiki'; + +var WikiParser = require("$:/core/modules/parsers/wikiparser/wikiparser.js")[type]; +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder.js"); +var utils = require('$:/plugins/flibbles/relink/js/utils'); +var WikitextContext = utils.getContext('wikitext'); + +function collectRules() { + var rules = Object.create(null); + $tw.modules.forEachModuleOfType("relinkwikitextrule", function(title, exports) { + var names = exports.name; + if (typeof names === "string") { + names = [names]; + } + if (names !== undefined) { + for (var i = 0; i < names.length; i++) { + rules[names[i]] = exports; + } + } + }); + return rules; +} + +function WikiWalker(type, text, options) { + this.options = options; + if (!this.relinkMethodsInjected) { + var rules = collectRules(); + $tw.utils.each([this.pragmaRuleClasses, this.blockRuleClasses, this.inlineRuleClasses], function(classList) { + for (var name in classList) { + if (rules[name]) { + delete rules[name].name; + $tw.utils.extend(classList[name].prototype, rules[name]); + } + } + }); + WikiWalker.prototype.relinkMethodsInjected = true; + } + this.context = new WikitextContext(options.settings); + WikiParser.call(this, type, text, options); +}; + +WikiWalker.prototype = Object.create(WikiParser.prototype); + +WikiWalker.prototype.parsePragmas = function() { + var entries = this.tree; + while (true) { + this.skipWhitespace(); + if (this.pos >= this.sourceLength) { + break; + } + var nextMatch = this.findNextMatch(this.pragmaRules, this.pos); + if (!nextMatch || nextMatch.matchIndex !== this.pos) { + break; + } + entries.push.apply(entries, this.handleRule(nextMatch)); + } + return entries; +}; + +WikiWalker.prototype.parseInlineRunUnterminated = function(options) { + var entries = []; + var nextMatch = this.findNextMatch(this.inlineRules, this.pos); + while (this.pos < this.sourceLength && nextMatch) { + if (nextMatch.matchIndex > this.pos) { + this.pos = nextMatch.matchIndex; + } + entries.push.apply(entries, this.handleRule(nextMatch)); + nextMatch = this.findNextMatch(this.inlineRules, this.pos); + } + this.pos = this.sourceLength; + return entries; +}; + +WikiWalker.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) { + var entries = []; + options = options || {}; + terminatorRegExp.lastIndex = this.pos; + var terminatorMatch = terminatorRegExp.exec(this.source); + var inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos); + while(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) { + if (terminatorMatch) { + if (!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) { + this.pos = terminatorMatch.index; + if (options.eatTerminator) { + this.pos += terminatorMatch[0].length; + } + return entries; + } + } + if (inlineRuleMatch) { + if (inlineRuleMatch.matchIndex > this.pos) { + this.pos = inlineRuleMatch.matchIndex; + } + entries.push.apply(entries, this.handleRule(inlineRuleMatch)); + inlineRuleMatch = this.findNextMatch(this.inlineRules, this.pos); + terminatorRegExp.lastIndex = this.pos; + terminatorMatch = terminatorRegExp.exec(this.source); + } + } + this.pos = this.sourceLength; + return entries; + +}; + +WikiWalker.prototype.parseBlock = function(terminatorRegExpString) { + var terminatorRegExp = terminatorRegExpString ? new RegExp("(" + terminatorRegExpString + "|\\r?\\n\\r?\\n)","mg") : /(\r?\n\r?\n)/mg; + this.skipWhitespace(); + if (this.pos >= this.sourceLength) { + return []; + } + var nextMatch = this.findNextMatch(this.blockRules, this.pos); + if(nextMatch && nextMatch.matchIndex === this.pos) { + return this.handleRule(nextMatch); + } + return this.parseInlineRun(terminatorRegExp); +}; + +WikiWalker.prototype.amendRules = function(type, names) { + var only; + WikiParser.prototype.amendRules.call(this, type, names); + if (type === "only") { + only = true; + } else if (type === "except") { + only = false; + } else { + return; + } + if (only !== (names.indexOf("macrodef") >= 0) && this.options.macrodefCanBeDisabled) { + this.options.placeholder = undefined + } + if (only !== (names.indexOf("html") >= 0)) { + this.context.allowWidgets = disabled; + } + if (only !== (names.indexOf("prettylink") >= 0)) { + this.context.allowPrettylinks = disabled; + } +}; + +function disabled() { return false; }; + +/// Reporter + +function WikiReporter(type, text, callback, options) { + this.callback = callback; + WikiWalker.call(this, type, text, options); +}; + +WikiReporter.prototype = Object.create(WikiWalker.prototype); + +WikiReporter.prototype.handleRule = function(ruleInfo) { + if (ruleInfo.rule.report) { + ruleInfo.rule.report(this.source, this.callback, this.options); + } else { + if (ruleInfo.rule.matchRegExp !== undefined) { + this.pos = ruleInfo.rule.matchRegExp.lastIndex; + } else { + // We can't easily determine the end of this + // rule match. We'll "parse" it so that + // parser.pos gets updated, but we throw away + // the results. + ruleInfo.rule.parse(); + } + } +}; + +exports.report = function(wikitext, callback, options) { + // Unfortunately it's the side-effect of creating this that reports. + new WikiReporter(options.type, wikitext, callback, options); +}; + +/// Relinker + +function WikiRelinker(type, text, fromTitle, toTitle, options) { + this.fromTitle = fromTitle; + this.toTitle = toTitle; + this.placeholder = options.placeholder; + if (this.placeholder) { + this.placeholder.parser = this; + } + WikiWalker.call(this, type, text, options); +}; + +WikiRelinker.prototype = Object.create(WikiWalker.prototype); + +WikiRelinker.prototype.handleRule = function(ruleInfo) { + if (ruleInfo.rule.relink) { + var start = ruleInfo.matchIndex; + var newEntry = ruleInfo.rule.relink(this.source, this.fromTitle, this.toTitle, this.options); + if (newEntry !== undefined) { + if (newEntry.output) { + newEntry.start = start; + newEntry.end = this.pos; + } + return [newEntry]; + } + } else { + if (ruleInfo.rule.matchRegExp !== undefined) { + this.pos = ruleInfo.rule.matchRegExp.lastIndex; + } else { + // We can't easily determine the end of this + // rule match. We'll "parse" it so that + // parser.pos gets updated, but we throw away + // the results. + ruleInfo.rule.parse(); + } + } + return []; +}; + +exports.relink = function(wikitext, fromTitle, toTitle, options) { + var parser = new WikiRelinker(options.type, wikitext, fromTitle, toTitle, options), + wikiEntry = undefined; + // Now that we have an array of entries, let's produce the wikiText entry + // containing them all. + if (parser.tree.length > 0) { + var builder = new Rebuilder(wikitext); + wikiEntry = {}; + for (var i = 0; i < parser.tree.length; i++) { + var entry = parser.tree[i]; + if (entry.impossible) { + wikiEntry.impossible = true; + } + if (entry.output) { + builder.add(entry.output, entry.start, entry.end); + } + } + wikiEntry.output = builder.results(); + } + return wikiEntry; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_wikitext.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_wikitext.js.meta new file mode 100644 index 0000000..1016e24 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_fieldtypes_wikitext.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfieldtype +title: $:/plugins/flibbles/relink/js/fieldtypes/wikitext.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_all_relinkable.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_all_relinkable.js new file mode 100644 index 0000000..4d58e8a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_all_relinkable.js @@ -0,0 +1,19 @@ +/*\ +module-type: allfilteroperator + +Filter function for [all[relinkable]]. +Returns all tiddlers subject to relinking. + +\*/ + +(function() { + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +exports.relinkable = function(source,prefix,options) { + return options.wiki.getRelinkableTitles(); +}; + +})(); diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_all_relinkable.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_all_relinkable.js.meta new file mode 100644 index 0000000..caeb286 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_all_relinkable.js.meta @@ -0,0 +1,3 @@ +module-type: allfilteroperator +title: $:/plugins/flibbles/relink/js/filteroperators/all_relinkable.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_orphans.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_orphans.js new file mode 100644 index 0000000..535e127 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_orphans.js @@ -0,0 +1,19 @@ +/*\ +module-type: relinkfilteroperator + +Filter function for [relink:orphans[]]. +Returns all tiddlers which are not referenced in any way + +\*/ + +(function() { + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +exports.orphans = function(source,prefix,options) { + return options.wiki.getRelinkOrphans(); +}; + +})(); diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_orphans.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_orphans.js.meta new file mode 100644 index 0000000..9bc423f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_orphans.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfilteroperator +title: $:/plugins/flibbles/relink/js/filteroperators/orphans.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_references.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_references.js new file mode 100644 index 0000000..53cd1ad --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_references.js @@ -0,0 +1,47 @@ +/*\ +module-type: relinkfilteroperator + +Given a title as an operand, returns all non-shadow tiddlers that have any +sort of updatable reference to it. + +`relink:backreferences[]]` +`relink:references[]]` + +Returns all tiddlers that reference `fromTiddler` somewhere inside them. + +Input is ignored. Maybe it shouldn't do this. +\*/ + +var LinkedList = $tw.utils.LinkedList; + +if (!LinkedList) { + /* If the linked list isn't available, make a quick crappy version. */ + LinkedList = function() {this.array=[];}; + + LinkedList.prototype.pushTop = function(array) { + $tw.utils.pushTop(this.array, array); + }; + + LinkedList.prototype.toArray = function() { + return this.array; + }; +}; + +exports.backreferences = function(source,operator,options) { + var results = new LinkedList(); + source(function(tiddler,title) { + results.pushTop(Object.keys(options.wiki.getTiddlerRelinkBackreferences(title,options))); + }); + return results.toArray(); +}; + +exports.references = function(source,operator,options) { + var results = new LinkedList(); + source(function(tiddler,title) { + var refs = options.wiki.getTiddlerRelinkReferences(title,options); + if (refs) { + results.pushTop(Object.keys(refs)); + } + }); + return results.toArray(); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_references.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_references.js.meta new file mode 100644 index 0000000..9ed6e7c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_references.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfilteroperator +title: $:/plugins/flibbles/relink/js/filteroperators/references.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_relink.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_relink.js new file mode 100644 index 0000000..4bc96d3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_relink.js @@ -0,0 +1,46 @@ +/*\ +module-type: filteroperator + +This filter acts as a namespace for several small, simple filters, such as + +`[relink:impossible[]]` + +\*/ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +var language = require('$:/plugins/flibbles/relink/js/language.js'); + +var relinkFilterOperators; + +function getRelinkFilterOperators() { + if(!relinkFilterOperators) { + relinkFilterOperators = {}; + $tw.modules.applyMethods("relinkfilteroperator", + relinkFilterOperators); + } + return relinkFilterOperators; +} + +exports.relink = function(source,operator,options) { + var suffixPair = parseSuffix(operator.suffix); + var relinkFilterOperator = getRelinkFilterOperators()[suffixPair[0]]; + if (relinkFilterOperator) { + var newOperator = $tw.utils.extend({}, operator); + newOperator.suffix = suffixPair[1]; + return relinkFilterOperator(source, newOperator, options); + } else { + return [language.getString("text/plain", "Error/RelinkFilterOperator", options)]; + } +}; + +function parseSuffix(suffix) { + var index = suffix? suffix.indexOf(":"): -1; + if (index >= 0) { + return [suffix.substr(0, index), suffix.substr(index+1)]; + } else { + return [suffix]; + } +} diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_relink.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_relink.js.meta new file mode 100644 index 0000000..479054e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_relink.js.meta @@ -0,0 +1,3 @@ +module-type: filteroperator +title: $:/plugins/flibbles/relink/js/filteroperators/relink.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_report.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_report.js new file mode 100644 index 0000000..b656063 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_report.js @@ -0,0 +1,24 @@ +/*\ +module-type: relinkfilteroperator + +Given a title as an operand, returns a string for each occurrence of that title +within each input title. + +[[title]] +[relink:report[fromTiddler]]` + +Returns string representation of fromTiddler occurrences in title. +\*/ + +exports.report = function(source,operator,options) { + var fromTitle = operator.operand, + results = []; + if (fromTitle) { + var blurbs = options.wiki.getTiddlerRelinkBackreferences(fromTitle); + source(function(tiddler, title) { + if (blurbs[title]) { + results = results.concat(blurbs[title]); + } + }); + } + return results; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_report.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_report.js.meta new file mode 100644 index 0000000..b4276df --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_report.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfilteroperator +title: $:/plugins/flibbles/relink/js/filteroperators/report.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_signatures.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_signatures.js new file mode 100644 index 0000000..13b470f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_signatures.js @@ -0,0 +1,78 @@ +/*\ +module-type: relinkfilteroperator + +This filter returns all input tiddlers which are a source of +relink configuration. + +`[all[tiddlers+system]relink:source[macros]]` + +\*/ + +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); + +exports.signatures = function(source,operator,options) { + var plugin = operator.operand || null; + var set = getSet(options); + if (plugin === "$:/core") { + // Core doesn't actually have any settings. We mean Relink + plugin = "$:/plugins/flibbles/relink"; + } + var signatures = []; + for (var signature in set) { + var source = set[signature].source; + if (options.wiki.getShadowSource(source) === plugin) { + signatures.push(signature); + } + } + return signatures; +}; + +exports.type = function(source,operator,options) { + var results = []; + var set = getSet(options); + source(function(tiddler, signature) { + if (set[signature]) { + results.push(set[signature].name); + } + }); + return results; +}; + +exports.types = function(source,operator,options) { + var def = utils.getDefaultType(options.wiki); + var types = Object.keys(utils.getTypes()); + types.sort(); + // move default to front + types.sort(function(x,y) { return x === def ? -1 : y === def ? 1 : 0; }); + return types; +}; + +exports.source = function(source,operator,options) { + var results = []; + var category = operator.suffix; + var set = getSet(options); + source(function(tiddler, signature) { + if (set[signature]) { + results.push(set[signature].source); + } + }); + return results; +}; + +function getSet(options) { + return options.wiki.getGlobalCache("relink-signatures", function() { + var config = utils.getWikiContext(options.wiki); + var set = Object.create(null); + var categories = { + attributes: config.getAttributes(), + fields: config.getFields(), + macros: config.getMacros(), + operators: config.getOperators()}; + $tw.utils.each(categories, function(list, category) { + $tw.utils.each(list, function(item, key) { + set[category + "/" + key] = item; + }); + }); + return set; + }); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_signatures.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_signatures.js.meta new file mode 100644 index 0000000..2e61490 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_signatures.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfilteroperator +title: $:/plugins/flibbles/relink/js/filteroperators/signatures.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_splitafter.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_splitafter.js new file mode 100644 index 0000000..b792026 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_splitafter.js @@ -0,0 +1,36 @@ +/*\ +title: $:/core/modules/filters/splitbefore.js +type: application/javascript +module-type: relinkfilteroperator + +Filter operator that splits each result on the last occurance of the specified separator and returns the last bit. + +What does this have to do with relink? Nothing. I need this so I can render +the configuration menu. I //could// use [splitregexp[]], but then I'd be +limited to Tiddlywiki v5.1.20 or later. + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +/* +Export our filter function +*/ +exports.splitafter = function(source,operator,options) { + var results = []; + source(function(tiddler,title) { + var index = title.lastIndexOf(operator.operand); + if(index < 0) { + $tw.utils.pushTop(results,title); + } else { + $tw.utils.pushTop(results,title.substr(index+1)); + } + }); + return results; +}; + +})(); + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_splitafter.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_splitafter.js.meta new file mode 100644 index 0000000..b7c6966 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_splitafter.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfilteroperator +title: $:/plugins/flibbles/relink/js/filteroperators/splitafter.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_wouldchange.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_wouldchange.js new file mode 100644 index 0000000..41e44ac --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_wouldchange.js @@ -0,0 +1,42 @@ +/*\ +module-type: relinkfilteroperator + +wouldchange: Generator. + +Given each input title, it returns all the tiddlers that would be changed if the currentTiddler were to be renamed to the operand. + +impossible: filters all source titles for ones that encounter errors on failure. + +THESE ARE INTERNAL FILTER OPERATOR AND ARE NOT INTENDED TO BE USED BY USERS. + +\*/ + +var language = require("$:/plugins/flibbles/relink/js/language.js"); +var utils = require("$:/plugins/flibbles/relink/js/utils.js"); + +exports.wouldchange = function(source,operator,options) { + var from = options.widget && options.widget.getVariable("currentTiddler"), + to = operator.operand, + indexer = utils.getIndexer(options.wiki), + records = indexer.relinkLookup(from, to, options); + return Object.keys(records); +}; + +exports.impossible = function(source,operator,options) { + var from = options.widget && options.widget.getVariable("currentTiddler"), + to = operator.operand, + results = [], + indexer = utils.getIndexer(options.wiki), + records = indexer.relinkLookup(from, to, options); + source(function(tiddler, title) { + var fields = records[title]; + if (fields) { + for (var field in fields) { + if (fields[field].impossible) { + results.push(title); + } + } + } + }); + return results; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_wouldchange.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_wouldchange.js.meta new file mode 100644 index 0000000..3b4df27 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_filteroperators_wouldchange.js.meta @@ -0,0 +1,3 @@ +module-type: relinkfilteroperator +title: $:/plugins/flibbles/relink/js/filteroperators/wouldchange.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_indexer.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_indexer.js new file mode 100644 index 0000000..5a74d04 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_indexer.js @@ -0,0 +1,196 @@ +/*\ +module-type: indexer + +Indexes results from tiddler reference reports so we don't have to call them +so much. + +\*/ + +"use strict"; + +var utils = require("./utils.js"); +var TiddlerContext = utils.getContext('tiddler'); + +function Indexer(wiki) { + this.wiki = wiki; +}; + +Indexer.prototype.init = function() { + this.rebuild(); +}; + +Indexer.prototype.rebuild = function() { + this.index = null; + this.backIndex = null; + this.contexts = Object.create(null); + this.changedTiddlers = undefined; + this.lastRelinks = Object.create(null); +}; + +Indexer.prototype.update = function(updateDescriptor) { + if (!this.index) { + return; + } + var title; + if (!this.changedTiddlers) { + this.changedTiddlers = Object.create(null); + } + if (updateDescriptor.old.exists) { + title = updateDescriptor.old.tiddler.fields.title; + this.changedTiddlers[title] = {deleted: true}; + this._purge(title); + } + if (updateDescriptor['new'].exists) { + // If its the same tiddler as old, this overrides the 'deleted' entry + title = updateDescriptor['new'].tiddler.fields.title; + this.changedTiddlers[title] = {modified: true}; + } +}; + +Indexer.prototype.lookup = function(title) { + this._upkeep(); + return this.index[title]; +}; + +Indexer.prototype.reverseLookup = function(title) { + this._upkeep(); + return this.backIndex[title] || Object.create(null); +}; + +Indexer.prototype.relinkLookup = function(fromTitle, toTitle, options) { + this._upkeep(); + var shortlist = undefined; + var lastRelink = this.lastRelinks[fromTitle]; + if (lastRelink) { + if (lastRelink.to === toTitle) { + // We need to reintroduce the relink cache, where temporary info + // was stored. + options.cache = lastRelink.cache; + return lastRelink.results; + } + shortlist = buildShortlist(lastRelink); + } + var results = utils.getRelinkResults(this.wiki, fromTitle, toTitle, this.context, shortlist, options); + if (Object.keys(this.lastRelinks).length > 3) { + // The cache got a little large. wipe it clean. + this.lastRelinks = Object.create(null); + } + this.lastRelinks[fromTitle] = { + from: fromTitle, + results: results, + to: toTitle, + cache: options.cache, + maybeRelevant: Object.create(null)}; + return results; +}; + +// Returns all tiddlers that don't have anything referencing it. +Indexer.prototype.orphans = function() { + this._upkeep(); + var results = []; + for (var title in this.index) { + if (!this.backIndex[title] + || Object.keys(this.backIndex[title]).length === 0) { + results.push(title); + } + } + return results; +}; + +Indexer.prototype._upkeep = function() { + var title; + if (this.changedTiddlers && (this.context.changed(this.changedTiddlers) || this.context.parent.changed(this.changedTiddlers))) { + // If global macro context or whitelist context changed, wipe all + this.rebuild(); + } + if (!this.index) { + this.index = Object.create(null); + this.backIndex = Object.create(null); + this.context = utils.getWikiContext(this.wiki); + var titles = this.wiki.getRelinkableTitles(); + for (var i = 0; i < titles.length; i++) { + this._populate(titles[i]); + }; + } else if (this.changedTiddlers) { + // If there are cached changes, we apply them now. + for (title in this.contexts) { + var tiddlerContext = this.contexts[title]; + if (tiddlerContext.changed(this.changedTiddlers)) { + this._purge(title); + this._populate(title); + this._decacheRelink(title); + // Wipe this change, so we don't risk updating it twice. + this.changedTiddlers[title] = undefined; + } + } + for (title in this.changedTiddlers) { + var change = this.changedTiddlers[title]; + if (change && change.modified) { + this._purge(title); + this._populate(title); + this._decacheRelink(title); + } + } + this.changedTiddlers = undefined; + } +}; + +Indexer.prototype._purge = function(title) { + for (var entry in this.index[title]) { + delete this.backIndex[entry][title]; + } + delete this.contexts[title]; + delete this.index[title]; +}; + +// This drops the cached relink results if unsanctioned tiddlers were changed +Indexer.prototype._decacheRelink = function(title) { + var tiddler = this.wiki.getTiddler(title); + for (var from in this.lastRelinks) { + var lastRelink = this.lastRelinks[from]; + if (title !== from + && title !== lastRelink.to + && (!tiddler + || !$tw.utils.hop(tiddler.fields, 'draft.of') // is a draft + || tiddler.fields['draft.of'] !== from// draft of target + || references(this.index[title], from))) { // draft references target + // This is not the draft of the last relinked title, + // so our cached results should be wiped. + lastRelink.maybeRelevant[title] = true; + // Force this cached relink to partially refresh when it comes time + lastRelink.to = undefined; + } + } +}; + +function references(list, item) { + return list !== undefined && list[item]; +}; + +// Compiles a short list of tiddlers we need to check for a rename. +// This list will be much faster to relink again. +function buildShortlist(lastRelink) { + var shortlist = Object.keys(lastRelink.results); + for (var title in lastRelink.maybeRelevant) { + if (lastRelink.results[title] === undefined) { + shortlist.push(title); + } + } + return shortlist; +}; + +Indexer.prototype._populate = function(title) { + // Fetch the report for a title, and populate the indexes with result + var tiddlerContext = new TiddlerContext(this.wiki, this.context, title); + var references = utils.getTiddlerRelinkReferences(this.wiki, title, tiddlerContext); + this.index[title] = references; + if (tiddlerContext.hasImports()) { + this.contexts[title] = tiddlerContext; + } + for (var ref in references) { + this.backIndex[ref] = this.backIndex[ref] || Object.create(null); + this.backIndex[ref][title] = references[ref]; + } +}; + +exports.RelinkIndexer = Indexer; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_indexer.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_indexer.js.meta new file mode 100644 index 0000000..de25be4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_indexer.js.meta @@ -0,0 +1,3 @@ +module-type: indexer +title: $:/plugins/flibbles/relink/js/indexer.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_language.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_language.js new file mode 100644 index 0000000..292ad9d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_language.js @@ -0,0 +1,39 @@ +/*\ +module-type: library + +This handles all logging and alerts Relink emits. + +\*/ + +exports.getString = function(outputType, title, options) { + title = "$:/plugins/flibbles/relink/language/" + title; + return options.wiki.renderTiddler(outputType, title, options); +}; + +var logger; + +exports.warn = function(string, options) { + if (!logger) { + logger = new $tw.utils.Logger("Relinker"); + } + logger.alert(string); +}; + +exports.reportFailures = function(failureList, options) { + var alertString = this.getString("text/html", "Error/ReportFailedRelinks", options) + var alreadyReported = Object.create(null); + var reportList = []; + $tw.utils.each(failureList, function(f) { + if (!alreadyReported[f]) { + if ($tw.browser) { + // This might not make the link if the title is complicated. + // Whatever. + reportList.push("\n* [[" + f + "]]"); + } else { + reportList.push("\n* " + f); + } + alreadyReported[f] = true; + } + }); + this.warn(alertString + "\n" + reportList.join("")); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_language.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_language.js.meta new file mode 100644 index 0000000..762113c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_language.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/flibbles/relink/js/language.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_mangler.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_mangler.js new file mode 100644 index 0000000..67622d6 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_mangler.js @@ -0,0 +1,132 @@ +/*\ +module-type: widget + +Creates a mangler widget for field validation. This isn't meant to be used +by the user. It's only used in Relink configuration. + +\*/ + +var Widget = require("$:/core/modules/widgets/widget.js").widget; +var language = require('$:/plugins/flibbles/relink/js/language.js'); +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); + +var RelinkManglerWidget = function(parseTreeNode,options) { + this.initialise(parseTreeNode,options); + this.addEventListeners([ + {type: "relink-add-field", handler: "handleAddFieldEvent"}, + {type: "relink-add-operator", handler: "handleAddOperatorEvent"}, + {type: "relink-add-parameter", handler: "handleAddParameterEvent"}, + {type: "relink-add-attribute", handler: "handleAddAttributeEvent"} + ]); +}; + +exports.relinkmangler = RelinkManglerWidget; + +RelinkManglerWidget.prototype = new Widget(); + +// This wraps alert so it can be monkeypatched during testing. +RelinkManglerWidget.prototype.alert = function(message) { + alert(message); +}; + +RelinkManglerWidget.prototype.handleAddFieldEvent = function(event) { + var param = event.paramObject; + if (typeof param !== "object" || !param.field) { + // Can't handle it. + return true; + } + var trimmedName = param.field.trim(); + if (!trimmedName) { + // Still can't handle it, but don't warn. + return true; + } + if(!$tw.utils.isValidFieldName(trimmedName)) { + this.alert($tw.language.getString( + "InvalidFieldName", + {variables: + {fieldName: trimmedName} + } + )); + } else { + add(this.wiki, "fields", trimmedName); + } + return true; +}; + +/**Not much validation, even though there are definitely illegal + * operator names. If you input on, Relink won't relink it, but it + * won't choke on it either. Tiddlywiki will... + */ +RelinkManglerWidget.prototype.handleAddOperatorEvent = function(event) { + var param = event.paramObject; + if (param) { + add(this.wiki, "operators", param.operator); + } + return true; +}; + +RelinkManglerWidget.prototype.handleAddParameterEvent = function(event) { + var param = event.paramObject; + if (param && param.macro && param.parameter) { + if (/\s/.test(param.macro.trim())) { + this.alert(language.getString( + "text/plain", + "Error/InvalidMacroName", + { variables: {macroName: param.macro}, + wiki: this.wiki + } + )); + } else if (/[ \/]/.test(param.parameter.trim())) { + this.alert(language.getString( + "text/plain", + "Error/InvalidParameterName", + { variables: {parameterName: param.parameter}, + wiki: this.wiki + } + )); + } else { + add(this.wiki, "macros", param.macro, param.parameter); + } + } + return true; +}; + +RelinkManglerWidget.prototype.handleAddAttributeEvent = function(event) { + var param = event.paramObject; + if (param && param.element && param.attribute) { + if (/[ \/]/.test(param.element.trim())) { + this.alert(language.getString( + "text/plain", + "Error/InvalidElementName", + { variables: {elementName: param.element}, + wiki: this.wiki + } + )); + } else if (/[ \/]/.test(param.attribute.trim())) { + this.alert(language.getString( + "text/plain", + "Error/InvalidAttributeName", + { variables: {attributeName: param.attribute}, + wiki: this.wiki + } + )); + } else { + add(this.wiki, "attributes", param.element, param.attribute); + } + } + return true; +}; + +function add(wiki, category/*, path parts*/) { + var path = "$:/config/flibbles/relink/" + category; + for (var x = 2; x < arguments.length; x++) { + var part = arguments[x]; + // Abort if it's falsy, or only whitespace. Also, trim spaces + if (!part || !(part = part.trim())) { + return; + } + path = path + "/" + part; + } + var def = utils.getDefaultType(wiki); + wiki.addTiddler({title: path, text: def}); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_mangler.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_mangler.js.meta new file mode 100644 index 0000000..b5c0bb9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_mangler.js.meta @@ -0,0 +1,3 @@ +module-type: widget +title: $:/plugins/flibbles/relink/js/mangler.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_fields.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_fields.js new file mode 100644 index 0000000..54587b7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_fields.js @@ -0,0 +1,51 @@ +/*\ + +Handles all fields specified in the plugin configuration. Currently, this +only supports single-value fields. + +\*/ + +/*jslint node: false, browser: true */ +/*global $tw: false */ +"use strict"; + +exports.name = 'fields'; + +exports.report = function(tiddler, callback, options) { + var fields = options.settings.getFields(); + $tw.utils.each(fields, function(handler, field) { + var input = tiddler.fields[field]; + if (input) { + if (field === 'list' && tiddler.fields['plugin-type']) { + // We have a built-in exception here. plugins use their list + // field differently. There's a whole mechanism for what + // they actually point to, but let's not bother with that now + return; + } + handler.report(input, function(title, blurb) { + if (blurb) { + callback(title, field + ': ' + blurb); + } else { + callback(title, field); + } + }, options); + } + }); +}; + +exports.relink = function(tiddler, fromTitle, toTitle, changes, options) { + var fields = options.settings.getFields(); + $tw.utils.each(fields, function(handler, field) { + var input = tiddler.fields[field]; + if (input) { + if (field === 'list' && tiddler.fields['plugin-type']) { + // Same deal as above. Skip. + return; + } + var entry = handler.relink(input, fromTitle, toTitle, options); + if (entry !== undefined) { + changes[field] = entry; + } + } + }); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_fields.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_fields.js.meta new file mode 100644 index 0000000..251f450 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_fields.js.meta @@ -0,0 +1,3 @@ +module-type: relinkoperator +title: $:/plugins/flibbles/relink/js/relinkoperations/fields.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text.js new file mode 100644 index 0000000..73b1d8d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text.js @@ -0,0 +1,58 @@ +/*\ + +Depending on the tiddler type, this will apply textOperators which may +relink titles within the body. + +\*/ + +/*jslint node: false, browser: true */ +/*global $tw: false */ +"use strict"; + +var defaultOperator = "text/vnd.tiddlywiki"; +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); + +exports.name = 'text'; + +var textOperators = utils.getModulesByTypeAsHashmap('relinktext', 'type'); + +// These are deprecated. Don't use them. +var oldTextOperators = utils.getModulesByTypeAsHashmap('relinktextoperator', 'type'); + +// $:/DefaultTiddlers is a tiddler which has type "text/vnd.tiddlywiki", +// but it lies. It doesn't contain wikitext. It contains a filter, so +// we pretend it has a filter type. +// If you want to be able to add more exceptions for your plugin, let me know. +var exceptions = { + "$:/DefaultTiddlers": "text/x-tiddler-filter" +}; + +exports.report = function(tiddler, callback, options) { + var fields = tiddler.fields; + if (fields.text) { + var type = exceptions[fields.title] || fields.type || defaultOperator; + if (textOperators[type]) { + textOperators[type].report(tiddler.fields.text, callback, options); + } else if (oldTextOperators[type]) { + // For the deprecated text operators + oldTextOperators[type].report(tiddler, callback, options); + } + } +}; + +exports.relink = function(tiddler, fromTitle, toTitle, changes, options) { + var fields = tiddler.fields; + if (fields.text) { + var type = exceptions[fields.title] || fields.type || defaultOperator, + entry; + if (textOperators[type]) { + entry = textOperators[type].relink(tiddler.fields.text, fromTitle, toTitle, options); + } else if (oldTextOperators[type]) { + // For the deprecated text operators + entry = oldTextOperators[type].relink(tiddler, fromTitle, toTitle, options); + } + if (entry) { + changes.text = entry; + } + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text.js.meta new file mode 100644 index 0000000..3fd7eba --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text.js.meta @@ -0,0 +1,3 @@ +module-type: relinkoperator +title: $:/plugins/flibbles/relink/js/relinkoperations/text.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_filtertext.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_filtertext.js new file mode 100644 index 0000000..f47590a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_filtertext.js @@ -0,0 +1,17 @@ +/*\ + +This relinks tiddlers which contain filters in their body, as oppose to +wikitext. + +\*/ + +/*jslint node: false, browser: true */ +/*global $tw: false */ +"use strict"; + +var filterHandler = require("$:/plugins/flibbles/relink/js/utils").getType('filter'); + +exports.type = 'text/x-tiddler-filter'; + +exports.report = filterHandler.report; +exports.relink = filterHandler.relink; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_filtertext.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_filtertext.js.meta new file mode 100644 index 0000000..90a0e1d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_filtertext.js.meta @@ -0,0 +1,3 @@ +module-type: relinktext +title: $:/plugins/flibbles/relink/js/relinkoperations/text/filtertext.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_listtext.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_listtext.js new file mode 100644 index 0000000..0eec53f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_listtext.js @@ -0,0 +1,16 @@ +/*\ + +This relinks tiddlers which contain a tiddler list as their body. + +\*/ + +/*jslint node: false, browser: true */ +/*global $tw: false */ +"use strict"; + +var listHandler = require("$:/plugins/flibbles/relink/js/utils").getType('list'); + +exports.type = 'text/x-tiddler-list'; + +exports.report = listHandler.report; +exports.relink = listHandler.relink; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_listtext.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_listtext.js.meta new file mode 100644 index 0000000..023988e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_listtext.js.meta @@ -0,0 +1,3 @@ +module-type: relinktext +title: $:/plugins/flibbles/relink/js/relinkoperations/text/listtext.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_referencetext.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_referencetext.js new file mode 100644 index 0000000..db00a37 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_referencetext.js @@ -0,0 +1,16 @@ +/*\ + +This relinks tiddlers which contain a tiddler reference as their body. + +\*/ + +/*jslint node: false, browser: true */ +/*global $tw: false */ +"use strict"; + +var refHandler = require("$:/plugins/flibbles/relink/js/utils").getType('reference'); + +exports.type = 'text/x-tiddler-reference'; + +exports.report = refHandler.report; +exports.relink = refHandler.relink; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_referencetext.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_referencetext.js.meta new file mode 100644 index 0000000..bbc58f4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_referencetext.js.meta @@ -0,0 +1,3 @@ +module-type: relinktext +title: $:/plugins/flibbles/relink/js/relinkoperations/text/referencetext.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_titletext.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_titletext.js new file mode 100644 index 0000000..c871e52 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_titletext.js @@ -0,0 +1,16 @@ +/*\ + +This relinks tiddlers which contain a single title as their body. + +\*/ + +/*jslint node: false, browser: true */ +/*global $tw: false */ +"use strict"; + +var titleHandler = require("$:/plugins/flibbles/relink/js/utils").getType('title'); + +exports.type = 'text/x-tiddler-title'; + +exports.report = titleHandler.report; +exports.relink = titleHandler.relink; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_titletext.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_titletext.js.meta new file mode 100644 index 0000000..5ebbbd8 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_titletext.js.meta @@ -0,0 +1,3 @@ +module-type: relinktext +title: $:/plugins/flibbles/relink/js/relinkoperations/text/titletext.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext.js new file mode 100644 index 0000000..9511543 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext.js @@ -0,0 +1,31 @@ +/*\ + +Checks for fromTitle in text. If found, sees if it's relevant, +and tries to swap it out if it is. + +\*/ + +/*jslint node: false, browser: true */ +/*global $tw: false */ +"use strict"; + +var Placeholder = require("$:/plugins/flibbles/relink/js/utils/placeholder.js"); +var wikitextHandler = require('$:/plugins/flibbles/relink/js/utils.js').getType('wikitext'); + +exports.type = 'text/vnd.tiddlywiki'; + +exports.report = wikitextHandler.report; + +exports.relink = function(text, fromTitle, toTitle, options) { + var placeholder = new Placeholder(); + var currentOptions = Object.create(options); + currentOptions.placeholder = placeholder; + var entry = wikitextHandler.relink(text, fromTitle, toTitle, currentOptions); + if (entry && entry.output) { + // If there's output, we've also got to prepend any macros + // that the placeholder defined. + var preamble = placeholder.getPreamble(); + entry.output = preamble + entry.output; + } + return entry; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext.js.meta new file mode 100644 index 0000000..585522b --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext.js.meta @@ -0,0 +1,3 @@ +module-type: relinktext +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_code.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_code.js new file mode 100644 index 0000000..3b9502d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_code.js @@ -0,0 +1,35 @@ +/*\ +module-type: relinkwikitextrule + +Handles code blocks. Or rather //doesn't// handle them, since we should +ignore their contents. + +"`` [[Renamed Title]] ``" will remain unchanged. + +\*/ + +exports.name = ["codeinline", "codeblock"]; + +exports.relink = function(text) { + var reEnd; + this.parser.pos = this.matchRegExp.lastIndex; + // I'm lazy. This relink method works for both codeblock and codeinline + if (this.match[0].length > 2) { + // Must be a codeblock + reEnd = /\r?\n```$/mg; + } else { + // Must be a codeinline + reEnd = new RegExp(this.match[1], "mg"); + } + reEnd.lastIndex = this.parser.pos; + var match = reEnd.exec(text); + if (match) { + this.parser.pos = match.index + match[0].length; + } else { + this.parser.pos = this.parser.sourceLength; + } + return undefined; +}; + +// Same thing. Just skip the pos ahead. +exports.report = exports.relink; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_code.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_code.js.meta new file mode 100644 index 0000000..aac6ad7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_code.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/code.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_comment.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_comment.js new file mode 100644 index 0000000..c4c61a9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_comment.js @@ -0,0 +1,18 @@ +/*\ +module-type: relinkwikitextrule + +Handles comment blocks. Or rather //doesn't// handle them, since we should +ignore their contents. + +"" will remain unchanged. + +\*/ + +exports.name = ["commentinline", "commentblock"]; + +exports.relink = function(text) { + this.parser.pos = this.endMatchRegExp.lastIndex; + return undefined; +}; + +exports.report = exports.relink; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_comment.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_comment.js.meta new file mode 100644 index 0000000..cf14d70 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_comment.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/comment.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_filteredtransclude.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_filteredtransclude.js new file mode 100644 index 0000000..e9fc3a4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_filteredtransclude.js @@ -0,0 +1,125 @@ +/*\ +module-type: relinkwikitextrule + +Handles replacement of filtered transclusions in wiki text like, + +{{{ [tag[docs]] }}} +{{{ [tag[docs]] |tooltip}}} +{{{ [tag[docs]] ||TemplateTitle}}} +{{{ [tag[docs]] |tooltip||TemplateTitle}}} +{{{ [tag[docs]] }}width:40;height:50;}.class.class + +This renames both the list and the template field. + +\*/ + +exports.name = ['filteredtranscludeinline', 'filteredtranscludeblock']; + +var filterHandler = require("$:/plugins/flibbles/relink/js/utils").getType('filter'); +var utils = require("./utils.js"); + +exports.report = function(text, callback, options) { + var m = this.match, + filter = m[1], + template = $tw.utils.trim(m[3]), + append = template ? '||' + template + '}}}' : '}}}'; + filterHandler.report(filter, function(title, blurb) { + callback(title, '{{{' + blurb + append); + }, options); + if (template) { + callback(template, '{{{' + $tw.utils.trim(filter).replace(/\r?\n/mg, ' ') + '||}}}'); + } + this.parser.pos = this.matchRegExp.lastIndex; +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var m = this.match, + filter = m[1], + tooltip = m[2], + template = m[3], + style = m[4], + classes = m[5], + parser = this.parser, + entry = {}; + parser.pos = this.matchRegExp.lastIndex; + var modified = false; + + var filterEntry = filterHandler.relink(filter, fromTitle, toTitle, options); + if (filterEntry !== undefined) { + if (filterEntry.output) { + filter = filterEntry.output; + modified = true; + } + if (filterEntry.impossible) { + entry.impossible = true; + } + } + + if ($tw.utils.trim(template) === fromTitle) { + // preserves user-inputted whitespace + template = template.replace(fromTitle, toTitle); + modified = true; + } + if (!modified) { + if (!entry.impossible) { + return undefined; + } + } else { + var output = this.makeFilteredtransclude(this.parser, filter, tooltip, template, style, classes); + if (output === undefined) { + entry.impossible = true; + } else { + // By copying over the ending newline of the original + // text if present, thisrelink method thus works for + // both the inline and block rule + entry.output = output + utils.getEndingNewline(m[0]); + } + } + return entry; +}; + +exports.makeFilteredtransclude = function(parser, filter, tooltip, template, style, classes) { + if (canBePretty(filter) && canBePrettyTemplate(template)) { + return prettyList(filter, tooltip, template, style, classes); + } + if (classes !== undefined) { + classes = classes.split('.').join(' '); + } + return utils.makeWidget(parser, '$list', { + filter: filter, + tooltip: tooltip, + template: template, + style: style || undefined, + itemClass: classes}); +}; + +function prettyList(filter, tooltip, template, style, classes) { + if (tooltip === undefined) { + tooltip = ''; + } else { + tooltip = "|" + tooltip; + } + if (template === undefined) { + template = ''; + } else { + template = "||" + template; + } + if (classes === undefined) { + classes = ''; + } else { + classes = "." + classes; + } + style = style || ''; + return "{{{"+filter+tooltip+template+"}}"+style+"}"+classes; +}; + +function canBePretty(filter) { + return filter.indexOf('|') < 0 && filter.indexOf('}}') < 0; +}; + +function canBePrettyTemplate(template) { + return !template || ( + template.indexOf('|') < 0 + && template.indexOf('{') < 0 + && template.indexOf('}') < 0); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_filteredtransclude.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_filteredtransclude.js.meta new file mode 100644 index 0000000..65830f9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_filteredtransclude.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/filteredtransclude.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html.js new file mode 100644 index 0000000..bc63501 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html.js @@ -0,0 +1,131 @@ +/*\ +module-type: relinkwikitextrule + +Handles replacement in attributes of widgets and html elements +This is configurable to select exactly which attributes of which elements +should be changed. + +<$link to="TiddlerTitle" /> + +\*/ + +var utils = require("./utils.js"); +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder"); +var relinkUtils = require('$:/plugins/flibbles/relink/js/utils.js'); +var htmlOperators = relinkUtils.getModulesByTypeAsHashmap('relinkhtml', 'name'); + +exports.name = "html"; + +exports.report = function(text, callback, options) { + var element = this.nextTag.tag; + var nestedOptions = Object.create(options); + nestedOptions.settings = this.parser.context; + for (var operator in htmlOperators) { + htmlOperators[operator].report(this.nextTag, this.parser, function(title, blurb) { + callback(title, '<' + blurb + ' />'); + }, nestedOptions); + } + this.parse(); +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var widgetEntry = {}; + widgetEntry.attributes = Object.create(null); + widgetEntry.element = this.nextTag.tag; + var elem = this.nextTag; + var changed = false; + var nestedOptions = Object.create(options); + nestedOptions.settings = this.parser.context; + for (var operator in htmlOperators) { + var entry = htmlOperators[operator].relink(this.nextTag, this.parser, fromTitle, toTitle, nestedOptions); + if (entry) { + if (entry.output) { + changed = true; + } + if (entry.impossible) { + widgetEntry.impossible = true; + } + } + } + var tag = this.parse()[0]; + if (tag.children) { + for (var i = 0; i < tag.children.length; i++) { + var child = tag.children[i]; + if (child.output) { + changed = true; + } + if (child.impossible) { + widgetEntry.impossible = true; + } + } + } + if (changed) { + var builder = new Rebuilder(text, elem.start); + for (var attributeName in elem.attributes) { + var attr = elem.attributes[attributeName]; + var quotedValue; + switch (attr.type) { + case 'string': + if (attr.valueless) { + continue; + } + var quote = relinkUtils.determineQuote(text, attr); + quotedValue = utils.wrapAttributeValue(attr.value, quote) + if (quotedValue === undefined) { + // The value was unquotable. We need to make + // a macro in order to replace it. + if (!options.placeholder) { + // but we can't... + widgetEntry.impossible = true; + continue; + } else { + var value = options.placeholder.getPlaceholderFor(attr.value,attr.handler) + quotedValue = "<<"+value+">>"; + } + } + break; + case 'indirect': + quotedValue = "{{" + attr.textReference + "}}"; + break; + case 'filtered': + quotedValue = "{{{" + attr.filter + "}}}"; + break; + case 'macro': + if (attr.output) { + quotedValue = attr.output; + } else { + quotedValue = undefined; + } + // Else If output isn't set, this wasn't ever changed + break; + } + var ptr = attr.start; + ptr = $tw.utils.skipWhiteSpace(text, ptr); + if (attributeName !== attr.name) { + // Ooh, the attribute name changed + builder.add(attr.name, ptr, ptr + attributeName.length); + } + if (quotedValue) { + // We have a new attribute value + ptr += attributeName.length; + ptr = $tw.utils.skipWhiteSpace(text, ptr); + ptr++; // For the equals + ptr = $tw.utils.skipWhiteSpace(text, ptr); + builder.add(quotedValue, ptr, attr.end); + } + } + if (tag.children) { + for (var i = 0; i < tag.children.length; i++) { + var child = tag.children[i]; + if (child.output) { + builder.add(child.output, child.start, child.end); + } + } + } + widgetEntry.output = builder.results(this.parser.pos); + } + if (widgetEntry.output || widgetEntry.impossible) { + return widgetEntry; + } + return undefined; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html.js.meta new file mode 100644 index 0000000..159ce74 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes.js new file mode 100644 index 0000000..b5a5f88 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes.js @@ -0,0 +1,124 @@ +/*\ + +Handles all element attribute values. Most widget relinking happens here. + +\*/ + +var relinkUtils = require('$:/plugins/flibbles/relink/js/utils.js'); +var refHandler = relinkUtils.getType('reference'); +var filterHandler = relinkUtils.getType('filter'); +var macrocall = require("$:/plugins/flibbles/relink/js/utils/macrocall.js"); +var attributeOperators = relinkUtils.getModulesByTypeAsHashmap('relinkhtmlattributes', 'name'); + +exports.name = "attributes"; + +exports.report = function(element, parser, callback, options) { + for (var attributeName in element.attributes) { + var attr = element.attributes[attributeName]; + var nextEql = parser.source.indexOf('=', attr.start); + // This is the rare case of changing tiddler + // "true" to something else when "true" is + // implicit, like <$link to /> We ignore those. + if (nextEql < 0 || nextEql > attr.end) { + continue; + } + var entry; + switch (attr.type) { + case "string": + for (var operatorName in attributeOperators) { + var operator = attributeOperators[operatorName]; + var handler = operator.getHandler(element, attr, options); + if (handler) { + handler.report(attr.value, function(title, blurb) { + if (operator.formBlurb) { + callback(title, operator.formBlurb(element, attr, blurb, options)); + } else if (blurb) { + callback(title, element.tag + ' ' + attributeName + '="' + blurb + '"'); + } else { + callback(title, element.tag + ' ' + attributeName); + } + }, options); + break; + } + } + break; + case "indirect": + entry = refHandler.report(attr.textReference, function(title, blurb) { + callback(title, element.tag + ' ' + attributeName + '={{' + (blurb || '') + '}}'); + }, options); + break; + case "filtered": + entry = filterHandler.report(attr.filter, function(title, blurb) { + callback(title, element.tag + ' ' + attributeName + '={{{' + blurb + '}}}'); + }, options); + break; + case "macro": + var macro = attr.value; + entry = macrocall.report(options.settings, macro, function(title, blurb) { + callback(title, element.tag + ' ' + attributeName + '=<<' + blurb + '>>'); + }, options); + break; + } + } +}; + +exports.relink = function(element, parser, fromTitle, toTitle, options) { + var changed = undefined, impossible = undefined; + for (var attributeName in element.attributes) { + var attr = element.attributes[attributeName]; + var nextEql = parser.source.indexOf('=', attr.start); + // This is the rare case of changing tiddler + // "true" to something else when "true" is + // implicit, like <$link to /> We ignore those. + if (nextEql < 0 || nextEql > attr.end) { + attr.valueless = true; + continue; + } + var entry; + switch (attr.type) { + case 'string': + for (var operatorName in attributeOperators) { + var operator = attributeOperators[operatorName]; + var handler = operator.getHandler(element, attr, options); + if (handler) { + entry = handler.relink(attr.value, fromTitle, toTitle, options); + if (entry && entry.output) { + attr.value = entry.output; + attr.handler = handler.name; + changed = true; + } + break; + } + } + break; + case 'indirect': + entry = refHandler.relinkInBraces(attr.textReference, fromTitle, toTitle, options); + if (entry && entry.output) { + attr.textReference = entry.output; + changed = true; + } + break; + case 'filtered': + entry = filterHandler.relinkInBraces(attr.filter, fromTitle, toTitle, options); + if (entry && entry.output) { + attr.filter = entry.output; + changed = true; + } + break; + case 'macro': + var macro = attr.value; + entry = macrocall.relink(options.settings, macro, parser.source, fromTitle, toTitle, false, options); + if (entry && entry.output) { + attr.output = macrocall.reassemble(entry.output, parser.source, options); + attr.value = entry.output; + changed = true; + } + } + if (entry && entry.impossible) { + impossible = true; + } + } + if (changed || impossible) { + return {output: changed, impossible: impossible}; + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes.js.meta new file mode 100644 index 0000000..9b918eb --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes.js.meta @@ -0,0 +1,3 @@ +module-type: relinkhtml +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html/attributes.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_fields.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_fields.js new file mode 100644 index 0000000..276cd75 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_fields.js @@ -0,0 +1,17 @@ +/*\ +Handles replacement in widgets which allow arbitrary attributes that +correspond to tiddler fields. + +\*/ + +exports.name = "fields"; + +exports.getHandler = function(element, attribute, options) { + var regexp = options.settings.getConfig("fieldattributes")[element.tag]; + if (regexp) { + var results = regexp.exec(attribute.name); + if (results && results[0] === attribute.name) { + return options.settings.getFields()[results[1]]; + } + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_fields.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_fields.js.meta new file mode 100644 index 0000000..b050d69 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_fields.js.meta @@ -0,0 +1,3 @@ +module-type: relinkhtmlattributes +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html/attributes/fields.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_macrocall.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_macrocall.js new file mode 100644 index 0000000..78fe87a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_macrocall.js @@ -0,0 +1,26 @@ +/*\ + +Handles replacement in $macrocall widgets + +\*/ + +exports.name = "macrocall"; + +exports.getHandler = function(element, attribute, options) { + if (element.tag === "$macrocall") { + var nameAttr = element.attributes["$name"]; + if (nameAttr) { + var setting = options.settings.getMacro(nameAttr.value); + return setting && setting[attribute.name]; + } + } +}; + +exports.formBlurb = function(element, attribute, blurb, options) { + var nameAttr = element.attributes["$name"]; + var newBlurb = '<' + nameAttr.value + ' ' + attribute.name; + if (blurb) { + newBlurb += '="' + blurb + '"'; + } + return newBlurb; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_macrocall.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_macrocall.js.meta new file mode 100644 index 0000000..fc40391 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_macrocall.js.meta @@ -0,0 +1,3 @@ +module-type: relinkhtmlattributes +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html/attributes/macrocall.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_whitelist.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_whitelist.js new file mode 100644 index 0000000..e15f879 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_whitelist.js @@ -0,0 +1,12 @@ +/*\ + +Handles replacement of widget attributes that are specified in the whitelist. + +\*/ + +exports.name = "whitelist"; + +exports.getHandler = function(element, attribute, options) { + var setting = options.settings.getAttribute(element.tag); + return setting && setting[attribute.name]; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_whitelist.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_whitelist.js.meta new file mode 100644 index 0000000..25b266f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_attributes_whitelist.js.meta @@ -0,0 +1,3 @@ +module-type: relinkhtmlattributes +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html/attributes/whitelist.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_importvariables.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_importvariables.js new file mode 100644 index 0000000..ffca82b --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_importvariables.js @@ -0,0 +1,59 @@ +/*\ + +Handles state updating required for $importvariables widgets + +\*/ + +var relinkUtils = require('$:/plugins/flibbles/relink/js/utils.js'); +var ImportContext = relinkUtils.getContext('import'); + +exports.name = "importvariables"; + +exports.report = function(element, parser, callback, options) { + if (element.tag === "$importvariables") { + processImport(element, parser, options); + } +}; + +exports.relink = function(element, parser, fromTitle, toTitle, options) { + if (element.tag === "$importvariables") { + processImport(element, parser, options); + } +}; + +function processImport(element, parser, options) { + var importFilterAttr = element.attributes.filter; + if (importFilterAttr) { + processImportFilter(parser, importFilterAttr, options); + } +}; + +// This processes a <$importvariables> filter attribute and adds any new +// variables to our parser. +function processImportFilter(parser, importAttribute, options) { + if (typeof importAttribute === "string") { + // It was changed. Reparse it. It'll be a quoted + // attribute value. Add a dummy attribute name. + importAttribute = $tw.utils.parseAttribute("p="+importAttribute, 0) + } + var context = parser.context; + var importFilter = computeAttribute(context, importAttribute, options); + parser.context = new ImportContext(options.wiki, context, importFilter); +}; + +function computeAttribute(context, attribute, options) { + var value; + if(attribute.type === "filtered") { + var parentWidget = context.widget; + value = options.wiki.filterTiddlers(attribute.filter,parentWidget)[0] || ""; + } else if(attribute.type === "indirect") { + var parentWidget = context.widget; + value = options.wiki.getTextReference(attribute.textReference,"",parentWidget.variables.currentTiddler.value); + } else if(attribute.type === "macro") { + var parentWidget = context.widget; + value = parentWidget.getVariable(attribute.value.name,{params: attribute.value.params}); + } else { // String attribute + value = attribute.value; + } + return value; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_importvariables.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_importvariables.js.meta new file mode 100644 index 0000000..c0adc00 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_html_importvariables.js.meta @@ -0,0 +1,3 @@ +module-type: relinkhtml +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/html/importvariables.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_image.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_image.js new file mode 100644 index 0000000..ea497d4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_image.js @@ -0,0 +1,218 @@ +/*\ +module-type: relinkwikitextrule + +Handles replacement in wiki text inline rules, like, + +[img[tiddler.jpg]] + +[img width=23 height=24 [Description|tiddler.jpg]] + +\*/ + +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder"); +var refHandler = require("$:/plugins/flibbles/relink/js/fieldtypes/reference"); +var filterHandler = require("$:/plugins/flibbles/relink/js/utils").getType('filter'); +var macrocall = require("./macrocall.js"); +var utils = require("./utils.js"); +var relinkUtils = require('$:/plugins/flibbles/relink/js/utils.js'); + +exports.name = "image"; + +exports.report = function(text, callback, options) { + var ptr = this.nextImage.start + 4; //[img + var inSource = false; + for (var attributeName in this.nextImage.attributes) { + var attr = this.nextImage.attributes[attributeName]; + if (attributeName === "source" || attributeName === "tooltip") { + if (inSource) { + ptr = text.indexOf('|', ptr); + } else { + ptr = text.indexOf('[', ptr); + inSource = true; + } + ptr += 1; + } + if (attributeName === "source") { + var tooltip = this.nextImage.attributes.tooltip; + var blurb = '[img[' + (tooltip ? tooltip.value : '') + ']]'; + callback(attr.value, blurb); + ptr = text.indexOf(attr.value, ptr); + ptr = text.indexOf(']]', ptr) + 2; + } else if (attributeName !== "tooltip") { + ptr = reportAttribute(this.parser, attr, callback, options); + } + } + this.parser.pos = ptr; +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var ptr = this.nextImage.start, + builder = new Rebuilder(text, ptr), + makeWidget = false, + skipSource = false, + imageEntry; + if (this.nextImage.attributes.source.value === fromTitle && !canBePretty(toTitle, this.nextImage.attributes.tooltip)) { + if (this.parser.context.allowWidgets() && (utils.wrapAttributeValue(toTitle) || options.placeholder)) { + makeWidget = true; + builder.add("<$image", ptr, ptr+4); + } else { + // We won't be able to make a placeholder to replace + // the source attribute. We check now so we don't + // prematurely convert into a widget. + // Keep going in case other attributes need replacing. + skipSource = true; + } + } + ptr += 4; //[img + var inSource = false; + for (var attributeName in this.nextImage.attributes) { + var attr = this.nextImage.attributes[attributeName]; + if (attributeName === "source" || attributeName === "tooltip") { + if (inSource) { + ptr = text.indexOf('|', ptr); + } else { + ptr = text.indexOf('[', ptr); + inSource = true; + } + if (makeWidget) { + if (" \t\n".indexOf(text[ptr-1]) >= 0) { + builder.add('', ptr, ptr+1); + } else { + builder.add(' ', ptr, ptr+1); + } + } + ptr += 1; + } + if (attributeName === "source") { + ptr = text.indexOf(attr.value, ptr); + if (attr.value === fromTitle) { + if (makeWidget) { + var quotedValue = utils.wrapAttributeValue(toTitle); + if (quotedValue === undefined) { + var key = options.placeholder.getPlaceholderFor(toTitle); + builder.add("source=<<"+key+">>", ptr, ptr+fromTitle.length); + } else { + builder.add("source="+quotedValue, ptr, ptr+fromTitle.length); + } + } else if (!skipSource) { + builder.add(toTitle, ptr, ptr+fromTitle.length); + } else { + builder.impossible = true; + } + } + ptr = text.indexOf(']]', ptr); + if (makeWidget) { + builder.add("/>", ptr, ptr+2); + } + ptr += 2; + } else if (attributeName === "tooltip") { + if (makeWidget) { + ptr = text.indexOf(attr.value, ptr); + var quotedValue = utils.wrapAttributeValue(attr.value); + builder.add("tooltip="+quotedValue, ptr, ptr+attr.value.length); + } + } else { + ptr = relinkAttribute(this.parser, attr, builder, fromTitle, toTitle, options); + } + } + this.parser.pos = ptr; + if (builder.changed() || builder.impossible) { + imageEntry = { + output: builder.results(ptr), + impossible: builder.impossible }; + } + return imageEntry; +}; + +function reportAttribute(parser, attribute, callback, options) { + var text = parser.source; + var ptr = text.indexOf(attribute.name, attribute.start); + var end; + ptr += attribute.name.length; + ptr = text.indexOf('=', ptr); + if (attribute.type === "string") { + ptr = text.indexOf(attribute.value, ptr) + var quote = relinkUtils.determineQuote(text, attribute); + // ignore first quote. We already passed it + end = ptr + quote.length + attribute.value.length; + } else if (attribute.type === "indirect") { + ptr = text.indexOf('{{', ptr); + var end = ptr + attribute.textReference.length + 4; + refHandler.report(attribute.textReference, function(title, blurb) { + callback(title, '[img ' + attribute.name + '={{' + (blurb || '') + '}}]'); + }, options); + } else if (attribute.type === "filtered") { + ptr = text.indexOf('{{{', ptr); + var end = ptr + attribute.filter.length + 6; + filterHandler.report(attribute.filter, function(title, blurb) { + callback(title, '[img ' + attribute.name + '={{{' + blurb + '}}}]'); + }, options); + } else if (attribute.type === "macro") { + ptr = text.indexOf("<<", ptr); + var end = attribute.value.end; + var macro = attribute.value; + oldValue = attribute.value; + macrocall.reportAttribute(parser, macro, function(title, blurb) { + callback(title, '[img ' + attribute.name + '=' + blurb + ']'); + }, options); + } + return end; +}; + +function relinkAttribute(parser, attribute, builder, fromTitle, toTitle, options) { + var text = builder.text; + var ptr = text.indexOf(attribute.name, attribute.start); + var end; + ptr += attribute.name.length; + ptr = text.indexOf('=', ptr); + if (attribute.type === "string") { + ptr = text.indexOf(attribute.value, ptr) + var quote = relinkUtils.determineQuote(text, attribute); + // ignore first quote. We already passed it + end = ptr + quote.length + attribute.value.length; + } else if (attribute.type === "indirect") { + ptr = text.indexOf('{{', ptr); + var end = ptr + attribute.textReference.length + 4; + var ref = refHandler.relinkInBraces(attribute.textReference, fromTitle, toTitle, options); + if (ref) { + if (ref.impossible) { + builder.impossible = true; + } + if (ref.output) { + builder.add("{{"+ref.output+"}}", ptr, end); + } + } + } else if (attribute.type === "filtered") { + ptr = text.indexOf('{{{', ptr); + var end = ptr + attribute.filter.length + 6; + var filter = filterHandler.relinkInBraces(attribute.filter, fromTitle, toTitle, options); + if (filter !== undefined) { + if (filter.impossible) { + builder.impossible = true; + } + if (filter.output) { + var quoted = "{{{"+filter.output+"}}}"; + builder.add(quoted, ptr, end); + } + } + } else if (attribute.type === "macro") { + ptr = text.indexOf("<<", ptr); + var end = attribute.value.end; + var macro = attribute.value; + oldValue = attribute.value; + var macroEntry = macrocall.relinkAttribute(parser, macro, text, fromTitle, toTitle, options); + if (macroEntry !== undefined) { + if (macroEntry.impossible) { + builder.impossible = true; + } + if (macroEntry.output) { + builder.add(macroEntry.output, ptr, end); + } + } + } + return end; +}; + +function canBePretty(title, tooltip) { + return title.indexOf(']') < 0 && (tooltip || title.indexOf('|') < 0); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_image.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_image.js.meta new file mode 100644 index 0000000..7b0e929 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_image.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/image.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_import.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_import.js new file mode 100644 index 0000000..142774c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_import.js @@ -0,0 +1,50 @@ +/*\ +module-type: relinkwikitextrule + +Handles import pragmas + +\import [tag[MyTiddler]] +\*/ + +var utils = require("$:/plugins/flibbles/relink/js/utils.js"); +var filterRelinker = utils.getType('filter'); +var ImportContext = utils.getContext('import'); + +exports.name = "import"; + +exports.report = function(text, callback, options) { + // This moves the pos for us + var parseTree = this.parse(); + var filter = parseTree[0].attributes.filter.value || ''; + filterRelinker.report(filter, function(title, blurb) { + if (blurb) { + blurb = '\\import ' + blurb; + } else { + blurb = '\\import'; + } + callback(title, blurb); + }, options); + // Before we go, we need to actually import the variables + // it's calling for, and any /relink pragma + this.parser.context = new ImportContext(options.wiki, this.parser.context, filter); +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + // In this one case, I'll let the parser parse out the filter and move + // the ptr. + var start = this.matchRegExp.lastIndex, + parseTree = this.parse(), + filter = parseTree[0].attributes.filter.value || '', + entry = filterRelinker.relink(filter, fromTitle, toTitle, options); + if (entry !== undefined && entry.output) { + var newline = text.substring(start+filter.length, this.parser.pos); + filter = entry.output; + entry.output = "\\import " + filter + newline; + } + + // Before we go, we need to actually import the variables + // it's calling for, and any /relink pragma + this.parser.context = new ImportContext(options.wiki, this.parser.context, filter); + + return entry; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_import.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_import.js.meta new file mode 100644 index 0000000..5499bfa --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_import.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/import.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrocall.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrocall.js new file mode 100644 index 0000000..7248dd2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrocall.js @@ -0,0 +1,181 @@ +/*\ +module-type: relinkwikitextrule + +Handles macro calls. + +<> + +\*/ + +var utils = require("./utils.js"); +var relinkUtils = require('$:/plugins/flibbles/relink/js/utils.js'); +var macrocall = require('$:/plugins/flibbles/relink/js/utils/macrocall.js'); +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder"); +var EntryNode = require('$:/plugins/flibbles/relink/js/utils/entry'); + +exports.name = ["macrocallinline", "macrocallblock"]; + +exports.report = function(text, callback, options) { + var macroInfo = getInfoFromRule(this); + this.parser.pos = macroInfo.end; + this.reportAttribute(this.parser, macroInfo, callback, options); +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var macroInfo = getInfoFromRule(this); + var managedMacro = this.parser.context.getMacro(macroInfo.name); + this.parser.pos = macroInfo.end; + if (!managedMacro) { + // We don't manage this macro. Bye. + return undefined; + } + var mayBeWidget = this.parser.context.allowWidgets(); + var names = getParamNames(this.parser, macroInfo.name, macroInfo.params, options); + if (names === undefined) { + // Needed the definition, and couldn't find it. So if a single + // parameter needs to placeholder, just fail. + mayBeWidget = false; + } + var entry = macrocall.relink(this.parser.context, macroInfo, text, fromTitle, toTitle, mayBeWidget, options); + if (entry && entry.output) { + entry.output = macroToString(entry.output, text, names, options); + } + return entry; +}; + +/** Relinks macros that occur as attributes, like <$element attr=<<...>> /> + * Processes the same, except it can't downgrade into a widget if the title + * is complicated. + * Kept for backward compatibility reasons + */ +exports.relinkAttribute = function(parser, macro, text, fromTitle, toTitle, options) { + var entry = macrocall.relink(parser.context, macro, text, fromTitle, toTitle, false, options); + if (entry && entry.output) { + entry.output = macrocall.reassemble(entry.output, text, options); + } + return entry; +}; + +/** As in, report a macrocall invocation that is an html attribute. + * Kept for backward compatibility reasons + */ +exports.reportAttribute = function(parser, macro, callback, options) { + macrocall.report(parser.context, macro, function(title, blurb) { + callback(title, "<<" + blurb + ">>"); + }, options); +}; + +function getInfoFromRule(rule) { + // Get all the details of the match + var macroInfo = rule.nextCall; + if (!macroInfo) { + // rule.match is used "; + } else { + return macrocall.reassemble(macro, text, options); + } +}; + +function getParamNames(parser, macroName, params, options) { + var used = Object.create(null); + var rtn = new Array(params.length); + var anonsExist = false; + var i; + for (i = 0; i < params.length; i++) { + var name = params[i].name; + if (name) { + rtn[i] = name; + used[name] = true; + } else { + anonsExist = true; + } + } + if (anonsExist) { + var def = parser.context.getMacroDefinition(macroName); + if (def === undefined) { + // If there are anonymous parameters, and we can't + // find the definition, then we can't hope to create + // a widget. + return undefined; + } + var defParams = def.params || []; + var defPtr = 0; + for (i = 0; i < params.length; i++) { + if (rtn[i] === undefined) { + while(defPtr < defParams.length && used[defParams[defPtr].name]) { + defPtr++; + } + if (defPtr >= defParams.length) { + break; + } + rtn[i] = defParams[defPtr].name; + used[defParams[defPtr].name] = true; + } + } + } + return rtn; +}; + +function parseParams(paramString, pos) { + var params = [], + reParam = /\s*(?:([A-Za-z0-9\-_]+)\s*:)?(?:\s*(?:"""([\s\S]*?)"""|"([^"]*)"|'([^']*)'|\[\[([^\]]*)\]\]|([^"'\s]+)))/mg, + paramMatch = reParam.exec(paramString); + while(paramMatch) { + // Process this parameter + var paramInfo = { }; + // We need to find the group match that isn't undefined. + for (var i = 2; i <= 6; i++) { + if (paramMatch[i] !== undefined) { + paramInfo.value = paramMatch[i]; + break; + } + } + if(paramMatch[1]) { + paramInfo.name = paramMatch[1]; + } + //paramInfo.start = pos; + paramInfo.end = reParam.lastIndex + pos; + params.push(paramInfo); + // Find the next match + paramMatch = reParam.exec(paramString); + } + return params; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrocall.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrocall.js.meta new file mode 100644 index 0000000..e539c43 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrocall.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrocall.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrodef.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrodef.js new file mode 100644 index 0000000..e59b14c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrodef.js @@ -0,0 +1,103 @@ +/*\ +module-type: relinkwikitextrule + +Handles pragma macro definitions. Except we only update placeholder macros +that we may have previously install. + +\define relink-?() Tough title + +\*/ + +var utils = require("$:/plugins/flibbles/relink/js/utils"); +var VariableContext = utils.getContext('variable'); + +exports.name = "macrodef"; + +exports.report = function(text, callback, options) { + var setParseTreeNode = this.parse(), + m = this.match, + name = m[1]; + this.parser.context = new VariableContext(this.parser.context, setParseTreeNode[0]); + // Parse set the pos pointer, but we don't want to skip the macro body. + this.parser.pos = this.matchRegExp.lastIndex; + var endMatch = getBodyMatch(text, this.parser.pos, m[3]); + if (endMatch) { + var value = endMatch[2], + handler = utils.getType(getActiveType(name, m[2]) || 'wikitext'); + if (handler) { + var entry = handler.report(value, function(title, blurb) { + var macroStr = '\\define ' + name + '()'; + if (blurb) { + macroStr += ' ' + blurb; + } + callback(title, macroStr); + }, options); + } + this.parser.pos = endMatch.index + endMatch[0].length; + } +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var setParseTreeNode = this.parse(), + entry, + m = this.match, + name = m[1], + params = m[2], + multiline = m[3]; + this.parser.context = new VariableContext(this.parser.context, setParseTreeNode[0]); + // Parse set the pos pointer, but we don't want to skip the macro body. + this.parser.pos = this.matchRegExp.lastIndex; + var endMatch = getBodyMatch(text, this.parser.pos, multiline); + if (endMatch) { + var value = endMatch[2], + type = getActiveType(name, params), + handler = utils.getType(type || 'wikitext'); + if (handler) { + // If this is an active relink placeholder, then let's remember it + if (type && options.placeholder) { + options.placeholder.registerExisting(name, value); + } + // Relink the contents + entry = handler.relink(value, fromTitle, toTitle, options); + if (entry && entry.output) { + entry.output = m[0] + endMatch[1] + entry.output + endMatch[0]; + } + } + this.parser.pos = endMatch.index + endMatch[0].length; + } + return entry; +}; + +// Return another match for the body, but tooled uniquely +// m[1] = whitespace before body +// m[2] = body +// m.index + m[0].length -> end of match +function getBodyMatch(text, pos, isMultiline) { + var whitespace, + valueRegExp; + if (isMultiline) { + valueRegExp = /\r?\n\\end[^\S\n\r]*(?:\r?\n|$)/mg; + whitespace = ''; + } else { + valueRegExp = /(?:\r?\n|$)/mg; + var newPos = $tw.utils.skipWhiteSpace(text, pos); + whitespace = text.substring(pos, newPos); + pos = newPos; + } + valueRegExp.lastIndex = pos; + var match = valueRegExp.exec(text); + if (match) { + match[1] = whitespace; + match[2] = text.substring(pos, match.index); + } + return match; +}; + +function getActiveType(macroName, parameters) { + var placeholder = /^relink-(?:(\w+)-)?\d+$/.exec(macroName); + // normal macro or special placeholder? + if (placeholder && parameters === '') { + return placeholder[1] || 'title'; + } + return undefined; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrodef.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrodef.js.meta new file mode 100644 index 0000000..0f7f600 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_macrodef.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/macrodef.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_prettylink.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_prettylink.js new file mode 100644 index 0000000..87cf5f2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_prettylink.js @@ -0,0 +1,40 @@ +/*\ +module-type: relinkwikitextrule + +Handles replacement in wiki text inline rules, like, + +[[Introduction]] + +[[link description|TiddlerTitle]] + +\*/ + +var utils = require("./utils.js"); + +exports.name = "prettylink"; + +exports.report = function(text, callback, options) { + var text = this.match[1], + link = this.match[2] || text; + if (!$tw.utils.isLinkExternal(link)) { + callback(link, '[[' + text + ']]'); + } + this.parser.pos = this.matchRegExp.lastIndex; +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + this.parser.pos = this.matchRegExp.lastIndex; + var caption, m = this.match; + if (m[2] === fromTitle) { + // format is [[caption|MyTiddler]] + caption = m[1]; + } else if (m[2] !== undefined || m[1] !== fromTitle) { + // format is [[MyTiddler]], and it doesn't match + return undefined; + } + var entry = { output: utils.makePrettylink(this.parser, toTitle, caption) }; + if (entry.output === undefined) { + entry.impossible = true; + } + return entry; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_prettylink.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_prettylink.js.meta new file mode 100644 index 0000000..ca4608e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_prettylink.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/prettylink.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_quoteblock.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_quoteblock.js new file mode 100644 index 0000000..4a5567d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_quoteblock.js @@ -0,0 +1,85 @@ +/*\ +module-type: relinkwikitextrule + +Handles the quote blocks, as in: + +<<< +... +<<< + +\*/ + +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder"); + +exports.name = "quoteblock"; + +exports.type = {block: true}; + +exports.report = function(text, callback, options) { + var reEndString = "^" + this.match[1] + "(?!<)"; + this.parser.pos = this.matchRegExp.lastIndex; + + this.parser.parseClasses(); + this.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true}); + + // Parse the optional cite + reportCite(this.parser, this.match[1]); + // Now parse the body of the quote + this.parser.parseBlocks(reEndString); + if (this.match) { + // Now parse the closing cite + reportCite(this.parser, this.match[1]); + } +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var reEndString = "^" + this.match[1] + "(?!<)"; + var builder = new Rebuilder(text, this.parser.pos); + var entry; + this.parser.pos = this.matchRegExp.lastIndex; + + this.parser.parseClasses(); + this.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true}); + + // Parse the optional cite + mergeRelinks(builder, this.parser.parseInlineRun(/(\r?\n)/mg)); + // Now parse the body of the quote + mergeRelinks(builder, this.parser.parseBlocks(reEndString)); + // Now parse the closing cite + mergeRelinks(builder, this.parser.parseInlineRun(/(\r?\n)/mg)); + + if (builder.changed() || builder.impossible) { + entry = {}; + entry.output = builder.results(this.parser.pos); + if (builder.impossible) { + entry.impossible = true; + } + } + return entry; +}; + +function reportCite(parser, delimeter) { + var callback = parser.callback; + try { + parser.callback = function(title, blurb) { + return callback(title, delimeter + " " + blurb); + }; + parser.parseInlineRun(/(\r?\n)/mg); + } finally { + parser.callback = callback; + } +}; + +function mergeRelinks(builder, output) { + if (output.length > 0) { + for (var i = 0; i < output.length; i++) { + var o = output[i]; + if (o.output) { + builder.add(o.output, o.start, o.end); + } + if (o.impossible) { + builder.impossible = true; + } + } + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_quoteblock.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_quoteblock.js.meta new file mode 100644 index 0000000..b4c8e40 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_quoteblock.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/quoteblock.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_relink.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_relink.js new file mode 100644 index 0000000..af5d098 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_relink.js @@ -0,0 +1,94 @@ +/*\ +module-type: wikirule + +This defines the \relink inline pragma used to locally declare +relink rules for macros. + +It takes care of providing its own relink and report rules. + +\*/ + +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); +var language = require('$:/plugins/flibbles/relink/js/language.js'); + +exports.name = "relink"; +exports.types = {pragma: true}; + +exports.init = function(parser) { + this.parser = parser; + this.matchRegExp = /^\\relink[^\S\n]+([^(\s]+)([^\r\n]*)(\r?\n)?/mg; +}; + +/**This makes the widget that the macro library will later parse to determine + * new macro relink state. + * + * It's a <$set> widget so it can appear BEFORE \define pragma and not + * prevent that pragma from being scooped up by importvariables. + * (importvariables stops scooping as soon as it sees something besides $set) */ +exports.parse = function() { + this.parser.pos = this.matchRegExp.lastIndex; + var macroName; + var macroParams = Object.create(null); + var error = undefined; + var rtn = []; + var self = this; + this.interpretSettings(function(macro, parameter, type) { + macroName = macro; + if (type && !utils.getType(type)) { + error = language.getString("text/plain", "Error/UnrecognizedType", + {variables: {type: type}, wiki: self.parser.wiki}); + } + macroParams[parameter] = type; + }); + // If no macroname. Return nothing, this rule will be ignored by parsers + if (macroName) { + var relink = Object.create(null); + relink[macroName] = macroParams; + rtn.push({ + type: "set", + attributes: { + name: {type: "string", value: ""} + }, + children: [], + isMacroDefinition: true, + relink: relink}); + } + if (error) { + rtn.push({ + type: "element", tag: "span", attributes: { + "class": { + type: "string", + value: "tc-error tc-relink-error" + } + }, children: [ + {type: "text", text: error} + ]}); + } + return rtn; +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var parser = this.parser; + var currentTiddler = parser.context.widget.variables.currentTiddler.value; + parser.pos = this.matchRegExp.lastIndex; + this.interpretSettings(function(macro, parameter, type) { + options.settings.addSetting(parser.wiki, macro, parameter, type, currentTiddler); + }); + // Return nothing, because this rule is ignored by the parser + return undefined; +}; + +exports.interpretSettings = function(block) { + var paramString = this.match[2]; + if (paramString !== "") { + var macro = this.match[1]; + var reParam = /\s*([A-Za-z0-9\-_]+)(?:\s*:\s*([^\s]+))?/mg; + var paramMatch = reParam.exec(paramString); + while (paramMatch) { + var parameter = paramMatch[1]; + var type = paramMatch[2]; + block(macro, parameter, type); + paramMatch = reParam.exec(paramString); + } + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_relink.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_relink.js.meta new file mode 100644 index 0000000..2f31e0c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_relink.js.meta @@ -0,0 +1,3 @@ +module-type: wikirule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/relink.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_rules.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_rules.js new file mode 100644 index 0000000..15a5b85 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_rules.js @@ -0,0 +1,22 @@ +/*\ +module-type: relinkwikitextrule + +Parses and acknowledges any pragma rules a tiddler has. + +\rules except html wikilink + +\*/ + +exports.name = "rules"; + +/**This is all we have to do. The rules rule doesn't parse. It just amends + * the rules, which is exactly what I want it to do too. + * It also takes care of moving the pos pointer forward. + */ +exports.relink = function() { + this.parse(); + return undefined; +}; + +// Same deal +exports.report = exports.relink; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_rules.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_rules.js.meta new file mode 100644 index 0000000..09cc965 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_rules.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/rules.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_syslink.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_syslink.js new file mode 100644 index 0000000..73cf42a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_syslink.js @@ -0,0 +1,45 @@ +/*\ +module-type: relinkwikitextrule + +Handles sys links + +$:/sys/link + +but not: + +~$:/sys/link + +\*/ + +var utils = require("./utils.js"); + +exports.name = "syslink"; + +exports.report = function(text, callback, options) { + var title = this.match[0]; + this.parser.pos = this.matchRegExp.lastIndex; + if (title[0] !== "~") { + callback(title, '~' + title); + } +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var entry = undefined; + this.parser.pos = this.matchRegExp.lastIndex; + if (this.match[0] === fromTitle && this.match[0][0] !== "~") { + entry = {output: this.makeSyslink(toTitle, options)}; + if (entry.output === undefined) { + entry.impossible = true; + } + } + return entry; +}; + +exports.makeSyslink = function(title, options) { + var match = title.match(this.matchRegExp); + if (match && match[0] === title && title[0] !== "~") { + return title; + } else { + return utils.makePrettylink(this.parser, title); + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_syslink.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_syslink.js.meta new file mode 100644 index 0000000..ffa93f7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_syslink.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/syslink.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_table.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_table.js new file mode 100644 index 0000000..cf4b324 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_table.js @@ -0,0 +1,175 @@ +/*\ +module-type: relinkwikitextrule + +Handles tables. Or rather handles the cells inside the tables, since tables +themselves aren't relinked. + +\*/ + +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder"); + +exports.name = "table"; + +exports.types = {block: true}; + +exports.report = function(text, callback, options) { + var rowRegExp = /^\|([^\n]*)\|([fhck]?)\r?(?:\n|$)/mg, + rowTermRegExp = /(\|(?:[fhck]?)\r?(?:\n|$))/mg; + // Match the row + rowRegExp.lastIndex = this.parser.pos; + var rowMatch = rowRegExp.exec(this.parser.source); + while(rowMatch && rowMatch.index === this.parser.pos) { + var rowType = rowMatch[2]; + // Check if it is a class assignment + if(rowType === "k") { + this.parser.pos = rowMatch.index + rowMatch[0].length; + } else if(rowType === "c") { + // Is this a caption row? + // If so, move past the opening `|` of the row + this.parser.pos++; + // Parse the caption + var oldCallback = this.parser.callback; + this.parser.callback = function(title, blurb) { + callback(title, '|' + blurb + '|c'); + }; + try { + this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true}); + } finally { + this.parser.callback = oldCallback; + } + } else { + // Process the row + processRow.call(this, rowType, callback); + this.parser.pos = rowMatch.index + rowMatch[0].length; + } + rowMatch = rowRegExp.exec(this.parser.source); + } +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var rowRegExp = /^\|([^\n]*)\|([fhck]?)\r?(?:\n|$)/mg, + rowTermRegExp = /(\|(?:[fhck]?)\r?(?:\n|$))/mg, + builder = new Rebuilder(text, this.parser.pos), + impossible = false, + output, + entry; + // Match the row + rowRegExp.lastIndex = this.parser.pos; + var rowMatch = rowRegExp.exec(this.parser.source); + while(rowMatch && rowMatch.index === this.parser.pos) { + var rowType = rowMatch[2]; + // Check if it is a class assignment + if(rowType === "k") { + this.parser.pos = rowMatch.index + rowMatch[0].length; + } else { + // Is this a caption row? + if(rowType === "c") { + // If so, move past the opening `|` of the row + this.parser.pos++; + // Parse the caption + output = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true}); + } else { + // Process the row + output = processRow.call(this); + this.parser.pos = rowMatch.index + rowMatch[0].length; + } + if (output.length > 0) { + for (var i = 0; i < output.length; i++) { + var o = output[i]; + if (o.output) { + builder.add(o.output, o.start, o.end); + } + if (o.impossible) { + impossible = true; + } + } + } + } + rowMatch = rowRegExp.exec(this.parser.source); + } + if (builder.changed() || impossible) { + entry = {} + entry.output = builder.results(this.parser.pos); + if (impossible) { + entry.impossible = true; + } + } + return entry; +}; + +var processRow = function(rowType, callback) { + var cellRegExp = /(?:\|([^\n\|]*)\|)|(\|[fhck]?\r?(?:\n|$))/mg, + cellTermRegExp = /((?:\x20*)\|)/mg, + children = []; + // Match a single cell + cellRegExp.lastIndex = this.parser.pos; + var cellMatch = cellRegExp.exec(this.parser.source); + while(cellMatch && cellMatch.index === this.parser.pos) { + if(cellMatch[2]) { + // End of row + this.parser.pos = cellRegExp.lastIndex - 1; + break; + } + switch (cellMatch[1]) { + case '~': + case '>': + case '<': + // Move to just before the `|` terminating the cell + this.parser.pos = cellRegExp.lastIndex - 1; + break; + default: + // For ordinary cells, step beyond the opening `|` + this.parser.pos++; + // Look for a space at the start of the cell + var spaceLeft = false; + var prefix = '|'; + var suffix = '|'; + if(this.parser.source.substr(this.parser.pos).search(/^\^([^\^]|\^\^)/) === 0) { + prefix += '^'; + this.parser.pos++; + } else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) { + prefix += ','; + this.parser.pos++; + } + var chr = this.parser.source.substr(this.parser.pos,1); + while(chr === " ") { + spaceLeft = true; + this.parser.pos++; + chr = this.parser.source.substr(this.parser.pos,1); + } + if (spaceLeft) { + prefix += ' '; + } + // Check whether this is a heading cell + if(chr === "!") { + this.parser.pos++; + prefix += '!'; + } + // Parse the cell + var oldCallback = this.parser.callback; + var reports = []; + this.parser.callback = function(title, blurb) { + reports.push(title, blurb); + }; + try { + var output = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true}); + if (output.length > 0) { + children.push(output[0]); + } + if(this.parser.source.substr(this.parser.pos - 2,1) === " ") { // spaceRight + suffix = ' |'; + } + for (var i = 0; i < reports.length; i += 2) { + callback(reports[i], prefix + reports[i+1] + suffix + rowType); + } + } finally { + this.parser.callback = oldCallback; + } + // Move back to the closing `|` + this.parser.pos--; + } + cellRegExp.lastIndex = this.parser.pos; + cellMatch = cellRegExp.exec(this.parser.source); + } + return children; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_table.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_table.js.meta new file mode 100644 index 0000000..e95b80f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_table.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/table.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_transclude.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_transclude.js new file mode 100644 index 0000000..a5c861a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_transclude.js @@ -0,0 +1,156 @@ +/*\ +module-type: relinkwikitextrule + +Handles replacement of transclusions in wiki text like, + +{{RenamedTiddler}} +{{RenamedTiddler||TemplateTitle}} + +This renames both the tiddler and the template field. + +\*/ + +var refHandler = require("$:/plugins/flibbles/relink/js/fieldtypes/reference"); +var utils = require("./utils.js"); +var relinkUtils = require('$:/plugins/flibbles/relink/js/utils.js'); +var referenceOperators = relinkUtils.getModulesByTypeAsHashmap('relinkreference', 'name'); + +exports.name = ['transcludeinline', 'transcludeblock']; + +exports.report = function(text, callback, options) { + var m = this.match, + refString = $tw.utils.trim(m[1]), + ref = parseTextReference(refString); + template = $tw.utils.trim(m[2]); + for (var operator in referenceOperators) { + referenceOperators[operator].report(ref, function(title, blurb) { + blurb = blurb || ""; + if (template) { + blurb += '||' + template; + } + callback(title, "{{" + blurb + "}}"); + }, options); + } + if (template) { + callback(template, '{{' + refString + '||}}'); + } + this.parser.pos = this.matchRegExp.lastIndex; +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var m = this.match, + reference = parseTextReference(m[1]), + template = m[2], + entry = undefined, + impossible = false, + modified = false; + this.parser.pos = this.matchRegExp.lastIndex; + for (var operator in referenceOperators) { + var result = referenceOperators[operator].relink(reference, fromTitle, toTitle, options); + if (result !== undefined) { + if (result.impossible) { + impossible = true; + } + if (result.output) { + reference = result.output; + modified = true + } + } + } + if ($tw.utils.trim(template) === fromTitle) { + template = template.replace(fromTitle, toTitle); + modified = true; + } + if (modified) { + var output = this.makeTransclude(this.parser, reference, template); + if (output) { + // Adding any newline that might have existed is + // what allows this relink method to work for both + // the block and inline filter wikitext rule. + entry = {output: output + utils.getEndingNewline(m[0])}; + } else { + impossible = true; + } + } + if (impossible) { + entry = entry || {}; + entry.impossible = true; + } + return entry; +}; + +// I have my own because the core one is deficient for my needs. +function parseTextReference(textRef) { + // Separate out the title, field name and/or JSON indices + var reTextRef = /^([\w\W]*?)(?:!!(\S[\w\W]*)|##(\S[\w\W]*))?$/g; + match = reTextRef.exec(textRef), + result = {}; + if(match) { + // Return the parts + result.title = match[1]; + result.field = match[2]; + result.index = match[3]; + } else { + // If we couldn't parse it + result.title = textRef + } + return result; +}; + +/** This converts a reference and a template into a string representation + * of a transclude. + */ +exports.makeTransclude = function(parser, reference, template) { + var rtn; + if (!canBePrettyTemplate(template)) { + var widget = utils.makeWidget(parser, '$transclude', { + tiddler: $tw.utils.trim(template), + field: reference.field, + index: reference.index}); + if (reference.title && widget !== undefined) { + rtn = utils.makeWidget(parser, '$tiddler', {tiddler: $tw.utils.trim(reference.title)}, widget); + } else { + rtn = widget; + } + } else if (!canBePrettyTitle(reference.title) || !canBePrettyField(reference.field)) { + // This block and the next account for the 1%... + var transclude; + if (canBePrettyField(reference.field)) { + var reducedRef = {field: reference.field, index: reference.index}; + transclude = prettyTransclude(reducedRef, template); + } else { + transclude = utils.makeWidget(parser, "$transclude", {tiddler: $tw.utils.trim(reference.title), field: reference.field}); + } + rtn = utils.makeWidget(parser, '$tiddler', {tiddler: $tw.utils.trim(reference.title)}, transclude); + } else { + // This block takes care of 99% of all cases + rtn = prettyTransclude(reference, template); + } + return rtn; +}; + +function canBePrettyTitle(value) { + return refHandler.canBePretty(value) && canBePrettyTemplate(value); +}; + +function canBePrettyField(value) { + return !/[\|\}\{]/.test(value); +}; + +function canBePrettyTemplate(value) { + return !value || (value.indexOf('}') < 0 && value.indexOf('{') < 0 && value.indexOf('|') < 0); +}; + +function prettyTransclude(textReference, template) { + if (typeof textReference !== "string") { + textReference = refHandler.toString(textReference); + } + if (!textReference) { + textReference = ''; + } + if (template !== undefined) { + return "{{"+textReference+"||"+template+"}}"; + } else { + return "{{"+textReference+"}}"; + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_transclude.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_transclude.js.meta new file mode 100644 index 0000000..3c40b7b --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_transclude.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/transclude.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_typedblock.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_typedblock.js new file mode 100644 index 0000000..617eff3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_typedblock.js @@ -0,0 +1,90 @@ +/*\ +module-type: relinkwikitextrule + +Handles the typeed blocks, as in: + +$$$text/vnd.tiddlywiki>text/html +... +$$$ + +\*/ + +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder"); +var language = require('$:/plugins/flibbles/relink/js/language.js'); + +exports.name = "typedblock"; + +exports.types = {block: true}; + +var textOperators; +var oldTextOperators; + +function getTextOperator(type, options) { + var operator; + if (textOperators === undefined) { + textOperators = utils.getModulesByTypeAsHashmap('relinktext', 'type'); + oldTextOperators = utils.getModulesByTypeAsHashmap('relinktextoperator', 'type'); + } + operator = textOperators[type]; + if (operator) { + return operator; + } + var info = $tw.utils.getFileExtensionInfo(type); + if (info && textOperators[info.type]) { + return textOperators[info.type]; + } + var old = oldTextOperators[type] || (info && oldTextOperators[info.type]); + if (old) { + var vars = Object.create(options); + vars.variables = {type: old.type, keyword: type}; + var warnString = language.getString("text/html", "Warning/OldRelinkTextOperator", vars) + language.warn(warnString); + oldTextOperators[type] = undefined; + } +}; + +function getText() { + var reEnd = /\r?\n\$\$\$\r?(?:\n|$)/mg; + // Move past the match + this.parser.pos = this.matchRegExp.lastIndex; + // Look for the end of the block + reEnd.lastIndex = this.parser.pos; + var match = reEnd.exec(this.parser.source), + text; + // Process the block + if(match) { + text = this.parser.source.substring(this.parser.pos,match.index); + this.parser.pos = match.index + match[0].length; + } else { + text = this.parser.source.substr(this.parser.pos); + this.parser.pos = this.parser.sourceLength; + } + return text; +}; + +exports.report = function(text, callback, options) { + var innerText = getText.call(this), + operator = getTextOperator(this.match[1], options); + if (operator) { + return operator.report(innerText, callback, options); + } +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var start = this.parser.pos, + innerStart = this.matchRegExp.lastIndex, + innerText = getText.call(this), + operator = getTextOperator(this.match[1], options); + if (operator) { + var innerOptions = Object.create(options); + innerOptions.settings = this.parser.context; + var results = operator.relink(innerText, fromTitle, toTitle, innerOptions); + if (results && results.output) { + var builder = new Rebuilder(text, start); + builder.add(results.output, innerStart, innerStart + innerText.length); + results.output = builder.results(this.parser.pos); + } + return results; + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_typedblock.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_typedblock.js.meta new file mode 100644 index 0000000..c8ed8f2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_typedblock.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/typedblock.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_utils.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_utils.js new file mode 100644 index 0000000..3e52cfb --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_utils.js @@ -0,0 +1,166 @@ +/*\ +module-type: library + +Utility methods for the wikitext relink rules. + +\*/ + +exports.makeWidget = function(parser, tag, attributes, body) { + if (!parser.context.allowWidgets()) { + return undefined; + } + var string = '<' + tag; + for (var attr in attributes) { + var value = attributes[attr]; + if (value !== undefined) { + var quoted = exports.wrapAttributeValue(value); + if (!quoted) { + if (!parser.options.placeholder) { + // It's not possible to make this widget + return undefined; + } + var category = getPlaceholderCategory(parser.context, tag, attr); + quoted = '<<' + parser.placeholder.getPlaceholderFor(value, category) + '>>'; + } + string += ' ' + attr + '=' + quoted; + } + } + if (body !== undefined) { + string += '>' + body + ''; + } else { + string += '/>'; + } + return string; +}; + +function getPlaceholderCategory(context, tag, attribute) { + var element = context.getAttribute(tag); + var rule = element && element[attribute]; + // titles go to relink-\d + // plaintext goes to relink-plaintext-\d + // because titles are way more common, also legacy + if (rule === undefined) { + return 'plaintext'; + } else { + rule = rule.fields.text; + if (rule === 'title') { + rule = undefined; + } + return rule; + } +}; + +exports.makePrettylink = function(parser, title, caption) { + var output; + if (parser.context.allowPrettylinks() && canBePrettylink(title, caption)) { + if (caption !== undefined) { + output = "[[" + caption + "|" + title + "]]"; + } else { + output = "[[" + title + "]]"; + } + } else if (caption !== undefined) { + var safeCaption = sanitizeCaption(parser, caption); + if (safeCaption !== undefined) { + output = exports.makeWidget(parser, '$link', {to: title}, safeCaption); + } + } else if (exports.shorthandPrettylinksSupported(parser.wiki)) { + output = exports.makeWidget(parser, '$link', {to: title}); + } else if (parser.context.allowWidgets() && parser.placeholder) { + // If we don't have a caption, we must resort to + // placeholders anyway to prevent link/caption desync + // from later relinks. + // It doesn't matter whether the tiddler is quotable. + var ph = parser.placeholder.getPlaceholderFor(title); + output = "<$link to=<<"+ph+">>><$text text=<<"+ph+">>/>"; + } + return output; +}; + +/**In version 5.1.20, Tiddlywiki made it so <$link to"something" /> would + * use "something" as a caption. This is preferable. However, Relink works + * going back to 5.1.14, so we need to have different handling for both + * cases. + */ +var _supported; +exports.shorthandPrettylinksSupported = function(wiki) { + if (_supported === undefined) { + var test = wiki.renderText("text/plain", "text/vnd.tiddlywiki", "<$link to=test/>"); + _supported = (test === "test"); + } + return _supported; +}; + +/**Return true if value can be used inside a prettylink. + */ +function canBePrettylink(value, customCaption) { + return value.indexOf("]]") < 0 && value[value.length-1] !== ']' && (customCaption !== undefined || value.indexOf('|') < 0); +}; + +function sanitizeCaption(parser, caption) { + var plaintext = parser.wiki.renderText("text/plain", "text/vnd.tiddlywiki", caption); + if (plaintext === caption && caption.indexOf("") <= 0) { + return caption; + } else { + return exports.makeWidget(parser, '$text', {text: caption}); + } +}; + +/**Finds an appropriate quote mark for a given value. + * + *Tiddlywiki doesn't have escape characters for attribute values. Instead, + * we just have to find the type of quotes that'll work for the given title. + * There exist titles that simply can't be quoted. + * If it can stick with the preference, it will. + * + * return: Returns the wrapped value, or undefined if it's impossible to wrap + */ +exports.wrapAttributeValue = function(value, preference) { + var whitelist = ["", "'", '"', '"""']; + var choices = { + "": function(v) {return !/([\/\s<>"'=])/.test(v) && v.length > 0; }, + "'": function(v) {return v.indexOf("'") < 0; }, + '"': function(v) {return v.indexOf('"') < 0; }, + '"""': function(v) {return v.indexOf('"""') < 0 && v[v.length-1] != '"';} + }; + if (choices[preference] && choices[preference](value)) { + return wrap(value, preference); + } + for (var i = 0; i < whitelist.length; i++) { + var quote = whitelist[i]; + if (choices[quote](value)) { + return wrap(value, quote); + } + } + // No quotes will work on this + return undefined; +}; + +function wrap(value, wrapper) { + var wrappers = { + "": function(v) {return v; }, + "'": function(v) {return "'"+v+"'"; }, + '"': function(v) {return '"'+v+'"'; }, + '"""': function(v) {return '"""'+v+'"""'; }, + "[[": function(v) {return "[["+v+"]]"; } + }; + var chosen = wrappers[wrapper]; + if (chosen) { + return chosen(value); + } else { + return undefined; + } +}; + +function canBePrettyOperand(value) { + return value.indexOf(']') < 0; +}; + +// Finds the newline at the end of a string and returns it. Empty string if +// none exists. +exports.getEndingNewline = function(string) { + var l = string.length; + if (string[l-1] === '\n') { + return (string[l-2] === '\r') ? "\r\n" : "\n"; + } + return ""; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_utils.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_utils.js.meta new file mode 100644 index 0000000..d8e3201 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_utils.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/utils.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_wikilink.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_wikilink.js new file mode 100644 index 0000000..b237a88 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_wikilink.js @@ -0,0 +1,46 @@ +/*\ +module-type: relinkwikitextrule + +Handles CamelCase links + +WikiLink + +but not: + +~WikiLink + +\*/ + +var utils = require("./utils.js"); + +exports.name = "wikilink"; + +exports.report = function(text, callback, options) { + var title = this.match[0], + unlink = $tw.config.textPrimitives.unWikiLink; + this.parser.pos = this.matchRegExp.lastIndex; + if (title[0] !== unlink) { + callback(title, unlink + title); + } +}; + +exports.relink = function(text, fromTitle, toTitle, options) { + var entry = undefined, + title = this.match[0]; + this.parser.pos = this.matchRegExp.lastIndex; + if (title === fromTitle && title[0] !== $tw.config.textPrimitives.unWikiLink) { + entry = { output: this.makeWikilink(toTitle, options) }; + if (entry.output === undefined) { + entry.impossible = true; + } + } + return entry; +}; + +exports.makeWikilink = function(title, options) { + if (title.match(this.matchRegExp) && title[0] !== $tw.config.textPrimitives.unWikiLink) { + return title; + } else { + return utils.makePrettylink(this.parser, title); + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_wikilink.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_wikilink.js.meta new file mode 100644 index 0000000..b0fa6cd --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_relinkoperations_text_wikitext_wikilink.js.meta @@ -0,0 +1,3 @@ +module-type: relinkwikitextrule +title: $:/plugins/flibbles/relink/js/relinkoperations/text/wikitext/wikilink.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings.js new file mode 100644 index 0000000..7417eb4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings.js @@ -0,0 +1,12 @@ +/*\ +module-type: library + +This handles the fetching and distribution of relink settings. + +\*/ + +var utils = require('./utils'); + +///// Legacy. You used to be able to access the type from utils. +exports.getType = utils.getType; +///// diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings.js.meta new file mode 100644 index 0000000..6f567a8 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/flibbles/relink/js/settings.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_attributes.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_attributes.js new file mode 100644 index 0000000..9bc5062 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_attributes.js @@ -0,0 +1,34 @@ +/*\ + +Factory method for creating the attributes whitelist cache. + +\*/ + +var utils = require('../utils'); + +exports.name = "attributes"; + +exports.generate = function(attributes, tiddler, key) { + var data = utils.getType(tiddler.fields.text.trim()); + if (data) { + data.source = tiddler.fields.title; + // Secret feature. You can access a config tiddler's + // fields from inside the fieldtype handler. Cool + // tricks can be done with this. + data.fields = tiddler.fields; + var elem = root(key); + var attr = key.substr(elem.length+1); + attributes[elem] = attributes[elem] || Object.create(null); + attributes[elem][attr] = data; + } +}; + +/* Returns first bit of a path. path/to/tiddler -> path + */ +function root(string) { + var index = string.indexOf('/'); + if (index >= 0) { + return string.substr(0, index); + } +}; + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_attributes.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_attributes.js.meta new file mode 100644 index 0000000..5ee294c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_attributes.js.meta @@ -0,0 +1,3 @@ +module-type: relinksetting +title: $:/plugins/flibbles/relink/js/settings/attributes.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fields.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fields.js new file mode 100644 index 0000000..929a057 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fields.js @@ -0,0 +1,21 @@ +/*\ + +Factory method for creating the fields whitelist cache. + +\*/ + +var utils = require('../utils'); + +exports.name = "fields"; + +exports.generate = function(fields, tiddler, name) { + var data = utils.getType(tiddler.fields.text.trim()); + if (data) { + data.source = tiddler.fields.title; + // Secret feature. You can access a config tiddler's + // fields from inside the fieldtype handler. Cool + // tricks can be done with this. + data.fields = tiddler.fields; + fields[name] = data; + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fields.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fields.js.meta new file mode 100644 index 0000000..c669815 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fields.js.meta @@ -0,0 +1,3 @@ +module-type: relinksetting +title: $:/plugins/flibbles/relink/js/settings/fields.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fieldwidgets.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fieldwidgets.js new file mode 100644 index 0000000..34b05c3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fieldwidgets.js @@ -0,0 +1,11 @@ +/*\ + +Factory method for creating the fieldattributes regexp cache. + +\*/ + +exports.name = "fieldattributes"; + +exports.generate = function(fieldattributes, tiddler, key) { + fieldattributes[key] = new RegExp(tiddler.fields.text.trim()); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fieldwidgets.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fieldwidgets.js.meta new file mode 100644 index 0000000..907d0f1 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_fieldwidgets.js.meta @@ -0,0 +1,3 @@ +module-type: relinksetting +title: $:/plugins/flibbles/relink/js/settings/fieldwidgets.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_macros.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_macros.js new file mode 100644 index 0000000..b53ad88 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_macros.js @@ -0,0 +1,36 @@ +/*\ + +Factory method for creating the macros whitelist cache. + +\*/ + +var utils = require('../utils'); + +exports.name = "macros"; + +exports.generate = function(macros, tiddler, key) { + var data = utils.getType(tiddler.fields.text.trim()); + if (data) { + data.source = tiddler.fields.title; + // Secret feature. You can access a config tiddler's + // fields from inside the fieldtype handler. Cool + // tricks can be done with this. + data.fields = tiddler.fields; + // We take the last index, not the first, because macro + // parameters can't have slashes, but macroNames can. + var name = dir(key); + var arg = key.substr(name.length+1); + macros[name] = macros[name] || Object.create(null); + macros[name][arg] = data; + } +}; + +/* Returns all but the last bit of a path. path/to/tiddler -> path/to + */ +function dir(string) { + var index = string.lastIndexOf('/'); + if (index >= 0) { + return string.substr(0, index); + } +} + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_macros.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_macros.js.meta new file mode 100644 index 0000000..79a997c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_macros.js.meta @@ -0,0 +1,3 @@ +module-type: relinksetting +title: $:/plugins/flibbles/relink/js/settings/macros.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_operators.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_operators.js new file mode 100644 index 0000000..f692a64 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_operators.js @@ -0,0 +1,25 @@ +/*\ + +Factory method for creating the operators whitelist cache. + +\*/ + +var utils = require('../utils'); + +exports.name = "operators"; + +exports.generate = function(operators, tiddler, key) { + var data = utils.getType(tiddler.fields.text.trim()); + if (data) { + data.source = tiddler.fields.title; + // Secret feature. You can access a config tiddler's + // fields from inside the fieldtype handler. Cool + // tricks can be done with this. + data.fields = tiddler.fields; + var pair = key.split('/'); + var name = pair[0]; + data.key = key; + operators[name] = operators[name] || Object.create(null); + operators[name][pair[1] || 1] = data; + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_operators.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_operators.js.meta new file mode 100644 index 0000000..30b3a4c --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_settings_operators.js.meta @@ -0,0 +1,3 @@ +module-type: relinksetting +title: $:/plugins/flibbles/relink/js/settings/operators.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils.js new file mode 100644 index 0000000..4bfb940 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils.js @@ -0,0 +1,223 @@ +/*\ +module-type: library + +Utility methods for relink. + +\*/ + +var macroFilter = "[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]"; + +/**This works nearly identically to $tw.modules.getModulesByTypeAsHashmap + * except that this also takes care of migrating V1 relink modules. + */ +exports.getModulesByTypeAsHashmap = function(moduleType, nameField) { + var results = Object.create(null); + $tw.modules.forEachModuleOfType(moduleType, function(title, module) { + var key = module[nameField]; + if (key !== undefined) { + results[key] = module; + } else { + for (var entry in module) { + results[entry] = { + relink: module[entry], + report: function() {}}; + results[entry][nameField] = entry; + } + } + }); + return results; +}; + +exports.getTiddlerRelinkReferences = function(wiki, title, context) { + var tiddler = wiki.getTiddler(title), + references = Object.create(null), + options = {settings: context, wiki: wiki}; + if (tiddler) { + try { + for (var relinker in getRelinkOperators()) { + getRelinkOperators()[relinker].report(tiddler, function(title, blurb) { + references[title] = references[title] || []; + references[title].push(blurb || ''); + }, options); + } + } catch (e) { + if (e.message) { + e.message = e.message + "\nWhen reporting '" + title + "' Relink references"; + } + throw e; + } + } + return references; +}; + +/** Returns a pair like this, + * { title: {field: entry, ... }, ... } + */ +exports.getRelinkResults = function(wiki, fromTitle, toTitle, context, tiddlerList, options) { + options = options || {}; + options.wiki = options.wiki || wiki; + fromTitle = (fromTitle || "").trim(); + toTitle = (toTitle || "").trim(); + var changeList = Object.create(null); + if(fromTitle && toTitle !== undefined) { + if (tiddlerList === undefined) { + tiddlerList = wiki.getRelinkableTitles(); + } + for (var i = 0; i < tiddlerList.length; i++) { + var title = tiddlerList[i]; + var tiddler = wiki.getTiddler(title); + if(tiddler) { + try { + var entries = Object.create(null), + operators = getRelinkOperators(); + options.settings = new Contexts.tiddler(wiki, context, title); + for (var operation in operators) { + operators[operation].relink(tiddler, fromTitle, toTitle, entries, options); + } + for (var field in entries) { + // So long as there is one key, + // add it to the change list. + if (tiddler.fields["plugin-type"]) { + // We never change plugins, even if they have links + changeList[title] = {}; + changeList[title][field] = {impossible: true}; + } else { + changeList[title] = entries; + } + break; + } + } catch (e) { + // Should we test for instanceof Error instead?: yes + // Does that work in the testing environment?: no + if (e.message) { + e.message = e.message + "\nWhen relinking '" + title + "'"; + } + throw e; + } + } + } + } + return changeList; +}; + +var Contexts = $tw.modules.applyMethods('relinkcontext'); + +exports.getContext = function(name) { + return Contexts[name]; +}; + +exports.getWikiContext = function(wiki) { + // This gives a fresh context every time. It is up to the indexer or + // the cache to preserve those contexts for as long as needed. + var whitelist = new Contexts.whitelist(wiki); + return new Contexts.import(wiki, whitelist, macroFilter); +}; + +/** Returns the Relink indexer, or a dummy object which pretends to be one. + */ +exports.getIndexer = function(wiki) { + if (!wiki._relink_indexer) { + wiki._relink_indexer = (wiki.getIndexer && wiki.getIndexer("RelinkIndexer")) || new (require('$:/plugins/flibbles/relink/js/utils/backupIndexer.js'))(wiki); + } + return wiki._relink_indexer; +}; + +/**Relinking supports a cache that persists throughout a whole relink op. + * This is because the Tiddlywiki caches may get wiped multiple times + * throughout the course of a relink. + */ +exports.getCacheForRun = function(options, cacheName, initializer) { + options.cache = options.cache || Object.create(null); + if (!$tw.utils.hop(options.cache, cacheName)) { + options.cache[cacheName] = initializer(); + } + return options.cache[cacheName]; +}; + +/**Returns a specific relinker. + * This is useful for wikitext rules which need to parse a filter or a list + */ +exports.getType = function(name) { + var Handler = getFieldTypes()[name]; + return Handler ? new Handler() : undefined; +}; + +exports.getTypes = function() { + // We don't return fieldTypes, because we don't want it modified, + // and we need to filter out legacy names. + var rtn = Object.create(null); + for (var type in getFieldTypes()) { + var typeObject = getFieldTypes()[type]; + rtn[typeObject.typeName] = typeObject; + } + return rtn; +}; + +exports.getDefaultType = function(wiki) { + var tiddler = wiki.getTiddler("$:/config/flibbles/relink/settings/default-type"); + var defaultType = tiddler && tiddler.fields.text; + // make sure the default actually exists, otherwise default + return fieldTypes[defaultType] ? defaultType : "title"; +}; + +exports.touchModifyField = function(wiki) { + var tiddler = wiki.getTiddler("$:/config/flibbles/relink/touch-modify"); + return tiddler && tiddler.fields.text.trim() === "yes"; +}; + +/**Given some text, and a param or attribute within that text, this returns + * what type of quotation that attribute is using. + * + * param: An object in the form {end:, ...} + */ +exports.determineQuote = function(text, param) { + var pos = param.end-1; + if (text[pos] === "'") { + return "'"; + } + if (text[pos] === '"') { + if (text.substr(pos-2, 3) === '"""') { + return '"""'; + } else { + return '"'; + } + } + if (text.substr(pos-1,2) === ']]' && text.substr((pos-param.value.length)-3, 2) === '[[') { + return "[["; + } + return ''; +}; + +var fieldTypes; + +function getFieldTypes() { + if (!fieldTypes) { + fieldTypes = Object.create(null); + $tw.modules.forEachModuleOfType("relinkfieldtype", function(title, exports) { + function NewType() {}; + NewType.prototype = exports; + NewType.typeName = exports.name; + fieldTypes[exports.name] = NewType; + // For legacy, if the NewType doesn't have a report method, we add one + if (!exports.report) { + exports.report = function() {}; + } + // Also for legacy, some of the field types can go by other names + if (exports.aliases) { + $tw.utils.each(exports.aliases, function(alias) { + fieldTypes[alias] = NewType; + }); + } + }); + } + return fieldTypes; +} + +var relinkOperators; + +function getRelinkOperators() { + if (!relinkOperators) { + relinkOperators = exports.getModulesByTypeAsHashmap('relinkoperator', 'name'); + } + return relinkOperators; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils.js.meta new file mode 100644 index 0000000..6525ff9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/flibbles/relink/js/utils.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_backupIndexer.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_backupIndexer.js new file mode 100644 index 0000000..e4ee362 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_backupIndexer.js @@ -0,0 +1,89 @@ +/*\ +module-type: library + +This is a backup indexer Relink uses if the real one is disabled, or we're + ["string", ...] + */ + +EntryNode.newType = function() { + return EntryNode; +}; + +EntryNode.prototype.add = function(entry) { + this.children.push(entry); +}; + +function EntryCollection() { + this.children = Object.create(null); + this.types = Object.create(null); +}; + +EntryNode.newCollection = function(name) { + return EntryCollection; +}; + +// Again. I reiterate. Don't use this. All this is just legacy support. +Object.defineProperty(EntryCollection, 'impossible', { + get: function() { + var imp = this._impossible; + this.eachChild(function(child) { imp = imp || child.impossible; }); + return imp; + }, + set: function(impossible) { + this._impossible = true; + } +}); + +EntryCollection.prototype.eachChild = function(method) { + for (var child in this.children) { + method(this.children[child]); + } +}; + +EntryCollection.prototype.addChild = function(child, name, type) { + this.children[name] = child; + this.types[name] = type; +}; + +EntryCollection.prototype.hasChildren = function() { + return Object.keys(this.children).length > 0; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_entry.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_entry.js.meta new file mode 100644 index 0000000..a33b35a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_entry.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/flibbles/relink/js/utils/entry.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_macrocall.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_macrocall.js new file mode 100644 index 0000000..2f3f4a7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_macrocall.js @@ -0,0 +1,262 @@ +/*\ + +Methods for reporting and relinking macros. Behaves much like a fieldtype, except that it's not. + +\*/ + +var utils = require('$:/plugins/flibbles/relink/js/utils.js'); +var Rebuilder = require("$:/plugins/flibbles/relink/js/utils/rebuilder"); + +// Error thrown when a macro's definition is needed, but can't be found. +function CannotFindMacroDef() {}; +CannotFindMacroDef.prototype.impossible = true; +CannotFindMacroDef.prototype.name = "macroparam"; +// Failed relinks due to missing definitions aren't reported for now. +// I may want to do something special later on. +CannotFindMacroDef.prototype.report = function() { return []; }; + +/** As in, report a macrocall invocation that is an html attribute. + * macro: must be a macro object.*/ +exports.report = function(context, macro, callback, options) { + var managedMacro = context.getMacro(macro.name); + if (!managedMacro) { + // We don't manage this macro. Bye. + return undefined; + } + for (var managedArg in managedMacro) { + var index; + try { + index = getParamIndexWithinMacrocall(context, macro.name, managedArg, macro.params, options); + } catch (e) { + continue; + } + if (index < 0) { + // The argument was not supplied. Move on to next. + continue; + } + var param = macro.params[index]; + var handler = managedMacro[managedArg]; + var nestedOptions = Object.create(options); + nestedOptions.settings = context; + var entry = handler.report(param.value, function(title, blurb) { + var rtn = managedArg; + if (blurb) { + rtn += ': "' + blurb + '"'; + } + callback(title, macro.name + ' ' + rtn); + }, nestedOptions); + } +}; + +/**Processes the given macro, + * macro: {name:, params:, start:, end:} + * each parameters: {name:, end:, value:} + * Macro invocation returned is the same, but relinked, and may have new keys: + * parameters: {type: macro, start:, newValue: (quoted replacement value)} + * Output of the returned entry isn't a string, but a macro object. It needs + * to be converted. + */ +exports.relink = function(context, macro, text, fromTitle, toTitle, mayBeWidget, options) { + var managedMacro = context.getMacro(macro.name); + var modified = false; + if (!managedMacro) { + // We don't manage this macro. Bye. + return undefined; + } + var outMacro = $tw.utils.extend({}, macro); + var macroEntry = {}; + outMacro.params = macro.params.slice(); + for (var managedArg in managedMacro) { + var index; + try { + index = getParamIndexWithinMacrocall(context, macro.name, managedArg, macro.params, options); + } catch (e) { + if (e instanceof CannotFindMacroDef) { + macroEntry.impossible = true; + continue; + } + } + if (index < 0) { + // this arg either was not supplied, or we can't find + // the definition, so we can't tie it to an anonymous + // argument. Either way, move on to the next. + continue; + } + var param = macro.params[index]; + var handler = managedMacro[managedArg]; + var nestedOptions = Object.create(options); + nestedOptions.settings = context; + var entry = handler.relink(param.value, fromTitle, toTitle, nestedOptions); + if (entry === undefined) { + continue; + } + // Macro parameters can only be string parameters, not + // indirect, or macro, or filtered + if (entry.impossible) { + macroEntry.impossible = true; + } + if (!entry.output) { + continue; + } + var quote = utils.determineQuote(text, param); + var quoted = wrapParameterValue(entry.output, quote); + var newParam = $tw.utils.extend({}, param); + if (quoted === undefined) { + if (!mayBeWidget || !options.placeholder) { + macroEntry.impossible = true; + continue; + } + var ph = options.placeholder.getPlaceholderFor(entry.output,handler.name); + newParam.newValue = "<<"+ph+">>"; + newParam.type = "macro"; + } else { + newParam.start = newParam.end - (newParam.value.length + (quote.length*2)); + newParam.value = entry.output; + newParam.newValue = quoted; + } + outMacro.params[index] = newParam; + modified = true; + } + if (modified || macroEntry.impossible) { + if (modified) { + macroEntry.output = outMacro; + } + return macroEntry; + } + return undefined; +}; + +/**Converts the macro object into a string, includes the <<..>>. + * The text is the old text the macro was formed from. It's used to preserve + * whitespace. + */ +exports.reassemble = function(macro, text, options) { + var builder = new Rebuilder(text, macro.start); + for (var i = 0; i < macro.params.length; i++) { + var param = macro.params[i]; + if (param.newValue) { + builder.add(param.newValue, param.start, param.end); + } + } + return builder.results(macro.end); +}; + + +/** Returns -1 if param definitely isn't in macrocall. + */ +function getParamIndexWithinMacrocall(context, macroName, param, params, options) { + var index, i, anonsExist = false; + for (i = 0; i < params.length; i++) { + var name = params[i].name; + if (name === param) { + return i; + } + if (name === undefined) { + anonsExist = true; + } + } + if (!anonsExist) { + // If no anonymous parameters are present, and we didn't find + // it among the named ones, it must not be there. + return -1; + } + var expectedIndex = indexOfParameterDef(context, macroName, param, options); + // We've got to skip over all the named parameter instances. + if (expectedIndex >= 0) { + var anonI = 0; + for (i = 0; i < params.length; i++) { + if (params[i].name === undefined) { + if (anonI === expectedIndex) { + return i; + } + anonI++; + } else { + var indexOfOther = indexOfParameterDef(context, macroName, params[i].name, options); + if (indexOfOther < expectedIndex) { + anonI++; + } + } + } + } + return -1; +}; + +// Looks up the definition of a macro, and figures out what the expected index +// is for the given parameter. +function indexOfParameterDef(context, macroName, paramName, options) { + var def = context.getMacroDefinition(macroName); + if (def === undefined) { + throw new CannotFindMacroDef(); + } + var params = def.params || []; + for (var i = 0; i < params.length; i++) { + if (params[i].name === paramName) { + return i; + } + } + return -1; +}; + +// Looks up the definition of a macro, and figures out what the expected index +// is for the given parameter. +function indexOfParameterDef(context, macroName, paramName, options) { + var def = context.getMacroDefinition(macroName); + if (def === undefined) { + throw new CannotFindMacroDef(); + } + var params = def.params || []; + for (var i = 0; i < params.length; i++) { + if (params[i].name === paramName) { + return i; + } + } + return -1; +}; + +/**Like wrapAttribute value, except for macro parameters, not attributes. + * + * These are more permissive. Allows brackets, + * and slashes and '<' in unquoted values. + */ +function wrapParameterValue(value, preference) { + var whitelist = ["", "'", '"', '[[', '"""']; + var choices = { + "": function(v) {return !/([\s>"'=])/.test(v); }, + "'": function(v) {return v.indexOf("'") < 0; }, + '"': function(v) {return v.indexOf('"') < 0; }, + "[[": canBePrettyOperand, + '"""': function(v) {return v.indexOf('"""') < 0 && v[v.length-1] != '"';} + }; + if (choices[preference] && choices[preference](value)) { + return wrap(value, preference); + } + for (var i = 0; i < whitelist.length; i++) { + var quote = whitelist[i]; + if (choices[quote](value)) { + return wrap(value, quote); + } + } + // No quotes will work on this + return undefined; +}; + +function canBePrettyOperand(value) { + return value.indexOf(']') < 0; +}; + + +function wrap(value, wrapper) { + var wrappers = { + "": function(v) {return v; }, + "'": function(v) {return "'"+v+"'"; }, + '"': function(v) {return '"'+v+'"'; }, + '"""': function(v) {return '"""'+v+'"""'; }, + "[[": function(v) {return "[["+v+"]]"; } + }; + var chosen = wrappers[wrapper]; + if (chosen) { + return chosen(value); + } else { + return undefined; + } +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_macrocall.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_macrocall.js.meta new file mode 100644 index 0000000..8765140 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_macrocall.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/flibbles/relink/js/utils/macrocall.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_placeholder.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_placeholder.js new file mode 100644 index 0000000..ec0a960 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_placeholder.js @@ -0,0 +1,61 @@ +/*\ + +A method which doles out placeholders when requested, and constructs +the necessary supporting pragma when requested. + +\*/ + +var utils = require('../utils'); + +function Placeholder() { + this.placeholders = Object.create(null); + this.reverseMap = {}; + this.used = Object.create(null); +}; + +module.exports = Placeholder; + +Placeholder.prototype.getPlaceholderFor = function(value, category) { + this.reverseMap[category] = this.reverseMap[category] || Object.create(null); + var placeholder = this.reverseMap[category][value]; + if (placeholder) { + return placeholder; + } + var config = (this.parser && this.parser.context) || utils.getWikiContext(this.parser.wiki); + var number = 0; + var prefix = "relink-" + if (category && category !== "title") { + // I don't like "relink-title-1". "relink-1" should be for + // titles. lists, and filters can have descriptors though. + prefix += category + "-"; + } + do { + number += 1; + placeholder = prefix + number; + } while (config.getMacroDefinition(placeholder) || this.used[placeholder]); + this.placeholders[placeholder] = value; + this.reverseMap[category][value] = placeholder; + this.used[placeholder] = true; + return placeholder; +}; + +// For registering placeholders that already existed +Placeholder.prototype.registerExisting = function(key, value) { + this.reverseMap[value] = key; + this.used[key] = true; +}; + +Placeholder.prototype.getPreamble = function() { + var results = []; + var keys = Object.keys(this.placeholders); + if (keys.length > 0) { + keys.sort(); + for (var i = 0; i < keys.length; i++) { + var name = keys[i]; + var val = this.placeholders[name]; + results.push("\\define "+name+"() "+val+"\n"); + } + } + return results.join(''); +}; + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_placeholder.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_placeholder.js.meta new file mode 100644 index 0000000..0573301 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_placeholder.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/flibbles/relink/js/utils/placeholder.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_rebuilder.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_rebuilder.js new file mode 100644 index 0000000..7b3d599 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_rebuilder.js @@ -0,0 +1,34 @@ +/*\ + +This helper class aids in reconstructing an existing string with new parts. + +\*/ + +function Rebuilder(text, start) { + this.text = text; + this.index = start || 0; + this.pieces = []; +}; + +module.exports = Rebuilder; + +/**Pieces must be added consecutively. + * Start and end are the indices in the old string specifying where to graft + * in the new piece. + */ +Rebuilder.prototype.add = function(value, start, end) { + this.pieces.push(this.text.substring(this.index, start), value); + this.index = end; +}; + +Rebuilder.prototype.changed = function() { + return this.pieces.length > 0; +}; + +Rebuilder.prototype.results = function(end) { + if (this.changed()) { + this.pieces.push(this.text.substring(this.index, end)); + return this.pieces.join(''); + } + return undefined; +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_rebuilder.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_rebuilder.js.meta new file mode 100644 index 0000000..8e9c7c2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_utils_rebuilder.js.meta @@ -0,0 +1,3 @@ +module-type: library +title: $:/plugins/flibbles/relink/js/utils/rebuilder.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_wikimethods.js b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_wikimethods.js new file mode 100644 index 0000000..bec8c11 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_wikimethods.js @@ -0,0 +1,33 @@ +/*\ +module-type: wikimethod + +Introduces some utility methods used by Relink. + +\*/ + +var utils = require("./utils.js"); + +exports.getTiddlerRelinkReferences = function(title) { + return utils.getIndexer(this).lookup(title); +}; + +exports.getTiddlerRelinkBackreferences = function(title) { + return utils.getIndexer(this).reverseLookup(title); +}; + +exports.getRelinkableTitles = function() { + var toUpdate = "$:/config/flibbles/relink/to-update"; + var wiki = this; + return this.getCacheForTiddler(toUpdate, "relink-toUpdate", function() { + var tiddler = wiki.getTiddler(toUpdate); + if (tiddler) { + return wiki.compileFilter(tiddler.fields.text); + } else { + return wiki.allTitles; + } + })(); +}; + +exports.getRelinkOrphans = function() { + return utils.getIndexer(this).orphans(); +}; diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_wikimethods.js.meta b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_wikimethods.js.meta new file mode 100644 index 0000000..a5cb814 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_js_wikimethods.js.meta @@ -0,0 +1,3 @@ +module-type: wikimethod +title: $:/plugins/flibbles/relink/js/wikimethods.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_Delete_Hint.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_Delete_Hint.tid new file mode 100644 index 0000000..d24da6f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_Delete_Hint.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/Delete/Hint + +delete \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_LinkToInline_Hint.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_LinkToInline_Hint.tid new file mode 100644 index 0000000..99e2e50 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_LinkToInline_Hint.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint + +go to defining tiddler \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewAttribute_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewAttribute_Caption.tid new file mode 100644 index 0000000..b0daff2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewAttribute_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/NewAttribute/Caption + +add \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewAttribute_Hint.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewAttribute_Hint.tid new file mode 100644 index 0000000..28218cb --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewAttribute_Hint.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/NewAttribute/Hint + +Specify a new widget/element attribute to be updated whenever a tiddler is renamed \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewField_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewField_Caption.tid new file mode 100644 index 0000000..c81cf07 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewField_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/NewField/Caption + +add \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewField_Hint.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewField_Hint.tid new file mode 100644 index 0000000..e64416a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewField_Hint.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/NewField/Hint + +Specify a new field to be updated whenever a tiddler is renamed \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewOperator_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewOperator_Caption.tid new file mode 100644 index 0000000..73e35bf --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewOperator_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/NewOperator/Caption + +add \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewOperator_Hint.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewOperator_Hint.tid new file mode 100644 index 0000000..445bee2 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewOperator_Hint.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/NewOperator/Hint + +Specify a new filter operator to be considered whenever a tiddler is renamed \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewParameter_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewParameter_Caption.tid new file mode 100644 index 0000000..3d1fcce --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewParameter_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/NewParameter/Caption + +add \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewParameter_Hint.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewParameter_Hint.tid new file mode 100644 index 0000000..487c0cb --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Buttons_NewParameter_Hint.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Buttons/NewParameter/Hint + +Specify a new macro parameter to be updated whenever a tiddler is renamed \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidAttributeName.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidAttributeName.tid new file mode 100644 index 0000000..6ed6c55 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidAttributeName.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Error/InvalidAttributeName + +Illegal characters in attribute name "<$text text=<>/>". Attributes cannot contain slashes ('/'), closing angle or square brackets ('>' or ']'), quotes or apostrophes ('"' or "'"), equals ('='), or whitespace \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidElementName.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidElementName.tid new file mode 100644 index 0000000..ac2b677 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidElementName.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Error/InvalidElementName + +Illegal characters in element/widget name "<$text text=<>/>". Element tags can only contain letters and the characters hyphen (`-`) and dollar sign (`$`) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidMacroName.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidMacroName.tid new file mode 100644 index 0000000..2a10025 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidMacroName.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Error/InvalidMacroName + +Illegal characters in macro name "<$text text=<>/>". Macros cannot contain whitespace \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidParameterName.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidParameterName.tid new file mode 100644 index 0000000..04dc4dd --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_InvalidParameterName.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Error/InvalidParameterName + +Illegal characters in parameter name "<$text text=<>/>". Parameters can only contain letters, digits, and the characters underscore (`_`) and hyphen (`-`) \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_RelinkFilterOperator.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_RelinkFilterOperator.tid new file mode 100644 index 0000000..b27a153 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_RelinkFilterOperator.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Error/RelinkFilterOperator + +Filter Error: Unknown suffix for the 'relink' filter operator \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_ReportFailedRelinks.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_ReportFailedRelinks.tid new file mode 100644 index 0000000..2d624d6 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_ReportFailedRelinks.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Error/ReportFailedRelinks + +Relink could not update '<>' to '<>' inside the following tiddlers: \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_UnrecognizedType.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_UnrecognizedType.tid new file mode 100644 index 0000000..3f1b4d6 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Error_UnrecognizedType.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Error/UnrecognizedType + +Relink parse error: Unrecognized field type '<>' \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Filters_Missing.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Filters_Missing.tid new file mode 100644 index 0000000..6efc4a4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Filters_Missing.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Filters/Missing + +//Relink// Missing tiddlers \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Filters_Orphans.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Filters_Orphans.tid new file mode 100644 index 0000000..6ec60f7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Filters_Orphans.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Filters/Orphans + +//Relink// Orphans tiddlers \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Attributes.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Attributes.tid new file mode 100644 index 0000000..fc0af3e --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Attributes.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Help/Attributes + +See the Attributes documentation page for details. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Fields.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Fields.tid new file mode 100644 index 0000000..dacb443 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Fields.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Help/Fields + +See the Fields documentation page for details. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Macros.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Macros.tid new file mode 100644 index 0000000..69d28ae --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Macros.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Help/Macros + +See the Macros documentation page for details. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Operators.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Operators.tid new file mode 100644 index 0000000..b731b8d --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Help_Operators.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Help/Operators + +See the Operators documentation page for details. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_SideBar_Missing_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_SideBar_Missing_Caption.tid new file mode 100644 index 0000000..6d569dc --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_SideBar_Missing_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/SideBar/Missing/Caption + +//Relink//
    Missing \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_SideBar_Orphans_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_SideBar_Orphans_Caption.tid new file mode 100644 index 0000000..63f0775 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_SideBar_Orphans_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/SideBar/Orphans/Caption + +//Relink//
    Orphans \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Caption.tid new file mode 100644 index 0000000..dad9cf4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption + +//Relink// References \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Description.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Description.tid new file mode 100644 index 0000000..cf08492 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Description.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/TiddlerInfo/References/Description + +The following tiddlers contain fields, links, macros, transclusions, or widgets referencing this one: \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Empty.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Empty.tid new file mode 100644 index 0000000..8fb82d6 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_TiddlerInfo_References_Empty.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/TiddlerInfo/References/Empty + +No tiddlers contain any fields, links, macros, transclusions, or widgets referencing this one \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Warning_OldRelinkTextOperator.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Warning_OldRelinkTextOperator.tid new file mode 100644 index 0000000..4fbe1f7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_Warning_OldRelinkTextOperator.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/Warning/OldRelinkTextOperator + +Relink cannot parse your $$$<> wikitext until you migrate your "<>" relink module from the deprecated ''relinktextoperator'' module-type to ''relinktext''.

    See the online documentation for details. \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Attributes_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Attributes_Caption.tid new file mode 100644 index 0000000..2338bb8 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Attributes_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/ui/Attributes/Caption + +Attributes \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Fields_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Fields_Caption.tid new file mode 100644 index 0000000..48945b0 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Fields_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/ui/Fields/Caption + +Fields \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Macros_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Macros_Caption.tid new file mode 100644 index 0000000..300b647 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Macros_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/ui/Macros/Caption + +Macros \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Operators_Caption.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Operators_Caption.tid new file mode 100644 index 0000000..d77c500 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_language_ui_Operators_Caption.tid @@ -0,0 +1,3 @@ +title: $:/plugins/flibbles/relink/language/ui/Operators/Caption + +Operators \ No newline at end of file diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_license.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_license.tid new file mode 100644 index 0000000..764aea3 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_license.tid @@ -0,0 +1,6 @@ +title: $:/plugins/flibbles/relink/license +type: text/vnd.tiddlywiki + +Relink Plugin Copyright (c) 2019-<> Cameron Fischer + +[[BSD 3-Clause License|https://raw.githubusercontent.com/flibbles/tw5-relink/master/LICENSE]] diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_readme.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_readme.tid new file mode 100644 index 0000000..6c09441 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_readme.tid @@ -0,0 +1,11 @@ +title: $:/plugins/flibbles/relink/readme +type: text/vnd.tiddlywiki + +When renaming a tiddler, Relink can update the fields, filters, and widgets +of all other tiddlers. However, it works through whitelisting. + +It's already configured to update tiddler titles for all core widgets, filters, +and fields, but the whitelists can be customized for each of this in the +configuration panel. + +See the tw5-relink website for more details and examples. diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_ListItemTemplate.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_ListItemTemplate.tid new file mode 100644 index 0000000..832fbb8 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_ListItemTemplate.tid @@ -0,0 +1,12 @@ +title: $:/plugins/flibbles/relink/ui/ListItemTemplate + +\whitespace trim +<$set + name="classes" + filter="[relink:impossible]" + value="tc-menu-list-item tc-relink-impossible" + emptyValue="tc-menu-list-item"> +
    >> +<$link to=<>><$text text=<> /> +
    + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_ListItemWithBlurbTemplate.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_ListItemWithBlurbTemplate.tid new file mode 100644 index 0000000..6479b01 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_ListItemWithBlurbTemplate.tid @@ -0,0 +1,4 @@ +title: $:/plugins/flibbles/relink/ui/ListItemWithBlurbTemplate + +
    <$link />
    +<$list variable=blurb filter="[relink:report]"> diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MissingTemplate.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MissingTemplate.tid new file mode 100644 index 0000000..5f38521 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MissingTemplate.tid @@ -0,0 +1,17 @@ +title: $:/plugins/flibbles/relink/ui/MissingTemplate + +\whitespace trim +<$set name="missingTiddler" value=<> > +
    +<$button popup=<> class="tc-btn-invisible tc-missing-tiddler-label"> +<$view field="title" format="text" /> + +<$reveal state=<> type="popup" position="below" animate="yes"> +
    +<$transclude tiddler="$:/core/ui/ListItemTemplate"/> +
    +<$list filter="[all[current]relink:backreferences[]sort[title]]" template="$:/plugins/flibbles/relink/ui/ListItemWithBlurbTemplate"/> +
    + +
    + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MoreSideBar_Missing.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MoreSideBar_Missing.tid new file mode 100644 index 0000000..b8d87d6 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MoreSideBar_Missing.tid @@ -0,0 +1,5 @@ +caption: {{$:/plugins/flibbles/relink/language/SideBar/Missing/Caption}} +tags: $:/tags/MoreSideBar +title: $:/plugins/flibbles/relink/ui/MoreSideBar/Missing + +<$list filter={{$:/plugins/flibbles/relink/Filters/Missing!!filter}} template="$:/plugins/flibbles/relink/ui/MissingTemplate" /> diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MoreSideBar_Orphans.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MoreSideBar_Orphans.tid new file mode 100644 index 0000000..f59df4f --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_MoreSideBar_Orphans.tid @@ -0,0 +1,5 @@ +caption: {{$:/plugins/flibbles/relink/language/SideBar/Orphans/Caption}} +tags: $:/tags/MoreSideBar +title: $:/plugins/flibbles/relink/ui/MoreSideBar/Orphans + +<$list filter={{$:/plugins/flibbles/relink/Filters/Orphans!!filter}} template="$:/core/ui/ListItemTemplate" /> diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_TiddlerInfo_References.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_TiddlerInfo_References.tid new file mode 100644 index 0000000..2c03d47 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_TiddlerInfo_References.tid @@ -0,0 +1,15 @@ +caption: {{$:/plugins/flibbles/relink/language/TiddlerInfo/References/Caption}} +tags: $:/tags/TiddlerInfo +title: $:/plugins/flibbles/relink/ui/TiddlerInfo/References + +\define lingo-base() $:/plugins/flibbles/relink/language/TiddlerInfo/ +\define filter() [all[current]relink:backreferences[]!title[$:/StoryList]!prefix[$:/temp/]sort[title]] +\whitespace trim +<$list filter="[subfilterfirst[]]"> +<> + + + +<$list filter=<> emptyMessage=<> variable="listItem" template="$:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate" /> + + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_TiddlerInfo_ReferencesTemplate.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_TiddlerInfo_ReferencesTemplate.tid new file mode 100644 index 0000000..cab5477 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_TiddlerInfo_ReferencesTemplate.tid @@ -0,0 +1,15 @@ +title: $:/plugins/flibbles/relink/ui/TiddlerInfo/ReferencesTemplate + +\whitespace trim + + +<$link to=<>/> + + +<$list filter="[relink:report]"> + +<$text text=<> /> + + + + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_button-delete.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_button-delete.tid new file mode 100644 index 0000000..c53dc74 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_button-delete.tid @@ -0,0 +1,17 @@ +title: $:/plugins/flibbles/relink/ui/components/button-delete + +\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/ +\define prefix() $:/config/flibbles/relink/ +\whitespace trim + +<$list + filter="[all[current]prefix]" + emptyMessage="<$link><$button class='tc-btn-invisible' tooltip={{$:/plugins/flibbles/relink/language/Buttons/LinkToInline/Hint}}>{{$:/core/images/link}}"> +<$button class="tc-btn-invisible" tooltip={{$:/plugins/flibbles/relink/language/Buttons/Delete/Hint}}><$list filter="[all[current]is[tiddler]]"> +<$action-deletetiddler $tiddler=<> /> +<$list filter="[all[current]is[shadow]]"> +<$action-setfield $tiddler=<> text="" /> + +{{$:/core/images/delete-button}} + + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_select-fieldtype.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_select-fieldtype.tid new file mode 100644 index 0000000..5e842b8 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_select-fieldtype.tid @@ -0,0 +1,16 @@ +title: $:/plugins/flibbles/relink/ui/components/select-fieldtype + +\define prefix() $:/config/flibbles/relink/ +\whitespace trim + +<$vars type={{{ [relink:type[]] }}} > +<$list filter="[all[current]prefix]" > +<$select tiddler=<> > +<$list variable="option" filter="[relink:types[]]"> + + + +<$list filter="[all[current]!prefix]"> +<$text text=<> /> + + diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_tables.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_tables.tid new file mode 100644 index 0000000..53177aa --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_components_tables.tid @@ -0,0 +1,59 @@ +title: $:/plugins/flibbles/relink/ui/components/tables + +\define .make-table(title, plugin, default-table-state:yes) +\whitespace trim + +<$list variable="render" filter="[relink:signatures<__plugin__>prefix<__category__>first[]]"> +<$set name="table-state" value=<>> +> > +<$reveal type="nomatch" state=<> text="yes" default="""$default-table-state$"""> +<$button class="tc-btn-invisible tc-btn-dropdown" set=<> setTo="yes"> +{{$:/core/images/right-arrow}} $title$ + + +<$reveal type="match" state=<> text="yes" default="""$default-table-state$"""> +<$button class="tc-btn-invisible tc-btn-dropdown" set=<> setTo="no"> +{{$:/core/images/down-arrow}} $title$ + + + +<$list + variable="signature" + filter="[relink:signatures<__plugin__>prefix<__category__>sort[]]"> +<$vars key={{{ [removeprefix<__category__>removeprefix[/]] }}} > +<$tiddler tiddler={{{[relink:source[]]}}} > +<$reveal tag="tr" type="match" state=<> text="yes" default="""$default-table-state$"""> +<$macrocall $name=<<__list-row-macro__>> signature=<> /> +{{||$:/plugins/flibbles/relink/ui/components/select-fieldtype}} +{{||$:/plugins/flibbles/relink/ui/components/button-delete}} + + + + + + +\end + +\define tables(category, list-row-macro, header-list) +\whitespace trim +<$vars + column-count={{{[enlist<__header-list__>] [[DeleteColumn]] +[count[]]}}}> + + +<$list variable="header" filter="[enlist<__header-list__>butlast[]]"> + + + +<<.make-table Custom "" yes>> + +<$list + filter="[plugin-type[plugin]![$:/core]![$:/plugins/flibbles/relink]]"> +<$set name="subtitle" filter="[all[current]has[description]]" value="''{{!!name}}'': <$text text={{!!description}}/>" emptyValue="''{{!!name}}''" > +<$macrocall $name=".make-table" title=<> plugin=<> /> + + +<<.make-table Core "$:/plugins/flibbles/relink">> + + + +\end diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Attributes.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Attributes.tid new file mode 100644 index 0000000..a9dab2a --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Attributes.tid @@ -0,0 +1,74 @@ +caption: {{$:/plugins/flibbles/relink/language/ui/Attributes/Caption}} +tags: $:/tags/flibbles/relink/Configuration +title: $:/plugins/flibbles/relink/ui/configuration/Attributes + +\import $:/plugins/flibbles/relink/ui/components/tables +\define prefix-attr() $:/config/flibbles/relink/attributes/ +\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/ +\define element-name-tiddler() $:/state/flibbles/relink/element-name +\define attribute-name-tiddler() $:/state/flibbles/relink/attribute-name + +\define row() +\whitespace trim +<$set name='element' + value={{{[splitbefore[/]removesuffix[/]]}}}> +<$set name="attribute" + value={{{[removeprefixremoveprefix[/]]}}}> +<$text text=<> /> +<$text text=<> /> + +\end +\define body() +\whitespace trim + +Add a new attribute: + +<$edit-text + tiddler=<> + tag="input" + default="" + placeholder="widget/element" /> + +<$edit-text + tiddler=<> + tag="input" + default="" + placeholder="attribute" /> + +<$reveal type="nomatch" text="" state=<> > +<$reveal type="nomatch" text="" state=<> > +<$relinkmangler> +<$button + tooltip={{$(lingo-base)$NewAttribute/Hint}} + aria-label={{$(lingo-base)$NewAttribute/Caption}}> +<$action-sendmessage + $message="relink-add-attribute" + element={{$(element-name-tiddler)$}} + attribute={{$(attribute-name-tiddler)$}} /> +<$action-deletetiddler $tiddler=<> /> +<$action-deletetiddler $tiddler=<> /> +<$text text={{$(lingo-base)$NewAttribute/Caption}}/> + + + +<$reveal type="match" text="" state=<> > +<$button> +<$text text={{$(lingo-base)$NewAttribute/Caption}}/> + + + +<$reveal type="match" text="" state=<> > +<$button> +<$text text={{$(lingo-base)$NewAttribute/Caption}}/> + + +<$macrocall + $name=tables + category="attributes" + header-list="[[Widget/HTML Element]] Attribute Type" + list-row-macro="row" /> +\end + +{{$:/plugins/flibbles/relink/language/Help/Attributes}} + +<> diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Fields.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Fields.tid new file mode 100644 index 0000000..63b1fe9 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Fields.tid @@ -0,0 +1,51 @@ +caption: {{$:/plugins/flibbles/relink/language/ui/Fields/Caption}} +tags: $:/tags/flibbles/relink/Configuration +title: $:/plugins/flibbles/relink/ui/configuration/Fields + +\import $:/plugins/flibbles/relink/ui/components/tables +\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/ +\define field-name-tiddler() $:/state/flibbles/relink/field-name + +\define row() +<$text text=<> /> +\end + +\define body() +\whitespace trim + +Add a new field: + +<$edit-text + tiddler=<> + tag="input" + default="" + placeholder="field name" /> + +<$reveal type="nomatch" text="" state=<> > +<$relinkmangler> +<$button + tooltip={{$(lingo-base)$NewField/Hint}} + aria-label={{$(lingo-base)$NewField/Caption}}> +<$action-sendmessage + $message="relink-add-field" + field={{$(field-name-tiddler)$}} /> +<$action-deletetiddler $tiddler=<> /> +<$text text={{$(lingo-base)$NewField/Caption}}/> + + + +<$reveal type="match" text="" state=<> > +<$button> +<$text text={{$(lingo-base)$NewField/Caption}}/> + + +<$macrocall + $name=tables + category="fields" + header-list="[[Field Name]] [[Field Type]]" + list-row-macro="row" /> +\end + +{{$:/plugins/flibbles/relink/language/Help/Fields}} + +<> diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Macros.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Macros.tid new file mode 100644 index 0000000..31470e7 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Macros.tid @@ -0,0 +1,75 @@ +caption: {{$:/plugins/flibbles/relink/language/ui/Macros/Caption}} +tags: $:/tags/flibbles/relink/Configuration +title: $:/plugins/flibbles/relink/ui/configuration/Macros + +\import $:/plugins/flibbles/relink/ui/components/tables +\define prefix-macro() $:/config/flibbles/relink/macros/ +\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/ +\define macro-name-tiddler() $:/state/flibbles/relink/macro-name +\define parameter-name-tiddler() $:/state/flibbles/relink/parameter-name + +\define row() +\whitespace trim +<$set name="parameter" + value={{{[relink:splitafter[/]]}}}> +<$set name='macro' + value={{{[removesuffixremovesuffix[/]]}}}> +<$text text=<> /> +<$text text=<> /> + +\end + +\define body() +\whitespace trim + +Add a new macro parameter: + +<$edit-text + tiddler=<> + tag="input" + default="" + placeholder="macro" /> + +<$edit-text + tiddler=<> + tag="input" + default="" + placeholder="parameter" /> + +<$reveal type="nomatch" text="" state=<> > +<$reveal type="nomatch" text="" state=<> > +<$relinkmangler> +<$button + tooltip={{$(lingo-base)$NewParameter/Hint}} + aria-label={{$(lingo-base)$NewParameter/Caption}}> +<$action-sendmessage + $message="relink-add-parameter" + macro={{$(macro-name-tiddler)$}} + parameter={{$(parameter-name-tiddler)$}} /> +<$action-deletetiddler $tiddler=<> /> +<$action-deletetiddler $tiddler=<> /> +<$text text={{$(lingo-base)$NewParameter/Caption}}/> + + + +<$reveal type="match" text="" state=<> > +<$button> +<$text text={{$(lingo-base)$NewParameter/Caption}}/> + + + +<$reveal type="match" text="" state=<> > +<$button> +<$text text={{$(lingo-base)$NewParameter/Caption}}/> + + +<$macrocall + $name=tables + category="macros" + header-list="Macro Parameter Type" + list-row-macro="row" /> +\end + +{{$:/plugins/flibbles/relink/language/Help/Macros}} + +<> diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Operators.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Operators.tid new file mode 100644 index 0000000..4b80e25 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_configuration_Operators.tid @@ -0,0 +1,51 @@ +caption: {{$:/plugins/flibbles/relink/language/ui/Operators/Caption}} +tags: $:/tags/flibbles/relink/Configuration +title: $:/plugins/flibbles/relink/ui/configuration/Operators + +\import $:/plugins/flibbles/relink/ui/components/tables +\define lingo-base() $:/plugins/flibbles/relink/language/Buttons/ +\define operator-name-tiddler() $:/state/flibbles/relink/operator-name + +\define row() +<$text text=<> /> +\end + +\define body() +\whitespace trim + +Add a new filter operator: + +<$edit-text + tiddler=<> + tag="input" + default="" + placeholder="operator name" /> + +<$reveal type="nomatch" text="" state=<>> +<$relinkmangler> +<$button + tooltip={{$(lingo-base)$NewOperator/Hint}} + aria-label={{$(lingo-base)$NewOperator/Caption}}> +<$action-sendmessage + $message="relink-add-operator" + operator={{$(operator-name-tiddler)$}} /> +<$action-deletetiddler $tiddler=<> /> +<$text text={{$(lingo-base)$NewOperator/Caption}}/> + + + +<$reveal type="match" text="" state=<>> +<$button> +<$text text={{$(lingo-base)$NewOperator/Caption}}/> + + +<$macrocall + $name=tables + category="operators" + header-list="[[Filter Operator]] [[Operand Type]]" + list-row-macro="row" /> +\end + +{{$:/plugins/flibbles/relink/language/Help/Operators}} + +<> diff --git a/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_stylesheet.css.tid b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_stylesheet.css.tid new file mode 100644 index 0000000..17a3fa4 --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/$__plugins_flibbles_relink_ui_stylesheet.css.tid @@ -0,0 +1,64 @@ +tags: $:/tags/Stylesheet +title: $:/plugins/flibbles/relink/ui/stylesheet.css + +.tc-relink-references { +} + +.tc-relink-references-table { + width: 100%; + border: none; +} + +.tc-relink-references-table td { + border-left: none; +} + +.tc-relink-references-table tr:first-child td { + border-top: none; +} + +.tc-relink-references-title { + text-align: left; + vertical-align: top; +} + +.tc-relink-references-occurrence { + font-style: italic; + text-align: left; + font-weight: 200; + padding-left: 25px; + vertical-align: top; +} + +.tc-relink-header-plugin { + text-align: left; +} + +.tc-relink-header-plugin button { + width: 100% +} + +.tc-relink-column-type { + width: 8em; +} + +.tc-relink-column-type select { + width: 100%; +} + +.tc-relink-column-delete { + border-left: none; + text-align: left; +} + +.tc-relink-column-delete button { + padding-left: 1em; +} + +.tc-relink-impossible a.tc-tiddlylink { + color: <>; +} + +.tc-relink-menu-missing-blurb { + margin-left: 30pt; +} diff --git a/Wiki-OcttKB/plugins/relink/plugin.info b/Wiki-OcttKB/plugins/relink/plugin.info new file mode 100644 index 0000000..8d040be --- /dev/null +++ b/Wiki-OcttKB/plugins/relink/plugin.info @@ -0,0 +1,13 @@ +{ + "name": "Relink", + "title": "$:/plugins/flibbles/relink", + "description": "Flexibility when relinking renamed tiddlers", + "author": "Flibbles", + "version": "2.3.1", + "core-version": ">=5.1.22", + "source": "https://github.com/flibbles/tw5-relink", + "demo": "http://flibbles.github.io/tw5-relink/", + "list": "readme configuration license", + "dependents": "", + "plugin-type": "plugin" +} \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/Normal/1337x_en.tid b/Wiki-OcttKB/tiddlers/Normal/1337x_en.tid new file mode 100644 index 0000000..72772d3 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/1337x_en.tid @@ -0,0 +1,14 @@ +created: 20220923133930693 +creator: Octt +modified: 20230221224113158 +modifier: Octt +tags: Web BitTorrent Sharing Research $:/i18n:en +title: 1337x:en + +''1337x'' is a [[torrent|BitTorrent]] search engine. + +[img[https://upload.wikimedia.org/wikipedia/commons/b/bb/1337X_logo.svg]] + +In recent years, the service has become more popular than some of its older alternatives, in part thanks to some of its quality-ensuring rules. + +The site features text search, categories, and user profiles. \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/Normal/2048.tid b/Wiki-OcttKB/tiddlers/Normal/2048.tid new file mode 100644 index 0000000..f1322fa --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/2048.tid @@ -0,0 +1,24 @@ +created: 20230111153852789 +creator: Octt +modified: 20230225112624871 +modifier: Octt +tags: Puzzle $:/i18n:en Game Generic Libre $:/Games +title: 2048 + +<<^wikipediaframe "2048 (video game)">> + +!! ''Gamin' Time'' + +<> + +!! ''Implementations'' + +* ''Official (Gabriele Cirulli)'': [[Web|https://play2048.co/]] | [[Git|https://github.com/gabrielecirulli/2048/]] +** Android Repack: [[F-Droid|https://f-droid.org/en/packages/com.uberspot.a2048/]] | [[Git|https://github.com/uberspot/2048-android/]] + +* ''Privacy Friendly 2048 (SecUSo)'': [[F-Droid|https://f-droid.org/en/packages/org.secuso.privacyfriendly2048/]] | [[Git|https://github.com/SecUSo/privacy-friendly-2048/]] + +!! ''Clones'' + +* [[2248]] +* ... diff --git a/Wiki-OcttKB/tiddlers/Normal/2248.tid b/Wiki-OcttKB/tiddlers/Normal/2248.tid new file mode 100644 index 0000000..75d1562 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/2248.tid @@ -0,0 +1,12 @@ +created: 20230205144033227 +creator: Octt +modified: 20230225112438828 +modifier: Octt +tags: TODO Game $:/Games +title: 2248 + +A diverse [[2048]] clone, nice fun. + +!! ''Gamin' Time'' + +<> diff --git a/Wiki-OcttKB/tiddlers/Normal/3D Pinball_en.tid b/Wiki-OcttKB/tiddlers/Normal/3D Pinball_en.tid new file mode 100644 index 0000000..30ac86c --- /dev/null +++ b/Wiki-OcttKB/tiddlers/Normal/3D Pinball_en.tid @@ -0,0 +1,8 @@ +created: 20230124213630708 +creator: Octt +modified: 20230206204135834 +modifier: Octt +tags: $:/i18n:en Game +title: 3D Pinball:en + +< +\end + +\define iframe(src, class, attrs) < + +'> +\end + + +\define iFrame100(Src) +<> + +\end + +\define iFrame100NoScroll(Src) +<> + +\end + +\define iFrame100UriDirect(Src) + +\end + +\define iFrame100Tid(Tid) +<> +<>""">> +\end diff --git a/Wiki-OcttKB/tiddlers/System/$__Macros_Main.tid b/Wiki-OcttKB/tiddlers/System/$__Macros_Main.tid new file mode 100644 index 0000000..84305ba --- /dev/null +++ b/Wiki-OcttKB/tiddlers/System/$__Macros_Main.tid @@ -0,0 +1,90 @@ +created: 20220920092322164 +creator: Octt +modified: 20230605214618218 +modifier: Octt +tags: $:/tags/Macro +title: $:/Macros/Main + +\whitespace trim + + +\define [(Text, L:"[", R:"]") $L$$Text$$R$ + + + + +\define Details(Content, Summary:"Details", Heading:"0", Class:"tw-details") +
    +$Summary$ +$Content$ +
    +\end + +\define details(content, summary:"Details", heading:"0", class:"tw-details") <
    > + + + + + +\define #:(Name) + +
    +[[#|$Name$]] +{{$Name$}} +
    +\end + + +\define {<(Tiddler, Heading:"0") +\whitespace trim +
    + + [[_|$Tiddler$]]  + + ''$Tiddler$'' + + + <<{ "$Tiddler$">> +
    +\end +\define {^(Tiddler, Heading) <<{< "$Tiddler$" "$Heading$">> +\define ^{(Tiddler, Heading) <<{< "$Tiddler$" "$Heading$">> + + +\define lself() [[$(currentTiddler)$]] +\define #lself() [[#|$(currentTiddler)$]] + + +\define x#(Field, Text) +<$checkbox field="$Field$" checked="true" unchecked="false" default="false"> $Text$ +\end + +\define Table(Rows) $Rows$
    + +\define ColorText(Text, Foreground) +$Text$ +\end + +\define ColorSpan(Text, Background) +$Text$ +\end + +\define StrAppend(Str, Suffix, Prefix) $Prefix$$Str$$Suffix$ + +\define LImg(Src, Href, Alt) +$Alt$ +\end + +\define iboxL(img, caption) <[[[Source|$img$]]]">> + +\define #[(Title, Link) <<[ "[[$Title$|$Link$]]">> +\define [#(Title, Link) <$macrocall $name="#[" Title="$Title$" Link="$Link$"/> diff --git a/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_EmbedInternal.js b/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_EmbedInternal.js new file mode 100644 index 0000000..7cbffa0 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_EmbedInternal.js @@ -0,0 +1,67 @@ +/*\ +See [[$:/Macros/MediaWiki]] for usage of this macro. +Note: source must always be credited, and thus it's not ideal to use this macro directly. Please use the <> wrapper macro instead, as it provides a link to the source automatically. (This feature is implemented in its own non-JS macro to make at least the URL show on static wiki exports.) +\*/ + +(function(){ +"use strict"; +exports.name = "MediaWikiEmbedInternal"; +exports.params = [ + {name: "Article"}, + {name: "Domain"}, + {name: "Sections"}, +]; + +exports.run = function(Article, Domain, Sections) { +try { + let Text; + Sections = parseInt(Sections) || 0; + Domain = $OcttKB.MediaWiki.MkDomain(Domain); + const Req = new XMLHttpRequest(); + Req.open('GET', Domain + '/w/api.php?action=query&formatversion=2&prop=extracts&format=json&origin=*&titles=' + Article, false); + Req.send(); + Text = JSON.parse(Req.responseText).query.pages[0].extract; + if (!Text) { + Text = '

    An error occurred while trying to extract the content. Close and reopen this tiddler to retry, or click the link to open the source in a new tab.

    ' + }; + Text = Text.replaceAll('\n', '').replaceAll('

    ', ''); + if (Sections != 0) { + for (let i=1; i<=6; i++) { + Text = Text.replaceAll(`

    `, `

    \n`); + }; + Text = Text.replaceAll(`

    `, `

    `); + //Text = Text.split('').slice(0, Max+1).join(''); + //Text = Text.split('

    ').slice(0, Max+1).join('

    '); + if (Sections < 0) { + Sections = 0; + }; + Text = Text.split('').slice(0, Sections).join(''); + //Text += '

    [...]

    ' + }; +/* + Sections = Sections.split(' '); + for (let i=0; i> wrapper macro instead, as it provides a link to the source automatically. (This feature is implemented in its own non-JS macro to make at least the URL show on static wiki exports.) +See [[$: /Macros/MediaWiki]] for usage of this macro. +created: 20230108190340455 +creator: Octt +modified: 20230429192152268 +modifier: Octt +module-type: macro +tags: +title: $:/Macros/MediaWiki/EmbedInternal.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_GetCover.js b/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_GetCover.js new file mode 100644 index 0000000..c3a45a9 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_GetCover.js @@ -0,0 +1,32 @@ +/*\ +Get the cover image from a MediaWiki article. +[<<]MediaWikiGetCover "Article" "Full Domain OR Wikipedia Subdomain" "Manual URL OR NULL"[>>] +\*/ + +(function(){ +"use strict"; +exports.name = "MediaWikiGetCover"; +exports.params = [ + {name: "Article"}, + {name: "Domain"}, + {name: "URL"}, +]; + +exports.run = function(Article, Domain, URL) { +try { + if (!URL || URL && !$OcttKB.Options.Nulls.includes(URL.toLowerCase())) { + let File; + Domain = $OcttKB.MediaWiki.MkDomain(Domain); + const Req = new XMLHttpRequest(); + Req.open('GET', Domain + '/w/api.php?action=query&prop=pageimages&format=json&piprop=original&origin=*&titles=' + Article, false); + Req.send(); + File = Object.values(JSON.parse(Req.responseText).query.pages)[0]; + if (File && File.original && File.original.source) { + return ``; + }; + }; + return ''; +} catch(e) { + return $OcttKB.ErrAtLine(e); +}; +}})(); \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_GetCover.js.meta b/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_GetCover.js.meta new file mode 100644 index 0000000..fb41c73 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_GetCover.js.meta @@ -0,0 +1,8 @@ +created: 20230112154435120 +creator: Octt +modified: 20230124213845342 +modifier: Octt +module-type: macro +tags: +title: $:/Macros/MediaWiki/GetCover.js +type: application/javascript \ No newline at end of file diff --git a/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_Main.tid b/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_Main.tid new file mode 100644 index 0000000..f652125 --- /dev/null +++ b/Wiki-OcttKB/tiddlers/System/$__Macros_MediaWiki_Main.tid @@ -0,0 +1,50 @@ +created: 20230110102736164 +creator: Octt +modified: 20230305223746772 +modifier: Octt +tags: $:/tags/Macro +title: $:/Macros/MediaWiki/Main + + + +\define MediaWiki(Article Domain Sections Cover) +
    +
    + From <$set name="FullDomain" filter="[[$Domain$]regexp[\.]then[$Domain$]else[$Domain$.Wikipedia.org]]"> + <$macrocall $name="ExtMediaWikiAnchor" Article="$Article$" Domain=<>/> + +
    +
    + <> +
    +
    + <> +
    +
    +\end + +\define ExtMediaWikiAnchor(Article, Domain) [[$Domain$/$Article$|https://$Domain$/wiki/$Article$]] + +\define WikipediaLink(Article, Subdomain:"en") [[$Article$|https://$Subdomain$.wikipedia.org/wiki/$Article$]] +\define WikipediaLink-(Article, Subdomain:"en") [[$Article$ - Wikipedia|https://$Subdomain$.wikipedia.org/wiki/$Article$]] + + + +\define WikipediaFrame(Article, Subdomain:"en") +<' + +Html = str(BeautifulSoup(open(File, 'r'), 'html5lib')) + +Html = sub('
    (.+)<\/summary>\s*<\/a>', Fix1, Html) +Html = sub('<\/iframe>', SafeIframe, Html) +Html = sub('