Site Notice

hello, world

Difference between revisions of "MediaWiki:Gadget-WikiForum/theme.default.js"

From Project-EPB Commons
([InPageEdit] 没有编辑摘要)
([InPageEdit] 没有编辑摘要)
Line 1: Line 1:
 +
/**
 +
* @name WikiForum.theme.default
 +
* @author 机智的小鱼君 <[email protected]>
 +
* @description Provide a front-end structured discussion page with JavaScript.
 +
*              Similar to Community Feed and support wikitext.
 +
*
 +
* @license MIT
 +
* @url https://github.com/Wjghj-Project/Gadget-WikiForum
 +
*/
 +
 +
/******/ (function() { // webpackBootstrap
 +
/*!**********************************!*\
 +
  !*** ./theme/default/default.js ***!
 +
  \**********************************/
 
/**
 
/**
 
  * @function theme.default 标准的官方主题
 
  * @function theme.default 标准的官方主题
Line 8: Line 22:
 
  * @param {Function} next
 
  * @param {Function} next
 
  */
 
  */
mw.hook('WikiForum.theme').add(next => {
+
mw.hook('WikiForum.theme').add(function (next) {
   var allForumsContainer = ctx => {
+
   var allForumsContainer = function allForumsContainer(ctx) {
     return $('<div>', { class: 'wiki-forum-all-container' })
+
     return $('<div>', {
   }
+
      "class": 'wiki-forum-all-container'
 +
    });
 +
  };
 +
 
 +
  var forumContainer = function forumContainer(ctx) {
 +
    return $('<div>', {
 +
      "class": 'wiki-forum',
 +
      'data-forumid': ctx.meta.id
 +
    });
 +
   };
  
   var forumContainer = ctx => {
+
   var firstThread = function firstThread(ctx) {
     return $('<div>', { class: 'wiki-forum', 'data-forumid': ctx.forumid })
+
    return $('<div>', {
   }
+
      "class": 'forum-thread forum-first'
 +
    }).append($('<div>', {
 +
      "class": 'forum-before'
 +
    }).append($('<h3>', {
 +
      "class": 'forum-title',
 +
      text: ctx.meta.title
 +
    }), $('<span>', {
 +
      "class": 'forum-id-link',
 +
      text: '#' + ctx.meta.id
 +
    }), $('<div>', {
 +
      "class": 'forum-user'
 +
    }).append($('<span>', {
 +
      "class": 'forum-user-link'
 +
    }).append($('<a>', {
 +
      text: ctx.meta.userAuthor,
 +
      href: mw.util.getUrl('User:' + ctx.meta.userAuthor)
 +
     })))), $('<div>', {
 +
      "class": 'forum-content',
 +
      html: ctx.content
 +
    }), $('<div>', {
 +
      "class": 'forum-after'
 +
    }).append($('<i>', {
 +
      "class": 'post-date',
 +
      text: new Date(ctx.meta.timePublish).toLocaleString()
 +
    })), ctx.fn.newThreadArea);
 +
   };
  
   var firstThread = ctx => {
+
   var normalThread = function normalThread(ctx) {
     return $('<div>', { class: 'forum-thread forum-first' }).append(
+
     return $('<div>', {
      $('<div>', { class: 'forum-before' }).append(
+
      "class": 'forum-thread'
        $('<h3>', { class: 'forum-title', text: ctx.title }),
+
    }).append($('<div>', {
        $('<div>', { class: 'forum-user' }).append(
+
      "class": 'forum-before'
          $('<span>', { class: 'forum-user-link' }).append(
+
    }).append($('<div>', {
            $('<a>', {
+
      "class": 'forum-user'
              text: ctx.meta.userAuthor,
+
    }).append($('<span>', {
              href: mw.util.getUrl('User:' + ctx.meta.userAuthor),
+
      "class": 'forum-user-link'
            })
+
    }).append($('<a>', {
          )
+
      text: ctx.meta.userAuthor,
        )
+
      href: mw.util.getUrl('User:' + ctx.meta.userAuthor)
      ),
+
    })))), $('<div>', {
      $('<div>', { class: 'forum-content', html: ctx.content }),
+
      "class": 'forum-content',
      $('<div>', { class: 'forum-after' }).append(
+
      html: ctx.content
        $('<i>', {
+
    }), $('<div>', {
          class: 'post-date',
+
      "class": 'forum-after'
          text: new Date(ctx.meta.timePublish).toLocaleString(),
+
    }).append($('<i>', {
        })
+
      "class": 'post-date',
      ),
+
      text: new Date(ctx.meta.timePublish).toLocaleString()
      ctx.fn.newThreadArea
+
    }), ctx.fn.newReplyArea));
    )
+
   };
   }
 
  
   var normalThread = ctx => {
+
   next && next({
     return $('<div>', { class: 'forum-thread' }).append(
+
     allForumsContainer: allForumsContainer,
      $('<div>', { class: 'forum-before' }).append(
+
    forumContainer: forumContainer,
        $('<div>', { class: 'forum-user' }).append(
+
    // beforeForum,
          $('<span>', { class: 'forum-user-link' }).append(
+
    firstThread: firstThread,
            $('<a>', {
+
    normalThread: normalThread // afterForum,
              text: ctx.meta.userAuthor,
 
              href: mw.util.getUrl('User:' + ctx.meta.userAuthor),
 
            })
 
          )
 
        )
 
      ),
 
      $('<div>', { class: 'forum-content', html: ctx.content }),
 
      $('<div>', { class: 'forum-after' }).append(
 
        $('<i>', {
 
          class: 'post-date',
 
          text: new Date(ctx.meta.timePublish).toLocaleString(),
 
        }),
 
        ctx.fn.newReplyArea
 
      )
 
    )
 
  }
 
  
   next &&
+
   });
    next({
+
});
      allForumsContainer,
+
/******/ })()
      forumContainer,
+
;
      // beforeForum,
 
      firstThread,
 
      normalThread,
 
      // afterForum,
 
    })
 
})
 

Revision as of 22:23, 28 December 2020

/**
 * @name WikiForum.theme.default
 * @author 机智的小鱼君 <[email protected]>
 * @description Provide a front-end structured discussion page with JavaScript.
 *              Similar to Community Feed and support wikitext.
 *
 * @license MIT
 * @url https://github.com/Wjghj-Project/Gadget-WikiForum
 */

/******/ (function() { // webpackBootstrap
/*!**********************************!*\
  !*** ./theme/default/default.js ***!
  \**********************************/
/**
 * @function theme.default 标准的官方主题
 * @param {Object} ctx
 * @param {jQuery<Element>} ctx.fn.newThreadArea
 * @param {jQuery<Element>} ctx.fn.newReplyArea
 * @param {Object} ctx.meta
 *
 * @param {Function} next
 */
mw.hook('WikiForum.theme').add(function (next) {
  var allForumsContainer = function allForumsContainer(ctx) {
    return $('<div>', {
      "class": 'wiki-forum-all-container'
    });
  };

  var forumContainer = function forumContainer(ctx) {
    return $('<div>', {
      "class": 'wiki-forum',
      'data-forumid': ctx.meta.id
    });
  };

  var firstThread = function firstThread(ctx) {
    return $('<div>', {
      "class": 'forum-thread forum-first'
    }).append($('<div>', {
      "class": 'forum-before'
    }).append($('<h3>', {
      "class": 'forum-title',
      text: ctx.meta.title
    }), $('<span>', {
      "class": 'forum-id-link',
      text: '#' + ctx.meta.id
    }), $('<div>', {
      "class": 'forum-user'
    }).append($('<span>', {
      "class": 'forum-user-link'
    }).append($('<a>', {
      text: ctx.meta.userAuthor,
      href: mw.util.getUrl('User:' + ctx.meta.userAuthor)
    })))), $('<div>', {
      "class": 'forum-content',
      html: ctx.content
    }), $('<div>', {
      "class": 'forum-after'
    }).append($('<i>', {
      "class": 'post-date',
      text: new Date(ctx.meta.timePublish).toLocaleString()
    })), ctx.fn.newThreadArea);
  };

  var normalThread = function normalThread(ctx) {
    return $('<div>', {
      "class": 'forum-thread'
    }).append($('<div>', {
      "class": 'forum-before'
    }).append($('<div>', {
      "class": 'forum-user'
    }).append($('<span>', {
      "class": 'forum-user-link'
    }).append($('<a>', {
      text: ctx.meta.userAuthor,
      href: mw.util.getUrl('User:' + ctx.meta.userAuthor)
    })))), $('<div>', {
      "class": 'forum-content',
      html: ctx.content
    }), $('<div>', {
      "class": 'forum-after'
    }).append($('<i>', {
      "class": 'post-date',
      text: new Date(ctx.meta.timePublish).toLocaleString()
    }), ctx.fn.newReplyArea));
  };

  next && next({
    allForumsContainer: allForumsContainer,
    forumContainer: forumContainer,
    // beforeForum,
    firstThread: firstThread,
    normalThread: normalThread // afterForum,

  });
});
/******/ })()
;