framework/extensions/subscriptions/js/dist/forum.js.map
flarum-bot 6df4101bae Bundled output for commit a595665bfb
Includes transpiled JS/TS.

[skip ci]
2022-03-23 15:45:44 +00:00

1 line
26 KiB
Plaintext
Generated

{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@flarum/subscriptions/webpack/bootstrap","webpack://@flarum/subscriptions/webpack/runtime/compat get default export","webpack://@flarum/subscriptions/webpack/runtime/define property getters","webpack://@flarum/subscriptions/webpack/runtime/hasOwnProperty shorthand","webpack://@flarum/subscriptions/webpack/runtime/make namespace object","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/extend']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/app']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/Model']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/components/IndexPage']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/components/NotificationGrid']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/components/Badge']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/components/Button']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/components/DiscussionPage']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@flarum/subscriptions/../../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@flarum/subscriptions/../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@flarum/subscriptions/../../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/components/Dropdown']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/components/Tooltip']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/utils/extractText']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/Component']\"","webpack://@flarum/subscriptions/./src/forum/components/SubscriptionMenuItem.js","webpack://@flarum/subscriptions/./src/forum/components/SubscriptionMenu.js","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/components/LinkButton']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/states/DiscussionListState']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/states/GlobalSearchState']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/components/SettingsPage']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['common/components/Switch']\"","webpack://@flarum/subscriptions/external root \"flarum.core.compat['forum/components/Notification']\"","webpack://@flarum/subscriptions/./src/forum/components/NewPostNotification.js","webpack://@flarum/subscriptions/./src/forum/index.js","webpack://@flarum/subscriptions/./src/forum/addSubscriptionBadge.js","webpack://@flarum/subscriptions/./src/forum/addSubscriptionControls.js","webpack://@flarum/subscriptions/./src/forum/addSubscriptionFilter.js","webpack://@flarum/subscriptions/./src/forum/addSubscriptionSettings.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/IndexPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/NotificationGrid'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Badge'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/DiscussionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/DiscussionControls'];","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Dropdown'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Tooltip'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/extractText'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","import Component from 'flarum/common/Component';\nimport icon from 'flarum/common/helpers/icon';\n\nexport default class SubscriptionMenuItem extends Component {\n view() {\n return (\n <button className=\"SubscriptionMenuItem hasIcon\" onclick={this.attrs.onclick}>\n {this.attrs.active ? icon('fas fa-check', { className: 'Button-icon' }) : ''}\n <span className=\"SubscriptionMenuItem-label\">\n {icon(this.attrs.icon, { className: 'Button-icon' })}\n <strong>{this.attrs.label}</strong>\n <span className=\"SubscriptionMenuItem-description\">{this.attrs.description}</span>\n </span>\n </button>\n );\n }\n}\n","import app from 'flarum/forum/app';\nimport Dropdown from 'flarum/common/components/Dropdown';\nimport Button from 'flarum/common/components/Button';\nimport Tooltip from 'flarum/common/components/Tooltip';\nimport icon from 'flarum/common/helpers/icon';\nimport extractText from 'flarum/common/utils/extractText';\nimport classList from 'flarum/common/utils/classList';\n\nimport SubscriptionMenuItem from './SubscriptionMenuItem';\n\nexport default class SubscriptionMenu extends Dropdown {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.options = [\n {\n subscription: null,\n icon: 'far fa-star',\n label: app.translator.trans('flarum-subscriptions.forum.sub_controls.not_following_button'),\n description: app.translator.trans('flarum-subscriptions.forum.sub_controls.not_following_text'),\n },\n {\n subscription: 'follow',\n icon: 'fas fa-star',\n label: app.translator.trans('flarum-subscriptions.forum.sub_controls.following_button'),\n description: app.translator.trans('flarum-subscriptions.forum.sub_controls.following_text'),\n },\n {\n subscription: 'ignore',\n icon: 'far fa-eye-slash',\n label: app.translator.trans('flarum-subscriptions.forum.sub_controls.ignoring_button'),\n description: app.translator.trans('flarum-subscriptions.forum.sub_controls.ignoring_text'),\n },\n ];\n }\n\n view() {\n const discussion = this.attrs.discussion;\n const subscription = discussion.subscription();\n\n let buttonLabel = app.translator.trans('flarum-subscriptions.forum.sub_controls.follow_button');\n let buttonIcon = 'far fa-star';\n const buttonClass = 'SubscriptionMenu-button--' + subscription;\n\n switch (subscription) {\n case 'follow':\n buttonLabel = app.translator.trans('flarum-subscriptions.forum.sub_controls.following_button');\n buttonIcon = 'fas fa-star';\n break;\n\n case 'ignore':\n buttonLabel = app.translator.trans('flarum-subscriptions.forum.sub_controls.ignoring_button');\n buttonIcon = 'far fa-eye-slash';\n break;\n\n default:\n // no default\n }\n\n const preferences = app.session.user.preferences();\n const notifyEmail = preferences['notify_newPost_email'];\n const notifyAlert = preferences['notify_newPost_alert'];\n const tooltipText = extractText(\n app.translator.trans(\n notifyEmail ? 'flarum-subscriptions.forum.sub_controls.notify_email_tooltip' : 'flarum-subscriptions.forum.sub_controls.notify_alert_tooltip'\n )\n );\n\n const shouldShowTooltip = (notifyEmail || notifyAlert) && subscription === null;\n\n const button = (\n <Button\n className={classList('Button', 'SubscriptionMenu-button', buttonClass)}\n icon={buttonIcon}\n onclick={this.saveSubscription.bind(this, discussion, ['follow', 'ignore'].indexOf(subscription) !== -1 ? null : 'follow')}\n >\n {buttonLabel}\n </Button>\n );\n\n return (\n <div className=\"Dropdown ButtonGroup SubscriptionMenu\">\n {shouldShowTooltip ? (\n <Tooltip text={tooltipText} position=\"bottom\">\n {button}\n </Tooltip>\n ) : (\n button\n )}\n\n <button className={classList('Dropdown-toggle Button Button--icon', buttonClass)} data-toggle=\"dropdown\">\n {icon('fas fa-caret-down', { className: 'Button-icon' })}\n </button>\n\n <ul className=\"Dropdown-menu dropdown-menu Dropdown-menu--right\">\n {this.options.map((attrs) => (\n <li>\n {SubscriptionMenuItem.component({\n ...attrs,\n onclick: this.saveSubscription.bind(this, discussion, attrs.subscription),\n active: subscription === attrs.subscription,\n })}\n </li>\n ))}\n </ul>\n </div>\n );\n }\n\n saveSubscription(discussion, subscription) {\n discussion.save({ subscription });\n\n this.$('.SubscriptionMenu-button').tooltip('hide');\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/LinkButton'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/states/DiscussionListState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/states/GlobalSearchState'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/SettingsPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Switch'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/components/Notification'];","import app from 'flarum/forum/app';\nimport Notification from 'flarum/forum/components/Notification';\n\nexport default class NewPostNotification extends Notification {\n icon() {\n return 'fas fa-star';\n }\n\n href() {\n const notification = this.attrs.notification;\n const discussion = notification.subject();\n const content = notification.content() || {};\n\n return app.route.discussion(discussion, content.postNumber);\n }\n\n content() {\n return app.translator.trans('flarum-subscriptions.forum.notifications.new_post_text', { user: this.attrs.notification.fromUser() });\n }\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport Model from 'flarum/common/Model';\nimport Discussion from 'flarum/common/models/Discussion';\nimport IndexPage from 'flarum/forum/components/IndexPage';\nimport NotificationGrid from 'flarum/forum/components/NotificationGrid';\n\nimport addSubscriptionBadge from './addSubscriptionBadge';\nimport addSubscriptionControls from './addSubscriptionControls';\nimport addSubscriptionFilter from './addSubscriptionFilter';\nimport addSubscriptionSettings from './addSubscriptionSettings';\n\nimport NewPostNotification from './components/NewPostNotification';\n\napp.initializers.add('subscriptions', function () {\n app.routes.following = { path: '/following', component: IndexPage };\n app.notificationComponents.newPost = NewPostNotification;\n\n Discussion.prototype.subscription = Model.attribute('subscription');\n\n addSubscriptionBadge();\n addSubscriptionControls();\n addSubscriptionFilter();\n addSubscriptionSettings();\n\n extend(NotificationGrid.prototype, 'notificationTypes', function (items) {\n items.add('newPost', {\n name: 'newPost',\n icon: 'fas fa-star',\n label: app.translator.trans('flarum-subscriptions.forum.settings.notify_new_post_label'),\n });\n });\n});\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Badge from 'flarum/common/components/Badge';\n\nexport default function addSubscriptionBadge() {\n extend(Discussion.prototype, 'badges', function (badges) {\n let badge;\n\n switch (this.subscription()) {\n case 'follow':\n badge = Badge.component({\n label: app.translator.trans('flarum-subscriptions.forum.badge.following_tooltip'),\n icon: 'fas fa-star',\n type: 'following',\n });\n break;\n\n case 'ignore':\n badge = Badge.component({\n label: app.translator.trans('flarum-subscriptions.forum.badge.ignoring_tooltip'),\n icon: 'far fa-eye-slash',\n type: 'ignoring',\n });\n break;\n\n default:\n // no default\n }\n\n if (badge) {\n badges.add('subscription', badge);\n }\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport Button from 'flarum/common/components/Button';\nimport DiscussionPage from 'flarum/forum/components/DiscussionPage';\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\n\nimport SubscriptionMenu from './components/SubscriptionMenu';\n\nexport default function addSubscriptionControls() {\n extend(DiscussionControls, 'userControls', function (items, discussion, context) {\n if (app.session.user && !(context instanceof DiscussionPage)) {\n const states = {\n none: { label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.follow_button'), icon: 'fas fa-star', save: 'follow' },\n follow: { label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.unfollow_button'), icon: 'far fa-star', save: null },\n ignore: { label: app.translator.trans('flarum-subscriptions.forum.discussion_controls.unignore_button'), icon: 'fas fa-eye', save: null },\n };\n\n const subscription = discussion.subscription() || 'none';\n\n items.add(\n 'subscription',\n Button.component(\n {\n icon: states[subscription].icon,\n onclick: discussion.save.bind(discussion, { subscription: states[subscription].save }),\n },\n states[subscription].label\n )\n );\n }\n });\n\n extend(DiscussionPage.prototype, 'sidebarItems', function (items) {\n if (app.session.user) {\n const discussion = this.discussion;\n\n items.add('subscription', SubscriptionMenu.component({ discussion }), 80);\n }\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport LinkButton from 'flarum/common/components/LinkButton';\nimport IndexPage from 'flarum/forum/components/IndexPage';\nimport DiscussionListState from 'flarum/forum/states/DiscussionListState';\nimport GlobalSearchState from 'flarum/forum/states/GlobalSearchState';\n\nexport default function addSubscriptionFilter() {\n extend(IndexPage.prototype, 'navItems', function (items) {\n if (app.session.user) {\n const params = app.search.stickyParams();\n\n items.add(\n 'following',\n LinkButton.component(\n {\n href: app.route('following', params),\n icon: 'fas fa-star',\n },\n app.translator.trans('flarum-subscriptions.forum.index.following_link')\n ),\n 50\n );\n }\n });\n\n extend(IndexPage.prototype, 'setTitle', function () {\n if (app.current.get('routeName') === 'following') {\n app.setTitle(app.translator.trans('flarum-subscriptions.forum.following.meta_title_text'));\n }\n });\n\n extend(GlobalSearchState.prototype, 'params', function (params) {\n // We can't set `q` here directly, as that would make the search bar\n // think that text has been entered, and display the \"clear\" button.\n params.onFollowing = app.current.get('routeName') === 'following';\n });\n\n extend(DiscussionListState.prototype, 'requestParams', function (params) {\n if (this.params.onFollowing) {\n params.filter.subscription = 'following';\n }\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport SettingsPage from 'flarum/forum/components/SettingsPage';\nimport Switch from 'flarum/common/components/Switch';\n\nexport default function () {\n extend(SettingsPage.prototype, 'notificationsItems', function (items) {\n items.add(\n 'followAfterReply',\n Switch.component(\n {\n state: this.user.preferences().followAfterReply,\n onchange: (value) => {\n this.followAfterReplyLoading = true;\n\n this.user.savePreferences({ followAfterReply: value }).then(() => {\n this.followAfterReplyLoading = false;\n m.redraw();\n });\n },\n loading: this.followAfterReplyLoading,\n },\n app.translator.trans('flarum-subscriptions.forum.settings.follow_after_reply_label')\n )\n );\n });\n}\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_extends","assign","target","i","arguments","length","source","apply","this","_setPrototypeOf","p","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","create","constructor","SubscriptionMenuItem","view","className","onclick","attrs","active","icon","label","description","Component","SubscriptionMenu","oninit","vnode","options","subscription","app","discussion","buttonLabel","buttonIcon","buttonClass","preferences","notifyEmail","notifyAlert","tooltipText","extractText","shouldShowTooltip","button","classList","saveSubscription","bind","indexOf","text","position","map","component","save","$","tooltip","Dropdown","NewPostNotification","href","notification","subject","content","postNumber","user","fromUser","Notification","path","IndexPage","Discussion","Model","extend","badges","badge","Badge","type","add","DiscussionControls","items","context","DiscussionPage","states","none","follow","ignore","Button","params","LinkButton","GlobalSearchState","onFollowing","DiscussionListState","filter","SettingsPage","Switch","state","followAfterReply","onchange","followAfterReplyLoading","savePreferences","then","m","redraw","loading","NotificationGrid","name"],"sourceRoot":""}