mirror of
https://github.com/flarum/core.git
synced 2025-08-06 08:27:42 +02:00
init
This commit is contained in:
1
extensions/package-manager/js/admin.js
Normal file
1
extensions/package-manager/js/admin.js
Normal file
@@ -0,0 +1 @@
|
||||
export * from './src/admin';
|
373
extensions/package-manager/js/dist/admin.js
vendored
Normal file
373
extensions/package-manager/js/dist/admin.js
vendored
Normal file
@@ -0,0 +1,373 @@
|
||||
module.exports =
|
||||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = "./admin.js");
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ({
|
||||
|
||||
/***/ "../../core/js/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js":
|
||||
/*!***********************************************************************************************************!*\
|
||||
!*** /home/samilyas/www/flarum/packages/core/js/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***!
|
||||
\***********************************************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _inheritsLoose; });
|
||||
/* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setPrototypeOf.js */ "../../core/js/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js");
|
||||
|
||||
function _inheritsLoose(subClass, superClass) {
|
||||
subClass.prototype = Object.create(superClass.prototype);
|
||||
subClass.prototype.constructor = subClass;
|
||||
Object(_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(subClass, superClass);
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "../../core/js/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js":
|
||||
/*!************************************************************************************************************!*\
|
||||
!*** /home/samilyas/www/flarum/packages/core/js/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
|
||||
\************************************************************************************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _setPrototypeOf; });
|
||||
function _setPrototypeOf(o, p) {
|
||||
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
||||
o.__proto__ = p;
|
||||
return o;
|
||||
};
|
||||
|
||||
return _setPrototypeOf(o, p);
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./admin.js":
|
||||
/*!******************!*\
|
||||
!*** ./admin.js ***!
|
||||
\******************/
|
||||
/*! no exports provided */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _src_admin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/admin */ "./src/admin/index.js");
|
||||
/* empty/unused harmony star reexport */
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/admin/components/Installer.tsx":
|
||||
/*!********************************************!*\
|
||||
!*** ./src/admin/components/Installer.tsx ***!
|
||||
\********************************************/
|
||||
/*! exports provided: default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Installer; });
|
||||
/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ "../../core/js/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js");
|
||||
/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/admin/app */ "flarum/admin/app");
|
||||
/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_app__WEBPACK_IMPORTED_MODULE_1__);
|
||||
/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/common/Component */ "flarum/common/Component");
|
||||
/* harmony import */ var flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_common_Component__WEBPACK_IMPORTED_MODULE_2__);
|
||||
/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button");
|
||||
/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__);
|
||||
/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/common/utils/Stream */ "flarum/common/utils/Stream");
|
||||
/* harmony import */ var flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_4__);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var Installer = /*#__PURE__*/function (_Component) {
|
||||
Object(_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(Installer, _Component);
|
||||
|
||||
function Installer() {
|
||||
var _this;
|
||||
|
||||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
_this = _Component.call.apply(_Component, [this].concat(args)) || this;
|
||||
_this.packageName = void 0;
|
||||
_this.isLoading = false;
|
||||
return _this;
|
||||
}
|
||||
|
||||
var _proto = Installer.prototype;
|
||||
|
||||
_proto.oninit = function oninit(vnode) {
|
||||
_Component.prototype.oninit.call(this, vnode);
|
||||
|
||||
this.packageName = flarum_common_utils_Stream__WEBPACK_IMPORTED_MODULE_4___default()('');
|
||||
};
|
||||
|
||||
_proto.view = function view() {
|
||||
return m("div", {
|
||||
className: "Form-group"
|
||||
}, m("label", {
|
||||
htmlFor: "install-extension"
|
||||
}, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default.a.translator.trans('sycho-package-manager.admin.extensions.install')), m("p", {
|
||||
className: "helpText"
|
||||
}, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default.a.translator.trans('sycho-package-manager.admin.extensions.install_help', {
|
||||
extiverse: m("a", {
|
||||
href: "https://extiverse.com"
|
||||
}, "extiverse.com")
|
||||
})), m("div", {
|
||||
className: "FormControl-container"
|
||||
}, m("input", {
|
||||
className: "FormControl",
|
||||
id: "install-extension",
|
||||
placeholder: "vendor/package-name",
|
||||
bidi: this.packageName
|
||||
}), m(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default.a, {
|
||||
className: "Button",
|
||||
icon: "fas fa-download",
|
||||
onclick: this.onsubmit.bind(this),
|
||||
loading: this.isLoading
|
||||
}, flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default.a.translator.trans('sycho-package-manager.admin.extensions.proceed'))));
|
||||
};
|
||||
|
||||
_proto.data = function data() {
|
||||
return {
|
||||
"package": this.packageName()
|
||||
};
|
||||
};
|
||||
|
||||
_proto.onsubmit = function onsubmit() {
|
||||
var _this2 = this;
|
||||
|
||||
this.isLoading = true;
|
||||
flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default.a.request({
|
||||
method: 'POST',
|
||||
url: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default.a.forum.attribute('apiUrl') + "/package-manager/extensions",
|
||||
body: {
|
||||
data: this.data()
|
||||
}
|
||||
}).then(function () {
|
||||
_this2.isLoading = false;
|
||||
flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default.a.alerts.show({
|
||||
type: 'success',
|
||||
message: flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default.a.translator.trans('core.lib.success')
|
||||
});
|
||||
m.redraw();
|
||||
})["catch"](function () {
|
||||
_this2.isLoading = false;
|
||||
m.redraw();
|
||||
});
|
||||
};
|
||||
|
||||
return Installer;
|
||||
}(flarum_common_Component__WEBPACK_IMPORTED_MODULE_2___default.a);
|
||||
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/admin/index.js":
|
||||
/*!****************************!*\
|
||||
!*** ./src/admin/index.js ***!
|
||||
\****************************/
|
||||
/*! no exports provided */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/common/extend */ "flarum/common/extend");
|
||||
/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/admin/app */ "flarum/admin/app");
|
||||
/* harmony import */ var flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_app__WEBPACK_IMPORTED_MODULE_1__);
|
||||
/* harmony import */ var flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/admin/components/ExtensionPage */ "flarum/admin/components/ExtensionPage");
|
||||
/* harmony import */ var flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2__);
|
||||
/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button");
|
||||
/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3__);
|
||||
/* harmony import */ var _components_Installer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/Installer */ "./src/admin/components/Installer.tsx");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
flarum_admin_app__WEBPACK_IMPORTED_MODULE_1___default.a.initializers.add('sycho-package-manager', function (app) {
|
||||
app.extensionData["for"]('sycho-package-manager').registerSetting(function () {
|
||||
return m(_components_Installer__WEBPACK_IMPORTED_MODULE_4__["default"], null);
|
||||
});
|
||||
Object(flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__["extend"])(flarum_admin_components_ExtensionPage__WEBPACK_IMPORTED_MODULE_2___default.a.prototype, 'topItems', function (items) {
|
||||
var _this = this;
|
||||
|
||||
items.add('remove', m(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_3___default.a, {
|
||||
className: "Button Button--danger",
|
||||
icon: "fas fa-times",
|
||||
onclick: function onclick() {
|
||||
app.request({
|
||||
url: app.forum.attribute('apiUrl') + "/package-manager/extensions/" + _this.extension.id,
|
||||
method: 'DELETE'
|
||||
}).then(function () {
|
||||
app.alerts.show({
|
||||
type: 'success',
|
||||
message: 'Success!'
|
||||
});
|
||||
});
|
||||
}
|
||||
}, "Remove"));
|
||||
});
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "flarum/admin/app":
|
||||
/*!**************************************************!*\
|
||||
!*** external "flarum.core.compat['admin/app']" ***!
|
||||
\**************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = flarum.core.compat['admin/app'];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "flarum/admin/components/ExtensionPage":
|
||||
/*!***********************************************************************!*\
|
||||
!*** external "flarum.core.compat['admin/components/ExtensionPage']" ***!
|
||||
\***********************************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = flarum.core.compat['admin/components/ExtensionPage'];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "flarum/common/Component":
|
||||
/*!*********************************************************!*\
|
||||
!*** external "flarum.core.compat['common/Component']" ***!
|
||||
\*********************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = flarum.core.compat['common/Component'];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "flarum/common/components/Button":
|
||||
/*!*****************************************************************!*\
|
||||
!*** external "flarum.core.compat['common/components/Button']" ***!
|
||||
\*****************************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = flarum.core.compat['common/components/Button'];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "flarum/common/extend":
|
||||
/*!******************************************************!*\
|
||||
!*** external "flarum.core.compat['common/extend']" ***!
|
||||
\******************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = flarum.core.compat['common/extend'];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "flarum/common/utils/Stream":
|
||||
/*!************************************************************!*\
|
||||
!*** external "flarum.core.compat['common/utils/Stream']" ***!
|
||||
\************************************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = flarum.core.compat['common/utils/Stream'];
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
//# sourceMappingURL=admin.js.map
|
1
extensions/package-manager/js/dist/admin.js.map
vendored
Normal file
1
extensions/package-manager/js/dist/admin.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
22
extensions/package-manager/js/package.json
Normal file
22
extensions/package-manager/js/package.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "@sycho/flarum-package-manager",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"prettier": "@flarum/prettier-config",
|
||||
"dependencies": {
|
||||
"flarum-webpack-config": "^1.0.0",
|
||||
"flarum-tsconfig": "^1.0.0",
|
||||
"@flarum/prettier-config": "^1.0.0",
|
||||
"webpack": "^4.26.0",
|
||||
"webpack-cli": "^3.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"prettier": "^2.3.0"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "webpack --mode development --watch",
|
||||
"build": "webpack --mode production",
|
||||
"format": "prettier --write src",
|
||||
"format-check": "prettier --check src"
|
||||
}
|
||||
}
|
@@ -0,0 +1,58 @@
|
||||
import type Mithril from 'mithril';
|
||||
import app from 'flarum/admin/app';
|
||||
import Component from 'flarum/common/Component';
|
||||
import Button from "flarum/common/components/Button";
|
||||
import Stream from "flarum/common/utils/Stream";
|
||||
|
||||
export default class Installer extends Component {
|
||||
packageName!: Stream<string>;
|
||||
isLoading: boolean = false;
|
||||
|
||||
oninit(vnode: Mithril.Vnode): void {
|
||||
super.oninit(vnode);
|
||||
|
||||
this.packageName = Stream('');
|
||||
}
|
||||
|
||||
view(): Mithril.Children {
|
||||
return (
|
||||
<div className="Form-group">
|
||||
<label htmlFor="install-extension">{app.translator.trans('sycho-package-manager.admin.extensions.install')}</label>
|
||||
<p className="helpText">{app.translator.trans('sycho-package-manager.admin.extensions.install_help', {
|
||||
extiverse: <a href="https://extiverse.com">extiverse.com</a>
|
||||
})}</p>
|
||||
<div className="FormControl-container">
|
||||
<input className="FormControl" id="install-extension" placeholder="vendor/package-name" bidi={this.packageName}/>
|
||||
<Button className="Button" icon="fas fa-download" onclick={this.onsubmit.bind(this)} loading={this.isLoading}>
|
||||
{app.translator.trans('sycho-package-manager.admin.extensions.proceed')}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
data(): any {
|
||||
return {
|
||||
package: this.packageName(),
|
||||
};
|
||||
}
|
||||
|
||||
onsubmit(): void {
|
||||
this.isLoading = true;
|
||||
|
||||
app.request({
|
||||
method: 'POST',
|
||||
url: `${app.forum.attribute('apiUrl')}/package-manager/extensions`,
|
||||
body: {
|
||||
data: this.data()
|
||||
},
|
||||
}).then(() => {
|
||||
this.isLoading = false;
|
||||
app.alerts.show({ type: 'success', message: app.translator.trans('core.lib.success')});
|
||||
m.redraw();
|
||||
}).catch(() => {
|
||||
this.isLoading = false;
|
||||
m.redraw();
|
||||
});
|
||||
}
|
||||
}
|
34
extensions/package-manager/js/src/admin/index.js
Normal file
34
extensions/package-manager/js/src/admin/index.js
Normal file
@@ -0,0 +1,34 @@
|
||||
import { extend } from 'flarum/common/extend';
|
||||
import app from 'flarum/admin/app';
|
||||
import ExtensionPage from 'flarum/admin/components/ExtensionPage';
|
||||
import Button from 'flarum/common/components/Button';
|
||||
import Installer from "./components/Installer";
|
||||
|
||||
app.initializers.add('sycho-package-manager', (app) => {
|
||||
app.extensionData
|
||||
.for('sycho-package-manager')
|
||||
.registerSetting(() => {
|
||||
return (
|
||||
<Installer />
|
||||
);
|
||||
});
|
||||
|
||||
extend(ExtensionPage.prototype, 'topItems', function (items) {
|
||||
items.add(
|
||||
'remove',
|
||||
<Button
|
||||
className="Button Button--danger"
|
||||
icon="fas fa-times"
|
||||
onclick={() => {
|
||||
app.request({
|
||||
url: `${app.forum.attribute('apiUrl')}/package-manager/extensions/${this.extension.id}`,
|
||||
method: 'DELETE',
|
||||
}).then(() => {
|
||||
app.alerts.show({ type: 'success', message: 'Success!' });
|
||||
});
|
||||
}}>
|
||||
Remove
|
||||
</Button>
|
||||
);
|
||||
});
|
||||
});
|
11
extensions/package-manager/js/tsconfig.json
Normal file
11
extensions/package-manager/js/tsconfig.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"extends": "flarum-tsconfig",
|
||||
"include": ["src/**/*"],
|
||||
"compilerOptions": {
|
||||
"declarationDir": "./dist-typings",
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"flarum/*": ["../vendor/flarum/core/js/dist-typings/*"]
|
||||
}
|
||||
}
|
||||
}
|
1
extensions/package-manager/js/webpack.config.js
Normal file
1
extensions/package-manager/js/webpack.config.js
Normal file
@@ -0,0 +1 @@
|
||||
module.exports = require('flarum-webpack-config')();
|
4173
extensions/package-manager/js/yarn.lock
Normal file
4173
extensions/package-manager/js/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user