rcc-plugin
Advanced tools
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
+34
| module.exports = { | ||
| root: true, | ||
| env: { | ||
| browser: true, | ||
| node: true, | ||
| commonjs: true | ||
| }, | ||
| extends: ["plugin:vue/essential"], | ||
| rules: { | ||
| 'arrow-parens': 0, | ||
| 'generator-star-spacing': 0, | ||
| "no-console": process.env.NODE_ENV === "production" ? "error" : "off", | ||
| "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", | ||
| // no-var | ||
| 'no-var': 'error', | ||
| // 要求或禁止 var 声明中的初始化 | ||
| 'init-declarations': 2, | ||
| // 强制使用单引号 | ||
| // 'quotes': ['error', 'single'], | ||
| // 要求或禁止使用分号而不是 ASI | ||
| // 'semi': ['error', 'never'], | ||
| // 禁止不必要的分号 | ||
| // 'no-extra-semi': 'error', | ||
| // 强制使用一致的换行风格 | ||
| 'linebreak-style': ['error', 'unix'], | ||
| // 空格2个 | ||
| 'indent': ['error', 2, {'SwitchCase': 1}], | ||
| "linebreak-style": [0 ,"error", "windows"], | ||
| "vue/no-parsing-error": [2, { "x-invalid-end-tag": false }] | ||
| }, | ||
| parserOptions: { | ||
| parser: "babel-eslint" | ||
| } | ||
| }; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
+39
| ((typeof self !== 'undefined' ? self : this)["webpackJsonp"] = (typeof self !== 'undefined' ? self : this)["webpackJsonp"] || []).push([[1],{ | ||
| /***/ "./example/docs/introduce.md": | ||
| /*!***********************************!*\ | ||
| !*** ./example/docs/introduce.md ***! | ||
| \***********************************/ | ||
| /*! exports provided: default */ | ||
| /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
| "use strict"; | ||
| eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./introduce.md?vue&type=template&id=20a9f37f& */ \"./example/docs/introduce.md?vue&type=template&id=20a9f37f&\");\n/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\nvar script = {}\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n script,\n _introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (true) {\n var api = __webpack_require__(/*! ./node_modules/vue-hot-reload-api/dist/index.js */ \"./node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(__webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.runtime.esm.js\"))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('20a9f37f')) {\n api.createRecord('20a9f37f', component.options)\n } else {\n api.reload('20a9f37f', component.options)\n }\n module.hot.accept(/*! ./introduce.md?vue&type=template&id=20a9f37f& */ \"./example/docs/introduce.md?vue&type=template&id=20a9f37f&\", function(__WEBPACK_OUTDATED_DEPENDENCIES__) { /* harmony import */ _introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./introduce.md?vue&type=template&id=20a9f37f& */ \"./example/docs/introduce.md?vue&type=template&id=20a9f37f&\");\n(function () {\n api.rerender('20a9f37f', {\n render: _introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n staticRenderFns: _introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]\n })\n })(__WEBPACK_OUTDATED_DEPENDENCIES__); })\n }\n}\ncomponent.options.__file = \"example/docs/introduce.md\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9leGFtcGxlL2RvY3MvaW50cm9kdWNlLm1kLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vZXhhbXBsZS9kb2NzL2ludHJvZHVjZS5tZD84OGI1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vaW50cm9kdWNlLm1kP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTIwYTlmMzdmJlwiXG52YXIgc2NyaXB0ID0ge31cblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9Vc2Vycy9odWdvL3dlYnMvcmNjLXBsdWdpbi9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCcyMGE5ZjM3ZicpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCcyMGE5ZjM3ZicsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCcyMGE5ZjM3ZicsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vaW50cm9kdWNlLm1kP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTIwYTlmMzdmJlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzIwYTlmMzdmJywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJleGFtcGxlL2RvY3MvaW50cm9kdWNlLm1kXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./example/docs/introduce.md\n"); | ||
| /***/ }), | ||
| /***/ "./example/docs/introduce.md?vue&type=template&id=20a9f37f&": | ||
| /*!******************************************************************!*\ | ||
| !*** ./example/docs/introduce.md?vue&type=template&id=20a9f37f& ***! | ||
| \******************************************************************/ | ||
| /*! exports provided: render, staticRenderFns */ | ||
| /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
| "use strict"; | ||
| eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cache_loader_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_5dcdd122_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_ref_14_0_config_md_index_js_introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!cache-loader?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"5dcdd122-vue-loader-template\"}!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib??ref--14-0!../../config/md!./introduce.md?vue&type=template&id=20a9f37f& */ \"./node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"5dcdd122-vue-loader-template\\\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./config/md/index.js!./example/docs/introduce.md?vue&type=template&id=20a9f37f&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _cache_loader_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_5dcdd122_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_ref_14_0_config_md_index_js_introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _cache_loader_cacheDirectory_node_modules_cache_vue_loader_cacheIdentifier_5dcdd122_vue_loader_template_node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_ref_14_0_config_md_index_js_introduce_md_vue_type_template_id_20a9f37f___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9leGFtcGxlL2RvY3MvaW50cm9kdWNlLm1kP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTIwYTlmMzdmJi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2V4YW1wbGUvZG9jcy9pbnRyb2R1Y2UubWQ/MGYwMSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLSFjYWNoZS1sb2FkZXI/e1xcXCJjYWNoZURpcmVjdG9yeVxcXCI6XFxcIm5vZGVfbW9kdWxlcy8uY2FjaGUvdnVlLWxvYWRlclxcXCIsXFxcImNhY2hlSWRlbnRpZmllclxcXCI6XFxcIjVkY2RkMTIyLXZ1ZS1sb2FkZXItdGVtcGxhdGVcXFwifSEuLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS0xNC0wIS4uLy4uL2NvbmZpZy9tZC9pbmRleC5qcyEuL2ludHJvZHVjZS5tZD92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yMGE5ZjM3ZiZcIiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./example/docs/introduce.md?vue&type=template&id=20a9f37f&\n"); | ||
| /***/ }), | ||
| /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"5dcdd122-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./config/md/index.js!./example/docs/introduce.md?vue&type=template&id=20a9f37f&": | ||
| /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ | ||
| !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"5dcdd122-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??ref--14-0!./config/md!./example/docs/introduce.md?vue&type=template&id=20a9f37f& ***! | ||
| \************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ | ||
| /*! exports provided: render, staticRenderFns */ | ||
| /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
| "use strict"; | ||
| eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm._m(0)\n}\nvar staticRenderFns = [\n function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"section\", { staticClass: \"content rcc-doc\" }, [\n _c(\"h3\", { attrs: { id: \"jie-shao\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#jie-shao\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"¶\")]\n ),\n _vm._v(\" 介绍\")\n ]),\n _c(\"h4\", { attrs: { id: \"ji-yuvue-deui-zu-jian\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#ji-yuvue-deui-zu-jian\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"¶\")]\n ),\n _vm._v(\" 基于Vue的UI组件\")\n ]),\n _c(\n \"h4\",\n { attrs: { id: \"rcc-nei-bu-shi-yong-deui-zu-jian-ku-cha-jian-ku\" } },\n [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: {\n href: \"#rcc-nei-bu-shi-yong-deui-zu-jian-ku-cha-jian-ku\",\n \"aria-hidden\": \"true\"\n }\n },\n [_vm._v(\"¶\")]\n ),\n _vm._v(\" RCC内部使用的UI组件库&插件库\")\n ]\n ),\n _c(\"h3\", { attrs: { id: \"gong-xian\" } }, [\n _c(\n \"a\",\n {\n staticClass: \"header-anchor\",\n attrs: { href: \"#gong-xian\", \"aria-hidden\": \"true\" }\n },\n [_vm._v(\"¶\")]\n ),\n _vm._v(\" 贡献\")\n ]),\n _c(\"p\", [\n _vm._v(\"如果你在使用中遇到问题,或者有好的建议,欢迎提\"),\n _c(\n \"a\",\n {\n attrs: {\n href: \"http://git.rccchina.com/hugo.huang/rcc-plugin/issues\"\n }\n },\n [_vm._v(\"Issue\")]\n ),\n _vm._v(\"。\")\n ])\n ])\n }\n]\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY2FjaGUtbG9hZGVyL2Rpc3QvY2pzLmpzP3tcImNhY2hlRGlyZWN0b3J5XCI6XCJub2RlX21vZHVsZXMvLmNhY2hlL3Z1ZS1sb2FkZXJcIixcImNhY2hlSWRlbnRpZmllclwiOlwiNWRjZGQxMjItdnVlLWxvYWRlci10ZW1wbGF0ZVwifSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3RlbXBsYXRlTG9hZGVyLmpzPyEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8hLi9jb25maWcvbWQvaW5kZXguanMhLi9leGFtcGxlL2RvY3MvaW50cm9kdWNlLm1kP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTIwYTlmMzdmJi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2V4YW1wbGUvZG9jcy9pbnRyb2R1Y2UubWQ/MjUzYSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24oKSB7XG4gIHZhciBfdm0gPSB0aGlzXG4gIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgcmV0dXJuIF92bS5fbSgwKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24oKSB7XG4gICAgdmFyIF92bSA9IHRoaXNcbiAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgICByZXR1cm4gX2MoXCJzZWN0aW9uXCIsIHsgc3RhdGljQ2xhc3M6IFwiY29udGVudCByY2MtZG9jXCIgfSwgW1xuICAgICAgX2MoXCJoM1wiLCB7IGF0dHJzOiB7IGlkOiBcImppZS1zaGFvXCIgfSB9LCBbXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwiYVwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImhlYWRlci1hbmNob3JcIixcbiAgICAgICAgICAgIGF0dHJzOiB7IGhyZWY6IFwiI2ppZS1zaGFvXCIsIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgW192bS5fdihcIsK2XCIpXVxuICAgICAgICApLFxuICAgICAgICBfdm0uX3YoXCIg5LuL57uNXCIpXG4gICAgICBdKSxcbiAgICAgIF9jKFwiaDRcIiwgeyBhdHRyczogeyBpZDogXCJqaS15dXZ1ZS1kZXVpLXp1LWppYW5cIiB9IH0sIFtcbiAgICAgICAgX2MoXG4gICAgICAgICAgXCJhXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiaGVhZGVyLWFuY2hvclwiLFxuICAgICAgICAgICAgYXR0cnM6IHsgaHJlZjogXCIjamkteXV2dWUtZGV1aS16dS1qaWFuXCIsIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgW192bS5fdihcIsK2XCIpXVxuICAgICAgICApLFxuICAgICAgICBfdm0uX3YoXCIg5Z+65LqOVnVl55qEVUnnu4Tku7ZcIilcbiAgICAgIF0pLFxuICAgICAgX2MoXG4gICAgICAgIFwiaDRcIixcbiAgICAgICAgeyBhdHRyczogeyBpZDogXCJyY2MtbmVpLWJ1LXNoaS15b25nLWRldWktenUtamlhbi1rdS1jaGEtamlhbi1rdVwiIH0gfSxcbiAgICAgICAgW1xuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJhXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImhlYWRlci1hbmNob3JcIixcbiAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICBocmVmOiBcIiNyY2MtbmVpLWJ1LXNoaS15b25nLWRldWktenUtamlhbi1rdS1jaGEtamlhbi1rdVwiLFxuICAgICAgICAgICAgICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtfdm0uX3YoXCLCtlwiKV1cbiAgICAgICAgICApLFxuICAgICAgICAgIF92bS5fdihcIiBSQ0PlhoXpg6jkvb/nlKjnmoRVSee7hOS7tuW6kybmj5Lku7blupNcIilcbiAgICAgICAgXVxuICAgICAgKSxcbiAgICAgIF9jKFwiaDNcIiwgeyBhdHRyczogeyBpZDogXCJnb25nLXhpYW5cIiB9IH0sIFtcbiAgICAgICAgX2MoXG4gICAgICAgICAgXCJhXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiaGVhZGVyLWFuY2hvclwiLFxuICAgICAgICAgICAgYXR0cnM6IHsgaHJlZjogXCIjZ29uZy14aWFuXCIsIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgW192bS5fdihcIsK2XCIpXVxuICAgICAgICApLFxuICAgICAgICBfdm0uX3YoXCIg6LSh54yuXCIpXG4gICAgICBdKSxcbiAgICAgIF9jKFwicFwiLCBbXG4gICAgICAgIF92bS5fdihcIuWmguaenOS9oOWcqOS9v+eUqOS4remBh+WIsOmXrumimO+8jOaIluiAheacieWlveeahOW7uuiuru+8jOasoui/juaPkFwiKSxcbiAgICAgICAgX2MoXG4gICAgICAgICAgXCJhXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgaHJlZjogXCJodHRwOi8vZ2l0LnJjY2NoaW5hLmNvbS9odWdvLmh1YW5nL3JjYy1wbHVnaW4vaXNzdWVzXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFtfdm0uX3YoXCJJc3N1ZVwiKV1cbiAgICAgICAgKSxcbiAgICAgICAgX3ZtLl92KFwi44CCXCIpXG4gICAgICBdKVxuICAgIF0pXG4gIH1cbl1cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"5dcdd122-vue-loader-template\"}!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./config/md/index.js!./example/docs/introduce.md?vue&type=template&id=20a9f37f&\n"); | ||
| /***/ }) | ||
| }]); |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
| <!DOCTYPE html> | ||
| <html lang="en"> | ||
| <head> | ||
| <meta charset="utf-8"> | ||
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
| <meta name="viewport" content="width=device-width,initial-scale=1.0"> | ||
| <link rel="icon" href="/favicon.ico"> | ||
| <title>rcc-plugin</title> | ||
| <link href="/0.js" rel="prefetch"><link href="/1.js" rel="prefetch"><link href="/app.js" rel="preload" as="script"><link href="/css/app.9cda0c13.css" rel="preload" as="style"><link href="/css/app.9cda0c13.css" rel="stylesheet"></head> | ||
| <body> | ||
| <noscript> | ||
| <strong>We're sorry but rcc-plugin doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> | ||
| </noscript> | ||
| <div id="app"></div> | ||
| <!-- built files will be auto injected --> | ||
| <script type="text/javascript" src="/app.js"></script></body> | ||
| </html> |
| import RTransfer from './RTransfer.vue' | ||
| RTransfer.install = function (Vue) { | ||
| Vue.component(RTransfer.name, RTransfer) | ||
| } | ||
| export default RTransfer |
| @import '@s/assets/css/main.sass' | ||
| div.transfer-list | ||
| margin: 10px 20px | ||
| height: 100% | ||
| text-align: left | ||
| div | ||
| $list-title-height: 30px | ||
| $list-content-height: 270px | ||
| $list-title-width: 230px | ||
| $list-button-width: 100px | ||
| &.list-frame | ||
| width: $list-title-width | ||
| border: 1px solid #b4b4b4 | ||
| border-radius: 8px | ||
| float: left | ||
| font-size: 14px | ||
| div.list-title | ||
| vertical-align: middle | ||
| height: $list-title-height | ||
| padding: 5px 20px | ||
| border-bottom: 1px solid #b4b4b4 | ||
| label | ||
| font-size: 14px | ||
| div.list-content | ||
| min-height: $list-content-height | ||
| max-height: $list-content-height | ||
| overflow-x: scroll | ||
| overflow-y: scroll | ||
| div.list-item | ||
| cursor: pointer | ||
| padding: 5px 5px 0 20px | ||
| &.selected | ||
| background-color: #ccecff | ||
| div.list-item-prefix | ||
| width: 20px | ||
| display: inline-block | ||
| div.list-item-label | ||
| display: inline-block | ||
| div.no-list-item | ||
| text-align: center | ||
| margin-top: 80px | ||
| color: #b4b4b4 | ||
| &.change-panel | ||
| float: left | ||
| margin: 80px 20px | ||
| vertical-align: middle | ||
| button | ||
| display: block | ||
| margin: 10px 0 | ||
| &.position-change-panel | ||
| padding-top: $list-title-height + $list-content-height + 15px | ||
| // text-align: right | ||
| margin-left: 315px | ||
| button | ||
| margin: 0 10px | ||
| width: $list-button-width | ||
| <template> | ||
| <!-- 穿梭框 --> | ||
| <div class="transfer-list"> | ||
| <!-- 左侧的备选列表 --> | ||
| <div class="list-frame available-list"> | ||
| <!-- 标头的全选以及列表名称 --> | ||
| <div class="list-title available-list-tile"> | ||
| <Checkbox v-model="checked_all_available_fields" @on-change="checkAll(checked_all_available_fields, 'available')"> | ||
| {{list_titles[0]}} | ||
| </Checkbox> | ||
| </div> | ||
| <!-- 备选列表框 --> | ||
| <div class="list-content available-list-content"> | ||
| <!-- 当列表框中存在列表项时 --> | ||
| <template v-if="available_fields && available_fields.length > 0"> | ||
| <template v-for="field in available_fields"> | ||
| <!-- 单个列表项目 --> | ||
| <div @click="selectItem(field, 'available')" class="list-item available-list-item" v-bind:key="'available-list-item' + field.key" :class="field.selected ? 'selected': ''"> | ||
| <!-- 是可勾选的 --> | ||
| <template v-if="field.checkable"> | ||
| <div class="list-item-prefix available-list-item-prefix"> | ||
| <Checkbox v-model="field.checked"></Checkbox> | ||
| </div> | ||
| <div class="list-item-label available-list-item-label">{{field.label}}</div> | ||
| </template> | ||
| <!-- 不可勾选的 --> | ||
| <template v-else> | ||
| <div class="list-item-prefix available-list-item-prefix"> </div> | ||
| <div class="list-item-label available-list-item-label">{{field.label}}</div> | ||
| </template> | ||
| </div> | ||
| </template> | ||
| </template> | ||
| <!-- 当列表框中不存在列表项时 --> | ||
| <template v-else> | ||
| <div class="no-list-item available-no-list-item"> | ||
| {{$t('transfer.no_available_fields')}} | ||
| </div> | ||
| </template> | ||
| </div> | ||
| </div> | ||
| <!-- 中间的移动按钮面板 --> | ||
| <div class="change-panel"> | ||
| <!-- 移除(从右向左) --> | ||
| <Button size="small" :disabled="!(checked_specified_fields && checked_specified_fields.length > 0)" @click="moveToLeft">{{operation_labels[0]}}</Button> | ||
| <!-- 添加(从左向右) --> | ||
| <Button size="small" :disabled="!(checked_available_fields && checked_available_fields.length > 0)" @click="moveToRight">{{operation_labels[1]}}</Button> | ||
| </div> | ||
| <!-- 右侧的已选列表框 --> | ||
| <div class="list-frame specified-list"> | ||
| <!-- 标头的全选以及列表名称 --> | ||
| <div class="list-title specified-list-tile"> | ||
| <Checkbox v-model="checked_all_specified_fields" @on-change="checkAll(checked_all_specified_fields, 'specified')"> | ||
| {{list_titles[1]}} | ||
| </Checkbox> | ||
| </div> | ||
| <!-- 已选列表框 --> | ||
| <div class="list-content specified-list-content"> | ||
| <!-- 当列表框中存在列表项时 --> | ||
| <template v-if="specified_fields && specified_fields.length > 0"> | ||
| <template v-for="field in specified_fields"> | ||
| <!-- 单个列表项目 --> | ||
| <div @click="selectItem(field, 'specified')" class="list-item specified-list-item" v-bind:key="'specified-list-item' + field.key" :class="field.selected ? 'selected': ''"> | ||
| <!-- 是可勾选的 --> | ||
| <template v-if="field.checkable"> | ||
| <div class="list-item-prefix specified-list-item-prefix"> | ||
| <Checkbox v-model="field.checked"></Checkbox> | ||
| </div> | ||
| <div class="list-item-label specified-list-item-label">{{field.label}}</div> | ||
| </template> | ||
| <!-- 不可勾选的 --> | ||
| <template v-else> | ||
| <div class="list-item-prefix specified-list-item-prefix"> </div> | ||
| <div class="list-item-label specified-list-item-label">{{field.label}}</div> | ||
| </template> | ||
| </div> | ||
| </template> | ||
| </template> | ||
| <!-- 当列表框中不存在列表项时 --> | ||
| <template v-else> | ||
| <div class="no-list-item specified-no-list-item"> | ||
| {{$t('transfer.no_specified_fields_label')}} | ||
| </div> | ||
| </template> | ||
| </div> | ||
| </div> | ||
| <!-- 右侧下方的位移面板 --> | ||
| <div class="position-change-panel"> | ||
| <!-- 上移 --> | ||
| <Button size="small" | ||
| :disabled="!(selected_specified_fields && selected_specified_fields.length > 0)" | ||
| @click="moveUp"> | ||
| {{position_labels[0]}} | ||
| </Button> | ||
| <!-- 下移 --> | ||
| <Button size="small" | ||
| :disabled="!(selected_specified_fields && selected_specified_fields.length > 0)" | ||
| @click="moveDown"> | ||
| {{position_labels[1]}} | ||
| </Button> | ||
| </div> | ||
| </div> | ||
| </template> | ||
| <script> | ||
| import './RTransfer.sass' | ||
| export default { | ||
| name: 'r-transfer', | ||
| props: { | ||
| available_fields: { | ||
| type: Array, | ||
| default () { | ||
| return [] | ||
| } | ||
| }, // 可用的备选字段数组 | ||
| specified_fields: { | ||
| type: Array, | ||
| default () { | ||
| return [] | ||
| } | ||
| }, // 已经设置的字段数组 | ||
| required_fields: { | ||
| type: Array, | ||
| default () { | ||
| return [] | ||
| } | ||
| }, // 必选字段 | ||
| list_titles: { | ||
| type: Array, | ||
| default () { | ||
| return [ | ||
| this.$t('transfer.available_fields_label'), | ||
| this.$t('transfer.specified_fields_label') | ||
| ] | ||
| } | ||
| }, // 标题集合,顺序从左至右 | ||
| position_labels: { | ||
| type: Array, | ||
| default () { | ||
| return [ | ||
| this.$t('transfer.move_up_label'), | ||
| this.$t('transfer.move_down_label'), | ||
| ] | ||
| } | ||
| }, // 操作文案集合,顺序从上至下 | ||
| command_labels: { | ||
| type: Object, | ||
| default () { | ||
| return { | ||
| reset: this.$t('transfer.reset_to_default'), | ||
| save: this.$t('transfer.save_btn_label') | ||
| } | ||
| } | ||
| } | ||
| }, | ||
| data () { | ||
| return { | ||
| checked_all_available_fields: false, // 是否选中全部备选项 | ||
| checked_all_specified_fields: false, // 是否选中全部已设置项 | ||
| checked_available_fields: [], // 勾选中的备选字段数组(用来移动) | ||
| checked_specified_fields: [], // 勾选中的已设置字段数组(用来移动) | ||
| selected_specified_fields: [], // 选中的已设置字段数组(用来排序) | ||
| operation_labels: [ | ||
| this.$t('transfer.move_to_left_label'), | ||
| this.$t('transfer.move_to_right_label') | ||
| ], | ||
| command_status: { | ||
| reset: false, | ||
| save: false | ||
| } | ||
| } | ||
| }, | ||
| components: { | ||
| }, | ||
| created () { | ||
| this.getData() | ||
| }, | ||
| watch: { | ||
| value (newValue) { | ||
| if (newValue) { | ||
| this.getData() | ||
| this.specified_fields.forEach((field) => { | ||
| field.selected = false | ||
| field.checked = false | ||
| }) | ||
| this.available_fields.forEach((field) => { | ||
| field.selected = false | ||
| field.checked = false | ||
| }) | ||
| this.checked_all_available_fields = false | ||
| this.checked_all_specified_fields = false | ||
| this.checked_available_fields = [] | ||
| this.checked_specified_fields = [] | ||
| this.command_status.save = false | ||
| this.command_status.reset = false | ||
| } | ||
| } | ||
| }, | ||
| methods: { | ||
| // 获取数据 | ||
| getData () { | ||
| // let _target_fields = this.data_cache.data_items[1].getOrRequestData() | ||
| // this.formatData(_target_fields) | ||
| }, | ||
| // 格式化取到的数据,合并成整体数组,并生成目标数组 | ||
| formatData (data) { | ||
| if (data && data.value && data.value.specified_fields && data.value.available_fields) { | ||
| let _data_value = data.value | ||
| this.available_fields = this._formatItems(_data_value.available_fields) | ||
| this.specified_fields = this._formatItems(_data_value.specified_fields) | ||
| } | ||
| }, | ||
| // 设置数据 | ||
| setData () { | ||
| this.data_cache.data_items[1].setData({ | ||
| specified_fields: this.specified_fields.map((field) => { | ||
| return { | ||
| value: field.key, | ||
| label: field.label | ||
| } | ||
| }), | ||
| available_fields: this.available_fields.map((field) => { | ||
| return { | ||
| value: field.key, | ||
| label: field.label | ||
| } | ||
| }) | ||
| }) | ||
| }, | ||
| // 格式化数据 | ||
| _formatItems (items) { | ||
| if (items && items.length > 0) { | ||
| return items.map((item) => { | ||
| return { | ||
| key: item.value, | ||
| label: item.label, | ||
| checkable: !this.required_fields.includes(item.value), | ||
| selected: false, | ||
| checked: false | ||
| } | ||
| }) | ||
| } else { | ||
| return [] | ||
| } | ||
| }, | ||
| // 列表项被点击选中/取消选中 | ||
| selectItem (item, list) { | ||
| item.selected = !item.selected | ||
| if (item.checkable) { | ||
| item.checked = !item.checked | ||
| } | ||
| this.refreshList(list) | ||
| }, | ||
| // 全选列表 | ||
| checkAll (status, list) { | ||
| if (list === 'available') { | ||
| this.available_fields.forEach((field) => { | ||
| if (field.checkable) { | ||
| field.checked = status | ||
| field.selected = status | ||
| } | ||
| }) | ||
| } else if (list === 'specified') { | ||
| this.specified_fields.forEach((field) => { | ||
| if (field.checkable) { | ||
| field.checked = status | ||
| field.selected = status | ||
| } | ||
| }) | ||
| } | ||
| this.refreshList(list) | ||
| }, | ||
| // 从新更新列表 | ||
| refreshList (list) { | ||
| let _list = [] | ||
| if (list === 'available') { | ||
| this.available_fields.forEach((field) => { | ||
| if (field.checkable && field.checked) { _list.push(field) } | ||
| }) | ||
| this.checked_available_fields = _list | ||
| let _checkable_list = this.available_fields.filter((field) => { return field.checkable }) | ||
| this.checked_all_available_fields = _checkable_list.length > 0 && _checkable_list.every((field) => { return field.checked }) | ||
| } else if (list === 'specified') { | ||
| let _slist = [] | ||
| this.specified_fields.forEach((field) => { | ||
| if (field.checkable && field.checked) { _list.push(field) } | ||
| if (field.selected) { _slist.push(field) } | ||
| }) | ||
| this.checked_specified_fields = _list | ||
| this.selected_specified_fields = _slist | ||
| let _checkable_list = this.specified_fields.filter((field) => { return field.checkable }) | ||
| this.checked_all_specified_fields = _checkable_list.length > 0 && _checkable_list.every((field) => { return field.checked }) | ||
| } else { | ||
| this.checked_available_fields = [] | ||
| this.checked_specified_fields = [] | ||
| this.selected_specified_fields = [] | ||
| this.checked_all_available_fields = false | ||
| this.checked_all_specified_fields = false | ||
| } | ||
| }, | ||
| // 上移 | ||
| moveUp () { | ||
| this._movePosition('up') | ||
| }, | ||
| // 下移 | ||
| moveDown () { | ||
| this._movePosition('down') | ||
| }, | ||
| // 位置列表 | ||
| _movePosition(direction) { | ||
| if (direction === 'up') { | ||
| for(let index = 0; index < this.specified_fields.length; index++) { | ||
| if (this.specified_fields[index].selected && index > 0) { | ||
| if (!(this.specified_fields[index - 1].selected)) { | ||
| let temp = this.specified_fields[index - 1] | ||
| this.specified_fields[index - 1] = this.specified_fields[index] | ||
| this.specified_fields[index] = temp | ||
| } | ||
| } | ||
| } | ||
| } else if (direction === 'down') { | ||
| for(let index = this.specified_fields.length - 1; index >= 0; index--) { | ||
| if (this.specified_fields[index].selected && index < (this.specified_fields.length - 1)) { | ||
| if (!(this.specified_fields[index + 1].selected)) { | ||
| let temp = this.specified_fields[index + 1] | ||
| this.specified_fields[index + 1] = this.specified_fields[index] | ||
| this.specified_fields[index] = temp | ||
| } | ||
| } | ||
| } | ||
| } else { | ||
| return null | ||
| } | ||
| this.refreshList('specified') | ||
| }, | ||
| // 移除 | ||
| moveToLeft () { | ||
| this._moveItems('to_left') | ||
| }, | ||
| // 添加 | ||
| moveToRight () { | ||
| this._moveItems('to_right') | ||
| }, | ||
| // 移动列表 | ||
| _moveItems (direction) { | ||
| let moveList = [] | ||
| let remainList = [] | ||
| let source_fields = null | ||
| let target_fields = null | ||
| if (direction === 'to_right') { | ||
| source_fields = 'available_fields' | ||
| target_fields = 'specified_fields' | ||
| } else if (direction === 'to_left') { | ||
| source_fields = 'specified_fields' | ||
| target_fields = 'available_fields' | ||
| } else { | ||
| return null | ||
| } | ||
| this[source_fields].forEach((field) => { | ||
| if (field.checkable && field.checked) { | ||
| field.selected = false | ||
| field.checked = false | ||
| moveList.push(field) | ||
| } else { | ||
| remainList.push(field) | ||
| } | ||
| }) | ||
| this[source_fields] = remainList | ||
| this[target_fields] = this[target_fields].concat(moveList) | ||
| this.refreshList('available') | ||
| this.refreshList('specified') | ||
| }, | ||
| // 保存设置 | ||
| saveSpecifedFields () { | ||
| this.command_status.save = true | ||
| this.command_status.reset = true | ||
| this.$api.toolApis.projectListFields({ specified: this.specified_fields.map((field) => { return field.key }) }, this, (result) => { | ||
| if (result.code >= 10000) { | ||
| // 重新设置缓存 | ||
| this.setData() | ||
| // 成功保存设置 | ||
| this.$Message.info(result.message) | ||
| this.closeDialog() | ||
| } else { | ||
| this.$Message.error(result.message + ' #error:' + result.code) | ||
| } | ||
| this.command_status.save = false | ||
| this.command_status.reset = false | ||
| }, (result) => { | ||
| this.$Message.error(this.$t('exceptions.general')) | ||
| this.command_status.save = false | ||
| this.command_status.reset = false | ||
| console.log(result) | ||
| }) | ||
| }, | ||
| // 恢复默认设置 | ||
| resetToDefault () { | ||
| this.command_status.save = true | ||
| this.command_status.reset = true | ||
| this.$api.toolApis.projectListFields({ default: 1 }, this, (result) => { | ||
| if (result.code >= 10000) { | ||
| // 清理并重置缓存 | ||
| let data_item = this.data_cache.data_items[1] | ||
| data_item.removeData() | ||
| data_item.setData(result.data) | ||
| // 重新获取数据 | ||
| this.getData() | ||
| // 成功保存设置 | ||
| this.$Message.info(result.message) | ||
| this.closeDialog() | ||
| this.command_status.save = false | ||
| this.command_status.reset = false | ||
| } else { | ||
| this.$Message.error(result.message + ' #error:' + result.code) | ||
| this.command_status.save = false | ||
| this.command_status.reset = false | ||
| } | ||
| }, (result) => { | ||
| this.$Message.error(this.$t('exceptions.general')) | ||
| }) | ||
| }, | ||
| // 关闭 | ||
| closeDialog () { | ||
| this.$emit('closeDialog') | ||
| } | ||
| } | ||
| } | ||
| </script> |
| @import 'main' | ||
| // * | ||
| // -webkit-touch-callout:none | ||
| // -webkit-user-select:none | ||
| // -khtml-user-select:none | ||
| // -moz-user-select:none | ||
| // -ms-user-select:none | ||
| // user-select:none | ||
| // input | ||
| // -webkit-user-select:auto | ||
| .green | ||
| color: $green | ||
| .purple | ||
| color: $purple | ||
| .red | ||
| color: $urgent-font | ||
| .version-font | ||
| color: $version-font | ||
| .white-background | ||
| background-color: $white-font!important | ||
| .name-font | ||
| color: $name-font | ||
| .new-blue-font | ||
| color: $projects-panel-top-bar!important | ||
| .clicked | ||
| color: $visited-font!important | ||
| .underline-font | ||
| text-decoration: underline | ||
| .inline-block, .ib | ||
| display: inline-block | ||
| .inline | ||
| display: inline | ||
| .right-align | ||
| text-align: right | ||
| .center-align | ||
| text-align: center!important | ||
| .disable-cursor | ||
| cursor: not-allowed!important | ||
| .link-type | ||
| cursor: pointer | ||
| text-decoration: underline | ||
| .li-img | ||
| height: 16px | ||
| width: 16px | ||
| vertical-align: middle | ||
| .vertical-middle | ||
| vertical-align: middle | ||
| .vertical-top | ||
| vertical-align: top | ||
| .padding-left-10 | ||
| padding-left: 10px | ||
| .padding-left-20 | ||
| padding-left: 20px | ||
| .padding-left-30 | ||
| padding-left: 30px | ||
| .margin-left-10 | ||
| margin-left: 10px | ||
| .ivu-message | ||
| font-size: $label-font!important | ||
| top: 30%!important | ||
| // 重定义提示样式 | ||
| .ivu-message-notice-content | ||
| display: inline-block | ||
| pointer-events: all | ||
| padding: 0!important | ||
| border-radius: 0px!important | ||
| background: none!important | ||
| box-shadow: 0 0 0 aliceblue!important | ||
| .ivu-message-notice-content-text | ||
| .ivu-message-custom-content | ||
| padding: 8px 16px | ||
| border-radius: 4px | ||
| box-shadow: 0 1px 6px rgba(0,0,0,.2) | ||
| min-width: 110px | ||
| .ivu-icon | ||
| color: white!important | ||
| .ivu-message-success | ||
| background-color: #ffbc31 | ||
| color: $white-font | ||
| .ivu-message-error, .ivu-message-warning | ||
| background-color: #eb6767 | ||
| color: $white-font | ||
| .ivu-message-info, .ivu-message-loading | ||
| background-color: #2391EC | ||
| color: $white-font | ||
| li | ||
| &:hover | ||
| background-color: transparent | ||
| body input, select | ||
| display: inline-block | ||
| /* width: 100% */ | ||
| //height: 32px | ||
| //line-height: 1.5 | ||
| padding: 4px 7px | ||
| font-size: $normal-font | ||
| border: 1px solid #dddee1 | ||
| border-radius: 4px | ||
| color: #495060 | ||
| background-color: $white-font | ||
| position: relative | ||
| // cursor: pointer | ||
| transition: border .2s | ||
| vertical-align: middle | ||
| &:hover | ||
| border-color: #57a3f3 | ||
| &:focus | ||
| border-color: #57a3f3 | ||
| outline: none | ||
| body input | ||
| cursor: text | ||
| body input[type="checkbox"], [type="radio"] | ||
| cursor: pointer | ||
| .main select | ||
| height: 32px | ||
| body | ||
| font-family: $font-family!important | ||
| .box,.box3 | ||
| width: 0px | ||
| height: 0px | ||
| border-top: 5px solid rgba(0,0,0,0) | ||
| border-right: 5px solid rgba(0,0,0,0) | ||
| border-bottom: 5px solid green | ||
| border-left: 5px solid rgba(0,0,0,0) | ||
| margin-bottom: 1px | ||
| .box2 | ||
| width: 5px | ||
| height: 5px | ||
| background-color: green | ||
| .margin-top-18 | ||
| margin-top: 18px | ||
| .float-right | ||
| float: right | ||
| .cursor-pointer | ||
| cursor: pointer | ||
| .cursor-pointer-opacity | ||
| cursor: pointer | ||
| .cursor-pointer-opacity:hover | ||
| opacity: 0.8 | ||
| .private-search-btn | ||
| padding: 5px | ||
| margin-left: 10px | ||
| color: $white-font | ||
| background-color: $name-font | ||
| border: solid 1px $name-font | ||
| min-width: 100px | ||
| //height: 36px | ||
| cursor: pointer | ||
| img | ||
| vertical-align: middle | ||
| width: 20px | ||
| height: 20px | ||
| .btn-middle-blue | ||
| width: 84px | ||
| height: 34px | ||
| font-size: 13px | ||
| color: $white-font | ||
| background-color: #108fdf | ||
| text-align: center | ||
| padding: 4px | ||
| display: inline-block | ||
| vertical-align: middle | ||
| cursor: pointer | ||
| // v3版本用btn样式 | ||
| .v3-btn | ||
| border-radius: 5px | ||
| height: auto | ||
| width: auto | ||
| cursor: pointer | ||
| img | ||
| height: 17px | ||
| width: 17px | ||
| vertical-align: middle | ||
| .v3-normal-btn | ||
| @extend .v3-btn | ||
| border: solid 1px $name-font | ||
| color: $name-font | ||
| font-size: $little-font | ||
| padding: 4px 4px | ||
| background-color: white | ||
| .v3-private-btn | ||
| @extend .v3-btn | ||
| border: solid 1px white | ||
| color: white | ||
| font-size: $little-font | ||
| padding: 4px 4px | ||
| background-color: $choose-label-border | ||
| .btn-middle-blue:hover | ||
| opacity: 0.8 | ||
| .btn-middle-white | ||
| width: 84px | ||
| height: 34px | ||
| font-size: 13px | ||
| border: solid 1px #108fdf | ||
| color: #108fdf | ||
| background-color: #f7f8f9 | ||
| text-align: center | ||
| padding: 4px | ||
| display: inline-block | ||
| vertical-align: middle | ||
| cursor: pointer | ||
| .btn-middle-white:hover | ||
| opacity: 0.8 | ||
| .guide-panel | ||
| position: fixed | ||
| width: 100% | ||
| height: 100% | ||
| cursor: pointer | ||
| top: 0 | ||
| left: 0 | ||
| z-index: 999 | ||
| background-color: $dark-background | ||
| img | ||
| width: 100% | ||
| height: 100% | ||
| cursor: pointer | ||
| .flex | ||
| display: flex | ||
| .flex1 | ||
| flex: 1 | ||
| .text-overflow-ellipsis | ||
| white-space: nowrap | ||
| overflow: hidden | ||
| text-overflow: ellipsis | ||
| max-width: 100% | ||
| vertical-align: middle | ||
| .display-block | ||
| display: block | ||
| .max-width-100-percent | ||
| max-width: 100% !important | ||
| .max-width-90-percent | ||
| max-width: 90% !important | ||
| .max-width-60-percent | ||
| max-width: 60% !important |
+27
-6
| { | ||
| "name": "rcc-plugin", | ||
| "version": "0.1.1", | ||
| "version": "0.1.2", | ||
| "description": "RCC瑞达恒组件库", | ||
| "main": "src/main.js", | ||
| "keywords": ["rcc plugin ui"], | ||
| "main": "./src/main.js", | ||
| "keywords": [ | ||
| "rcc plugin ui" | ||
| ], | ||
| "private": false, | ||
| "scripts": { | ||
| "serve": "vue-cli-service serve", | ||
| "serve": "vue-cli-service serve --mode serve", | ||
| "serve:example": "vue-cli-service serve --mode example", | ||
| "build": "vue-cli-service build", | ||
| "build:example": "vue-cli-service build --mode example", | ||
| "lint": "vue-cli-service lint" | ||
@@ -16,3 +20,9 @@ }, | ||
| "core-js": "^2.6.5", | ||
| "vue": "^2.6.10" | ||
| "eslint-plugin-promise": "^4.2.1", | ||
| "iview": "^3.4.2", | ||
| "markdown-it-anchor": "^5.2.4", | ||
| "store": "^2.0.12", | ||
| "vue": "^2.6.10", | ||
| "vue-router": "^3.0.7", | ||
| "vue-i18n": "^8.12.0" | ||
| }, | ||
@@ -25,7 +35,18 @@ "devDependencies": { | ||
| "babel-plugin-components": "^1.0.4", | ||
| "uglifyjs-webpack-plugin": "^2.1.3", | ||
| "eslint": "^5.16.0", | ||
| "eslint-config-standard": "^13.0.1", | ||
| "eslint-plugin-html": "^6.0.0", | ||
| "eslint-plugin-import": "^2.18.2", | ||
| "eslint-plugin-node": "^9.1.0", | ||
| "eslint-plugin-standard": "^4.0.0", | ||
| "eslint-plugin-vue": "^5.0.0", | ||
| "markdown-it-chain": "^1.3.0", | ||
| "markdown-it-container": "^2.0.0", | ||
| "markdown-it-decorate": "^1.2.2", | ||
| "markdown-it-task-checkbox": "^1.0.6", | ||
| "node-sass": "^4.12.0", | ||
| "sass-loader": "^7.1.0", | ||
| "transliteration": "^2.1.4", | ||
| "uglifyjs-webpack-plugin": "^2.1.3", | ||
| "vue-markdown-loader": "^2.4.1", | ||
| "vue-template-compiler": "^2.6.10" | ||
@@ -32,0 +53,0 @@ }, |
@@ -18,4 +18,5 @@ <template> | ||
| <script> | ||
| import '@/assets/css/dialog.sass' | ||
| import '@s/assets/css/dialog.sass' | ||
| export default { | ||
| name: 'r-dialog', | ||
| props: { | ||
@@ -67,3 +68,3 @@ title: { | ||
| cancel () { | ||
| this.$emit('closeDialog') | ||
| this.$emit('on-close') | ||
| } | ||
@@ -70,0 +71,0 @@ }, |
+72
-3
| # rcc-plugin | ||
| RCC瑞达恒组件库 | ||
| RCC瑞达恒组件插件库 | ||
@@ -8,6 +8,75 @@ ### 文件目录 | ||
| docs 存放Markdown文档,用于生成文档网站 | ||
| mobile 移动端示例网站样式&入口 | ||
| pc pc端示例网站样式&入口 | ||
| demos 组件示例,弃用(改为通过读取Markdown分析生成对应demo) | ||
| assets 示例网站样式&js文件 | ||
| #### packages | ||
| 用来存放 组件 的代码 | ||
| #### build | ||
| 用来存放 脚本 代码 | ||
| #### config | ||
| 用来存放 一些配置(Markdown配置文件等) | ||
| #### src | ||
| npm包入口,存放样式文件&中英文文件 | ||
| #### util | ||
| 封装的内部使用的插件、js | ||
| #### plugins | ||
| 存放插件(供外部使用,如导出) | ||
| ### 配置 | ||
| vue ui 进入vue-cli图形操作界面(vue-cli3才支持) | ||
| npm run serve:example 本地跑示例文档 | ||
| npm run build 打包packages(实际使用的组件) | ||
| npm run build 打包example(文档) | ||
| ### 新增组件 | ||
| #### 1.packages下根据格式添加组件 | ||
| 添加文件夹,文件夹名称为组件名称 | ||
| 文件夹中添加组件.vue文件和入口文件index.js | ||
| index.js格式,可以根据需要自己在install中添加其他内容(如自定义指令等) | ||
| ``` | ||
| import $组件英文名称 from $组件路径 | ||
| $组件英文名称.install = function (Vue) { | ||
| Vue.component($组件英文名称.name, $组件英文名称) | ||
| } | ||
| export default $组件英文名称 | ||
| ``` | ||
| #### 2.example中添加对应组件的文档 | ||
| docs目录中添加对应的Markdown(.md)文件,格式为 | ||
| ``` | ||
| # $组件英文名称 $组件中文名称 | ||
| <!-- {.md} --> | ||
| --- | ||
| <!-- {.md} --> | ||
| ## $用法介绍 | ||
| ::: demo | ||
| $介绍 | ||
| ```html | ||
| $代码内容 | ||
| ```html | ||
| ## Api | ||
| ### Transfer props(可设置参数) | ||
| ### Transfer events(可使用事件) | ||
| ### Transfer slot(可嵌入模块) | ||
| ::: | ||
| ``` | ||
| route中添加对应的路由配置 | ||
| 在nav.config.json中参考格式添加 | ||
| name是对应文档的路由名称(根据这个名称去取对应的文件),path是对应文档在浏览器上的链接,isMobile指是否有对应移动端样式,desc是该文档的描述 |
@@ -67,2 +67,3 @@ @import 'main' | ||
| max-height: 500px | ||
| min-width: 400px | ||
| position: relative | ||
@@ -69,0 +70,0 @@ border-bottom-left-radius: 8px |
+14
-1
@@ -1,3 +0,16 @@ | ||
| const en = {} | ||
| const en = { | ||
| transfer: { | ||
| available_fields_label: 'Available Fields', | ||
| no_available_fields: 'No Available Fields', | ||
| specified_fields_label: 'Selected Fields', | ||
| no_specified_fields_label: 'No Selected Fields', | ||
| move_to_left_label: '< Del', | ||
| move_to_right_label: 'Add >', | ||
| move_up_label: 'Up', | ||
| move_down_label: 'Down', | ||
| reset_to_default: 'Restore to default', | ||
| save_btn_label: 'Save' | ||
| } | ||
| } | ||
| export default en |
@@ -8,8 +8,2 @@ import en from './en' | ||
| const defaultLan = 'zh' | ||
| const message = function () { | ||
| return messages[defaultLan] | ||
| } | ||
| export default message | ||
| export default messages |
+14
-1
@@ -1,3 +0,16 @@ | ||
| const zh = {} | ||
| const zh = { | ||
| transfer: { | ||
| available_fields_label: '备选字段', | ||
| no_available_fields: '没有可用的备选字段', | ||
| specified_fields_label: '已选择字段', | ||
| no_specified_fields_label: '没有可用的已选字段', | ||
| move_to_left_label: '< 移除', | ||
| move_to_right_label: '添加 >', | ||
| move_up_label: '上移', | ||
| move_down_label: '下移', | ||
| reset_to_default: '恢复默认设置', | ||
| save_btn_label: '保存' | ||
| } | ||
| } | ||
| export default zh |
+29
-9
| import Vue from 'vue' | ||
| // import App from './App.vue' | ||
| import RMessage from '../packages/RMessage/index.js' | ||
| // import RMessage from '../packages/RMessage/index.js' | ||
| // import locale from './locale' | ||
| // 导入store | ||
| import sto from 'store' | ||
| // 导入国际化相关文件 | ||
| import VueI18n from 'vue-i18n' | ||
| import messages from './locale' | ||
| // 国际化,中英文 | ||
| Vue.use(VueI18n) | ||
| Vue.config.productionTip = false | ||
| const components = [ | ||
| RMessage | ||
| ] | ||
| const components = [] | ||
| const install = function(Vue, opts = {}) { | ||
| // locale.use(opts.locale); | ||
| // locale.i18n(opts.i18n); | ||
| let local = opts.local || sto.get('i18n') | ||
| if (!local) { | ||
| local = 'zh' | ||
| sto.set('i18n', 'zh') | ||
| } | ||
| new VueI18n({ | ||
| locale: local, | ||
| messages | ||
| }) | ||
| function importComponents(r) { | ||
| r.keys().forEach(key => { | ||
| components.push(r(key).default) | ||
| }) | ||
| } | ||
| importComponents(require.context('../packages', true, /\.vue$/)) | ||
| components.forEach(component => { | ||
| Vue.component(component.name, component); | ||
| }); | ||
| }) | ||
| // Vue.use(InfiniteScroll) | ||
| Vue.prototype.$rmessage = RMessage; | ||
| // Vue.prototype.$rmessage = RMessage; | ||
@@ -25,0 +45,0 @@ } |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
9464922
24826.71%38
100%5768
1122.03%81
575%9
200%22
100%56
5500%62
Infinity%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed