Site Notice

hello, world

Difference between revisions of "InPageEdit-v2/SDK"

From Project-EPB Commons
([InPageEdit] 没有编辑摘要 (第7部分))
([InPageEdit] 没有编辑摘要)
Line 1: Line 1:
 
== 快速编辑 ==
 
== 快速编辑 ==
 
<code>InPageEdit.edit(options)</code>
 
<code>InPageEdit.edit(options)</code>
* <code>options</code>: {object}
+
* <code>options</code>: {'''object'''}
 
** <code>page</code>: 必须;编辑的页面名
 
** <code>page</code>: 必须;编辑的页面名
 
** <code>revision</code>: 修订版本号,如果与当前页面版本号不同则取代
 
** <code>revision</code>: 修订版本号,如果与当前页面版本号不同则取代
Line 18: Line 18:
 
== 快速重定向 ==
 
== 快速重定向 ==
 
<code>InPageEdit.redirect(type)</code>
 
<code>InPageEdit.redirect(type)</code>
* <code>type</code>: string(to,from)
+
* <code>type</code>: '''"string"'''(to/from)
 
** from 重定向页面至此
 
** from 重定向页面至此
 
** to 将此页面重定向到
 
** to 将此页面重定向到
Line 31: Line 31:
 
== 快速删除 ==
 
== 快速删除 ==
 
<code>InPageEdit.deletepage()</code>
 
<code>InPageEdit.deletepage()</code>
* <code></code>
+
* <code>?</code>
  
 
== 快速重命名 ==
 
== 快速重命名 ==
 
<code>InPageEdit.renamepage()</code>
 
<code>InPageEdit.renamepage()</code>
* <code></code>
+
* <code>?</code>
  
 
== InPageEdit设置 ==
 
== InPageEdit设置 ==
Line 45: Line 45:
 
== 比较差异 ==   
 
== 比较差异 ==   
 
<code>InPageEdit.quickDiff(options)</code>
 
<code>InPageEdit.quickDiff(options)</code>
* <code>options</code>: {object}
+
* <code>options</code>: {'''object'''}
 
** <code>fromtitle</code>: First title to compare.
 
** <code>fromtitle</code>: First title to compare.
 
** <code>fromid</code>: First page ID to compare. <b>Type:</b> integer  
 
** <code>fromid</code>: First page ID to compare. <b>Type:</b> integer  
Line 72: Line 72:
 
== 添加编辑链接 ==
 
== 添加编辑链接 ==
 
<code>InPageEdit.articleLink(element)</code>
 
<code>InPageEdit.articleLink(element)</code>
* <code>element</code>: <element>
+
* <code>element</code>: <'''element'''>
 
** 缺省值:<code>$('#mw-content-text a:not(.new)')</code>
 
** 缺省值:<code>$('#mw-content-text a:not(.new)')</code>
 
** 将该链接作为编辑链接,识别并添加快速编辑链接
 
** 将该链接作为编辑链接,识别并添加快速编辑链接
Line 78: Line 78:
  
 
无示例
 
无示例
 +
 +
== 加载框 ==
 +
'''不建议使用'''
 +
<code>InPageEdit.progress(title)</code>
 +
* <code>title</code>: '''"string"''',√'''boolean'''×
 +
** true: 将顶层加载框状态切换为已完成
 +
** false: 关闭顶层的加载框
 +
** string: 以字符串为标题创建加载框
 +
 +
<pre class="prettyprint">
 +
function testProgress() {
 +
  InPageEdit.progress('加载中…');
 +
  setTimeout(function(){
 +
    InPageEdit.progress(true);
 +
    setTimeout(function(){
 +
      InPageEdit.progress(false);
 +
    },5000);
 +
  },5000);
 +
}
 +
</pre>
 +
<html><button onclick="testProgress">测试</button>
 +
<script>
 +
function testProgress() {
 +
  InPageEdit.progress('加载中…');
 +
  setTimeout(function(){
 +
    InPageEdit.progress(true);
 +
    setTimeout(function(){
 +
      InPageEdit.progress(false);
 +
    },5000);
 +
  },5000);
 +
}
 +
</script></html>
  
 
== 示例 ==
 
== 示例 ==

Revision as of 23:08, 23 November 2019

快速编辑

InPageEdit.edit(options)

  • options: {object}
    • page: 必须;编辑的页面名
    • revision: 修订版本号,如果与当前页面版本号不同则取代
    • section: 编辑的段落编号

最基础的调用

InPageEdit.edit({
  page: mw.config.get('wgPageName')
});

<html><button onclick="InPageEdit.edit({

 page: mw.config.get('wgPageName')

});">测试</button></html>

快速重定向

InPageEdit.redirect(type)

  • type: "string"(to/from)
    • from 重定向页面至此
    • to 将此页面重定向到

最基础的调用

InPageEdit.redirect('from');
InPageEdit.redirect('to');

<html><button onclick="InPageEdit.redirect('from')">测试from</button> <button onclick="InPageEdit.redirect('to')">测试to</button></html>

快速删除

InPageEdit.deletepage()

  • ?

快速重命名

InPageEdit.renamepage()

  • ?

InPageEdit设置

InPageEdit.preference()

  • 打开设置窗口

<html><button onclick="InPageEdit.preference()">InPageEdit.preference()</button></html>

比较差异

InPageEdit.quickDiff(options)

  • options: {object}
    • fromtitle: First title to compare.
    • fromid: First page ID to compare. Type: integer
    • fromrev: First revision to compare. Type: integer
    • fromtext: Use this text instead of the content specified by fromtitle, fromid or fromrev.
    • frompst: Do a pre-save transform on fromtext. Type: boolean
    • <code">totitle: Second title to compare.
    • toid: Second page ID to compare. Type: integer
    • torev: Second revision to compare. Type: integer
    • torelative: Compare to a relative revision of fromtitle, fromid or fromrev. All the other "to" options will be ignored. Possible values: prev, next, cur
    • totext: Use this text instead of the content specified by totitle, toid, torev, or torelative.
    • topst: Do a pre-save transform on totext. Type: boolean

最简单的示例,比较本页面最后一次修改

InPageEdit.quickDiff({
  fromtitle: mw.config.get('wgPageName'),
  torelative: 'prev'
});

<html><button onclick="InPageEdit.quickDiff({

 fromtitle: mw.config.get('wgPageName'),
 torelative: 'prev'

});">测试</button></html>

添加编辑链接

InPageEdit.articleLink(element)

  • element: <element>
    • 缺省值:$('#mw-content-text a:not(.new)')
    • 将该链接作为编辑链接,识别并添加快速编辑链接
  • 该模块在页面加载时将运行一次

无示例

加载框

不建议使用 InPageEdit.progress(title)

  • title: "string",√boolean×
    • true: 将顶层加载框状态切换为已完成
    • false: 关闭顶层的加载框
    • string: 以字符串为标题创建加载框
function testProgress() {
  InPageEdit.progress('加载中…');
  setTimeout(function(){
    InPageEdit.progress(true);
    setTimeout(function(){
      InPageEdit.progress(false);
    },5000);
  },5000);
}

<html><button onclick="testProgress">测试</button> <script> function testProgress() {

 InPageEdit.progress('加载中…');
 setTimeout(function(){
   InPageEdit.progress(true);
   setTimeout(function(){
     InPageEdit.progress(false);
   },5000);
 },5000);

} </script></html>

示例

在编辑链接后添加快速编辑链接

此示例代码已在Vector、Timeless以及Hydra皮肤上测试可用

$(function(){
  $('#ca-view').after(
    $('<li>',{
      id:'ca-quick-edit',
      class:'collapsible'
    }).append(
      $('<span>').append(
        $('<a>',{
          href: 'javascript:void(0)'
        })
        .text('快速编辑')
        .click(function(){
          InPageEdit.edit({
            page: mw.config.get('wgPageName'),
            revision: mw.config.get('wgRevisionId')
          });
        })
      )
    )
  );
});