206 changed files with 0 additions and 58720 deletions
@ -1,4 +0,0 @@ |
|||||
> 1% |
|
||||
last 2 versions |
|
||||
Chrome >= 63 |
|
||||
not dead |
|
||||
@ -1,15 +0,0 @@ |
|||||
# https://editorconfig.org |
|
||||
root = true |
|
||||
|
|
||||
[*] |
|
||||
indent_style = space |
|
||||
indent_size = 2 |
|
||||
tab_width = 2 |
|
||||
end_of_line = lf |
|
||||
charset = utf-8 |
|
||||
trim_trailing_whitespace = true |
|
||||
insert_final_newline = true |
|
||||
|
|
||||
[*.md] |
|
||||
trim_trailing_whitespace = false |
|
||||
insert_final_newline = false |
|
||||
@ -1,2 +0,0 @@ |
|||||
VUE_APP_NAME=Ele Admin |
|
||||
VUE_APP_API_BASE_URL=https://v2.eleadmin.com/api |
|
||||
@ -1 +0,0 @@ |
|||||
VUE_APP_API_BASE_URL=https://v2.eleadmin.com/api |
|
||||
@ -1,2 +0,0 @@ |
|||||
NODE_ENV=production |
|
||||
VUE_APP_API_BASE_URL=https://v2.eleadmin.com/api |
|
||||
@ -1,4 +0,0 @@ |
|||||
public |
|
||||
src/assets |
|
||||
dist |
|
||||
node_modules |
|
||||
@ -1,21 +0,0 @@ |
|||||
module.exports = { |
|
||||
root: true, |
|
||||
env: { |
|
||||
browser: true, |
|
||||
node: true, |
|
||||
es6: true |
|
||||
}, |
|
||||
parser: 'vue-eslint-parser', |
|
||||
extends: [ |
|
||||
'plugin:vue/essential', |
|
||||
'eslint:recommended', |
|
||||
'prettier', |
|
||||
'plugin:prettier/recommended' |
|
||||
], |
|
||||
parserOptions: { |
|
||||
parser: '@babel/eslint-parser', |
|
||||
ecmaVersion: 2020, |
|
||||
sourceType: 'module' |
|
||||
}, |
|
||||
rules: {} |
|
||||
}; |
|
||||
@ -1,21 +0,0 @@ |
|||||
.DS_Store |
|
||||
node_modules |
|
||||
/dist |
|
||||
|
|
||||
# local env files |
|
||||
.env.local |
|
||||
.env.*.local |
|
||||
|
|
||||
# Log files |
|
||||
npm-debug.log* |
|
||||
yarn-debug.log* |
|
||||
yarn-error.log* |
|
||||
|
|
||||
# Editor directories and files |
|
||||
.idea |
|
||||
.vscode |
|
||||
*.suo |
|
||||
*.ntvs* |
|
||||
*.njsproj |
|
||||
*.sln |
|
||||
*.sw? |
|
||||
@ -1,4 +0,0 @@ |
|||||
/public/* |
|
||||
/src/assets/* |
|
||||
/dist/* |
|
||||
/node_modules/* |
|
||||
@ -1,3 +0,0 @@ |
|||||
module.exports = { |
|
||||
presets: ['@vue/cli-plugin-babel/preset'] |
|
||||
}; |
|
||||
@ -1,13 +0,0 @@ |
|||||
{ |
|
||||
"compilerOptions": { |
|
||||
"target": "es6", |
|
||||
"module": "esnext", |
|
||||
"moduleResolution": "node", |
|
||||
"baseUrl": "./", |
|
||||
"paths": { |
|
||||
"@/*": ["src/*"] |
|
||||
}, |
|
||||
"lib": ["esnext", "dom", "dom.iterable", "scripthost"] |
|
||||
}, |
|
||||
"exclude": ["node_modules", "dist"] |
|
||||
} |
|
||||
File diff suppressed because it is too large
@ -1,63 +0,0 @@ |
|||||
{ |
|
||||
"name": "ele-admin-template", |
|
||||
"version": "1.8.0", |
|
||||
"private": true, |
|
||||
"scripts": { |
|
||||
"serve": "vue-cli-service serve", |
|
||||
"build": "vue-cli-service build", |
|
||||
"build:preview": "vue-cli-service build --mode preview", |
|
||||
"build:report": "vue-cli-service build --report", |
|
||||
"lint": "vue-cli-service lint", |
|
||||
"clean:lib": "rimraf node_modules" |
|
||||
}, |
|
||||
"dependencies": { |
|
||||
"@amap/amap-jsapi-loader": "^1.0.1", |
|
||||
"@ant-design/colors": "^6.0.0", |
|
||||
"@bytemd/plugin-gfm": "^1.11.0", |
|
||||
"@bytemd/vue": "^1.11.0", |
|
||||
"@tinymce/tinymce-vue": "^3.2.8", |
|
||||
"@vue/composition-api": "^1.4.9", |
|
||||
"axios": "^0.26.0", |
|
||||
"core-js": "^3.21.1", |
|
||||
"countup.js": "^2.0.8", |
|
||||
"cropperjs": "^1.5.12", |
|
||||
"echarts": "^5.3.0", |
|
||||
"echarts-wordcloud": "^2.0.0", |
|
||||
"ele-admin": "1.8.0", |
|
||||
"element-ui": "^2.15.7", |
|
||||
"github-markdown-css": "^5.1.0", |
|
||||
"nprogress": "^0.2.0", |
|
||||
"qrcodejs2": "^0.0.2", |
|
||||
"tinymce": "^5.10.3", |
|
||||
"vue": "^2.6.14", |
|
||||
"vue-clipboard2": "^0.3.3", |
|
||||
"vue-countup-v2": "^4.0.0", |
|
||||
"vue-echarts": "^6.0.2", |
|
||||
"vue-i18n": "^8.27.0", |
|
||||
"vue-router": "^3.5.3", |
|
||||
"vuedraggable": "^2.24.3", |
|
||||
"vuex": "^3.6.2", |
|
||||
"xgplayer-vue": "^1.1.5", |
|
||||
"xlsx": "^0.18.2" |
|
||||
}, |
|
||||
"devDependencies": { |
|
||||
"@babel/core": "^7.17.5", |
|
||||
"@babel/eslint-parser": "^7.17.0", |
|
||||
"@vue/cli-plugin-babel": "^5.0.1", |
|
||||
"@vue/cli-plugin-eslint": "^5.0.1", |
|
||||
"@vue/cli-plugin-router": "^5.0.1", |
|
||||
"@vue/cli-plugin-vuex": "^5.0.1", |
|
||||
"@vue/cli-service": "^5.0.1", |
|
||||
"compression-webpack-plugin": "^6.1.1", |
|
||||
"eslint": "^8.10.0", |
|
||||
"eslint-config-prettier": "^8.4.0", |
|
||||
"eslint-plugin-prettier": "^4.0.0", |
|
||||
"eslint-plugin-vue": "^8.5.0", |
|
||||
"prettier": "^2.5.1", |
|
||||
"sass": "^1.49.9", |
|
||||
"sass-loader": "^12.6.0", |
|
||||
"vue-eslint-parser": "^8.3.0", |
|
||||
"vue-template-compiler": "^2.6.14", |
|
||||
"webpack": "^5.0.0" |
|
||||
} |
|
||||
} |
|
||||
@ -1,19 +0,0 @@ |
|||||
module.exports = { |
|
||||
printWidth: 80, |
|
||||
tabWidth: 2, |
|
||||
useTabs: false, |
|
||||
semi: true, |
|
||||
singleQuote: true, |
|
||||
quoteProps: 'as-needed', |
|
||||
jsxSingleQuote: false, |
|
||||
trailingComma: 'none', |
|
||||
bracketSpacing: true, |
|
||||
bracketSameLine: false, |
|
||||
arrowParens: 'always', |
|
||||
requirePragma: false, |
|
||||
insertPragma: false, |
|
||||
proseWrap: 'never', |
|
||||
htmlWhitespaceSensitivity: 'strict', |
|
||||
vueIndentScriptAndStyle: true, |
|
||||
endOfLine: 'lf' |
|
||||
}; |
|
||||
|
Before Width: | Height: | Size: 4.2 KiB |
@ -1,69 +0,0 @@ |
|||||
<!DOCTYPE html> |
|
||||
<html lang="zh-CN"> |
|
||||
<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="<%= BASE_URL %>favicon.ico"> |
|
||||
<title><%= process.env.VUE_APP_NAME %></title> |
|
||||
<style> |
|
||||
.ele-admin-loading { |
|
||||
width: 36px; |
|
||||
font-size: 0; |
|
||||
display: inline-block; |
|
||||
transform: rotate(45deg); |
|
||||
animation: loadingRotate 1.2s infinite linear; |
|
||||
position: relative; |
|
||||
top: calc(50% - 18px); |
|
||||
left: calc(50% - 18px); |
|
||||
} |
|
||||
|
|
||||
.ele-admin-loading span { |
|
||||
width: 10px; |
|
||||
height: 10px; |
|
||||
margin: 4px; |
|
||||
border-radius: 50%; |
|
||||
background: #1890ff; |
|
||||
display: inline-block; |
|
||||
opacity: .9; |
|
||||
} |
|
||||
|
|
||||
.ele-admin-loading span:nth-child(2) { |
|
||||
opacity: .7; |
|
||||
} |
|
||||
|
|
||||
.ele-admin-loading span:nth-child(3) { |
|
||||
opacity: .5; |
|
||||
} |
|
||||
|
|
||||
.ele-admin-loading span:nth-child(4) { |
|
||||
opacity: .3; |
|
||||
} |
|
||||
|
|
||||
@keyframes loadingRotate { |
|
||||
to { |
|
||||
transform: rotate(405deg); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
#app > .ele-admin-loading { |
|
||||
position: fixed; |
|
||||
} |
|
||||
</style> |
|
||||
</head> |
|
||||
<body> |
|
||||
<noscript> |
|
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. |
|
||||
Please enable it to continue.</strong> |
|
||||
</noscript> |
|
||||
<div id="app"> |
|
||||
<div class="ele-admin-loading"> |
|
||||
<span></span> |
|
||||
<span></span> |
|
||||
<span></span> |
|
||||
<span></span> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- built files will be auto injected --> |
|
||||
</body> |
|
||||
</html> |
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,389 +0,0 @@ |
|||||
tinymce.addI18n('zh_CN', { |
|
||||
"Redo": "\u91cd\u505a", |
|
||||
"Undo": "\u64a4\u9500", |
|
||||
"Cut": "\u526a\u5207", |
|
||||
"Copy": "\u590d\u5236", |
|
||||
"Paste": "\u7c98\u8d34", |
|
||||
"Select all": "\u5168\u9009", |
|
||||
"New document": "\u65b0\u6587\u4ef6", |
|
||||
"Ok": "\u786e\u5b9a", |
|
||||
"Cancel": "\u53d6\u6d88", |
|
||||
"Visual aids": "\u7f51\u683c\u7ebf", |
|
||||
"Bold": "\u7c97\u4f53", |
|
||||
"Italic": "\u659c\u4f53", |
|
||||
"Underline": "\u4e0b\u5212\u7ebf", |
|
||||
"Strikethrough": "\u5220\u9664\u7ebf", |
|
||||
"Superscript": "\u4e0a\u6807", |
|
||||
"Subscript": "\u4e0b\u6807", |
|
||||
"Clear formatting": "\u6e05\u9664\u683c\u5f0f", |
|
||||
"Align left": "\u5de6\u8fb9\u5bf9\u9f50", |
|
||||
"Align center": "\u4e2d\u95f4\u5bf9\u9f50", |
|
||||
"Align right": "\u53f3\u8fb9\u5bf9\u9f50", |
|
||||
"Justify": "\u4e24\u7aef\u5bf9\u9f50", |
|
||||
"Bullet list": "\u9879\u76ee\u7b26\u53f7", |
|
||||
"Numbered list": "\u7f16\u53f7\u5217\u8868", |
|
||||
"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb", |
|
||||
"Increase indent": "\u589e\u52a0\u7f29\u8fdb", |
|
||||
"Close": "\u5173\u95ed", |
|
||||
"Formats": "\u683c\u5f0f", |
|
||||
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u6253\u5f00\u526a\u8d34\u677f\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u7b49\u5feb\u6377\u952e\u3002", |
|
||||
"Headers": "\u6807\u9898", |
|
||||
"Header 1": "\u6807\u98981", |
|
||||
"Header 2": "\u6807\u98982", |
|
||||
"Header 3": "\u6807\u98983", |
|
||||
"Header 4": "\u6807\u98984", |
|
||||
"Header 5": "\u6807\u98985", |
|
||||
"Header 6": "\u6807\u98986", |
|
||||
"Headings": "\u6807\u9898", |
|
||||
"Heading 1": "\u6807\u98981", |
|
||||
"Heading 2": "\u6807\u98982", |
|
||||
"Heading 3": "\u6807\u98983", |
|
||||
"Heading 4": "\u6807\u98984", |
|
||||
"Heading 5": "\u6807\u98985", |
|
||||
"Heading 6": "\u6807\u98986", |
|
||||
"Preformatted": "\u9884\u5148\u683c\u5f0f\u5316\u7684", |
|
||||
"Div": "Div", |
|
||||
"Pre": "Pre", |
|
||||
"Code": "\u4ee3\u7801", |
|
||||
"Paragraph": "\u6bb5\u843d", |
|
||||
"Blockquote": "\u5f15\u6587\u533a\u5757", |
|
||||
"Inline": "\u6587\u672c", |
|
||||
"Blocks": "\u57fa\u5757", |
|
||||
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002", |
|
||||
"Fonts": "\u5b57\u4f53", |
|
||||
"Font Sizes": "\u5b57\u53f7", |
|
||||
"Class": "\u7c7b\u578b", |
|
||||
"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf", |
|
||||
"OR": "\u6216", |
|
||||
"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64", |
|
||||
"Upload": "\u4e0a\u4f20", |
|
||||
"Block": "\u5757", |
|
||||
"Align": "\u5bf9\u9f50", |
|
||||
"Default": "\u9ed8\u8ba4", |
|
||||
"Circle": "\u7a7a\u5fc3\u5706", |
|
||||
"Disc": "\u5b9e\u5fc3\u5706", |
|
||||
"Square": "\u65b9\u5757", |
|
||||
"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd", |
|
||||
"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd", |
|
||||
"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd", |
|
||||
"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd", |
|
||||
"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd", |
|
||||
"Anchor...": "\u951a\u70b9...", |
|
||||
"Name": "\u540d\u79f0", |
|
||||
"Id": "\u6807\u8bc6\u7b26", |
|
||||
"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002", |
|
||||
"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f", |
|
||||
"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f", |
|
||||
"Special characters...": "\u7279\u6b8a\u5b57\u7b26...", |
|
||||
"Source code": "\u6e90\u4ee3\u7801", |
|
||||
"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b", |
|
||||
"Language": "\u8bed\u8a00", |
|
||||
"Code sample...": "\u793a\u4f8b\u4ee3\u7801...", |
|
||||
"Color Picker": "\u9009\u8272\u5668", |
|
||||
"R": "R", |
|
||||
"G": "G", |
|
||||
"B": "B", |
|
||||
"Left to right": "\u4ece\u5de6\u5230\u53f3", |
|
||||
"Right to left": "\u4ece\u53f3\u5230\u5de6", |
|
||||
"Emoticons...": "\u8868\u60c5\u7b26\u53f7...", |
|
||||
"Metadata and Document Properties": "\u5143\u6570\u636e\u548c\u6587\u6863\u5c5e\u6027", |
|
||||
"Title": "\u6807\u9898", |
|
||||
"Keywords": "\u5173\u952e\u8bcd", |
|
||||
"Description": "\u63cf\u8ff0", |
|
||||
"Robots": "\u673a\u5668\u4eba", |
|
||||
"Author": "\u4f5c\u8005", |
|
||||
"Encoding": "\u7f16\u7801", |
|
||||
"Fullscreen": "\u5168\u5c4f", |
|
||||
"Action": "\u64cd\u4f5c", |
|
||||
"Shortcut": "\u5feb\u6377\u952e", |
|
||||
"Help": "\u5e2e\u52a9", |
|
||||
"Address": "\u5730\u5740", |
|
||||
"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f", |
|
||||
"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f", |
|
||||
"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84", |
|
||||
"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355", |
|
||||
"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", |
|
||||
"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", |
|
||||
"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", |
|
||||
"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):", |
|
||||
"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a", |
|
||||
"Learn more...": "\u4e86\u89e3\u66f4\u591a...", |
|
||||
"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}", |
|
||||
"Plugins": "\u63d2\u4ef6", |
|
||||
"Handy Shortcuts": "\u5feb\u6377\u952e", |
|
||||
"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf", |
|
||||
"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247", |
|
||||
"Image description": "\u56fe\u7247\u63cf\u8ff0", |
|
||||
"Source": "\u5730\u5740", |
|
||||
"Dimensions": "\u5927\u5c0f", |
|
||||
"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4", |
|
||||
"General": "\u666e\u901a", |
|
||||
"Advanced": "\u9ad8\u7ea7", |
|
||||
"Style": "\u6837\u5f0f", |
|
||||
"Vertical space": "\u5782\u76f4\u8fb9\u8ddd", |
|
||||
"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd", |
|
||||
"Border": "\u8fb9\u6846", |
|
||||
"Insert image": "\u63d2\u5165\u56fe\u7247", |
|
||||
"Image...": "\u56fe\u7247...", |
|
||||
"Image list": "\u56fe\u7247\u5217\u8868", |
|
||||
"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c", |
|
||||
"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c", |
|
||||
"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c", |
|
||||
"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c", |
|
||||
"Edit image": "\u7f16\u8f91\u56fe\u7247", |
|
||||
"Image options": "\u56fe\u7247\u9009\u9879", |
|
||||
"Zoom in": "\u653e\u5927", |
|
||||
"Zoom out": "\u7f29\u5c0f", |
|
||||
"Crop": "\u88c1\u526a", |
|
||||
"Resize": "\u8c03\u6574\u5927\u5c0f", |
|
||||
"Orientation": "\u65b9\u5411", |
|
||||
"Brightness": "\u4eae\u5ea6", |
|
||||
"Sharpen": "\u9510\u5316", |
|
||||
"Contrast": "\u5bf9\u6bd4\u5ea6", |
|
||||
"Color levels": "\u989c\u8272\u5c42\u6b21", |
|
||||
"Gamma": "\u4f3d\u9a6c\u503c", |
|
||||
"Invert": "\u53cd\u8f6c", |
|
||||
"Apply": "\u5e94\u7528", |
|
||||
"Back": "\u540e\u9000", |
|
||||
"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4", |
|
||||
"Date\/time": "\u65e5\u671f\/\u65f6\u95f4", |
|
||||
"Insert\/Edit Link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", |
|
||||
"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", |
|
||||
"Text to display": "\u663e\u793a\u6587\u5b57", |
|
||||
"Url": "\u5730\u5740", |
|
||||
"Open link in...": "\u94fe\u63a5\u6253\u5f00\u4f4d\u7f6e...", |
|
||||
"Current window": "\u5f53\u524d\u7a97\u53e3", |
|
||||
"None": "\u65e0", |
|
||||
"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00", |
|
||||
"Remove link": "\u5220\u9664\u94fe\u63a5", |
|
||||
"Anchors": "\u951a\u70b9", |
|
||||
"Link...": "\u94fe\u63a5...", |
|
||||
"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5", |
|
||||
"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f", |
|
||||
"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f", |
|
||||
"Link list": "\u94fe\u63a5\u5217\u8868", |
|
||||
"Insert video": "\u63d2\u5165\u89c6\u9891", |
|
||||
"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891", |
|
||||
"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53", |
|
||||
"Alternative source": "\u955c\u50cf", |
|
||||
"Alternative source URL": "\u66ff\u4ee3\u6765\u6e90\u7f51\u5740", |
|
||||
"Media poster (Image URL)": "\u5c01\u9762(\u56fe\u7247\u5730\u5740)", |
|
||||
"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:", |
|
||||
"Embed": "\u5185\u5d4c", |
|
||||
"Media...": "\u591a\u5a92\u4f53...", |
|
||||
"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c", |
|
||||
"Page break": "\u5206\u9875\u7b26", |
|
||||
"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c", |
|
||||
"Preview": "\u9884\u89c8", |
|
||||
"Print...": "\u6253\u5370...", |
|
||||
"Save": "\u4fdd\u5b58", |
|
||||
"Find": "\u67e5\u627e", |
|
||||
"Replace with": "\u66ff\u6362\u4e3a", |
|
||||
"Replace": "\u66ff\u6362", |
|
||||
"Replace all": "\u5168\u90e8\u66ff\u6362", |
|
||||
"Previous": "\u4e0a\u4e00\u4e2a", |
|
||||
"Next": "\u4e0b\u4e00\u4e2a", |
|
||||
"Find and replace...": "\u67e5\u627e\u5e76\u66ff\u6362...", |
|
||||
"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.", |
|
||||
"Match case": "\u533a\u5206\u5927\u5c0f\u5199", |
|
||||
"Find whole words only": "\u5168\u5b57\u5339\u914d", |
|
||||
"Spell check": "\u62fc\u5199\u68c0\u67e5", |
|
||||
"Ignore": "\u5ffd\u7565", |
|
||||
"Ignore all": "\u5168\u90e8\u5ffd\u7565", |
|
||||
"Finish": "\u5b8c\u6210", |
|
||||
"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178", |
|
||||
"Insert table": "\u63d2\u5165\u8868\u683c", |
|
||||
"Table properties": "\u8868\u683c\u5c5e\u6027", |
|
||||
"Delete table": "\u5220\u9664\u8868\u683c", |
|
||||
"Cell": "\u5355\u5143\u683c", |
|
||||
"Row": "\u884c", |
|
||||
"Column": "\u5217", |
|
||||
"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027", |
|
||||
"Merge cells": "\u5408\u5e76\u5355\u5143\u683c", |
|
||||
"Split cell": "\u62c6\u5206\u5355\u5143\u683c", |
|
||||
"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165", |
|
||||
"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165", |
|
||||
"Delete row": "\u5220\u9664\u884c", |
|
||||
"Row properties": "\u884c\u5c5e\u6027", |
|
||||
"Cut row": "\u526a\u5207\u884c", |
|
||||
"Copy row": "\u590d\u5236\u884c", |
|
||||
"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9", |
|
||||
"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9", |
|
||||
"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165", |
|
||||
"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165", |
|
||||
"Delete column": "\u5220\u9664\u5217", |
|
||||
"Cols": "\u5217", |
|
||||
"Rows": "\u884c", |
|
||||
"Width": "\u5bbd", |
|
||||
"Height": "\u9ad8", |
|
||||
"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd", |
|
||||
"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd", |
|
||||
"Show caption": "\u663e\u793a\u6807\u9898", |
|
||||
"Left": "\u5de6\u5bf9\u9f50", |
|
||||
"Center": "\u5c45\u4e2d", |
|
||||
"Right": "\u53f3\u5bf9\u9f50", |
|
||||
"Cell type": "\u5355\u5143\u683c\u7c7b\u578b", |
|
||||
"Scope": "\u8303\u56f4", |
|
||||
"Alignment": "\u5bf9\u9f50\u65b9\u5f0f", |
|
||||
"H Align": "\u6c34\u5e73\u5bf9\u9f50", |
|
||||
"V Align": "\u5782\u76f4\u5bf9\u9f50", |
|
||||
"Top": "\u9876\u90e8\u5bf9\u9f50", |
|
||||
"Middle": "\u5782\u76f4\u5c45\u4e2d", |
|
||||
"Bottom": "\u5e95\u90e8\u5bf9\u9f50", |
|
||||
"Header cell": "\u8868\u5934\u5355\u5143\u683c", |
|
||||
"Row group": "\u884c\u7ec4", |
|
||||
"Column group": "\u5217\u7ec4", |
|
||||
"Row type": "\u884c\u7c7b\u578b", |
|
||||
"Header": "\u8868\u5934", |
|
||||
"Body": "\u8868\u4f53", |
|
||||
"Footer": "\u8868\u5c3e", |
|
||||
"Border color": "\u8fb9\u6846\u989c\u8272", |
|
||||
"Insert template...": "\u63d2\u5165\u6a21\u677f...", |
|
||||
"Templates": "\u6a21\u677f", |
|
||||
"Template": "\u6a21\u677f", |
|
||||
"Text color": "\u6587\u5b57\u989c\u8272", |
|
||||
"Background color": "\u80cc\u666f\u8272", |
|
||||
"Custom...": "\u81ea\u5b9a\u4e49...", |
|
||||
"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272", |
|
||||
"No color": "\u65e0", |
|
||||
"Remove color": "\u79fb\u9664\u989c\u8272", |
|
||||
"Table of Contents": "\u5185\u5bb9\u5217\u8868", |
|
||||
"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846", |
|
||||
"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26", |
|
||||
"Word count": "\u5b57\u6570", |
|
||||
"Words: {0}": "\u5b57\u6570\uff1a{0}", |
|
||||
"{0} words": "{0} \u5b57", |
|
||||
"File": "\u6587\u4ef6", |
|
||||
"Edit": "\u7f16\u8f91", |
|
||||
"Insert": "\u63d2\u5165", |
|
||||
"View": "\u89c6\u56fe", |
|
||||
"Format": "\u683c\u5f0f", |
|
||||
"Table": "\u8868\u683c", |
|
||||
"Tools": "\u5de5\u5177", |
|
||||
"Powered by {0}": "\u7531{0}\u9a71\u52a8", |
|
||||
"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9", |
|
||||
"Image title": "\u56fe\u7247\u6807\u9898", |
|
||||
"Border width": "\u8fb9\u6846\u5bbd\u5ea6", |
|
||||
"Border style": "\u8fb9\u6846\u6837\u5f0f", |
|
||||
"Error": "\u9519\u8bef", |
|
||||
"Warn": "\u8b66\u544a", |
|
||||
"Valid": "\u6709\u6548", |
|
||||
"To open the popup, press Shift+Enter": "\u6309Shitf+Enter\u952e\u6253\u5f00\u5bf9\u8bdd\u6846", |
|
||||
"Rich Text Area. Press ALT-0 for help.": "\u7f16\u8f91\u533a\u3002\u6309Alt+0\u952e\u6253\u5f00\u5e2e\u52a9\u3002", |
|
||||
"System Font": "\u7cfb\u7edf\u5b57\u4f53", |
|
||||
"Failed to upload image: {0}": "\u56fe\u7247\u4e0a\u4f20\u5931\u8d25: {0}", |
|
||||
"Failed to load plugin: {0} from url {1}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25: {0} \u6765\u81ea\u94fe\u63a5 {1}", |
|
||||
"Failed to load plugin url: {0}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25 \u94fe\u63a5: {0}", |
|
||||
"Failed to initialize plugin: {0}": "\u63d2\u4ef6\u521d\u59cb\u5316\u5931\u8d25: {0}", |
|
||||
"example": "\u793a\u4f8b", |
|
||||
"Search": "\u641c\u7d22", |
|
||||
"All": "\u5168\u90e8", |
|
||||
"Currency": "\u8d27\u5e01", |
|
||||
"Text": "\u6587\u5b57", |
|
||||
"Quotations": "\u5f15\u7528", |
|
||||
"Mathematical": "\u6570\u5b66", |
|
||||
"Extended Latin": "\u62c9\u4e01\u8bed\u6269\u5145", |
|
||||
"Symbols": "\u7b26\u53f7", |
|
||||
"Arrows": "\u7bad\u5934", |
|
||||
"User Defined": "\u81ea\u5b9a\u4e49", |
|
||||
"dollar sign": "\u7f8e\u5143\u7b26\u53f7", |
|
||||
"currency sign": "\u8d27\u5e01\u7b26\u53f7", |
|
||||
"euro-currency sign": "\u6b27\u5143\u7b26\u53f7", |
|
||||
"colon sign": "\u5192\u53f7", |
|
||||
"cruzeiro sign": "\u514b\u9c81\u8d5b\u7f57\u5e01\u7b26\u53f7", |
|
||||
"french franc sign": "\u6cd5\u90ce\u7b26\u53f7", |
|
||||
"lira sign": "\u91cc\u62c9\u7b26\u53f7", |
|
||||
"mill sign": "\u5bc6\u5c14\u7b26\u53f7", |
|
||||
"naira sign": "\u5948\u62c9\u7b26\u53f7", |
|
||||
"peseta sign": "\u6bd4\u585e\u5854\u7b26\u53f7", |
|
||||
"rupee sign": "\u5362\u6bd4\u7b26\u53f7", |
|
||||
"won sign": "\u97e9\u5143\u7b26\u53f7", |
|
||||
"new sheqel sign": "\u65b0\u8c22\u514b\u5c14\u7b26\u53f7", |
|
||||
"dong sign": "\u8d8a\u5357\u76fe\u7b26\u53f7", |
|
||||
"kip sign": "\u8001\u631d\u57fa\u666e\u7b26\u53f7", |
|
||||
"tugrik sign": "\u56fe\u683c\u91cc\u514b\u7b26\u53f7", |
|
||||
"drachma sign": "\u5fb7\u62c9\u514b\u9a6c\u7b26\u53f7", |
|
||||
"german penny symbol": "\u5fb7\u56fd\u4fbf\u58eb\u7b26\u53f7", |
|
||||
"peso sign": "\u6bd4\u7d22\u7b26\u53f7", |
|
||||
"guarani sign": "\u74dc\u62c9\u5c3c\u7b26\u53f7", |
|
||||
"austral sign": "\u6fb3\u5143\u7b26\u53f7", |
|
||||
"hryvnia sign": "\u683c\u91cc\u592b\u5c3c\u4e9a\u7b26\u53f7", |
|
||||
"cedi sign": "\u585e\u5730\u7b26\u53f7", |
|
||||
"livre tournois sign": "\u91cc\u5f17\u5f17\u5c14\u7b26\u53f7", |
|
||||
"spesmilo sign": "spesmilo\u7b26\u53f7", |
|
||||
"tenge sign": "\u575a\u6208\u7b26\u53f7", |
|
||||
"indian rupee sign": "\u5370\u5ea6\u5362\u6bd4", |
|
||||
"turkish lira sign": "\u571f\u8033\u5176\u91cc\u62c9", |
|
||||
"nordic mark sign": "\u5317\u6b27\u9a6c\u514b", |
|
||||
"manat sign": "\u9a6c\u7eb3\u7279\u7b26\u53f7", |
|
||||
"ruble sign": "\u5362\u5e03\u7b26\u53f7", |
|
||||
"yen character": "\u65e5\u5143\u5b57\u6837", |
|
||||
"yuan character": "\u4eba\u6c11\u5e01\u5143\u5b57\u6837", |
|
||||
"yuan character, in hong kong and taiwan": "\u5143\u5b57\u6837\uff08\u6e2f\u53f0\u5730\u533a\uff09", |
|
||||
"yen\/yuan character variant one": "\u5143\u5b57\u6837\uff08\u5927\u5199\uff09", |
|
||||
"Loading emoticons...": "\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7...", |
|
||||
"Could not load emoticons": "\u4e0d\u80fd\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7", |
|
||||
"People": "\u4eba\u7c7b", |
|
||||
"Animals and Nature": "\u52a8\u7269\u548c\u81ea\u7136", |
|
||||
"Food and Drink": "\u98df\u7269\u548c\u996e\u54c1", |
|
||||
"Activity": "\u6d3b\u52a8", |
|
||||
"Travel and Places": "\u65c5\u6e38\u548c\u5730\u70b9", |
|
||||
"Objects": "\u7269\u4ef6", |
|
||||
"Flags": "\u65d7\u5e1c", |
|
||||
"Characters": "\u5b57\u7b26", |
|
||||
"Characters (no spaces)": "\u5b57\u7b26(\u65e0\u7a7a\u683c)", |
|
||||
"Error: Form submit field collision.": "\u9519\u8bef: \u8868\u5355\u63d0\u4ea4\u5b57\u6bb5\u51b2\u7a81\u3002", |
|
||||
"Error: No form element found.": "\u9519\u8bef: \u6ca1\u6709\u8868\u5355\u63a7\u4ef6\u3002", |
|
||||
"Update": "\u66f4\u65b0", |
|
||||
"Color swatch": "\u989c\u8272\u6837\u672c", |
|
||||
"Turquoise": "\u9752\u7eff\u8272", |
|
||||
"Green": "\u7eff\u8272", |
|
||||
"Blue": "\u84dd\u8272", |
|
||||
"Purple": "\u7d2b\u8272", |
|
||||
"Navy Blue": "\u6d77\u519b\u84dd", |
|
||||
"Dark Turquoise": "\u6df1\u84dd\u7eff\u8272", |
|
||||
"Dark Green": "\u6df1\u7eff\u8272", |
|
||||
"Medium Blue": "\u4e2d\u84dd\u8272", |
|
||||
"Medium Purple": "\u4e2d\u7d2b\u8272", |
|
||||
"Midnight Blue": "\u6df1\u84dd\u8272", |
|
||||
"Yellow": "\u9ec4\u8272", |
|
||||
"Orange": "\u6a59\u8272", |
|
||||
"Red": "\u7ea2\u8272", |
|
||||
"Light Gray": "\u6d45\u7070\u8272", |
|
||||
"Gray": "\u7070\u8272", |
|
||||
"Dark Yellow": "\u6697\u9ec4\u8272", |
|
||||
"Dark Orange": "\u6df1\u6a59\u8272", |
|
||||
"Dark Red": "\u6df1\u7ea2\u8272", |
|
||||
"Medium Gray": "\u4e2d\u7070\u8272", |
|
||||
"Dark Gray": "\u6df1\u7070\u8272", |
|
||||
"Black": "\u9ed1\u8272", |
|
||||
"White": "\u767d\u8272", |
|
||||
"Switch to or from fullscreen mode": "\u5207\u6362\u5168\u5c4f\u6a21\u5f0f", |
|
||||
"Open help dialog": "\u6253\u5f00\u5e2e\u52a9\u5bf9\u8bdd\u6846", |
|
||||
"history": "\u5386\u53f2", |
|
||||
"styles": "\u6837\u5f0f", |
|
||||
"formatting": "\u683c\u5f0f\u5316", |
|
||||
"alignment": "\u5bf9\u9f50", |
|
||||
"indentation": "\u7f29\u8fdb", |
|
||||
"permanent pen": "\u8bb0\u53f7\u7b14", |
|
||||
"comments": "\u5907\u6ce8", |
|
||||
"Anchor": "\u951a\u70b9", |
|
||||
"Special character": "\u7279\u6b8a\u7b26\u53f7", |
|
||||
"Code sample": "\u4ee3\u7801\u793a\u4f8b", |
|
||||
"Color": "\u989c\u8272", |
|
||||
"Emoticons": "\u8868\u60c5", |
|
||||
"Document properties": "\u6587\u6863\u5c5e\u6027", |
|
||||
"Image": "\u56fe\u7247", |
|
||||
"Insert link": "\u63d2\u5165\u94fe\u63a5", |
|
||||
"Target": "\u6253\u5f00\u65b9\u5f0f", |
|
||||
"Link": "\u94fe\u63a5", |
|
||||
"Poster": "\u5c01\u9762", |
|
||||
"Media": "\u5a92\u4f53", |
|
||||
"Print": "\u6253\u5370", |
|
||||
"Prev": "\u4e0a\u4e00\u4e2a", |
|
||||
"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362", |
|
||||
"Whole words": "\u5168\u5b57\u5339\u914d", |
|
||||
"Spellcheck": "\u62fc\u5199\u68c0\u67e5", |
|
||||
"Caption": "\u6807\u9898", |
|
||||
"Insert template": "\u63d2\u5165\u6a21\u677f" |
|
||||
}); |
|
||||
@ -1,69 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
body { |
|
||||
background-color: #2f3742; |
|
||||
color: #dfe0e4; |
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; |
|
||||
line-height: 1.4; |
|
||||
margin: 1rem; |
|
||||
} |
|
||||
|
|
||||
a { |
|
||||
color: #4099ff; |
|
||||
} |
|
||||
|
|
||||
table { |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
|
|
||||
table th, |
|
||||
table td { |
|
||||
border: 1px solid #6d737b; |
|
||||
padding: 0.4rem; |
|
||||
} |
|
||||
|
|
||||
figure { |
|
||||
display: table; |
|
||||
margin: 1rem auto; |
|
||||
} |
|
||||
|
|
||||
figure figcaption { |
|
||||
color: #8a8f97; |
|
||||
display: block; |
|
||||
margin-top: 0.25rem; |
|
||||
text-align: center; |
|
||||
} |
|
||||
|
|
||||
hr { |
|
||||
border-color: #6d737b; |
|
||||
border-style: solid; |
|
||||
border-width: 1px 0 0 0; |
|
||||
} |
|
||||
|
|
||||
code { |
|
||||
background-color: #6d737b; |
|
||||
border-radius: 3px; |
|
||||
padding: 0.1rem 0.2rem; |
|
||||
} |
|
||||
|
|
||||
/* Make text in selected cells in tables dark and readable */ |
|
||||
td[data-mce-selected], |
|
||||
th[data-mce-selected] { |
|
||||
color: #333; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body:not([dir=rtl]) blockquote { |
|
||||
border-left: 2px solid #6d737b; |
|
||||
margin-left: 1.5rem; |
|
||||
padding-left: 1rem; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[dir=rtl] blockquote { |
|
||||
border-right: 2px solid #6d737b; |
|
||||
margin-right: 1.5rem; |
|
||||
padding-right: 1rem; |
|
||||
} |
|
||||
@ -1,7 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table td,table th{border:1px solid #6d737b;padding:.4rem}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}td[data-mce-selected],th[data-mce-selected]{color:#333}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem} |
|
||||
@ -1,57 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
body { |
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; |
|
||||
line-height: 1.4; |
|
||||
margin: 1rem; |
|
||||
} |
|
||||
|
|
||||
table { |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
|
|
||||
table th, |
|
||||
table td { |
|
||||
border: 1px solid #ccc; |
|
||||
padding: 0.4rem; |
|
||||
} |
|
||||
|
|
||||
figure { |
|
||||
display: table; |
|
||||
margin: 1rem auto; |
|
||||
} |
|
||||
|
|
||||
figure figcaption { |
|
||||
color: #999; |
|
||||
display: block; |
|
||||
margin-top: 0.25rem; |
|
||||
text-align: center; |
|
||||
} |
|
||||
|
|
||||
hr { |
|
||||
border-color: #ccc; |
|
||||
border-style: solid; |
|
||||
border-width: 1px 0 0 0; |
|
||||
} |
|
||||
|
|
||||
code { |
|
||||
background-color: #e8e8e8; |
|
||||
border-radius: 3px; |
|
||||
padding: 0.1rem 0.2rem; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body:not([dir=rtl]) blockquote { |
|
||||
border-left: 2px solid #ccc; |
|
||||
margin-left: 1.5rem; |
|
||||
padding-left: 1rem; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[dir=rtl] blockquote { |
|
||||
border-right: 2px solid #ccc; |
|
||||
margin-right: 1.5rem; |
|
||||
padding-right: 1rem; |
|
||||
} |
|
||||
@ -1,7 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table td,table th{border:1px solid #ccc;padding:.4rem}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} |
|
||||
@ -1,62 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
@media screen { |
|
||||
html { |
|
||||
background: #f4f4f4; |
|
||||
min-height: 100%; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
body { |
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; |
|
||||
} |
|
||||
|
|
||||
@media screen { |
|
||||
body { |
|
||||
background-color: #fff; |
|
||||
box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); |
|
||||
box-sizing: border-box; |
|
||||
margin: 1rem auto 0; |
|
||||
max-width: 820px; |
|
||||
min-height: calc(100vh - 1rem); |
|
||||
padding: 4rem 6rem 6rem 6rem; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
table { |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
|
|
||||
table th, |
|
||||
table td { |
|
||||
border: 1px solid #ccc; |
|
||||
padding: 0.4rem; |
|
||||
} |
|
||||
|
|
||||
figure figcaption { |
|
||||
color: #999; |
|
||||
margin-top: 0.25rem; |
|
||||
text-align: center; |
|
||||
} |
|
||||
|
|
||||
hr { |
|
||||
border-color: #ccc; |
|
||||
border-style: solid; |
|
||||
border-width: 1px 0 0 0; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body:not([dir=rtl]) blockquote { |
|
||||
border-left: 2px solid #ccc; |
|
||||
margin-left: 1.5rem; |
|
||||
padding-left: 1rem; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[dir=rtl] blockquote { |
|
||||
border-right: 2px solid #ccc; |
|
||||
margin-right: 1.5rem; |
|
||||
padding-right: 1rem; |
|
||||
} |
|
||||
@ -1,7 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
@media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table td,table th{border:1px solid #ccc;padding:.4rem}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} |
|
||||
@ -1,58 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
body { |
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; |
|
||||
line-height: 1.4; |
|
||||
margin: 1rem auto; |
|
||||
max-width: 900px; |
|
||||
} |
|
||||
|
|
||||
table { |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
|
|
||||
table th, |
|
||||
table td { |
|
||||
border: 1px solid #ccc; |
|
||||
padding: 0.4rem; |
|
||||
} |
|
||||
|
|
||||
figure { |
|
||||
display: table; |
|
||||
margin: 1rem auto; |
|
||||
} |
|
||||
|
|
||||
figure figcaption { |
|
||||
color: #999; |
|
||||
display: block; |
|
||||
margin-top: 0.25rem; |
|
||||
text-align: center; |
|
||||
} |
|
||||
|
|
||||
hr { |
|
||||
border-color: #ccc; |
|
||||
border-style: solid; |
|
||||
border-width: 1px 0 0 0; |
|
||||
} |
|
||||
|
|
||||
code { |
|
||||
background-color: #e8e8e8; |
|
||||
border-radius: 3px; |
|
||||
padding: 0.1rem 0.2rem; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body:not([dir=rtl]) blockquote { |
|
||||
border-left: 2px solid #ccc; |
|
||||
margin-left: 1.5rem; |
|
||||
padding-left: 1rem; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[dir=rtl] blockquote { |
|
||||
border-right: 2px solid #ccc; |
|
||||
margin-right: 1.5rem; |
|
||||
padding-right: 1rem; |
|
||||
} |
|
||||
@ -1,7 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table td,table th{border:1px solid #ccc;padding:.4rem}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} |
|
||||
@ -1,807 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
.mce-content-body .mce-item-anchor { |
|
||||
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; |
|
||||
cursor: default; |
|
||||
display: inline-block; |
|
||||
height: 12px !important; |
|
||||
padding: 0 2px; |
|
||||
-webkit-user-modify: read-only; |
|
||||
-moz-user-modify: read-only; |
|
||||
-webkit-user-select: all; |
|
||||
-moz-user-select: all; |
|
||||
-ms-user-select: all; |
|
||||
user-select: all; |
|
||||
width: 8px !important; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-item-anchor[data-mce-selected] { |
|
||||
outline-offset: 1px; |
|
||||
} |
|
||||
|
|
||||
.tox-comments-visible .tox-comment { |
|
||||
background-color: #fff0b7; |
|
||||
} |
|
||||
|
|
||||
.tox-comments-visible .tox-comment--active { |
|
||||
background-color: #ffe168; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist > li:not(.tox-checklist--hidden) { |
|
||||
list-style: none; |
|
||||
margin: 0.25em 0; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist > li:not(.tox-checklist--hidden)::before { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-size: 100%; |
|
||||
content: ''; |
|
||||
cursor: pointer; |
|
||||
height: 1em; |
|
||||
margin-left: -1.5em; |
|
||||
margin-top: 0.125em; |
|
||||
position: absolute; |
|
||||
width: 1em; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); |
|
||||
} |
|
||||
|
|
||||
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { |
|
||||
margin-left: 0; |
|
||||
margin-right: -1.5em; |
|
||||
} |
|
||||
|
|
||||
/* stylelint-disable */ |
|
||||
/* http://prismjs.com/ */ |
|
||||
/** |
|
||||
* Dracula Theme originally by Zeno Rocha [@zenorocha] |
|
||||
* https://draculatheme.com/ |
|
||||
* |
|
||||
* Ported for PrismJS by Albert Vallverdu [@byverdu] |
|
||||
*/ |
|
||||
code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
color: #f8f8f2; |
|
||||
background: none; |
|
||||
text-shadow: 0 1px rgba(0, 0, 0, 0.3); |
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; |
|
||||
text-align: left; |
|
||||
white-space: pre; |
|
||||
word-spacing: normal; |
|
||||
word-break: normal; |
|
||||
word-wrap: normal; |
|
||||
line-height: 1.5; |
|
||||
-moz-tab-size: 4; |
|
||||
tab-size: 4; |
|
||||
-webkit-hyphens: none; |
|
||||
-ms-hyphens: none; |
|
||||
hyphens: none; |
|
||||
} |
|
||||
|
|
||||
/* Code blocks */ |
|
||||
pre[class*="language-"] { |
|
||||
padding: 1em; |
|
||||
margin: 0.5em 0; |
|
||||
overflow: auto; |
|
||||
border-radius: 0.3em; |
|
||||
} |
|
||||
|
|
||||
:not(pre) > code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
background: #282a36; |
|
||||
} |
|
||||
|
|
||||
/* Inline code */ |
|
||||
:not(pre) > code[class*="language-"] { |
|
||||
padding: 0.1em; |
|
||||
border-radius: 0.3em; |
|
||||
white-space: normal; |
|
||||
} |
|
||||
|
|
||||
.token.comment, |
|
||||
.token.prolog, |
|
||||
.token.doctype, |
|
||||
.token.cdata { |
|
||||
color: #6272a4; |
|
||||
} |
|
||||
|
|
||||
.token.punctuation { |
|
||||
color: #f8f8f2; |
|
||||
} |
|
||||
|
|
||||
.namespace { |
|
||||
opacity: 0.7; |
|
||||
} |
|
||||
|
|
||||
.token.property, |
|
||||
.token.tag, |
|
||||
.token.constant, |
|
||||
.token.symbol, |
|
||||
.token.deleted { |
|
||||
color: #ff79c6; |
|
||||
} |
|
||||
|
|
||||
.token.boolean, |
|
||||
.token.number { |
|
||||
color: #bd93f9; |
|
||||
} |
|
||||
|
|
||||
.token.selector, |
|
||||
.token.attr-name, |
|
||||
.token.string, |
|
||||
.token.char, |
|
||||
.token.builtin, |
|
||||
.token.inserted { |
|
||||
color: #50fa7b; |
|
||||
} |
|
||||
|
|
||||
.token.operator, |
|
||||
.token.entity, |
|
||||
.token.url, |
|
||||
.language-css .token.string, |
|
||||
.style .token.string, |
|
||||
.token.variable { |
|
||||
color: #f8f8f2; |
|
||||
} |
|
||||
|
|
||||
.token.atrule, |
|
||||
.token.attr-value, |
|
||||
.token.function, |
|
||||
.token.class-name { |
|
||||
color: #f1fa8c; |
|
||||
} |
|
||||
|
|
||||
.token.keyword { |
|
||||
color: #8be9fd; |
|
||||
} |
|
||||
|
|
||||
.token.regex, |
|
||||
.token.important { |
|
||||
color: #ffb86c; |
|
||||
} |
|
||||
|
|
||||
.token.important, |
|
||||
.token.bold { |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.token.italic { |
|
||||
font-style: italic; |
|
||||
} |
|
||||
|
|
||||
.token.entity { |
|
||||
cursor: help; |
|
||||
} |
|
||||
|
|
||||
/* stylelint-enable */ |
|
||||
.mce-content-body { |
|
||||
overflow-wrap: break-word; |
|
||||
word-wrap: break-word; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-visual-caret { |
|
||||
background-color: black; |
|
||||
background-color: currentColor; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-visual-caret-hidden { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[data-mce-caret] { |
|
||||
left: -1000px; |
|
||||
margin: 0; |
|
||||
padding: 0; |
|
||||
position: absolute; |
|
||||
right: auto; |
|
||||
top: 0; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-offscreen-selection { |
|
||||
left: -2000000px; |
|
||||
max-width: 1000000px; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] { |
|
||||
cursor: default; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=true] { |
|
||||
cursor: text; |
|
||||
} |
|
||||
|
|
||||
.tox-cursor-format-painter { |
|
||||
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.align-left { |
|
||||
float: left; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.align-right { |
|
||||
float: right; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.image.align-center { |
|
||||
display: table; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object { |
|
||||
border: 1px solid gray; |
|
||||
display: inline-block; |
|
||||
line-height: 0; |
|
||||
margin: 0 2px 0 2px; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object .mce-shim { |
|
||||
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object[data-mce-selected="2"] .mce-shim { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.mce-object { |
|
||||
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; |
|
||||
border: 1px dashed #aaa; |
|
||||
} |
|
||||
|
|
||||
.mce-pagebreak { |
|
||||
border: 1px dashed #aaa; |
|
||||
cursor: default; |
|
||||
display: block; |
|
||||
height: 5px; |
|
||||
margin-top: 15px; |
|
||||
page-break-before: always; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
@media print { |
|
||||
.mce-pagebreak { |
|
||||
border: 0; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed .mce-shim { |
|
||||
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed[data-mce-selected="2"] .mce-shim { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed { |
|
||||
display: inline-block; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9, |
|
||||
.tiny-pageembed--16by9, |
|
||||
.tiny-pageembed--4by3, |
|
||||
.tiny-pageembed--1by1 { |
|
||||
display: block; |
|
||||
overflow: hidden; |
|
||||
padding: 0; |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9 { |
|
||||
padding-top: 42.857143%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--16by9 { |
|
||||
padding-top: 56.25%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--4by3 { |
|
||||
padding-top: 75%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--1by1 { |
|
||||
padding-top: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9 iframe, |
|
||||
.tiny-pageembed--16by9 iframe, |
|
||||
.tiny-pageembed--4by3 iframe, |
|
||||
.tiny-pageembed--1by1 iframe { |
|
||||
border: 0; |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[data-mce-placeholder] { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
color: rgba(34, 47, 62, 0.7); |
|
||||
content: attr(data-mce-placeholder); |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
left: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
right: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle { |
|
||||
background-color: #4099ff; |
|
||||
border-color: #4099ff; |
|
||||
border-style: solid; |
|
||||
border-width: 1px; |
|
||||
box-sizing: border-box; |
|
||||
height: 10px; |
|
||||
position: absolute; |
|
||||
width: 10px; |
|
||||
z-index: 10000; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:hover { |
|
||||
background-color: #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(1) { |
|
||||
cursor: nwse-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(2) { |
|
||||
cursor: nesw-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(3) { |
|
||||
cursor: nwse-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(4) { |
|
||||
cursor: nesw-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-clonedresizable { |
|
||||
opacity: 0.5; |
|
||||
outline: 1px dashed black; |
|
||||
position: absolute; |
|
||||
z-index: 10000; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-resize-helper { |
|
||||
background: #555; |
|
||||
background: rgba(0, 0, 0, 0.75); |
|
||||
border: 1px; |
|
||||
border-radius: 3px; |
|
||||
color: white; |
|
||||
display: none; |
|
||||
font-family: sans-serif; |
|
||||
font-size: 12px; |
|
||||
line-height: 14px; |
|
||||
margin: 5px 10px; |
|
||||
padding: 5px; |
|
||||
position: absolute; |
|
||||
white-space: nowrap; |
|
||||
z-index: 10001; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor { |
|
||||
bottom: 0; |
|
||||
cursor: default; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 2px; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor::before { |
|
||||
background-color: inherit; |
|
||||
border-radius: 50%; |
|
||||
content: ''; |
|
||||
display: block; |
|
||||
height: 8px; |
|
||||
position: absolute; |
|
||||
right: -3px; |
|
||||
top: -3px; |
|
||||
width: 8px; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor:hover::after { |
|
||||
background-color: inherit; |
|
||||
border-radius: 100px; |
|
||||
box-sizing: border-box; |
|
||||
color: #fff; |
|
||||
content: attr(data-user); |
|
||||
display: block; |
|
||||
font-size: 12px; |
|
||||
font-weight: bold; |
|
||||
left: -5px; |
|
||||
min-height: 8px; |
|
||||
min-width: 8px; |
|
||||
padding: 0 12px; |
|
||||
position: absolute; |
|
||||
top: -11px; |
|
||||
white-space: nowrap; |
|
||||
z-index: 1000; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--1 .tox-rtc-user-cursor { |
|
||||
background-color: #2dc26b; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--2 .tox-rtc-user-cursor { |
|
||||
background-color: #e03e2d; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--3 .tox-rtc-user-cursor { |
|
||||
background-color: #f1c40f; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--4 .tox-rtc-user-cursor { |
|
||||
background-color: #3598db; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--5 .tox-rtc-user-cursor { |
|
||||
background-color: #b96ad9; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--6 .tox-rtc-user-cursor { |
|
||||
background-color: #e67e23; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--7 .tox-rtc-user-cursor { |
|
||||
background-color: #aaa69d; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--8 .tox-rtc-user-cursor { |
|
||||
background-color: #f368e0; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-remote-image { |
|
||||
background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; |
|
||||
border: 1px solid #ccc; |
|
||||
min-height: 240px; |
|
||||
min-width: 320px; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker { |
|
||||
background: #aaa; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected::-moz-selection { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected::selection { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img[data-mce-selected], |
|
||||
.mce-content-body table[data-mce-selected] { |
|
||||
outline: 3px solid #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body hr[data-mce-selected] { |
|
||||
outline: 3px solid #4099ff; |
|
||||
outline-offset: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { |
|
||||
outline: 3px solid #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { |
|
||||
outline: 3px solid #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false][data-mce-selected] { |
|
||||
cursor: not-allowed; |
|
||||
outline: 3px solid #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, |
|
||||
.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { |
|
||||
outline: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[data-mce-selected="inline-boundary"] { |
|
||||
background-color: #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-edit-focus { |
|
||||
outline: 3px solid #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected], |
|
||||
.mce-content-body th[data-mce-selected] { |
|
||||
background-color: #b4d7ff !important; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected]::-moz-selection, |
|
||||
.mce-content-body th[data-mce-selected]::-moz-selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected]::selection, |
|
||||
.mce-content-body th[data-mce-selected]::selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected] *, |
|
||||
.mce-content-body th[data-mce-selected] * { |
|
||||
-webkit-touch-callout: none; |
|
||||
-webkit-user-select: none; |
|
||||
-moz-user-select: none; |
|
||||
-ms-user-select: none; |
|
||||
user-select: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img::-moz-selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img::selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-bar { |
|
||||
background-color: #4099ff; |
|
||||
opacity: 0; |
|
||||
-webkit-user-select: none; |
|
||||
-moz-user-select: none; |
|
||||
-ms-user-select: none; |
|
||||
user-select: none; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-cols { |
|
||||
cursor: col-resize; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-rows { |
|
||||
cursor: row-resize; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
|
|
||||
.mce-spellchecker-word { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-position: 0 calc(100% + 1px); |
|
||||
background-repeat: repeat-x; |
|
||||
background-size: auto 6px; |
|
||||
cursor: default; |
|
||||
height: 2rem; |
|
||||
} |
|
||||
|
|
||||
.mce-spellchecker-grammar { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-position: 0 calc(100% + 1px); |
|
||||
background-repeat: repeat-x; |
|
||||
background-size: auto 6px; |
|
||||
cursor: default; |
|
||||
} |
|
||||
|
|
||||
.mce-toc { |
|
||||
border: 1px solid gray; |
|
||||
} |
|
||||
|
|
||||
.mce-toc h2 { |
|
||||
margin: 4px; |
|
||||
} |
|
||||
|
|
||||
.mce-toc li { |
|
||||
list-style-type: none; |
|
||||
} |
|
||||
|
|
||||
.mce-item-table, |
|
||||
.mce-item-table td, |
|
||||
.mce-item-table th, |
|
||||
.mce-item-table caption { |
|
||||
border: 1px dashed #bbb; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks p, |
|
||||
.mce-visualblocks h1, |
|
||||
.mce-visualblocks h2, |
|
||||
.mce-visualblocks h3, |
|
||||
.mce-visualblocks h4, |
|
||||
.mce-visualblocks h5, |
|
||||
.mce-visualblocks h6, |
|
||||
.mce-visualblocks div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks section, |
|
||||
.mce-visualblocks article, |
|
||||
.mce-visualblocks blockquote, |
|
||||
.mce-visualblocks address, |
|
||||
.mce-visualblocks pre, |
|
||||
.mce-visualblocks figure, |
|
||||
.mce-visualblocks figcaption, |
|
||||
.mce-visualblocks hgroup, |
|
||||
.mce-visualblocks aside, |
|
||||
.mce-visualblocks ul, |
|
||||
.mce-visualblocks ol, |
|
||||
.mce-visualblocks dl { |
|
||||
background-repeat: no-repeat; |
|
||||
border: 1px dashed #bbb; |
|
||||
margin-left: 3px; |
|
||||
padding-top: 10px; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks p { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h1 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h2 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h3 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h4 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h5 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h6 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks div:not([data-mce-bogus]) { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks section { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks article { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks blockquote { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks address { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks pre { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks figure { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks figcaption { |
|
||||
border: 1px dashed #bbb; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks hgroup { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks aside { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks ul { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks ol { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks dl { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks:not([dir=rtl]) p, |
|
||||
.mce-visualblocks:not([dir=rtl]) h1, |
|
||||
.mce-visualblocks:not([dir=rtl]) h2, |
|
||||
.mce-visualblocks:not([dir=rtl]) h3, |
|
||||
.mce-visualblocks:not([dir=rtl]) h4, |
|
||||
.mce-visualblocks:not([dir=rtl]) h5, |
|
||||
.mce-visualblocks:not([dir=rtl]) h6, |
|
||||
.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks:not([dir=rtl]) section, |
|
||||
.mce-visualblocks:not([dir=rtl]) article, |
|
||||
.mce-visualblocks:not([dir=rtl]) blockquote, |
|
||||
.mce-visualblocks:not([dir=rtl]) address, |
|
||||
.mce-visualblocks:not([dir=rtl]) pre, |
|
||||
.mce-visualblocks:not([dir=rtl]) figure, |
|
||||
.mce-visualblocks:not([dir=rtl]) figcaption, |
|
||||
.mce-visualblocks:not([dir=rtl]) hgroup, |
|
||||
.mce-visualblocks:not([dir=rtl]) aside, |
|
||||
.mce-visualblocks:not([dir=rtl]) ul, |
|
||||
.mce-visualblocks:not([dir=rtl]) ol, |
|
||||
.mce-visualblocks:not([dir=rtl]) dl { |
|
||||
margin-left: 3px; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks[dir=rtl] p, |
|
||||
.mce-visualblocks[dir=rtl] h1, |
|
||||
.mce-visualblocks[dir=rtl] h2, |
|
||||
.mce-visualblocks[dir=rtl] h3, |
|
||||
.mce-visualblocks[dir=rtl] h4, |
|
||||
.mce-visualblocks[dir=rtl] h5, |
|
||||
.mce-visualblocks[dir=rtl] h6, |
|
||||
.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks[dir=rtl] section, |
|
||||
.mce-visualblocks[dir=rtl] article, |
|
||||
.mce-visualblocks[dir=rtl] blockquote, |
|
||||
.mce-visualblocks[dir=rtl] address, |
|
||||
.mce-visualblocks[dir=rtl] pre, |
|
||||
.mce-visualblocks[dir=rtl] figure, |
|
||||
.mce-visualblocks[dir=rtl] figcaption, |
|
||||
.mce-visualblocks[dir=rtl] hgroup, |
|
||||
.mce-visualblocks[dir=rtl] aside, |
|
||||
.mce-visualblocks[dir=rtl] ul, |
|
||||
.mce-visualblocks[dir=rtl] ol, |
|
||||
.mce-visualblocks[dir=rtl] dl { |
|
||||
background-position-x: right; |
|
||||
margin-right: 3px; |
|
||||
} |
|
||||
|
|
||||
.mce-nbsp, |
|
||||
.mce-shy { |
|
||||
background: #aaa; |
|
||||
} |
|
||||
|
|
||||
.mce-shy::after { |
|
||||
content: '-'; |
|
||||
} |
|
||||
|
|
||||
body { |
|
||||
font-family: sans-serif; |
|
||||
} |
|
||||
|
|
||||
table { |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
@ -1,819 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
.mce-content-body .mce-item-anchor { |
|
||||
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; |
|
||||
cursor: default; |
|
||||
display: inline-block; |
|
||||
height: 12px !important; |
|
||||
padding: 0 2px; |
|
||||
-webkit-user-modify: read-only; |
|
||||
-moz-user-modify: read-only; |
|
||||
-webkit-user-select: all; |
|
||||
-moz-user-select: all; |
|
||||
-ms-user-select: all; |
|
||||
user-select: all; |
|
||||
width: 8px !important; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-item-anchor[data-mce-selected] { |
|
||||
outline-offset: 1px; |
|
||||
} |
|
||||
|
|
||||
.tox-comments-visible .tox-comment { |
|
||||
background-color: #fff0b7; |
|
||||
} |
|
||||
|
|
||||
.tox-comments-visible .tox-comment--active { |
|
||||
background-color: #ffe168; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist > li:not(.tox-checklist--hidden) { |
|
||||
list-style: none; |
|
||||
margin: 0.25em 0; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist > li:not(.tox-checklist--hidden)::before { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-size: 100%; |
|
||||
content: ''; |
|
||||
cursor: pointer; |
|
||||
height: 1em; |
|
||||
margin-left: -1.5em; |
|
||||
margin-top: 0.125em; |
|
||||
position: absolute; |
|
||||
width: 1em; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); |
|
||||
} |
|
||||
|
|
||||
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { |
|
||||
margin-left: 0; |
|
||||
margin-right: -1.5em; |
|
||||
} |
|
||||
|
|
||||
/* stylelint-disable */ |
|
||||
/* http://prismjs.com/ */ |
|
||||
/** |
|
||||
* prism.js default theme for JavaScript, CSS and HTML |
|
||||
* Based on dabblet (http://dabblet.com) |
|
||||
* @author Lea Verou |
|
||||
*/ |
|
||||
code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
color: black; |
|
||||
background: none; |
|
||||
text-shadow: 0 1px white; |
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; |
|
||||
font-size: 1em; |
|
||||
text-align: left; |
|
||||
white-space: pre; |
|
||||
word-spacing: normal; |
|
||||
word-break: normal; |
|
||||
word-wrap: normal; |
|
||||
line-height: 1.5; |
|
||||
-moz-tab-size: 4; |
|
||||
tab-size: 4; |
|
||||
-webkit-hyphens: none; |
|
||||
-ms-hyphens: none; |
|
||||
hyphens: none; |
|
||||
} |
|
||||
|
|
||||
pre[class*="language-"]::-moz-selection, |
|
||||
pre[class*="language-"] ::-moz-selection, |
|
||||
code[class*="language-"]::-moz-selection, |
|
||||
code[class*="language-"] ::-moz-selection { |
|
||||
text-shadow: none; |
|
||||
background: #b3d4fc; |
|
||||
} |
|
||||
|
|
||||
pre[class*="language-"]::selection, |
|
||||
pre[class*="language-"] ::selection, |
|
||||
code[class*="language-"]::selection, |
|
||||
code[class*="language-"] ::selection { |
|
||||
text-shadow: none; |
|
||||
background: #b3d4fc; |
|
||||
} |
|
||||
|
|
||||
@media print { |
|
||||
code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
text-shadow: none; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* Code blocks */ |
|
||||
pre[class*="language-"] { |
|
||||
padding: 1em; |
|
||||
margin: 0.5em 0; |
|
||||
overflow: auto; |
|
||||
} |
|
||||
|
|
||||
:not(pre) > code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
background: #f5f2f0; |
|
||||
} |
|
||||
|
|
||||
/* Inline code */ |
|
||||
:not(pre) > code[class*="language-"] { |
|
||||
padding: 0.1em; |
|
||||
border-radius: 0.3em; |
|
||||
white-space: normal; |
|
||||
} |
|
||||
|
|
||||
.token.comment, |
|
||||
.token.prolog, |
|
||||
.token.doctype, |
|
||||
.token.cdata { |
|
||||
color: slategray; |
|
||||
} |
|
||||
|
|
||||
.token.punctuation { |
|
||||
color: #999; |
|
||||
} |
|
||||
|
|
||||
.namespace { |
|
||||
opacity: 0.7; |
|
||||
} |
|
||||
|
|
||||
.token.property, |
|
||||
.token.tag, |
|
||||
.token.boolean, |
|
||||
.token.number, |
|
||||
.token.constant, |
|
||||
.token.symbol, |
|
||||
.token.deleted { |
|
||||
color: #905; |
|
||||
} |
|
||||
|
|
||||
.token.selector, |
|
||||
.token.attr-name, |
|
||||
.token.string, |
|
||||
.token.char, |
|
||||
.token.builtin, |
|
||||
.token.inserted { |
|
||||
color: #690; |
|
||||
} |
|
||||
|
|
||||
.token.operator, |
|
||||
.token.entity, |
|
||||
.token.url, |
|
||||
.language-css .token.string, |
|
||||
.style .token.string { |
|
||||
color: #9a6e3a; |
|
||||
background: hsla(0, 0%, 100%, 0.5); |
|
||||
} |
|
||||
|
|
||||
.token.atrule, |
|
||||
.token.attr-value, |
|
||||
.token.keyword { |
|
||||
color: #07a; |
|
||||
} |
|
||||
|
|
||||
.token.function, |
|
||||
.token.class-name { |
|
||||
color: #DD4A68; |
|
||||
} |
|
||||
|
|
||||
.token.regex, |
|
||||
.token.important, |
|
||||
.token.variable { |
|
||||
color: #e90; |
|
||||
} |
|
||||
|
|
||||
.token.important, |
|
||||
.token.bold { |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.token.italic { |
|
||||
font-style: italic; |
|
||||
} |
|
||||
|
|
||||
.token.entity { |
|
||||
cursor: help; |
|
||||
} |
|
||||
|
|
||||
/* stylelint-enable */ |
|
||||
.mce-content-body { |
|
||||
overflow-wrap: break-word; |
|
||||
word-wrap: break-word; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-visual-caret { |
|
||||
background-color: black; |
|
||||
background-color: currentColor; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-visual-caret-hidden { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[data-mce-caret] { |
|
||||
left: -1000px; |
|
||||
margin: 0; |
|
||||
padding: 0; |
|
||||
position: absolute; |
|
||||
right: auto; |
|
||||
top: 0; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-offscreen-selection { |
|
||||
left: -2000000px; |
|
||||
max-width: 1000000px; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] { |
|
||||
cursor: default; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=true] { |
|
||||
cursor: text; |
|
||||
} |
|
||||
|
|
||||
.tox-cursor-format-painter { |
|
||||
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.align-left { |
|
||||
float: left; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.align-right { |
|
||||
float: right; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.image.align-center { |
|
||||
display: table; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object { |
|
||||
border: 1px solid gray; |
|
||||
display: inline-block; |
|
||||
line-height: 0; |
|
||||
margin: 0 2px 0 2px; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object .mce-shim { |
|
||||
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object[data-mce-selected="2"] .mce-shim { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.mce-object { |
|
||||
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; |
|
||||
border: 1px dashed #aaa; |
|
||||
} |
|
||||
|
|
||||
.mce-pagebreak { |
|
||||
border: 1px dashed #aaa; |
|
||||
cursor: default; |
|
||||
display: block; |
|
||||
height: 5px; |
|
||||
margin-top: 15px; |
|
||||
page-break-before: always; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
@media print { |
|
||||
.mce-pagebreak { |
|
||||
border: 0; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed .mce-shim { |
|
||||
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed[data-mce-selected="2"] .mce-shim { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed { |
|
||||
display: inline-block; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9, |
|
||||
.tiny-pageembed--16by9, |
|
||||
.tiny-pageembed--4by3, |
|
||||
.tiny-pageembed--1by1 { |
|
||||
display: block; |
|
||||
overflow: hidden; |
|
||||
padding: 0; |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9 { |
|
||||
padding-top: 42.857143%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--16by9 { |
|
||||
padding-top: 56.25%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--4by3 { |
|
||||
padding-top: 75%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--1by1 { |
|
||||
padding-top: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9 iframe, |
|
||||
.tiny-pageembed--16by9 iframe, |
|
||||
.tiny-pageembed--4by3 iframe, |
|
||||
.tiny-pageembed--1by1 iframe { |
|
||||
border: 0; |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[data-mce-placeholder] { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
color: rgba(34, 47, 62, 0.7); |
|
||||
content: attr(data-mce-placeholder); |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
left: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
right: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle { |
|
||||
background-color: #4099ff; |
|
||||
border-color: #4099ff; |
|
||||
border-style: solid; |
|
||||
border-width: 1px; |
|
||||
box-sizing: border-box; |
|
||||
height: 10px; |
|
||||
position: absolute; |
|
||||
width: 10px; |
|
||||
z-index: 10000; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:hover { |
|
||||
background-color: #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(1) { |
|
||||
cursor: nwse-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(2) { |
|
||||
cursor: nesw-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(3) { |
|
||||
cursor: nwse-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(4) { |
|
||||
cursor: nesw-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-clonedresizable { |
|
||||
opacity: 0.5; |
|
||||
outline: 1px dashed black; |
|
||||
position: absolute; |
|
||||
z-index: 10000; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-resize-helper { |
|
||||
background: #555; |
|
||||
background: rgba(0, 0, 0, 0.75); |
|
||||
border: 1px; |
|
||||
border-radius: 3px; |
|
||||
color: white; |
|
||||
display: none; |
|
||||
font-family: sans-serif; |
|
||||
font-size: 12px; |
|
||||
line-height: 14px; |
|
||||
margin: 5px 10px; |
|
||||
padding: 5px; |
|
||||
position: absolute; |
|
||||
white-space: nowrap; |
|
||||
z-index: 10001; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor { |
|
||||
bottom: 0; |
|
||||
cursor: default; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 2px; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor::before { |
|
||||
background-color: inherit; |
|
||||
border-radius: 50%; |
|
||||
content: ''; |
|
||||
display: block; |
|
||||
height: 8px; |
|
||||
position: absolute; |
|
||||
right: -3px; |
|
||||
top: -3px; |
|
||||
width: 8px; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor:hover::after { |
|
||||
background-color: inherit; |
|
||||
border-radius: 100px; |
|
||||
box-sizing: border-box; |
|
||||
color: #fff; |
|
||||
content: attr(data-user); |
|
||||
display: block; |
|
||||
font-size: 12px; |
|
||||
font-weight: bold; |
|
||||
left: -5px; |
|
||||
min-height: 8px; |
|
||||
min-width: 8px; |
|
||||
padding: 0 12px; |
|
||||
position: absolute; |
|
||||
top: -11px; |
|
||||
white-space: nowrap; |
|
||||
z-index: 1000; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--1 .tox-rtc-user-cursor { |
|
||||
background-color: #2dc26b; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--2 .tox-rtc-user-cursor { |
|
||||
background-color: #e03e2d; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--3 .tox-rtc-user-cursor { |
|
||||
background-color: #f1c40f; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--4 .tox-rtc-user-cursor { |
|
||||
background-color: #3598db; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--5 .tox-rtc-user-cursor { |
|
||||
background-color: #b96ad9; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--6 .tox-rtc-user-cursor { |
|
||||
background-color: #e67e23; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--7 .tox-rtc-user-cursor { |
|
||||
background-color: #aaa69d; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--8 .tox-rtc-user-cursor { |
|
||||
background-color: #f368e0; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-remote-image { |
|
||||
background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; |
|
||||
border: 1px solid #ccc; |
|
||||
min-height: 240px; |
|
||||
min-width: 320px; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker { |
|
||||
background: #aaa; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected::-moz-selection { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected::selection { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img[data-mce-selected], |
|
||||
.mce-content-body table[data-mce-selected] { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body hr[data-mce-selected] { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
outline-offset: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false][data-mce-selected] { |
|
||||
cursor: not-allowed; |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, |
|
||||
.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { |
|
||||
outline: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[data-mce-selected="inline-boundary"] { |
|
||||
background-color: #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-edit-focus { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected], |
|
||||
.mce-content-body th[data-mce-selected] { |
|
||||
background-color: #b4d7ff !important; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected]::-moz-selection, |
|
||||
.mce-content-body th[data-mce-selected]::-moz-selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected]::selection, |
|
||||
.mce-content-body th[data-mce-selected]::selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected] *, |
|
||||
.mce-content-body th[data-mce-selected] * { |
|
||||
-webkit-touch-callout: none; |
|
||||
-webkit-user-select: none; |
|
||||
-moz-user-select: none; |
|
||||
-ms-user-select: none; |
|
||||
user-select: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img::-moz-selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img::selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-bar { |
|
||||
background-color: #b4d7ff; |
|
||||
opacity: 0; |
|
||||
-webkit-user-select: none; |
|
||||
-moz-user-select: none; |
|
||||
-ms-user-select: none; |
|
||||
user-select: none; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-cols { |
|
||||
cursor: col-resize; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-rows { |
|
||||
cursor: row-resize; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
|
|
||||
.mce-spellchecker-word { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-position: 0 calc(100% + 1px); |
|
||||
background-repeat: repeat-x; |
|
||||
background-size: auto 6px; |
|
||||
cursor: default; |
|
||||
height: 2rem; |
|
||||
} |
|
||||
|
|
||||
.mce-spellchecker-grammar { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-position: 0 calc(100% + 1px); |
|
||||
background-repeat: repeat-x; |
|
||||
background-size: auto 6px; |
|
||||
cursor: default; |
|
||||
} |
|
||||
|
|
||||
.mce-toc { |
|
||||
border: 1px solid gray; |
|
||||
} |
|
||||
|
|
||||
.mce-toc h2 { |
|
||||
margin: 4px; |
|
||||
} |
|
||||
|
|
||||
.mce-toc li { |
|
||||
list-style-type: none; |
|
||||
} |
|
||||
|
|
||||
.mce-item-table, |
|
||||
.mce-item-table td, |
|
||||
.mce-item-table th, |
|
||||
.mce-item-table caption { |
|
||||
border: 1px dashed #bbb; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks p, |
|
||||
.mce-visualblocks h1, |
|
||||
.mce-visualblocks h2, |
|
||||
.mce-visualblocks h3, |
|
||||
.mce-visualblocks h4, |
|
||||
.mce-visualblocks h5, |
|
||||
.mce-visualblocks h6, |
|
||||
.mce-visualblocks div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks section, |
|
||||
.mce-visualblocks article, |
|
||||
.mce-visualblocks blockquote, |
|
||||
.mce-visualblocks address, |
|
||||
.mce-visualblocks pre, |
|
||||
.mce-visualblocks figure, |
|
||||
.mce-visualblocks figcaption, |
|
||||
.mce-visualblocks hgroup, |
|
||||
.mce-visualblocks aside, |
|
||||
.mce-visualblocks ul, |
|
||||
.mce-visualblocks ol, |
|
||||
.mce-visualblocks dl { |
|
||||
background-repeat: no-repeat; |
|
||||
border: 1px dashed #bbb; |
|
||||
margin-left: 3px; |
|
||||
padding-top: 10px; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks p { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h1 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h2 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h3 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h4 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h5 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h6 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks div:not([data-mce-bogus]) { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks section { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks article { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks blockquote { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks address { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks pre { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks figure { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks figcaption { |
|
||||
border: 1px dashed #bbb; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks hgroup { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks aside { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks ul { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks ol { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks dl { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks:not([dir=rtl]) p, |
|
||||
.mce-visualblocks:not([dir=rtl]) h1, |
|
||||
.mce-visualblocks:not([dir=rtl]) h2, |
|
||||
.mce-visualblocks:not([dir=rtl]) h3, |
|
||||
.mce-visualblocks:not([dir=rtl]) h4, |
|
||||
.mce-visualblocks:not([dir=rtl]) h5, |
|
||||
.mce-visualblocks:not([dir=rtl]) h6, |
|
||||
.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks:not([dir=rtl]) section, |
|
||||
.mce-visualblocks:not([dir=rtl]) article, |
|
||||
.mce-visualblocks:not([dir=rtl]) blockquote, |
|
||||
.mce-visualblocks:not([dir=rtl]) address, |
|
||||
.mce-visualblocks:not([dir=rtl]) pre, |
|
||||
.mce-visualblocks:not([dir=rtl]) figure, |
|
||||
.mce-visualblocks:not([dir=rtl]) figcaption, |
|
||||
.mce-visualblocks:not([dir=rtl]) hgroup, |
|
||||
.mce-visualblocks:not([dir=rtl]) aside, |
|
||||
.mce-visualblocks:not([dir=rtl]) ul, |
|
||||
.mce-visualblocks:not([dir=rtl]) ol, |
|
||||
.mce-visualblocks:not([dir=rtl]) dl { |
|
||||
margin-left: 3px; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks[dir=rtl] p, |
|
||||
.mce-visualblocks[dir=rtl] h1, |
|
||||
.mce-visualblocks[dir=rtl] h2, |
|
||||
.mce-visualblocks[dir=rtl] h3, |
|
||||
.mce-visualblocks[dir=rtl] h4, |
|
||||
.mce-visualblocks[dir=rtl] h5, |
|
||||
.mce-visualblocks[dir=rtl] h6, |
|
||||
.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks[dir=rtl] section, |
|
||||
.mce-visualblocks[dir=rtl] article, |
|
||||
.mce-visualblocks[dir=rtl] blockquote, |
|
||||
.mce-visualblocks[dir=rtl] address, |
|
||||
.mce-visualblocks[dir=rtl] pre, |
|
||||
.mce-visualblocks[dir=rtl] figure, |
|
||||
.mce-visualblocks[dir=rtl] figcaption, |
|
||||
.mce-visualblocks[dir=rtl] hgroup, |
|
||||
.mce-visualblocks[dir=rtl] aside, |
|
||||
.mce-visualblocks[dir=rtl] ul, |
|
||||
.mce-visualblocks[dir=rtl] ol, |
|
||||
.mce-visualblocks[dir=rtl] dl { |
|
||||
background-position-x: right; |
|
||||
margin-right: 3px; |
|
||||
} |
|
||||
|
|
||||
.mce-nbsp, |
|
||||
.mce-shy { |
|
||||
background: #aaa; |
|
||||
} |
|
||||
|
|
||||
.mce-shy::after { |
|
||||
content: '-'; |
|
||||
} |
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,34 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection { |
|
||||
/* Note: this file is used inside the content, so isn't part of theming */ |
|
||||
background-color: green; |
|
||||
display: inline-block; |
|
||||
opacity: 0.5; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
body { |
|
||||
-webkit-text-size-adjust: none; |
|
||||
} |
|
||||
|
|
||||
body img { |
|
||||
/* this is related to the content margin */ |
|
||||
max-width: 96vw; |
|
||||
} |
|
||||
|
|
||||
body table img { |
|
||||
max-width: 95%; |
|
||||
} |
|
||||
|
|
||||
body { |
|
||||
font-family: sans-serif; |
|
||||
} |
|
||||
|
|
||||
table { |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
@ -1,7 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} |
|
||||
Binary file not shown.
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
@ -1,798 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
/* RESET all the things! */ |
|
||||
.tinymce-mobile-outer-container { |
|
||||
all: initial; |
|
||||
display: block; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container * { |
|
||||
border: 0; |
|
||||
box-sizing: initial; |
|
||||
cursor: inherit; |
|
||||
float: none; |
|
||||
line-height: 1; |
|
||||
margin: 0; |
|
||||
outline: 0; |
|
||||
padding: 0; |
|
||||
-webkit-tap-highlight-color: transparent; |
|
||||
/* TBIO-3691, stop the gray flicker on touch. */ |
|
||||
text-shadow: none; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-arrow-back::before { |
|
||||
content: "\e5cd"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-image::before { |
|
||||
content: "\e412"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-cancel-circle::before { |
|
||||
content: "\e5c9"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-full-dot::before { |
|
||||
content: "\e061"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-align-center::before { |
|
||||
content: "\e234"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-align-left::before { |
|
||||
content: "\e236"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-align-right::before { |
|
||||
content: "\e237"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-bold::before { |
|
||||
content: "\e238"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-italic::before { |
|
||||
content: "\e23f"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-unordered-list::before { |
|
||||
content: "\e241"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-ordered-list::before { |
|
||||
content: "\e242"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-font-size::before { |
|
||||
content: "\e245"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-underline::before { |
|
||||
content: "\e249"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-link::before { |
|
||||
content: "\e157"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-unlink::before { |
|
||||
content: "\eca2"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-color::before { |
|
||||
content: "\e891"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-previous::before { |
|
||||
content: "\e314"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-next::before { |
|
||||
content: "\e315"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-large-font::before, |
|
||||
.tinymce-mobile-icon-style-formats::before { |
|
||||
content: "\e264"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-undo::before { |
|
||||
content: "\e166"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-redo::before { |
|
||||
content: "\e15a"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-removeformat::before { |
|
||||
content: "\e239"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-small-font::before { |
|
||||
content: "\e906"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-readonly-back::before, |
|
||||
.tinymce-mobile-format-matches::after { |
|
||||
content: "\e5ca"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-small-heading::before { |
|
||||
content: "small"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-large-heading::before { |
|
||||
content: "large"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-small-heading::before, |
|
||||
.tinymce-mobile-icon-large-heading::before { |
|
||||
font-family: sans-serif; |
|
||||
font-size: 80%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-mask-edit-icon::before { |
|
||||
content: "\e254"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-back::before { |
|
||||
content: "\e5c4"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-heading::before { |
|
||||
/* TODO: Translate */ |
|
||||
content: "Headings"; |
|
||||
font-family: sans-serif; |
|
||||
font-size: 80%; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-h1::before { |
|
||||
content: "H1"; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-h2::before { |
|
||||
content: "H2"; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-h3::before { |
|
||||
content: "H3"; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
background: rgba(51, 51, 51, 0.5); |
|
||||
height: 100%; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container { |
|
||||
align-items: center; |
|
||||
border-radius: 50%; |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
font-family: sans-serif; |
|
||||
font-size: 1em; |
|
||||
justify-content: space-between; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
border-radius: 50%; |
|
||||
height: 2.1em; |
|
||||
width: 2.1em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
flex-direction: column; |
|
||||
font-size: 1em; |
|
||||
} |
|
||||
|
|
||||
@media only screen and (min-device-width: 700px) { |
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { |
|
||||
font-size: 1.2em; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
border-radius: 50%; |
|
||||
height: 2.1em; |
|
||||
width: 2.1em; |
|
||||
background-color: white; |
|
||||
color: #207ab7; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before { |
|
||||
content: "\e900"; |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon { |
|
||||
z-index: 2; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-container.tinymce-mobile-android-maximized { |
|
||||
background: #ffffff; |
|
||||
border: none; |
|
||||
bottom: 0; |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
left: 0; |
|
||||
position: fixed; |
|
||||
right: 0; |
|
||||
top: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-container .tinymce-mobile-editor-socket { |
|
||||
display: flex; |
|
||||
flex-grow: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe { |
|
||||
display: flex !important; |
|
||||
flex-grow: 1; |
|
||||
height: auto !important; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-scroll-reload { |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
|
|
||||
:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar { |
|
||||
margin-top: 23px; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip { |
|
||||
background: #fff; |
|
||||
display: flex; |
|
||||
flex: 0 0 auto; |
|
||||
z-index: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar { |
|
||||
align-items: center; |
|
||||
background-color: #fff; |
|
||||
border-bottom: 1px solid #cccccc; |
|
||||
display: flex; |
|
||||
flex: 1; |
|
||||
height: 2.5em; |
|
||||
width: 100%; |
|
||||
/* Make it no larger than the toolstrip, so that it needs to scroll */ |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
flex-shrink: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container { |
|
||||
background: #f44336; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group { |
|
||||
flex-grow: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { |
|
||||
padding-left: 0.5em; |
|
||||
padding-right: 0.5em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 80%; |
|
||||
margin-left: 2px; |
|
||||
margin-right: 2px; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected { |
|
||||
background: #c8cbcf; |
|
||||
color: #cccccc; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type { |
|
||||
background: #207ab7; |
|
||||
color: #eceff1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar { |
|
||||
/* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */ |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
flex: 1; |
|
||||
padding-bottom: 0.4em; |
|
||||
padding-top: 0.4em; |
|
||||
/* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */ |
|
||||
/* For widgets like the colour picker, use the whole height */ |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog { |
|
||||
display: flex; |
|
||||
min-height: 1.5em; |
|
||||
overflow: hidden; |
|
||||
padding-left: 0; |
|
||||
padding-right: 0; |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain { |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen { |
|
||||
display: flex; |
|
||||
flex: 0 0 auto; |
|
||||
justify-content: space-between; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input { |
|
||||
font-family: Sans-serif; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container { |
|
||||
display: flex; |
|
||||
flex-grow: 1; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x { |
|
||||
-ms-grid-row-align: center; |
|
||||
align-self: center; |
|
||||
background: inherit; |
|
||||
border: none; |
|
||||
border-radius: 50%; |
|
||||
color: #888; |
|
||||
font-size: 0.6em; |
|
||||
font-weight: bold; |
|
||||
height: 100%; |
|
||||
padding-right: 2px; |
|
||||
position: absolute; |
|
||||
right: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
font-weight: bold; |
|
||||
height: 100%; |
|
||||
padding-left: 0.5em; |
|
||||
padding-right: 0.5em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before { |
|
||||
visibility: hidden; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item { |
|
||||
color: #cccccc; |
|
||||
font-size: 10px; |
|
||||
line-height: 10px; |
|
||||
margin: 0 2px; |
|
||||
padding-top: 3px; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active { |
|
||||
color: #c8cbcf; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before { |
|
||||
margin-left: 0.5em; |
|
||||
margin-right: 0.9em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before { |
|
||||
margin-left: 0.9em; |
|
||||
margin-right: 0.5em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider { |
|
||||
display: flex; |
|
||||
flex: 1; |
|
||||
margin-left: 0; |
|
||||
margin-right: 0; |
|
||||
padding: 0.28em 0; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
flex-grow: 1; |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line { |
|
||||
background: #cccccc; |
|
||||
display: flex; |
|
||||
flex: 1; |
|
||||
height: 0.2em; |
|
||||
margin-bottom: 0.3em; |
|
||||
margin-top: 0.3em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container { |
|
||||
padding-left: 2em; |
|
||||
padding-right: 2em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
flex-grow: 1; |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient { |
|
||||
background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%); |
|
||||
display: flex; |
|
||||
flex: 1; |
|
||||
height: 0.2em; |
|
||||
margin-bottom: 0.3em; |
|
||||
margin-top: 0.3em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black { |
|
||||
/* Not part of theming */ |
|
||||
background: black; |
|
||||
height: 0.2em; |
|
||||
margin-bottom: 0.3em; |
|
||||
margin-top: 0.3em; |
|
||||
width: 1.2em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white { |
|
||||
/* Not part of theming */ |
|
||||
background: white; |
|
||||
height: 0.2em; |
|
||||
margin-bottom: 0.3em; |
|
||||
margin-top: 0.3em; |
|
||||
width: 1.2em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb { |
|
||||
/* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave |
|
||||
* out these values, then it shows the thumb at the top of the spectrum. This is probably because it is |
|
||||
* absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without |
|
||||
* this approach. |
|
||||
*/ |
|
||||
align-items: center; |
|
||||
background-clip: padding-box; |
|
||||
background-color: #455a64; |
|
||||
border: 0.5em solid rgba(136, 136, 136, 0); |
|
||||
border-radius: 3em; |
|
||||
bottom: 0; |
|
||||
color: #fff; |
|
||||
display: flex; |
|
||||
height: 0.5em; |
|
||||
justify-content: center; |
|
||||
left: -10px; |
|
||||
margin: auto; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1); |
|
||||
width: 0.5em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active { |
|
||||
border: 0.5em solid rgba(136, 136, 136, 0.39); |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper { |
|
||||
flex-direction: column; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) { |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container { |
|
||||
display: flex; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input { |
|
||||
background: #ffffff; |
|
||||
border: none; |
|
||||
border-radius: 0; |
|
||||
color: #455a64; |
|
||||
flex-grow: 1; |
|
||||
font-size: 0.85em; |
|
||||
padding-bottom: 0.1em; |
|
||||
padding-left: 5px; |
|
||||
padding-top: 0.1em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder { |
|
||||
/* WebKit, Blink, Edge */ |
|
||||
color: #888; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder { |
|
||||
/* WebKit, Blink, Edge */ |
|
||||
color: #888; |
|
||||
} |
|
||||
|
|
||||
/* dropup */ |
|
||||
.tinymce-mobile-dropup { |
|
||||
background: white; |
|
||||
display: flex; |
|
||||
overflow: hidden; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking { |
|
||||
transition: height 0.3s ease-out; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-dropup.tinymce-mobile-dropup-growing { |
|
||||
transition: height 0.3s ease-in; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-dropup.tinymce-mobile-dropup-closed { |
|
||||
flex-grow: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) { |
|
||||
flex-grow: 1; |
|
||||
} |
|
||||
|
|
||||
/* TODO min-height for device size and orientation */ |
|
||||
.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { |
|
||||
min-height: 200px; |
|
||||
} |
|
||||
|
|
||||
@media only screen and (orientation: landscape) { |
|
||||
.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { |
|
||||
min-height: 200px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
@media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (orientation: landscape) { |
|
||||
.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { |
|
||||
min-height: 150px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* styles menu */ |
|
||||
.tinymce-mobile-styles-menu { |
|
||||
font-family: sans-serif; |
|
||||
outline: 4px solid black; |
|
||||
overflow: hidden; |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [role="menu"] { |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
height: 100%; |
|
||||
position: absolute; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [role="menu"].transitioning { |
|
||||
transition: transform 0.5s ease-in-out; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item { |
|
||||
border-bottom: 1px solid #ddd; |
|
||||
color: #455a64; |
|
||||
cursor: pointer; |
|
||||
display: flex; |
|
||||
padding: 1em 1em; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before { |
|
||||
color: #455a64; |
|
||||
content: "\e314"; |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after { |
|
||||
color: #455a64; |
|
||||
content: "\e315"; |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
padding-left: 1em; |
|
||||
padding-right: 1em; |
|
||||
position: absolute; |
|
||||
right: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after { |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
padding-left: 1em; |
|
||||
padding-right: 1em; |
|
||||
position: absolute; |
|
||||
right: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator, |
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser { |
|
||||
align-items: center; |
|
||||
background: #fff; |
|
||||
border-top: #455a64; |
|
||||
color: #455a64; |
|
||||
display: flex; |
|
||||
min-height: 2.5em; |
|
||||
padding-left: 1em; |
|
||||
padding-right: 1em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state], |
|
||||
.tinymce-mobile-styles-menu [data-transitioning-state="before"] { |
|
||||
transform: translate(-100%); |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state], |
|
||||
.tinymce-mobile-styles-menu [data-transitioning-state="current"] { |
|
||||
transform: translate(0%); |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state], |
|
||||
.tinymce-mobile-styles-menu [data-transitioning-state="after"] { |
|
||||
transform: translate(100%); |
|
||||
} |
|
||||
|
|
||||
@font-face { |
|
||||
font-family: 'tinymce-mobile'; |
|
||||
font-style: normal; |
|
||||
font-weight: normal; |
|
||||
src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff'); |
|
||||
} |
|
||||
|
|
||||
@media (min-device-width: 700px) { |
|
||||
.tinymce-mobile-outer-container, |
|
||||
.tinymce-mobile-outer-container input { |
|
||||
font-size: 25px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
@media (max-device-width: 700px) { |
|
||||
.tinymce-mobile-outer-container, |
|
||||
.tinymce-mobile-outer-container input { |
|
||||
font-size: 18px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon { |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
} |
|
||||
|
|
||||
.mixin-flex-and-centre { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
|
|
||||
.mixin-flex-bar { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe { |
|
||||
background-color: #fff; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { |
|
||||
/* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */ |
|
||||
background-color: #207ab7; |
|
||||
border-radius: 50%; |
|
||||
bottom: 1em; |
|
||||
color: white; |
|
||||
font-size: 1em; |
|
||||
height: 2.1em; |
|
||||
position: fixed; |
|
||||
right: 2em; |
|
||||
width: 2.1em; |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
|
|
||||
@media only screen and (min-device-width: 700px) { |
|
||||
.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { |
|
||||
font-size: 1.2em; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket { |
|
||||
height: 300px; |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe { |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
/* |
|
||||
Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets |
|
||||
increased and the whole body becomes scrollable. It's important! |
|
||||
*/ |
|
||||
input[type="file"]::-webkit-file-upload-button { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
@media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (orientation: landscape) { |
|
||||
.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { |
|
||||
bottom: 50%; |
|
||||
} |
|
||||
} |
|
||||
File diff suppressed because one or more lines are too long
@ -1,827 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
.mce-content-body .mce-item-anchor { |
|
||||
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; |
|
||||
cursor: default; |
|
||||
display: inline-block; |
|
||||
height: 12px !important; |
|
||||
padding: 0 2px; |
|
||||
-webkit-user-modify: read-only; |
|
||||
-moz-user-modify: read-only; |
|
||||
-webkit-user-select: all; |
|
||||
-moz-user-select: all; |
|
||||
-ms-user-select: all; |
|
||||
user-select: all; |
|
||||
width: 8px !important; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-item-anchor[data-mce-selected] { |
|
||||
outline-offset: 1px; |
|
||||
} |
|
||||
|
|
||||
.tox-comments-visible .tox-comment { |
|
||||
background-color: #fff0b7; |
|
||||
} |
|
||||
|
|
||||
.tox-comments-visible .tox-comment--active { |
|
||||
background-color: #ffe168; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist > li:not(.tox-checklist--hidden) { |
|
||||
list-style: none; |
|
||||
margin: 0.25em 0; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist > li:not(.tox-checklist--hidden)::before { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-size: 100%; |
|
||||
content: ''; |
|
||||
cursor: pointer; |
|
||||
height: 1em; |
|
||||
margin-left: -1.5em; |
|
||||
margin-top: 0.125em; |
|
||||
position: absolute; |
|
||||
width: 1em; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); |
|
||||
} |
|
||||
|
|
||||
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { |
|
||||
margin-left: 0; |
|
||||
margin-right: -1.5em; |
|
||||
} |
|
||||
|
|
||||
/* stylelint-disable */ |
|
||||
/* http://prismjs.com/ */ |
|
||||
/** |
|
||||
* prism.js default theme for JavaScript, CSS and HTML |
|
||||
* Based on dabblet (http://dabblet.com) |
|
||||
* @author Lea Verou |
|
||||
*/ |
|
||||
code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
color: black; |
|
||||
background: none; |
|
||||
text-shadow: 0 1px white; |
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; |
|
||||
font-size: 1em; |
|
||||
text-align: left; |
|
||||
white-space: pre; |
|
||||
word-spacing: normal; |
|
||||
word-break: normal; |
|
||||
word-wrap: normal; |
|
||||
line-height: 1.5; |
|
||||
-moz-tab-size: 4; |
|
||||
tab-size: 4; |
|
||||
-webkit-hyphens: none; |
|
||||
-ms-hyphens: none; |
|
||||
hyphens: none; |
|
||||
} |
|
||||
|
|
||||
pre[class*="language-"]::-moz-selection, |
|
||||
pre[class*="language-"] ::-moz-selection, |
|
||||
code[class*="language-"]::-moz-selection, |
|
||||
code[class*="language-"] ::-moz-selection { |
|
||||
text-shadow: none; |
|
||||
background: #b3d4fc; |
|
||||
} |
|
||||
|
|
||||
pre[class*="language-"]::selection, |
|
||||
pre[class*="language-"] ::selection, |
|
||||
code[class*="language-"]::selection, |
|
||||
code[class*="language-"] ::selection { |
|
||||
text-shadow: none; |
|
||||
background: #b3d4fc; |
|
||||
} |
|
||||
|
|
||||
@media print { |
|
||||
code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
text-shadow: none; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* Code blocks */ |
|
||||
pre[class*="language-"] { |
|
||||
padding: 1em; |
|
||||
margin: 0.5em 0; |
|
||||
overflow: auto; |
|
||||
} |
|
||||
|
|
||||
:not(pre) > code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
background: #f5f2f0; |
|
||||
} |
|
||||
|
|
||||
/* Inline code */ |
|
||||
:not(pre) > code[class*="language-"] { |
|
||||
padding: 0.1em; |
|
||||
border-radius: 0.3em; |
|
||||
white-space: normal; |
|
||||
} |
|
||||
|
|
||||
.token.comment, |
|
||||
.token.prolog, |
|
||||
.token.doctype, |
|
||||
.token.cdata { |
|
||||
color: slategray; |
|
||||
} |
|
||||
|
|
||||
.token.punctuation { |
|
||||
color: #999; |
|
||||
} |
|
||||
|
|
||||
.namespace { |
|
||||
opacity: 0.7; |
|
||||
} |
|
||||
|
|
||||
.token.property, |
|
||||
.token.tag, |
|
||||
.token.boolean, |
|
||||
.token.number, |
|
||||
.token.constant, |
|
||||
.token.symbol, |
|
||||
.token.deleted { |
|
||||
color: #905; |
|
||||
} |
|
||||
|
|
||||
.token.selector, |
|
||||
.token.attr-name, |
|
||||
.token.string, |
|
||||
.token.char, |
|
||||
.token.builtin, |
|
||||
.token.inserted { |
|
||||
color: #690; |
|
||||
} |
|
||||
|
|
||||
.token.operator, |
|
||||
.token.entity, |
|
||||
.token.url, |
|
||||
.language-css .token.string, |
|
||||
.style .token.string { |
|
||||
color: #9a6e3a; |
|
||||
background: hsla(0, 0%, 100%, 0.5); |
|
||||
} |
|
||||
|
|
||||
.token.atrule, |
|
||||
.token.attr-value, |
|
||||
.token.keyword { |
|
||||
color: #07a; |
|
||||
} |
|
||||
|
|
||||
.token.function, |
|
||||
.token.class-name { |
|
||||
color: #DD4A68; |
|
||||
} |
|
||||
|
|
||||
.token.regex, |
|
||||
.token.important, |
|
||||
.token.variable { |
|
||||
color: #e90; |
|
||||
} |
|
||||
|
|
||||
.token.important, |
|
||||
.token.bold { |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.token.italic { |
|
||||
font-style: italic; |
|
||||
} |
|
||||
|
|
||||
.token.entity { |
|
||||
cursor: help; |
|
||||
} |
|
||||
|
|
||||
/* stylelint-enable */ |
|
||||
.mce-content-body { |
|
||||
overflow-wrap: break-word; |
|
||||
word-wrap: break-word; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-visual-caret { |
|
||||
background-color: black; |
|
||||
background-color: currentColor; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-visual-caret-hidden { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[data-mce-caret] { |
|
||||
left: -1000px; |
|
||||
margin: 0; |
|
||||
padding: 0; |
|
||||
position: absolute; |
|
||||
right: auto; |
|
||||
top: 0; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-offscreen-selection { |
|
||||
left: -2000000px; |
|
||||
max-width: 1000000px; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] { |
|
||||
cursor: default; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=true] { |
|
||||
cursor: text; |
|
||||
} |
|
||||
|
|
||||
.tox-cursor-format-painter { |
|
||||
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.align-left { |
|
||||
float: left; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.align-right { |
|
||||
float: right; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.image.align-center { |
|
||||
display: table; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object { |
|
||||
border: 1px solid gray; |
|
||||
display: inline-block; |
|
||||
line-height: 0; |
|
||||
margin: 0 2px 0 2px; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object .mce-shim { |
|
||||
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object[data-mce-selected="2"] .mce-shim { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.mce-object { |
|
||||
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; |
|
||||
border: 1px dashed #aaa; |
|
||||
} |
|
||||
|
|
||||
.mce-pagebreak { |
|
||||
border: 1px dashed #aaa; |
|
||||
cursor: default; |
|
||||
display: block; |
|
||||
height: 5px; |
|
||||
margin-top: 15px; |
|
||||
page-break-before: always; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
@media print { |
|
||||
.mce-pagebreak { |
|
||||
border: 0; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed .mce-shim { |
|
||||
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed[data-mce-selected="2"] .mce-shim { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed { |
|
||||
display: inline-block; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9, |
|
||||
.tiny-pageembed--16by9, |
|
||||
.tiny-pageembed--4by3, |
|
||||
.tiny-pageembed--1by1 { |
|
||||
display: block; |
|
||||
overflow: hidden; |
|
||||
padding: 0; |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9 { |
|
||||
padding-top: 42.857143%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--16by9 { |
|
||||
padding-top: 56.25%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--4by3 { |
|
||||
padding-top: 75%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--1by1 { |
|
||||
padding-top: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9 iframe, |
|
||||
.tiny-pageembed--16by9 iframe, |
|
||||
.tiny-pageembed--4by3 iframe, |
|
||||
.tiny-pageembed--1by1 iframe { |
|
||||
border: 0; |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[data-mce-placeholder] { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
color: rgba(34, 47, 62, 0.7); |
|
||||
content: attr(data-mce-placeholder); |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
left: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
right: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle { |
|
||||
background-color: #4099ff; |
|
||||
border-color: #4099ff; |
|
||||
border-style: solid; |
|
||||
border-width: 1px; |
|
||||
box-sizing: border-box; |
|
||||
height: 10px; |
|
||||
position: absolute; |
|
||||
width: 10px; |
|
||||
z-index: 10000; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:hover { |
|
||||
background-color: #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(1) { |
|
||||
cursor: nwse-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(2) { |
|
||||
cursor: nesw-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(3) { |
|
||||
cursor: nwse-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(4) { |
|
||||
cursor: nesw-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-clonedresizable { |
|
||||
opacity: 0.5; |
|
||||
outline: 1px dashed black; |
|
||||
position: absolute; |
|
||||
z-index: 10000; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-resize-helper { |
|
||||
background: #555; |
|
||||
background: rgba(0, 0, 0, 0.75); |
|
||||
border: 1px; |
|
||||
border-radius: 3px; |
|
||||
color: white; |
|
||||
display: none; |
|
||||
font-family: sans-serif; |
|
||||
font-size: 12px; |
|
||||
line-height: 14px; |
|
||||
margin: 5px 10px; |
|
||||
padding: 5px; |
|
||||
position: absolute; |
|
||||
white-space: nowrap; |
|
||||
z-index: 10001; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor { |
|
||||
bottom: 0; |
|
||||
cursor: default; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 2px; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor::before { |
|
||||
background-color: inherit; |
|
||||
border-radius: 50%; |
|
||||
content: ''; |
|
||||
display: block; |
|
||||
height: 8px; |
|
||||
position: absolute; |
|
||||
right: -3px; |
|
||||
top: -3px; |
|
||||
width: 8px; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor:hover::after { |
|
||||
background-color: inherit; |
|
||||
border-radius: 100px; |
|
||||
box-sizing: border-box; |
|
||||
color: #fff; |
|
||||
content: attr(data-user); |
|
||||
display: block; |
|
||||
font-size: 12px; |
|
||||
font-weight: bold; |
|
||||
left: -5px; |
|
||||
min-height: 8px; |
|
||||
min-width: 8px; |
|
||||
padding: 0 12px; |
|
||||
position: absolute; |
|
||||
top: -11px; |
|
||||
white-space: nowrap; |
|
||||
z-index: 1000; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--1 .tox-rtc-user-cursor { |
|
||||
background-color: #2dc26b; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--2 .tox-rtc-user-cursor { |
|
||||
background-color: #e03e2d; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--3 .tox-rtc-user-cursor { |
|
||||
background-color: #f1c40f; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--4 .tox-rtc-user-cursor { |
|
||||
background-color: #3598db; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--5 .tox-rtc-user-cursor { |
|
||||
background-color: #b96ad9; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--6 .tox-rtc-user-cursor { |
|
||||
background-color: #e67e23; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--7 .tox-rtc-user-cursor { |
|
||||
background-color: #aaa69d; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--8 .tox-rtc-user-cursor { |
|
||||
background-color: #f368e0; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-remote-image { |
|
||||
background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; |
|
||||
border: 1px solid #ccc; |
|
||||
min-height: 240px; |
|
||||
min-width: 320px; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker { |
|
||||
background: #aaa; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected::-moz-selection { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected::selection { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img[data-mce-selected], |
|
||||
.mce-content-body table[data-mce-selected] { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body hr[data-mce-selected] { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
outline-offset: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false][data-mce-selected] { |
|
||||
cursor: not-allowed; |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, |
|
||||
.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { |
|
||||
outline: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[data-mce-selected="inline-boundary"] { |
|
||||
background-color: #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-edit-focus { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected], |
|
||||
.mce-content-body th[data-mce-selected] { |
|
||||
background-color: #b4d7ff !important; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected]::-moz-selection, |
|
||||
.mce-content-body th[data-mce-selected]::-moz-selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected]::selection, |
|
||||
.mce-content-body th[data-mce-selected]::selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected] *, |
|
||||
.mce-content-body th[data-mce-selected] * { |
|
||||
-webkit-touch-callout: none; |
|
||||
-webkit-user-select: none; |
|
||||
-moz-user-select: none; |
|
||||
-ms-user-select: none; |
|
||||
user-select: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img::-moz-selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img::selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-bar { |
|
||||
background-color: #b4d7ff; |
|
||||
opacity: 0; |
|
||||
-webkit-user-select: none; |
|
||||
-moz-user-select: none; |
|
||||
-ms-user-select: none; |
|
||||
user-select: none; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-cols { |
|
||||
cursor: col-resize; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-rows { |
|
||||
cursor: row-resize; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
|
|
||||
.mce-spellchecker-word { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-position: 0 calc(100% + 1px); |
|
||||
background-repeat: repeat-x; |
|
||||
background-size: auto 6px; |
|
||||
cursor: default; |
|
||||
height: 2rem; |
|
||||
} |
|
||||
|
|
||||
.mce-spellchecker-grammar { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-position: 0 calc(100% + 1px); |
|
||||
background-repeat: repeat-x; |
|
||||
background-size: auto 6px; |
|
||||
cursor: default; |
|
||||
} |
|
||||
|
|
||||
.mce-toc { |
|
||||
border: 1px solid gray; |
|
||||
} |
|
||||
|
|
||||
.mce-toc h2 { |
|
||||
margin: 4px; |
|
||||
} |
|
||||
|
|
||||
.mce-toc li { |
|
||||
list-style-type: none; |
|
||||
} |
|
||||
|
|
||||
.mce-item-table, |
|
||||
.mce-item-table td, |
|
||||
.mce-item-table th, |
|
||||
.mce-item-table caption { |
|
||||
border: 1px dashed #bbb; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks p, |
|
||||
.mce-visualblocks h1, |
|
||||
.mce-visualblocks h2, |
|
||||
.mce-visualblocks h3, |
|
||||
.mce-visualblocks h4, |
|
||||
.mce-visualblocks h5, |
|
||||
.mce-visualblocks h6, |
|
||||
.mce-visualblocks div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks section, |
|
||||
.mce-visualblocks article, |
|
||||
.mce-visualblocks blockquote, |
|
||||
.mce-visualblocks address, |
|
||||
.mce-visualblocks pre, |
|
||||
.mce-visualblocks figure, |
|
||||
.mce-visualblocks figcaption, |
|
||||
.mce-visualblocks hgroup, |
|
||||
.mce-visualblocks aside, |
|
||||
.mce-visualblocks ul, |
|
||||
.mce-visualblocks ol, |
|
||||
.mce-visualblocks dl { |
|
||||
background-repeat: no-repeat; |
|
||||
border: 1px dashed #bbb; |
|
||||
margin-left: 3px; |
|
||||
padding-top: 10px; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks p { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h1 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h2 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h3 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h4 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h5 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h6 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks div:not([data-mce-bogus]) { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks section { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks article { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks blockquote { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks address { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks pre { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks figure { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks figcaption { |
|
||||
border: 1px dashed #bbb; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks hgroup { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks aside { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks ul { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks ol { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks dl { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks:not([dir=rtl]) p, |
|
||||
.mce-visualblocks:not([dir=rtl]) h1, |
|
||||
.mce-visualblocks:not([dir=rtl]) h2, |
|
||||
.mce-visualblocks:not([dir=rtl]) h3, |
|
||||
.mce-visualblocks:not([dir=rtl]) h4, |
|
||||
.mce-visualblocks:not([dir=rtl]) h5, |
|
||||
.mce-visualblocks:not([dir=rtl]) h6, |
|
||||
.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks:not([dir=rtl]) section, |
|
||||
.mce-visualblocks:not([dir=rtl]) article, |
|
||||
.mce-visualblocks:not([dir=rtl]) blockquote, |
|
||||
.mce-visualblocks:not([dir=rtl]) address, |
|
||||
.mce-visualblocks:not([dir=rtl]) pre, |
|
||||
.mce-visualblocks:not([dir=rtl]) figure, |
|
||||
.mce-visualblocks:not([dir=rtl]) figcaption, |
|
||||
.mce-visualblocks:not([dir=rtl]) hgroup, |
|
||||
.mce-visualblocks:not([dir=rtl]) aside, |
|
||||
.mce-visualblocks:not([dir=rtl]) ul, |
|
||||
.mce-visualblocks:not([dir=rtl]) ol, |
|
||||
.mce-visualblocks:not([dir=rtl]) dl { |
|
||||
margin-left: 3px; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks[dir=rtl] p, |
|
||||
.mce-visualblocks[dir=rtl] h1, |
|
||||
.mce-visualblocks[dir=rtl] h2, |
|
||||
.mce-visualblocks[dir=rtl] h3, |
|
||||
.mce-visualblocks[dir=rtl] h4, |
|
||||
.mce-visualblocks[dir=rtl] h5, |
|
||||
.mce-visualblocks[dir=rtl] h6, |
|
||||
.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks[dir=rtl] section, |
|
||||
.mce-visualblocks[dir=rtl] article, |
|
||||
.mce-visualblocks[dir=rtl] blockquote, |
|
||||
.mce-visualblocks[dir=rtl] address, |
|
||||
.mce-visualblocks[dir=rtl] pre, |
|
||||
.mce-visualblocks[dir=rtl] figure, |
|
||||
.mce-visualblocks[dir=rtl] figcaption, |
|
||||
.mce-visualblocks[dir=rtl] hgroup, |
|
||||
.mce-visualblocks[dir=rtl] aside, |
|
||||
.mce-visualblocks[dir=rtl] ul, |
|
||||
.mce-visualblocks[dir=rtl] ol, |
|
||||
.mce-visualblocks[dir=rtl] dl { |
|
||||
background-position-x: right; |
|
||||
margin-right: 3px; |
|
||||
} |
|
||||
|
|
||||
.mce-nbsp, |
|
||||
.mce-shy { |
|
||||
background: #aaa; |
|
||||
} |
|
||||
|
|
||||
.mce-shy::after { |
|
||||
content: '-'; |
|
||||
} |
|
||||
|
|
||||
body { |
|
||||
font-family: sans-serif; |
|
||||
} |
|
||||
|
|
||||
table { |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
@ -1,819 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
.mce-content-body .mce-item-anchor { |
|
||||
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; |
|
||||
cursor: default; |
|
||||
display: inline-block; |
|
||||
height: 12px !important; |
|
||||
padding: 0 2px; |
|
||||
-webkit-user-modify: read-only; |
|
||||
-moz-user-modify: read-only; |
|
||||
-webkit-user-select: all; |
|
||||
-moz-user-select: all; |
|
||||
-ms-user-select: all; |
|
||||
user-select: all; |
|
||||
width: 8px !important; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-item-anchor[data-mce-selected] { |
|
||||
outline-offset: 1px; |
|
||||
} |
|
||||
|
|
||||
.tox-comments-visible .tox-comment { |
|
||||
background-color: #fff0b7; |
|
||||
} |
|
||||
|
|
||||
.tox-comments-visible .tox-comment--active { |
|
||||
background-color: #ffe168; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist > li:not(.tox-checklist--hidden) { |
|
||||
list-style: none; |
|
||||
margin: 0.25em 0; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist > li:not(.tox-checklist--hidden)::before { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-size: 100%; |
|
||||
content: ''; |
|
||||
cursor: pointer; |
|
||||
height: 1em; |
|
||||
margin-left: -1.5em; |
|
||||
margin-top: 0.125em; |
|
||||
position: absolute; |
|
||||
width: 1em; |
|
||||
} |
|
||||
|
|
||||
.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); |
|
||||
} |
|
||||
|
|
||||
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { |
|
||||
margin-left: 0; |
|
||||
margin-right: -1.5em; |
|
||||
} |
|
||||
|
|
||||
/* stylelint-disable */ |
|
||||
/* http://prismjs.com/ */ |
|
||||
/** |
|
||||
* prism.js default theme for JavaScript, CSS and HTML |
|
||||
* Based on dabblet (http://dabblet.com) |
|
||||
* @author Lea Verou |
|
||||
*/ |
|
||||
code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
color: black; |
|
||||
background: none; |
|
||||
text-shadow: 0 1px white; |
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; |
|
||||
font-size: 1em; |
|
||||
text-align: left; |
|
||||
white-space: pre; |
|
||||
word-spacing: normal; |
|
||||
word-break: normal; |
|
||||
word-wrap: normal; |
|
||||
line-height: 1.5; |
|
||||
-moz-tab-size: 4; |
|
||||
tab-size: 4; |
|
||||
-webkit-hyphens: none; |
|
||||
-ms-hyphens: none; |
|
||||
hyphens: none; |
|
||||
} |
|
||||
|
|
||||
pre[class*="language-"]::-moz-selection, |
|
||||
pre[class*="language-"] ::-moz-selection, |
|
||||
code[class*="language-"]::-moz-selection, |
|
||||
code[class*="language-"] ::-moz-selection { |
|
||||
text-shadow: none; |
|
||||
background: #b3d4fc; |
|
||||
} |
|
||||
|
|
||||
pre[class*="language-"]::selection, |
|
||||
pre[class*="language-"] ::selection, |
|
||||
code[class*="language-"]::selection, |
|
||||
code[class*="language-"] ::selection { |
|
||||
text-shadow: none; |
|
||||
background: #b3d4fc; |
|
||||
} |
|
||||
|
|
||||
@media print { |
|
||||
code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
text-shadow: none; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* Code blocks */ |
|
||||
pre[class*="language-"] { |
|
||||
padding: 1em; |
|
||||
margin: 0.5em 0; |
|
||||
overflow: auto; |
|
||||
} |
|
||||
|
|
||||
:not(pre) > code[class*="language-"], |
|
||||
pre[class*="language-"] { |
|
||||
background: #f5f2f0; |
|
||||
} |
|
||||
|
|
||||
/* Inline code */ |
|
||||
:not(pre) > code[class*="language-"] { |
|
||||
padding: 0.1em; |
|
||||
border-radius: 0.3em; |
|
||||
white-space: normal; |
|
||||
} |
|
||||
|
|
||||
.token.comment, |
|
||||
.token.prolog, |
|
||||
.token.doctype, |
|
||||
.token.cdata { |
|
||||
color: slategray; |
|
||||
} |
|
||||
|
|
||||
.token.punctuation { |
|
||||
color: #999; |
|
||||
} |
|
||||
|
|
||||
.namespace { |
|
||||
opacity: 0.7; |
|
||||
} |
|
||||
|
|
||||
.token.property, |
|
||||
.token.tag, |
|
||||
.token.boolean, |
|
||||
.token.number, |
|
||||
.token.constant, |
|
||||
.token.symbol, |
|
||||
.token.deleted { |
|
||||
color: #905; |
|
||||
} |
|
||||
|
|
||||
.token.selector, |
|
||||
.token.attr-name, |
|
||||
.token.string, |
|
||||
.token.char, |
|
||||
.token.builtin, |
|
||||
.token.inserted { |
|
||||
color: #690; |
|
||||
} |
|
||||
|
|
||||
.token.operator, |
|
||||
.token.entity, |
|
||||
.token.url, |
|
||||
.language-css .token.string, |
|
||||
.style .token.string { |
|
||||
color: #9a6e3a; |
|
||||
background: hsla(0, 0%, 100%, 0.5); |
|
||||
} |
|
||||
|
|
||||
.token.atrule, |
|
||||
.token.attr-value, |
|
||||
.token.keyword { |
|
||||
color: #07a; |
|
||||
} |
|
||||
|
|
||||
.token.function, |
|
||||
.token.class-name { |
|
||||
color: #DD4A68; |
|
||||
} |
|
||||
|
|
||||
.token.regex, |
|
||||
.token.important, |
|
||||
.token.variable { |
|
||||
color: #e90; |
|
||||
} |
|
||||
|
|
||||
.token.important, |
|
||||
.token.bold { |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.token.italic { |
|
||||
font-style: italic; |
|
||||
} |
|
||||
|
|
||||
.token.entity { |
|
||||
cursor: help; |
|
||||
} |
|
||||
|
|
||||
/* stylelint-enable */ |
|
||||
.mce-content-body { |
|
||||
overflow-wrap: break-word; |
|
||||
word-wrap: break-word; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-visual-caret { |
|
||||
background-color: black; |
|
||||
background-color: currentColor; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-visual-caret-hidden { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[data-mce-caret] { |
|
||||
left: -1000px; |
|
||||
margin: 0; |
|
||||
padding: 0; |
|
||||
position: absolute; |
|
||||
right: auto; |
|
||||
top: 0; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-offscreen-selection { |
|
||||
left: -2000000px; |
|
||||
max-width: 1000000px; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] { |
|
||||
cursor: default; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=true] { |
|
||||
cursor: text; |
|
||||
} |
|
||||
|
|
||||
.tox-cursor-format-painter { |
|
||||
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.align-left { |
|
||||
float: left; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.align-right { |
|
||||
float: right; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body figure.image.align-center { |
|
||||
display: table; |
|
||||
margin-left: auto; |
|
||||
margin-right: auto; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object { |
|
||||
border: 1px solid gray; |
|
||||
display: inline-block; |
|
||||
line-height: 0; |
|
||||
margin: 0 2px 0 2px; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object .mce-shim { |
|
||||
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.mce-preview-object[data-mce-selected="2"] .mce-shim { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.mce-object { |
|
||||
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; |
|
||||
border: 1px dashed #aaa; |
|
||||
} |
|
||||
|
|
||||
.mce-pagebreak { |
|
||||
border: 1px dashed #aaa; |
|
||||
cursor: default; |
|
||||
display: block; |
|
||||
height: 5px; |
|
||||
margin-top: 15px; |
|
||||
page-break-before: always; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
@media print { |
|
||||
.mce-pagebreak { |
|
||||
border: 0; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed .mce-shim { |
|
||||
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed[data-mce-selected="2"] .mce-shim { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed { |
|
||||
display: inline-block; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9, |
|
||||
.tiny-pageembed--16by9, |
|
||||
.tiny-pageembed--4by3, |
|
||||
.tiny-pageembed--1by1 { |
|
||||
display: block; |
|
||||
overflow: hidden; |
|
||||
padding: 0; |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9 { |
|
||||
padding-top: 42.857143%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--16by9 { |
|
||||
padding-top: 56.25%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--4by3 { |
|
||||
padding-top: 75%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--1by1 { |
|
||||
padding-top: 100%; |
|
||||
} |
|
||||
|
|
||||
.tiny-pageembed--21by9 iframe, |
|
||||
.tiny-pageembed--16by9 iframe, |
|
||||
.tiny-pageembed--4by3 iframe, |
|
||||
.tiny-pageembed--1by1 iframe { |
|
||||
border: 0; |
|
||||
height: 100%; |
|
||||
left: 0; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[data-mce-placeholder] { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
color: rgba(34, 47, 62, 0.7); |
|
||||
content: attr(data-mce-placeholder); |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
left: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { |
|
||||
right: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle { |
|
||||
background-color: #4099ff; |
|
||||
border-color: #4099ff; |
|
||||
border-style: solid; |
|
||||
border-width: 1px; |
|
||||
box-sizing: border-box; |
|
||||
height: 10px; |
|
||||
position: absolute; |
|
||||
width: 10px; |
|
||||
z-index: 10000; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:hover { |
|
||||
background-color: #4099ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(1) { |
|
||||
cursor: nwse-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(2) { |
|
||||
cursor: nesw-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(3) { |
|
||||
cursor: nwse-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body div.mce-resizehandle:nth-of-type(4) { |
|
||||
cursor: nesw-resize; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-clonedresizable { |
|
||||
opacity: 0.5; |
|
||||
outline: 1px dashed black; |
|
||||
position: absolute; |
|
||||
z-index: 10000; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-resize-helper { |
|
||||
background: #555; |
|
||||
background: rgba(0, 0, 0, 0.75); |
|
||||
border: 1px; |
|
||||
border-radius: 3px; |
|
||||
color: white; |
|
||||
display: none; |
|
||||
font-family: sans-serif; |
|
||||
font-size: 12px; |
|
||||
line-height: 14px; |
|
||||
margin: 5px 10px; |
|
||||
padding: 5px; |
|
||||
position: absolute; |
|
||||
white-space: nowrap; |
|
||||
z-index: 10001; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor { |
|
||||
bottom: 0; |
|
||||
cursor: default; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 2px; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor::before { |
|
||||
background-color: inherit; |
|
||||
border-radius: 50%; |
|
||||
content: ''; |
|
||||
display: block; |
|
||||
height: 8px; |
|
||||
position: absolute; |
|
||||
right: -3px; |
|
||||
top: -3px; |
|
||||
width: 8px; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-cursor:hover::after { |
|
||||
background-color: inherit; |
|
||||
border-radius: 100px; |
|
||||
box-sizing: border-box; |
|
||||
color: #fff; |
|
||||
content: attr(data-user); |
|
||||
display: block; |
|
||||
font-size: 12px; |
|
||||
font-weight: bold; |
|
||||
left: -5px; |
|
||||
min-height: 8px; |
|
||||
min-width: 8px; |
|
||||
padding: 0 12px; |
|
||||
position: absolute; |
|
||||
top: -11px; |
|
||||
white-space: nowrap; |
|
||||
z-index: 1000; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--1 .tox-rtc-user-cursor { |
|
||||
background-color: #2dc26b; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--2 .tox-rtc-user-cursor { |
|
||||
background-color: #e03e2d; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--3 .tox-rtc-user-cursor { |
|
||||
background-color: #f1c40f; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--4 .tox-rtc-user-cursor { |
|
||||
background-color: #3598db; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--5 .tox-rtc-user-cursor { |
|
||||
background-color: #b96ad9; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--6 .tox-rtc-user-cursor { |
|
||||
background-color: #e67e23; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--7 .tox-rtc-user-cursor { |
|
||||
background-color: #aaa69d; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-user-selection--8 .tox-rtc-user-cursor { |
|
||||
background-color: #f368e0; |
|
||||
} |
|
||||
|
|
||||
.tox-rtc-remote-image { |
|
||||
background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; |
|
||||
border: 1px solid #ccc; |
|
||||
min-height: 240px; |
|
||||
min-width: 320px; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker { |
|
||||
background: #aaa; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected::-moz-selection { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-match-marker-selected::selection { |
|
||||
background: #39f; |
|
||||
color: #fff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img[data-mce-selected], |
|
||||
.mce-content-body table[data-mce-selected] { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body hr[data-mce-selected] { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
outline-offset: 1px; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[contentEditable=false][data-mce-selected] { |
|
||||
cursor: not-allowed; |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, |
|
||||
.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { |
|
||||
outline: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body *[data-mce-selected="inline-boundary"] { |
|
||||
background-color: #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body .mce-edit-focus { |
|
||||
outline: 3px solid #b4d7ff; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected], |
|
||||
.mce-content-body th[data-mce-selected] { |
|
||||
background-color: #b4d7ff !important; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected]::-moz-selection, |
|
||||
.mce-content-body th[data-mce-selected]::-moz-selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected]::selection, |
|
||||
.mce-content-body th[data-mce-selected]::selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body td[data-mce-selected] *, |
|
||||
.mce-content-body th[data-mce-selected] * { |
|
||||
-webkit-touch-callout: none; |
|
||||
-webkit-user-select: none; |
|
||||
-moz-user-select: none; |
|
||||
-ms-user-select: none; |
|
||||
user-select: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img::-moz-selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.mce-content-body img::selection { |
|
||||
background: none; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-bar { |
|
||||
background-color: #b4d7ff; |
|
||||
opacity: 0; |
|
||||
-webkit-user-select: none; |
|
||||
-moz-user-select: none; |
|
||||
-ms-user-select: none; |
|
||||
user-select: none; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-cols { |
|
||||
cursor: col-resize; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-rows { |
|
||||
cursor: row-resize; |
|
||||
} |
|
||||
|
|
||||
.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { |
|
||||
opacity: 1; |
|
||||
} |
|
||||
|
|
||||
.mce-spellchecker-word { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-position: 0 calc(100% + 1px); |
|
||||
background-repeat: repeat-x; |
|
||||
background-size: auto 6px; |
|
||||
cursor: default; |
|
||||
height: 2rem; |
|
||||
} |
|
||||
|
|
||||
.mce-spellchecker-grammar { |
|
||||
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); |
|
||||
background-position: 0 calc(100% + 1px); |
|
||||
background-repeat: repeat-x; |
|
||||
background-size: auto 6px; |
|
||||
cursor: default; |
|
||||
} |
|
||||
|
|
||||
.mce-toc { |
|
||||
border: 1px solid gray; |
|
||||
} |
|
||||
|
|
||||
.mce-toc h2 { |
|
||||
margin: 4px; |
|
||||
} |
|
||||
|
|
||||
.mce-toc li { |
|
||||
list-style-type: none; |
|
||||
} |
|
||||
|
|
||||
.mce-item-table, |
|
||||
.mce-item-table td, |
|
||||
.mce-item-table th, |
|
||||
.mce-item-table caption { |
|
||||
border: 1px dashed #bbb; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks p, |
|
||||
.mce-visualblocks h1, |
|
||||
.mce-visualblocks h2, |
|
||||
.mce-visualblocks h3, |
|
||||
.mce-visualblocks h4, |
|
||||
.mce-visualblocks h5, |
|
||||
.mce-visualblocks h6, |
|
||||
.mce-visualblocks div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks section, |
|
||||
.mce-visualblocks article, |
|
||||
.mce-visualblocks blockquote, |
|
||||
.mce-visualblocks address, |
|
||||
.mce-visualblocks pre, |
|
||||
.mce-visualblocks figure, |
|
||||
.mce-visualblocks figcaption, |
|
||||
.mce-visualblocks hgroup, |
|
||||
.mce-visualblocks aside, |
|
||||
.mce-visualblocks ul, |
|
||||
.mce-visualblocks ol, |
|
||||
.mce-visualblocks dl { |
|
||||
background-repeat: no-repeat; |
|
||||
border: 1px dashed #bbb; |
|
||||
margin-left: 3px; |
|
||||
padding-top: 10px; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks p { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h1 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h2 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h3 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h4 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h5 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks h6 { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks div:not([data-mce-bogus]) { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks section { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks article { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks blockquote { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks address { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks pre { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks figure { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks figcaption { |
|
||||
border: 1px dashed #bbb; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks hgroup { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks aside { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks ul { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks ol { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks dl { |
|
||||
background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks:not([dir=rtl]) p, |
|
||||
.mce-visualblocks:not([dir=rtl]) h1, |
|
||||
.mce-visualblocks:not([dir=rtl]) h2, |
|
||||
.mce-visualblocks:not([dir=rtl]) h3, |
|
||||
.mce-visualblocks:not([dir=rtl]) h4, |
|
||||
.mce-visualblocks:not([dir=rtl]) h5, |
|
||||
.mce-visualblocks:not([dir=rtl]) h6, |
|
||||
.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks:not([dir=rtl]) section, |
|
||||
.mce-visualblocks:not([dir=rtl]) article, |
|
||||
.mce-visualblocks:not([dir=rtl]) blockquote, |
|
||||
.mce-visualblocks:not([dir=rtl]) address, |
|
||||
.mce-visualblocks:not([dir=rtl]) pre, |
|
||||
.mce-visualblocks:not([dir=rtl]) figure, |
|
||||
.mce-visualblocks:not([dir=rtl]) figcaption, |
|
||||
.mce-visualblocks:not([dir=rtl]) hgroup, |
|
||||
.mce-visualblocks:not([dir=rtl]) aside, |
|
||||
.mce-visualblocks:not([dir=rtl]) ul, |
|
||||
.mce-visualblocks:not([dir=rtl]) ol, |
|
||||
.mce-visualblocks:not([dir=rtl]) dl { |
|
||||
margin-left: 3px; |
|
||||
} |
|
||||
|
|
||||
.mce-visualblocks[dir=rtl] p, |
|
||||
.mce-visualblocks[dir=rtl] h1, |
|
||||
.mce-visualblocks[dir=rtl] h2, |
|
||||
.mce-visualblocks[dir=rtl] h3, |
|
||||
.mce-visualblocks[dir=rtl] h4, |
|
||||
.mce-visualblocks[dir=rtl] h5, |
|
||||
.mce-visualblocks[dir=rtl] h6, |
|
||||
.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), |
|
||||
.mce-visualblocks[dir=rtl] section, |
|
||||
.mce-visualblocks[dir=rtl] article, |
|
||||
.mce-visualblocks[dir=rtl] blockquote, |
|
||||
.mce-visualblocks[dir=rtl] address, |
|
||||
.mce-visualblocks[dir=rtl] pre, |
|
||||
.mce-visualblocks[dir=rtl] figure, |
|
||||
.mce-visualblocks[dir=rtl] figcaption, |
|
||||
.mce-visualblocks[dir=rtl] hgroup, |
|
||||
.mce-visualblocks[dir=rtl] aside, |
|
||||
.mce-visualblocks[dir=rtl] ul, |
|
||||
.mce-visualblocks[dir=rtl] ol, |
|
||||
.mce-visualblocks[dir=rtl] dl { |
|
||||
background-position-x: right; |
|
||||
margin-right: 3px; |
|
||||
} |
|
||||
|
|
||||
.mce-nbsp, |
|
||||
.mce-shy { |
|
||||
background: #aaa; |
|
||||
} |
|
||||
|
|
||||
.mce-shy::after { |
|
||||
content: '-'; |
|
||||
} |
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,34 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection { |
|
||||
/* Note: this file is used inside the content, so isn't part of theming */ |
|
||||
background-color: green; |
|
||||
display: inline-block; |
|
||||
opacity: 0.5; |
|
||||
position: absolute; |
|
||||
} |
|
||||
|
|
||||
body { |
|
||||
-webkit-text-size-adjust: none; |
|
||||
} |
|
||||
|
|
||||
body img { |
|
||||
/* this is related to the content margin */ |
|
||||
max-width: 96vw; |
|
||||
} |
|
||||
|
|
||||
body table img { |
|
||||
max-width: 95%; |
|
||||
} |
|
||||
|
|
||||
body { |
|
||||
font-family: sans-serif; |
|
||||
} |
|
||||
|
|
||||
table { |
|
||||
border-collapse: collapse; |
|
||||
} |
|
||||
@ -1,7 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} |
|
||||
Binary file not shown.
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
@ -1,798 +0,0 @@ |
|||||
/** |
|
||||
* Copyright (c) Tiny Technologies, Inc. All rights reserved. |
|
||||
* Licensed under the LGPL or a commercial license. |
|
||||
* For LGPL see License.txt in the project root for license information. |
|
||||
* For commercial licenses see https://www.tiny.cloud/ |
|
||||
*/ |
|
||||
/* RESET all the things! */ |
|
||||
.tinymce-mobile-outer-container { |
|
||||
all: initial; |
|
||||
display: block; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container * { |
|
||||
border: 0; |
|
||||
box-sizing: initial; |
|
||||
cursor: inherit; |
|
||||
float: none; |
|
||||
line-height: 1; |
|
||||
margin: 0; |
|
||||
outline: 0; |
|
||||
padding: 0; |
|
||||
-webkit-tap-highlight-color: transparent; |
|
||||
/* TBIO-3691, stop the gray flicker on touch. */ |
|
||||
text-shadow: none; |
|
||||
white-space: nowrap; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-arrow-back::before { |
|
||||
content: "\e5cd"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-image::before { |
|
||||
content: "\e412"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-cancel-circle::before { |
|
||||
content: "\e5c9"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-full-dot::before { |
|
||||
content: "\e061"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-align-center::before { |
|
||||
content: "\e234"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-align-left::before { |
|
||||
content: "\e236"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-align-right::before { |
|
||||
content: "\e237"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-bold::before { |
|
||||
content: "\e238"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-italic::before { |
|
||||
content: "\e23f"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-unordered-list::before { |
|
||||
content: "\e241"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-ordered-list::before { |
|
||||
content: "\e242"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-font-size::before { |
|
||||
content: "\e245"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-underline::before { |
|
||||
content: "\e249"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-link::before { |
|
||||
content: "\e157"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-unlink::before { |
|
||||
content: "\eca2"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-color::before { |
|
||||
content: "\e891"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-previous::before { |
|
||||
content: "\e314"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-next::before { |
|
||||
content: "\e315"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-large-font::before, |
|
||||
.tinymce-mobile-icon-style-formats::before { |
|
||||
content: "\e264"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-undo::before { |
|
||||
content: "\e166"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-redo::before { |
|
||||
content: "\e15a"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-removeformat::before { |
|
||||
content: "\e239"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-small-font::before { |
|
||||
content: "\e906"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-readonly-back::before, |
|
||||
.tinymce-mobile-format-matches::after { |
|
||||
content: "\e5ca"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-small-heading::before { |
|
||||
content: "small"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-large-heading::before { |
|
||||
content: "large"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-small-heading::before, |
|
||||
.tinymce-mobile-icon-large-heading::before { |
|
||||
font-family: sans-serif; |
|
||||
font-size: 80%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-mask-edit-icon::before { |
|
||||
content: "\e254"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-back::before { |
|
||||
content: "\e5c4"; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-heading::before { |
|
||||
/* TODO: Translate */ |
|
||||
content: "Headings"; |
|
||||
font-family: sans-serif; |
|
||||
font-size: 80%; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-h1::before { |
|
||||
content: "H1"; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-h2::before { |
|
||||
content: "H2"; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon-h3::before { |
|
||||
content: "H3"; |
|
||||
font-weight: bold; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
background: rgba(51, 51, 51, 0.5); |
|
||||
height: 100%; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container { |
|
||||
align-items: center; |
|
||||
border-radius: 50%; |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
font-family: sans-serif; |
|
||||
font-size: 1em; |
|
||||
justify-content: space-between; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
border-radius: 50%; |
|
||||
height: 2.1em; |
|
||||
width: 2.1em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
flex-direction: column; |
|
||||
font-size: 1em; |
|
||||
} |
|
||||
|
|
||||
@media only screen and (min-device-width: 700px) { |
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { |
|
||||
font-size: 1.2em; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
border-radius: 50%; |
|
||||
height: 2.1em; |
|
||||
width: 2.1em; |
|
||||
background-color: white; |
|
||||
color: #207ab7; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before { |
|
||||
content: "\e900"; |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon { |
|
||||
z-index: 2; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-container.tinymce-mobile-android-maximized { |
|
||||
background: #ffffff; |
|
||||
border: none; |
|
||||
bottom: 0; |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
left: 0; |
|
||||
position: fixed; |
|
||||
right: 0; |
|
||||
top: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) { |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-container .tinymce-mobile-editor-socket { |
|
||||
display: flex; |
|
||||
flex-grow: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe { |
|
||||
display: flex !important; |
|
||||
flex-grow: 1; |
|
||||
height: auto !important; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-android-scroll-reload { |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
|
|
||||
:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar { |
|
||||
margin-top: 23px; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip { |
|
||||
background: #fff; |
|
||||
display: flex; |
|
||||
flex: 0 0 auto; |
|
||||
z-index: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar { |
|
||||
align-items: center; |
|
||||
background-color: #fff; |
|
||||
border-bottom: 1px solid #cccccc; |
|
||||
display: flex; |
|
||||
flex: 1; |
|
||||
height: 2.5em; |
|
||||
width: 100%; |
|
||||
/* Make it no larger than the toolstrip, so that it needs to scroll */ |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
flex-shrink: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container { |
|
||||
background: #f44336; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group { |
|
||||
flex-grow: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { |
|
||||
padding-left: 0.5em; |
|
||||
padding-right: 0.5em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 80%; |
|
||||
margin-left: 2px; |
|
||||
margin-right: 2px; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected { |
|
||||
background: #c8cbcf; |
|
||||
color: #cccccc; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type { |
|
||||
background: #207ab7; |
|
||||
color: #eceff1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar { |
|
||||
/* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */ |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
flex: 1; |
|
||||
padding-bottom: 0.4em; |
|
||||
padding-top: 0.4em; |
|
||||
/* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */ |
|
||||
/* For widgets like the colour picker, use the whole height */ |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog { |
|
||||
display: flex; |
|
||||
min-height: 1.5em; |
|
||||
overflow: hidden; |
|
||||
padding-left: 0; |
|
||||
padding-right: 0; |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain { |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen { |
|
||||
display: flex; |
|
||||
flex: 0 0 auto; |
|
||||
justify-content: space-between; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input { |
|
||||
font-family: Sans-serif; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container { |
|
||||
display: flex; |
|
||||
flex-grow: 1; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x { |
|
||||
-ms-grid-row-align: center; |
|
||||
align-self: center; |
|
||||
background: inherit; |
|
||||
border: none; |
|
||||
border-radius: 50%; |
|
||||
color: #888; |
|
||||
font-size: 0.6em; |
|
||||
font-weight: bold; |
|
||||
height: 100%; |
|
||||
padding-right: 2px; |
|
||||
position: absolute; |
|
||||
right: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
font-weight: bold; |
|
||||
height: 100%; |
|
||||
padding-left: 0.5em; |
|
||||
padding-right: 0.5em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before { |
|
||||
visibility: hidden; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item { |
|
||||
color: #cccccc; |
|
||||
font-size: 10px; |
|
||||
line-height: 10px; |
|
||||
margin: 0 2px; |
|
||||
padding-top: 3px; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active { |
|
||||
color: #c8cbcf; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before { |
|
||||
margin-left: 0.5em; |
|
||||
margin-right: 0.9em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before { |
|
||||
margin-left: 0.9em; |
|
||||
margin-right: 0.5em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider { |
|
||||
display: flex; |
|
||||
flex: 1; |
|
||||
margin-left: 0; |
|
||||
margin-right: 0; |
|
||||
padding: 0.28em 0; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
flex-grow: 1; |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line { |
|
||||
background: #cccccc; |
|
||||
display: flex; |
|
||||
flex: 1; |
|
||||
height: 0.2em; |
|
||||
margin-bottom: 0.3em; |
|
||||
margin-top: 0.3em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container { |
|
||||
padding-left: 2em; |
|
||||
padding-right: 2em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
flex-grow: 1; |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient { |
|
||||
background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%); |
|
||||
display: flex; |
|
||||
flex: 1; |
|
||||
height: 0.2em; |
|
||||
margin-bottom: 0.3em; |
|
||||
margin-top: 0.3em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black { |
|
||||
/* Not part of theming */ |
|
||||
background: black; |
|
||||
height: 0.2em; |
|
||||
margin-bottom: 0.3em; |
|
||||
margin-top: 0.3em; |
|
||||
width: 1.2em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white { |
|
||||
/* Not part of theming */ |
|
||||
background: white; |
|
||||
height: 0.2em; |
|
||||
margin-bottom: 0.3em; |
|
||||
margin-top: 0.3em; |
|
||||
width: 1.2em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb { |
|
||||
/* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave |
|
||||
* out these values, then it shows the thumb at the top of the spectrum. This is probably because it is |
|
||||
* absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without |
|
||||
* this approach. |
|
||||
*/ |
|
||||
align-items: center; |
|
||||
background-clip: padding-box; |
|
||||
background-color: #455a64; |
|
||||
border: 0.5em solid rgba(136, 136, 136, 0); |
|
||||
border-radius: 3em; |
|
||||
bottom: 0; |
|
||||
color: #fff; |
|
||||
display: flex; |
|
||||
height: 0.5em; |
|
||||
justify-content: center; |
|
||||
left: -10px; |
|
||||
margin: auto; |
|
||||
position: absolute; |
|
||||
top: 0; |
|
||||
transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1); |
|
||||
width: 0.5em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active { |
|
||||
border: 0.5em solid rgba(136, 136, 136, 0.39); |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper, |
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
flex: 1; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper { |
|
||||
flex-direction: column; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) { |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container { |
|
||||
display: flex; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input { |
|
||||
background: #ffffff; |
|
||||
border: none; |
|
||||
border-radius: 0; |
|
||||
color: #455a64; |
|
||||
flex-grow: 1; |
|
||||
font-size: 0.85em; |
|
||||
padding-bottom: 0.1em; |
|
||||
padding-left: 5px; |
|
||||
padding-top: 0.1em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder { |
|
||||
/* WebKit, Blink, Edge */ |
|
||||
color: #888; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder { |
|
||||
/* WebKit, Blink, Edge */ |
|
||||
color: #888; |
|
||||
} |
|
||||
|
|
||||
/* dropup */ |
|
||||
.tinymce-mobile-dropup { |
|
||||
background: white; |
|
||||
display: flex; |
|
||||
overflow: hidden; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking { |
|
||||
transition: height 0.3s ease-out; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-dropup.tinymce-mobile-dropup-growing { |
|
||||
transition: height 0.3s ease-in; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-dropup.tinymce-mobile-dropup-closed { |
|
||||
flex-grow: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) { |
|
||||
flex-grow: 1; |
|
||||
} |
|
||||
|
|
||||
/* TODO min-height for device size and orientation */ |
|
||||
.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { |
|
||||
min-height: 200px; |
|
||||
} |
|
||||
|
|
||||
@media only screen and (orientation: landscape) { |
|
||||
.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { |
|
||||
min-height: 200px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
@media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (orientation: landscape) { |
|
||||
.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { |
|
||||
min-height: 150px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* styles menu */ |
|
||||
.tinymce-mobile-styles-menu { |
|
||||
font-family: sans-serif; |
|
||||
outline: 4px solid black; |
|
||||
overflow: hidden; |
|
||||
position: relative; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [role="menu"] { |
|
||||
display: flex; |
|
||||
flex-direction: column; |
|
||||
height: 100%; |
|
||||
position: absolute; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [role="menu"].transitioning { |
|
||||
transition: transform 0.5s ease-in-out; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item { |
|
||||
border-bottom: 1px solid #ddd; |
|
||||
color: #455a64; |
|
||||
cursor: pointer; |
|
||||
display: flex; |
|
||||
padding: 1em 1em; |
|
||||
position: relative; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before { |
|
||||
color: #455a64; |
|
||||
content: "\e314"; |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after { |
|
||||
color: #455a64; |
|
||||
content: "\e315"; |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
padding-left: 1em; |
|
||||
padding-right: 1em; |
|
||||
position: absolute; |
|
||||
right: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after { |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
padding-left: 1em; |
|
||||
padding-right: 1em; |
|
||||
position: absolute; |
|
||||
right: 0; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator, |
|
||||
.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser { |
|
||||
align-items: center; |
|
||||
background: #fff; |
|
||||
border-top: #455a64; |
|
||||
color: #455a64; |
|
||||
display: flex; |
|
||||
min-height: 2.5em; |
|
||||
padding-left: 1em; |
|
||||
padding-right: 1em; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state], |
|
||||
.tinymce-mobile-styles-menu [data-transitioning-state="before"] { |
|
||||
transform: translate(-100%); |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state], |
|
||||
.tinymce-mobile-styles-menu [data-transitioning-state="current"] { |
|
||||
transform: translate(0%); |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state], |
|
||||
.tinymce-mobile-styles-menu [data-transitioning-state="after"] { |
|
||||
transform: translate(100%); |
|
||||
} |
|
||||
|
|
||||
@font-face { |
|
||||
font-family: 'tinymce-mobile'; |
|
||||
font-style: normal; |
|
||||
font-weight: normal; |
|
||||
src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff'); |
|
||||
} |
|
||||
|
|
||||
@media (min-device-width: 700px) { |
|
||||
.tinymce-mobile-outer-container, |
|
||||
.tinymce-mobile-outer-container input { |
|
||||
font-size: 25px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
@media (max-device-width: 700px) { |
|
||||
.tinymce-mobile-outer-container, |
|
||||
.tinymce-mobile-outer-container input { |
|
||||
font-size: 18px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-icon { |
|
||||
font-family: 'tinymce-mobile', sans-serif; |
|
||||
} |
|
||||
|
|
||||
.mixin-flex-and-centre { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
|
|
||||
.mixin-flex-bar { |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe { |
|
||||
background-color: #fff; |
|
||||
width: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { |
|
||||
/* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */ |
|
||||
background-color: #207ab7; |
|
||||
border-radius: 50%; |
|
||||
bottom: 1em; |
|
||||
color: white; |
|
||||
font-size: 1em; |
|
||||
height: 2.1em; |
|
||||
position: fixed; |
|
||||
right: 2em; |
|
||||
width: 2.1em; |
|
||||
align-items: center; |
|
||||
display: flex; |
|
||||
justify-content: center; |
|
||||
} |
|
||||
|
|
||||
@media only screen and (min-device-width: 700px) { |
|
||||
.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { |
|
||||
font-size: 1.2em; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket { |
|
||||
height: 300px; |
|
||||
overflow: hidden; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe { |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
/* |
|
||||
Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets |
|
||||
increased and the whole body becomes scrollable. It's important! |
|
||||
*/ |
|
||||
input[type="file"]::-webkit-file-upload-button { |
|
||||
display: none; |
|
||||
} |
|
||||
|
|
||||
@media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (orientation: landscape) { |
|
||||
.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { |
|
||||
bottom: 50%; |
|
||||
} |
|
||||
} |
|
||||
File diff suppressed because one or more lines are too long
@ -1,15 +0,0 @@ |
|||||
<template> |
|
||||
<div id="app"> |
|
||||
<router-view /> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
name: 'App', |
|
||||
created() { |
|
||||
// 恢复主题 |
|
||||
this.$store.dispatch('theme/recoverTheme'); |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
@ -1,53 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 获取支付笔数数据 |
|
||||
*/ |
|
||||
export async function getPayNumList() { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/analysis-pay-num.json' |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取销售量数据 |
|
||||
*/ |
|
||||
export async function getSaleroomList() { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/analysis-saleroom.json' |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取最近1小时访问情况数据 |
|
||||
*/ |
|
||||
export async function getVisitHourList() { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/analysis-visits.json' |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取词云数据 |
|
||||
*/ |
|
||||
export async function getWordCloudList() { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/analysis-hot-search.json' |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,41 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
const BASE_URL = process.env.BASE_URL; |
|
||||
|
|
||||
/** |
|
||||
* 获取中国地图geo数据 |
|
||||
*/ |
|
||||
export async function getChinaMapData() { |
|
||||
const res = await axios.get(BASE_URL + 'json/china-provinces.geo.json', { |
|
||||
baseURL: '' |
|
||||
}); |
|
||||
if (res.data) { |
|
||||
return res.data; |
|
||||
} |
|
||||
return Promise.reject(new Error('获取地图数据失败')); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取用户分布数据 |
|
||||
*/ |
|
||||
export async function getUserCountList() { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/monitor-user-count.json' |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取用户浏览器分布数据 |
|
||||
*/ |
|
||||
export async function getBrowserCountList() { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/monitor-browser-count.json' |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,15 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 获取全部的班级数据 |
|
||||
*/ |
|
||||
export async function getAllClasses(params) { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/classes.json', |
|
||||
{ params } |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,31 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 获取案卷列表 |
|
||||
* @param params |
|
||||
*/ |
|
||||
export async function getPieceList(params) { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/document.json', |
|
||||
{ params } |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取卷内文件列表 |
|
||||
* @param params |
|
||||
*/ |
|
||||
export async function getArchiveList(params) { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/archive.json', |
|
||||
{ params } |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,11 +0,0 @@ |
|||||
import request from '@/utils/request'; |
|
||||
|
|
||||
export async function pageUserScores() { |
|
||||
const res = await request.get( |
|
||||
'https://cdn.eleadmin.com/20200610/example-table-merge.json' |
|
||||
); |
|
||||
if (res.data.code === 0 && res.data.data) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,43 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 获取文件列表数据 |
|
||||
*/ |
|
||||
export async function getFileList({ directory, sort, order } = {}) { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/extension-files.json', |
|
||||
{ |
|
||||
params: { |
|
||||
directory, |
|
||||
sort, |
|
||||
order |
|
||||
} |
|
||||
} |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
// 模拟按文件夹筛选
|
|
||||
let data = res.data.data; |
|
||||
if (directory) { |
|
||||
directory.split('/').forEach((d) => { |
|
||||
data = data.filter((t) => t.name === d)[0]?.data ?? []; |
|
||||
}); |
|
||||
} |
|
||||
// 模拟排序
|
|
||||
if (sort) { |
|
||||
data.sort((a, b) => { |
|
||||
if (a[sort] == b[sort]) { |
|
||||
return 0; |
|
||||
} |
|
||||
if (order === 'desc') { |
|
||||
return a[sort] < b[sort] ? 1 : -1; |
|
||||
} |
|
||||
return a[sort] < b[sort] ? -1 : 1; |
|
||||
}); |
|
||||
} |
|
||||
data.sort((a, b) => { |
|
||||
return b.isDirectory ?? false - a.isDirectory ?? false; |
|
||||
}); |
|
||||
return data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,26 +0,0 @@ |
|||||
/** |
|
||||
* 获取数据 |
|
||||
*/ |
|
||||
export async function queryList() { |
|
||||
const data = [ |
|
||||
{ |
|
||||
key: '1', |
|
||||
number: '00001', |
|
||||
name: 'John Brown', |
|
||||
department: '研发部' |
|
||||
}, |
|
||||
{ |
|
||||
key: '2', |
|
||||
number: '00002', |
|
||||
name: 'Jim Green', |
|
||||
department: '产品部' |
|
||||
}, |
|
||||
{ |
|
||||
key: '3', |
|
||||
number: '00003', |
|
||||
name: 'Joe Black', |
|
||||
department: '产品部' |
|
||||
} |
|
||||
]; |
|
||||
return data; |
|
||||
} |
|
||||
@ -1,115 +0,0 @@ |
|||||
import request from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 获取当前登录的用户信息、菜单、权限、角色 |
|
||||
*/ |
|
||||
export async function getUserInfo() { |
|
||||
const res = await request.get('/auth/user'); |
|
||||
if (res.data.code === 0 && res.data.data) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改当前登录的用户密码 |
|
||||
*/ |
|
||||
export async function updatePassword(data) { |
|
||||
const res = await request.put('/auth/password', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message ?? '修改成功'; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 查询未读通知 |
|
||||
*/ |
|
||||
export async function getUnreadNotice() { |
|
||||
return { |
|
||||
notice: [ |
|
||||
{ |
|
||||
color: '#60B2FC', |
|
||||
icon: 'el-icon-s-comment', |
|
||||
title: '你收到了一封14份新周报', |
|
||||
time: '2020-07-27 18:30:18' |
|
||||
}, |
|
||||
{ |
|
||||
color: '#F5686F', |
|
||||
icon: 'el-icon-s-check', |
|
||||
title: '许经理同意了你的请假申请', |
|
||||
time: '2020-07-27 09:08:36' |
|
||||
}, |
|
||||
{ |
|
||||
color: '#7CD734', |
|
||||
icon: 'el-icon-video-camera', |
|
||||
title: '陈总邀请你参加视频会议', |
|
||||
time: '2020-07-26 18:30:01' |
|
||||
}, |
|
||||
{ |
|
||||
color: '#FAAD14', |
|
||||
icon: 'el-icon-s-claim', |
|
||||
title: '你推荐的刘诗雨已通过第三轮面试', |
|
||||
time: '2020-07-25 16:38:46' |
|
||||
}, |
|
||||
{ |
|
||||
color: '#2BCACD', |
|
||||
icon: 'el-icon-message-solid', |
|
||||
title: '你的6月加班奖金已发放', |
|
||||
time: '2020-07-25 11:03:31' |
|
||||
} |
|
||||
], |
|
||||
letter: [ |
|
||||
{ |
|
||||
avatar: |
|
||||
'https://cdn.eleadmin.com/20200609/c184eef391ae48dba87e3057e70238fb.jpg', |
|
||||
title: 'SunSmile 评论了你的日志', |
|
||||
content: '写的不错, 以后多多向你学习~', |
|
||||
time: '2020-07-27 18:30:18' |
|
||||
}, |
|
||||
{ |
|
||||
avatar: |
|
||||
'https://cdn.eleadmin.com/20200609/948344a2a77c47a7a7b332fe12ff749a.jpg', |
|
||||
title: '刘诗雨 点赞了你的日志', |
|
||||
content: '写的不错, 以后多多向你学习~', |
|
||||
time: '2020-07-27 09:08:36' |
|
||||
}, |
|
||||
{ |
|
||||
avatar: |
|
||||
'https://cdn.eleadmin.com/20200609/2d98970a51b34b6b859339c96b240dcd.jpg', |
|
||||
title: '酷酷的大叔 评论了你的周报', |
|
||||
content: '写的不错, 以后多多向你学习~', |
|
||||
time: '2020-07-26 18:30:01' |
|
||||
}, |
|
||||
{ |
|
||||
avatar: |
|
||||
'https://cdn.eleadmin.com/20200609/f6bc05af944a4f738b54128717952107.jpg', |
|
||||
title: 'Jasmine 点赞了你的周报', |
|
||||
content: '写的不错, 以后多多向你学习~', |
|
||||
time: '2020-07-25 11:03:31' |
|
||||
} |
|
||||
], |
|
||||
todo: [ |
|
||||
{ |
|
||||
status: 0, |
|
||||
title: '刘诗雨的请假审批', |
|
||||
description: '刘诗雨在 07-27 18:30 提交的请假申请' |
|
||||
}, |
|
||||
{ |
|
||||
status: 1, |
|
||||
title: '第三方代码紧急变更', |
|
||||
description: '需要在 2020-07-27 之前完成' |
|
||||
}, |
|
||||
{ |
|
||||
status: 2, |
|
||||
title: '信息安全考试', |
|
||||
description: '需要在 2020-07-26 18:30 前完成' |
|
||||
}, |
|
||||
{ |
|
||||
status: 2, |
|
||||
title: 'EleAdmin发布新版本', |
|
||||
description: '需要在 2020-07-25 11:03 前完成' |
|
||||
} |
|
||||
] |
|
||||
}; |
|
||||
} |
|
||||
@ -1,18 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 获取列表数据 |
|
||||
*/ |
|
||||
export async function queryList(params) { |
|
||||
const res = await axios.get( |
|
||||
'https://cdn.eleadmin.com/20200610/list-demo-basic.json', |
|
||||
{ params } |
|
||||
); |
|
||||
if (res.data.code === 0) { |
|
||||
return { |
|
||||
list: res.data.data, |
|
||||
count: res.data.count |
|
||||
}; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,26 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
import { setToken } from '@/utils/token-util'; |
|
||||
|
|
||||
/** |
|
||||
* 登录 |
|
||||
*/ |
|
||||
export async function login(data) { |
|
||||
data.tenantId = 1; // 租户id
|
|
||||
const res = await axios.post('/login', data); |
|
||||
if (res.data.code === 0) { |
|
||||
setToken(res.data.data.access_token, data.remember); |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取验证码 |
|
||||
*/ |
|
||||
export async function getCaptcha() { |
|
||||
const res = await axios.get('/captcha'); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,79 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 分页查询字典数据 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function pageDictionaryData(params) { |
|
||||
const res = await axios.get('/system/dictionary-data/page', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 查询字典数据列表 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function listDictionaryData(params) { |
|
||||
const res = await axios.get('/system/dictionary-data', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 添加字典数据 |
|
||||
* @param data 字典数据信息 |
|
||||
*/ |
|
||||
export async function addDictionaryData(data) { |
|
||||
const res = await axios.post('/system/dictionary-data', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改字典数据 |
|
||||
* @param data 字典数据信息 |
|
||||
*/ |
|
||||
export async function updateDictionaryData(data) { |
|
||||
const res = await axios.put('/system/dictionary-data', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 删除字典数据 |
|
||||
* @param id 字典数据id |
|
||||
*/ |
|
||||
export async function removeDictionaryData(id) { |
|
||||
const res = await axios.delete('/system/dictionary-data/' + id); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 批量删除字典数据 |
|
||||
* @param data 字典数据id集合 |
|
||||
*/ |
|
||||
export async function removeDictionaryDataBatch(data) { |
|
||||
const res = await axios.delete('/system/dictionary-data/batch', { |
|
||||
data |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,51 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 查询字典列表 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function listDictionaries(params) { |
|
||||
const res = await axios.get('/system/dictionary', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 添加字典 |
|
||||
* @param data 字典信息 |
|
||||
*/ |
|
||||
export async function addDictionary(data) { |
|
||||
const res = await axios.post('/system/dictionary', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改字典 |
|
||||
* @param data 字典信息 |
|
||||
*/ |
|
||||
export async function updateDictionary(data) { |
|
||||
const res = await axios.put('/system/dictionary', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 删除字典 |
|
||||
* @param id 字典id |
|
||||
*/ |
|
||||
export async function removeDictionary(id) { |
|
||||
const res = await axios.delete('/system/dictionary/' + id); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,29 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 上传文件 |
|
||||
* @param file 文件 |
|
||||
*/ |
|
||||
export async function uploadFile(file) { |
|
||||
const formData = new FormData(); |
|
||||
formData.append('file', file); |
|
||||
const res = await axios.post('/file/upload', formData); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 分页查询文件上传记录 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function pageFiles(params) { |
|
||||
const res = await axios.get('/file/page', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,29 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 分页查询登录日志 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function pageLoginRecords(params) { |
|
||||
const res = await axios.get('/system/login-record/page', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 查询登录日志列表 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function listLoginRecords(params) { |
|
||||
const res = await axios.get('/system/login-record', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,51 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 查询菜单列表 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function listMenus(params) { |
|
||||
const res = await axios.get('/system/menu', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 添加菜单 |
|
||||
* @param data 菜单信息 |
|
||||
*/ |
|
||||
export async function addMenu(data) { |
|
||||
const res = await axios.post('/system/menu', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改菜单 |
|
||||
* @param data 菜单信息 |
|
||||
*/ |
|
||||
export async function updateMenu(data) { |
|
||||
const res = await axios.put('/system/menu', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 删除菜单 |
|
||||
* @param id 菜单id |
|
||||
*/ |
|
||||
export async function removeMenu(id) { |
|
||||
const res = await axios.delete('/system/menu/' + id); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,29 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 分页查询操作日志 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function pageOperationRecords(params) { |
|
||||
const res = await axios.get('/system/operation-record/page', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 查询操作日志列表 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function listOperationRecords(params) { |
|
||||
const res = await axios.get('/system/operation-record', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,65 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 分页查询机构 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function pageOrganizations(params) { |
|
||||
const res = await axios.get('/system/organization/page', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 查询机构列表 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function listOrganizations(params) { |
|
||||
const res = await axios.get('/system/organization', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 添加机构 |
|
||||
* @param data 机构信息 |
|
||||
*/ |
|
||||
export async function addOrganization(data) { |
|
||||
const res = await axios.post('/system/organization', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改机构 |
|
||||
* @param data 机构信息 |
|
||||
*/ |
|
||||
export async function updateOrganization(data) { |
|
||||
const res = await axios.put('/system/organization', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 删除机构 |
|
||||
* @param id 机构id |
|
||||
*/ |
|
||||
export async function removeOrganization(id) { |
|
||||
const res = await axios.delete('/system/organization/' + id); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,104 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 分页查询角色 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function pageRoles(params) { |
|
||||
const res = await axios.get('/system/role/page', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 查询角色列表 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function listRoles(params) { |
|
||||
const res = await axios.get('/system/role', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 添加角色 |
|
||||
* @param data 角色信息 |
|
||||
*/ |
|
||||
export async function addRole(data) { |
|
||||
const res = await axios.post('/system/role', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改角色 |
|
||||
* @param data 角色信息 |
|
||||
*/ |
|
||||
export async function updateRole(data) { |
|
||||
const res = await axios.put('/system/role', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 删除角色 |
|
||||
* @param id 角色id |
|
||||
*/ |
|
||||
export async function removeRole(id) { |
|
||||
const res = await axios.delete('/system/role/' + id); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 批量删除角色 |
|
||||
* @param ids 角色id集合 |
|
||||
*/ |
|
||||
export async function removeRoles(data) { |
|
||||
const res = await axios.delete('/system/role/batch', { |
|
||||
data |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取角色分配的菜单 |
|
||||
* @param roleId 角色id |
|
||||
*/ |
|
||||
export async function listRoleMenus(roleId) { |
|
||||
const res = await axios.get('/system/role-menu/' + roleId); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改角色菜单 |
|
||||
* @param roleId 角色id |
|
||||
* @param data 菜单id集合 |
|
||||
*/ |
|
||||
export async function updateRoleMenus(roleId, data) { |
|
||||
const res = await axios.put('/system/role-menu/' + roleId, data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,154 +0,0 @@ |
|||||
import axios from '@/utils/request'; |
|
||||
|
|
||||
/** |
|
||||
* 分页查询用户 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function pageUsers(params) { |
|
||||
const res = await axios.get('/system/user/page', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 查询用户列表 |
|
||||
* @param params 查询条件 |
|
||||
*/ |
|
||||
export async function listUsers(params) { |
|
||||
const res = await axios.get('/system/user', { |
|
||||
params |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 根据id查询用户 |
|
||||
* @param id 用户id |
|
||||
*/ |
|
||||
export async function getUser(id) { |
|
||||
const res = await axios.get('/system/user/' + id); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.data; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 添加用户 |
|
||||
* @param data 用户信息 |
|
||||
*/ |
|
||||
export async function addUser(data) { |
|
||||
const res = await axios.post('/system/user', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改用户 |
|
||||
* @param data 用户信息 |
|
||||
*/ |
|
||||
export async function updateUser(data) { |
|
||||
const res = await axios.put('/system/user', data); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 删除用户 |
|
||||
* @param id 用户id |
|
||||
*/ |
|
||||
export async function removeUser(id) { |
|
||||
const res = await axios.delete('/system/user/' + id); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 批量删除用户 |
|
||||
* @param data 用户id集合 |
|
||||
*/ |
|
||||
export async function removeUsers(data) { |
|
||||
const res = await axios.delete('/system/user/batch', { |
|
||||
data |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 修改用户状态 |
|
||||
* @param userId 用户id |
|
||||
* @param status 状态 |
|
||||
*/ |
|
||||
export async function updateUserStatus(userId, status) { |
|
||||
const res = await axios.put('/system/user/status', { |
|
||||
userId, |
|
||||
status |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 重置用户密码 |
|
||||
* @param userId 用户id |
|
||||
* @param password 密码 |
|
||||
* @returns {Promise<string>} |
|
||||
*/ |
|
||||
export async function updateUserPassword(userId, password = '123456') { |
|
||||
const res = await axios.put('/system/user/password', { |
|
||||
userId, |
|
||||
password |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 导入用户 |
|
||||
* @param file excel文件 |
|
||||
*/ |
|
||||
export async function importUsers(file) { |
|
||||
const formData = new FormData(); |
|
||||
formData.append('file', file); |
|
||||
const res = await axios.post('/system/user/import', formData); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 检查用户是否存在 |
|
||||
* @param field 检查的字段 |
|
||||
* @param value 字段的值 |
|
||||
* @param id 修改时的id |
|
||||
*/ |
|
||||
export async function checkExistence(field, value, id) { |
|
||||
const res = await axios.get('/system/user/existence', { |
|
||||
params: { field, value, id } |
|
||||
}); |
|
||||
if (res.data.code === 0) { |
|
||||
return res.data.message; |
|
||||
} |
|
||||
return Promise.reject(new Error(res.data.message)); |
|
||||
} |
|
||||
@ -1,223 +0,0 @@ |
|||||
/** |
|
||||
* 分页查询通知 |
|
||||
*/ |
|
||||
export async function pageNotices() { |
|
||||
return { |
|
||||
count: 10, |
|
||||
list: [ |
|
||||
{ |
|
||||
id: 21, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 22, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 23, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 24, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 25, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 26, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 27, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 28, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 29, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 30, |
|
||||
title: 'EleAdmin新版本发布,欢迎体验', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
} |
|
||||
] |
|
||||
}; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 分页查询私信 |
|
||||
*/ |
|
||||
export async function pageLetters() { |
|
||||
return { |
|
||||
count: 10, |
|
||||
list: [ |
|
||||
{ |
|
||||
id: 11, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 12, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 13, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 14, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 15, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 16, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 17, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 18, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 19, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 20, |
|
||||
title: 'Jasmine给你发来了一条私信', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
} |
|
||||
] |
|
||||
}; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 分页查询代办 |
|
||||
*/ |
|
||||
export async function pageTodos() { |
|
||||
return { |
|
||||
count: 10, |
|
||||
list: [ |
|
||||
{ |
|
||||
id: 1, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 2, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 3, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 4, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 0 |
|
||||
}, |
|
||||
{ |
|
||||
id: 5, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 6, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 7, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 8, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 9, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
}, |
|
||||
{ |
|
||||
id: 10, |
|
||||
title: '你有两条任务待完成,不要忘了哦~', |
|
||||
time: '2020-07-24 11:35', |
|
||||
status: 1 |
|
||||
} |
|
||||
] |
|
||||
}; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 查询未读数量 |
|
||||
*/ |
|
||||
export async function getUnReadNum() { |
|
||||
return { |
|
||||
notice: 2, |
|
||||
letter: 3, |
|
||||
todo: 4 |
|
||||
}; |
|
||||
} |
|
||||
|
Before Width: | Height: | Size: 383 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
@ -1,21 +0,0 @@ |
|||||
/** 用于刷新的路由组件 */ |
|
||||
import { setRouteReload } from '@/utils/page-tab-util'; |
|
||||
|
|
||||
export default { |
|
||||
name: 'RedirectLayout', |
|
||||
created() { |
|
||||
const { params, query } = this.$route; |
|
||||
const from = Array.isArray(params.path) |
|
||||
? params.path.join('/') |
|
||||
: params.path; |
|
||||
const path = '/' + from; |
|
||||
setTimeout(() => { |
|
||||
setRouteReload(null).then(() => { |
|
||||
this.$router.replace({ path, query }); |
|
||||
}); |
|
||||
}, 100); |
|
||||
}, |
|
||||
render(h) { |
|
||||
return h('div'); |
|
||||
} |
|
||||
}; |
|
||||
@ -1,128 +0,0 @@ |
|||||
<!-- 省市区选择组件 --> |
|
||||
<template> |
|
||||
<el-cascader |
|
||||
clearable |
|
||||
:value="value" |
|
||||
:options="regionsData" |
|
||||
:placeholder="placeholder" |
|
||||
popper-class="ele-pop-wrap-higher" |
|
||||
:props="props" |
|
||||
@input="updateValue" |
|
||||
/> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { getRegionsData } from './load-data'; |
|
||||
|
|
||||
export default { |
|
||||
name: 'RegionsSelect', |
|
||||
props: { |
|
||||
value: Array, |
|
||||
placeholder: String, |
|
||||
options: Array, |
|
||||
valueField: { |
|
||||
type: String, |
|
||||
validator: (val) => { |
|
||||
return !val || val === 'label'; |
|
||||
} |
|
||||
}, |
|
||||
type: { |
|
||||
type: String, |
|
||||
validator: (type) => { |
|
||||
return !type || ['provinceCity', 'province'].includes(type); |
|
||||
} |
|
||||
}, |
|
||||
props: Object |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
// 级联选择器数据 |
|
||||
regionsData: [] |
|
||||
}; |
|
||||
}, |
|
||||
methods: { |
|
||||
// 更新value |
|
||||
updateValue(value) { |
|
||||
this.$emit('input', value); |
|
||||
}, |
|
||||
// 级联选择器数据value处理 |
|
||||
formatData(data) { |
|
||||
if (this.valueField === 'label') { |
|
||||
return data.map((d) => { |
|
||||
const item = { |
|
||||
label: d.label, |
|
||||
value: d.label |
|
||||
}; |
|
||||
if (d.children) { |
|
||||
item.children = d.children.map((c) => { |
|
||||
const cItem = { |
|
||||
label: c.label, |
|
||||
value: c.label |
|
||||
}; |
|
||||
if (c.children) { |
|
||||
cItem.children = c.children.map((cc) => { |
|
||||
return { |
|
||||
label: cc.label, |
|
||||
value: cc.label |
|
||||
}; |
|
||||
}); |
|
||||
} |
|
||||
return cItem; |
|
||||
}); |
|
||||
} |
|
||||
return item; |
|
||||
}); |
|
||||
} else { |
|
||||
return data; |
|
||||
} |
|
||||
}, |
|
||||
// 省市区数据筛选 |
|
||||
filterData(data) { |
|
||||
if (this.type === 'provinceCity') { |
|
||||
return this.formatData( |
|
||||
data.map((d) => { |
|
||||
const item = { |
|
||||
label: d.label, |
|
||||
value: d.value |
|
||||
}; |
|
||||
if (d.children) { |
|
||||
item.children = d.children.map((c) => { |
|
||||
return { |
|
||||
label: c.label, |
|
||||
value: c.value |
|
||||
}; |
|
||||
}); |
|
||||
} |
|
||||
return item; |
|
||||
}) |
|
||||
); |
|
||||
} else if (this.type === 'province') { |
|
||||
return this.formatData( |
|
||||
data.map((d) => { |
|
||||
return { |
|
||||
label: d.label, |
|
||||
value: d.value |
|
||||
}; |
|
||||
}) |
|
||||
); |
|
||||
} else { |
|
||||
return this.formatData(data); |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
options: { |
|
||||
handler(options) { |
|
||||
this.regionsData = this.filterData(options ?? []); |
|
||||
if (!options) { |
|
||||
getRegionsData().then((data) => { |
|
||||
this.regionsData = this.filterData(data ?? []); |
|
||||
this.$emit('load-data-done', data); |
|
||||
}); |
|
||||
} |
|
||||
}, |
|
||||
immediate: true |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
@ -1,24 +0,0 @@ |
|||||
import request from '@/utils/request'; |
|
||||
const BASE_URL = process.env.BASE_URL; |
|
||||
let reqPromise; |
|
||||
|
|
||||
/** |
|
||||
* 获取省市区数据 |
|
||||
*/ |
|
||||
export function getRegionsData() { |
|
||||
if (!reqPromise) { |
|
||||
reqPromise = new Promise((resolve, reject) => { |
|
||||
request |
|
||||
.get(BASE_URL + 'json/regions-data.json', { |
|
||||
baseURL: '' |
|
||||
}) |
|
||||
.then((res) => { |
|
||||
resolve(res.data ?? []); |
|
||||
}) |
|
||||
.catch((e) => { |
|
||||
reject(e); |
|
||||
}); |
|
||||
}); |
|
||||
} |
|
||||
return reqPromise; |
|
||||
} |
|
||||
@ -1,17 +0,0 @@ |
|||||
<!-- router-view 结合 keep-alive 组件 --> |
|
||||
<template> |
|
||||
<keep-alive :include="include"> |
|
||||
<router-view /> |
|
||||
</keep-alive> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
name: 'RouterLayout', |
|
||||
computed: { |
|
||||
include() { |
|
||||
return this.$store.getters['theme/keepAliveInclude'] ?? []; |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
@ -1,265 +0,0 @@ |
|||||
<!-- tinymce富文本编辑器组件 --> |
|
||||
<template> |
|
||||
<editor |
|
||||
:init="config" |
|
||||
:value="value" |
|
||||
:disabled="disabled" |
|
||||
@input="updateValue" |
|
||||
/> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
const BASE_URL = process.env.BASE_URL; |
|
||||
import Editor from '@tinymce/tinymce-vue'; |
|
||||
import tinymce from 'tinymce/tinymce'; |
|
||||
import 'tinymce/icons/default'; |
|
||||
import 'tinymce/themes/silver'; |
|
||||
import 'tinymce/plugins/code'; |
|
||||
import 'tinymce/plugins/print'; |
|
||||
import 'tinymce/plugins/preview'; |
|
||||
import 'tinymce/plugins/fullscreen'; |
|
||||
import 'tinymce/plugins/paste'; |
|
||||
import 'tinymce/plugins/searchreplace'; |
|
||||
import 'tinymce/plugins/save'; |
|
||||
import 'tinymce/plugins/autosave'; |
|
||||
import 'tinymce/plugins/link'; |
|
||||
import 'tinymce/plugins/autolink'; |
|
||||
import 'tinymce/plugins/image'; |
|
||||
//import 'tinymce/plugins/imagetools'; |
|
||||
import 'tinymce/plugins/media'; |
|
||||
import 'tinymce/plugins/table'; |
|
||||
import 'tinymce/plugins/codesample'; |
|
||||
import 'tinymce/plugins/lists'; |
|
||||
import 'tinymce/plugins/advlist'; |
|
||||
import 'tinymce/plugins/hr'; |
|
||||
import 'tinymce/plugins/charmap'; |
|
||||
import 'tinymce/plugins/emoticons'; |
|
||||
import 'tinymce/plugins/anchor'; |
|
||||
import 'tinymce/plugins/directionality'; |
|
||||
import 'tinymce/plugins/pagebreak'; |
|
||||
import 'tinymce/plugins/quickbars'; |
|
||||
import 'tinymce/plugins/nonbreaking'; |
|
||||
import 'tinymce/plugins/visualblocks'; |
|
||||
import 'tinymce/plugins/visualchars'; |
|
||||
import 'tinymce/plugins/wordcount'; |
|
||||
import 'tinymce/plugins/emoticons/js/emojis'; |
|
||||
// 默认配置 |
|
||||
const DEFAULT_CONFIG = { |
|
||||
height: 300, |
|
||||
branding: false, |
|
||||
skin_url: BASE_URL + 'tinymce/skins/ui/oxide', |
|
||||
content_css: BASE_URL + 'tinymce/skins/content/default/content.min.css', |
|
||||
language_url: BASE_URL + 'tinymce/langs/zh_CN.js', |
|
||||
language: 'zh_CN', |
|
||||
plugins: [ |
|
||||
'code', |
|
||||
'print', |
|
||||
'preview', |
|
||||
'fullscreen', |
|
||||
'paste', |
|
||||
'searchreplace', |
|
||||
'save', |
|
||||
'autosave', |
|
||||
'link', |
|
||||
'autolink', |
|
||||
'image', |
|
||||
//'imagetools', |
|
||||
'media', |
|
||||
'table', |
|
||||
'codesample', |
|
||||
'lists', |
|
||||
'advlist', |
|
||||
'hr', |
|
||||
'charmap', |
|
||||
'emoticons', |
|
||||
'anchor', |
|
||||
'directionality', |
|
||||
'pagebreak', |
|
||||
'quickbars', |
|
||||
'nonbreaking', |
|
||||
'visualblocks', |
|
||||
'visualchars', |
|
||||
'wordcount' |
|
||||
].join(' '), |
|
||||
toolbar: [ |
|
||||
'fullscreen', |
|
||||
'preview', |
|
||||
'code', |
|
||||
'|', |
|
||||
'undo', |
|
||||
'redo', |
|
||||
'|', |
|
||||
'forecolor', |
|
||||
'backcolor', |
|
||||
'|', |
|
||||
'bold', |
|
||||
'italic', |
|
||||
'underline', |
|
||||
'strikethrough', |
|
||||
'|', |
|
||||
'alignleft', |
|
||||
'aligncenter', |
|
||||
'alignright', |
|
||||
'alignjustify', |
|
||||
'|', |
|
||||
'outdent', |
|
||||
'indent', |
|
||||
'|', |
|
||||
'numlist', |
|
||||
'bullist', |
|
||||
'|', |
|
||||
'formatselect', |
|
||||
'fontselect', |
|
||||
'fontsizeselect', |
|
||||
'|', |
|
||||
'link', |
|
||||
'image', |
|
||||
'media', |
|
||||
'emoticons', |
|
||||
'charmap', |
|
||||
'anchor', |
|
||||
'pagebreak', |
|
||||
'codesample', |
|
||||
'|', |
|
||||
'ltr', |
|
||||
'rtl' |
|
||||
].join(' '), |
|
||||
draggable_modal: true, |
|
||||
toolbar_mode: 'sliding', |
|
||||
images_upload_handler: (blobInfo, success) => { |
|
||||
success('data:image/jpeg;base64,' + blobInfo.base64()); |
|
||||
}, |
|
||||
file_picker_types: 'media', |
|
||||
file_picker_callback: () => {} |
|
||||
}; |
|
||||
// 暗黑主题 |
|
||||
const DARK_CONFIG = { |
|
||||
skin_url: BASE_URL + 'tinymce/skins/ui/oxide-dark', |
|
||||
content_css: BASE_URL + 'tinymce/skins/content/dark/content.min.css' |
|
||||
}; |
|
||||
|
|
||||
/** |
|
||||
* 切换编辑器主题 |
|
||||
* @param dark 是否是暗黑主题 |
|
||||
*/ |
|
||||
function changeEditorTheme(dark) { |
|
||||
[].forEach.call(document.head.querySelectorAll('[id^="mce-"]'), (elem) => { |
|
||||
let href = elem.getAttribute('href'); |
|
||||
if (href.includes('/oxide-dark/')) { |
|
||||
if (!dark) { |
|
||||
href = href.replace('/oxide-dark/', '/oxide/'); |
|
||||
elem.setAttribute('href', href); |
|
||||
} |
|
||||
} else if (dark) { |
|
||||
href = href.replace('/oxide/', '/oxide-dark/'); |
|
||||
elem.setAttribute('href', href); |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
// 切换编辑器内容区的主题 |
|
||||
[].forEach.call( |
|
||||
document.body.querySelectorAll('iframe[id^="tiny-vue_"]'), |
|
||||
(frame) => { |
|
||||
const win = frame.contentWindow; |
|
||||
if (win) { |
|
||||
const doc = win.document; |
|
||||
if (doc) { |
|
||||
[].forEach.call( |
|
||||
doc.head.querySelectorAll('[id^="mce-"]'), |
|
||||
(elem) => { |
|
||||
let href = elem.getAttribute('href'); |
|
||||
if (href.includes('/skins/ui/')) { |
|
||||
if (href.includes('/oxide-dark/')) { |
|
||||
if (!dark) { |
|
||||
href = href.replace('/oxide-dark/', '/oxide/'); |
|
||||
elem.setAttribute('href', href); |
|
||||
} |
|
||||
} else if (dark) { |
|
||||
href = href.replace('/oxide/', '/oxide-dark/'); |
|
||||
elem.setAttribute('href', href); |
|
||||
} |
|
||||
} else if (href.includes('/skins/content/')) { |
|
||||
if (href.includes('/dark/')) { |
|
||||
if (!dark) { |
|
||||
href = href.replace('/dark/', '/default/'); |
|
||||
elem.setAttribute('href', href); |
|
||||
} |
|
||||
} else if (dark) { |
|
||||
href = href.replace('/default/', '/dark/'); |
|
||||
elem.setAttribute('href', href); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
); |
|
||||
} |
|
||||
|
|
||||
export default { |
|
||||
name: 'TinymceEditor', |
|
||||
components: { Editor }, |
|
||||
props: { |
|
||||
// 值(v-model) |
|
||||
value: String, |
|
||||
// 编辑器配置 |
|
||||
init: Object, |
|
||||
// 是否禁用 |
|
||||
disabled: Boolean, |
|
||||
// 自动跟随框架主题 |
|
||||
autoTheme: { |
|
||||
type: Boolean, |
|
||||
default: true |
|
||||
}, |
|
||||
// 是否使用暗黑主题 |
|
||||
darkTheme: Boolean |
|
||||
}, |
|
||||
data() { |
|
||||
const darkMode = this.$store?.state?.theme?.darkMode; |
|
||||
const isDark = this.autoTheme ? darkMode : this.darkTheme; |
|
||||
return { |
|
||||
// 编辑器配置 |
|
||||
config: Object.assign( |
|
||||
{}, |
|
||||
DEFAULT_CONFIG, |
|
||||
isDark ? DARK_CONFIG : {}, |
|
||||
this.init |
|
||||
) |
|
||||
}; |
|
||||
}, |
|
||||
computed: { |
|
||||
// 是否是暗黑模式 |
|
||||
darkMode() { |
|
||||
return this.$store?.state?.theme?.darkMode; |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
tinymce.init({}); |
|
||||
}, |
|
||||
methods: { |
|
||||
/* 更新value */ |
|
||||
updateValue(value) { |
|
||||
this.$emit('input', value); |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
darkMode(darkMode) { |
|
||||
if (this.autoTheme) { |
|
||||
changeEditorTheme(darkMode); |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
activated() { |
|
||||
if (this.autoTheme) { |
|
||||
changeEditorTheme(this.darkMode); |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style> |
|
||||
body .tox-tinymce-aux { |
|
||||
z-index: 19990000; |
|
||||
} |
|
||||
</style> |
|
||||
@ -1,98 +0,0 @@ |
|||||
<!-- 二维码组件 --> |
|
||||
<template> |
|
||||
<div ref="root"></div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import QRCode from 'qrcodejs2'; |
|
||||
|
|
||||
export default { |
|
||||
name: 'VueQrCode', |
|
||||
props: { |
|
||||
text: String, |
|
||||
width: { |
|
||||
type: Number, |
|
||||
default: 256 |
|
||||
}, |
|
||||
height: { |
|
||||
type: Number, |
|
||||
default: 256 |
|
||||
}, |
|
||||
colorDark: { |
|
||||
type: String, |
|
||||
default: '#000000' |
|
||||
}, |
|
||||
colorLight: { |
|
||||
type: String, |
|
||||
default: '#ffffff' |
|
||||
}, |
|
||||
correctLevel: { |
|
||||
type: Number, |
|
||||
default: QRCode.CorrectLevel.H |
|
||||
} |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
instance: undefined |
|
||||
}; |
|
||||
}, |
|
||||
mounted() { |
|
||||
if (this.text) { |
|
||||
this.render(); |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
render() { |
|
||||
this.clear(); |
|
||||
this.instance = new QRCode(this.getEl(), { |
|
||||
text: this.text, |
|
||||
width: this.width, |
|
||||
height: this.height, |
|
||||
colorDark: this.colorDark, |
|
||||
colorLight: this.colorLight, |
|
||||
correctLevel: this.correctLevel |
|
||||
}); |
|
||||
}, |
|
||||
makeCode(value) { |
|
||||
if (this.instance) { |
|
||||
this.instance.makeCode(value); |
|
||||
} else { |
|
||||
this.render(); |
|
||||
} |
|
||||
}, |
|
||||
clear() { |
|
||||
this.instance?.clear(); |
|
||||
this.instance = undefined; |
|
||||
this.getEl().innerHTML = ''; |
|
||||
this.getEl().title = ''; |
|
||||
}, |
|
||||
getEl() { |
|
||||
return this.$refs.root; |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
text(text) { |
|
||||
if (text) { |
|
||||
this.makeCode(text); |
|
||||
} else { |
|
||||
this.clear(); |
|
||||
} |
|
||||
}, |
|
||||
width() { |
|
||||
this.render(); |
|
||||
}, |
|
||||
height() { |
|
||||
this.render(); |
|
||||
}, |
|
||||
colorDark() { |
|
||||
this.render(); |
|
||||
}, |
|
||||
colorLight() { |
|
||||
this.render(); |
|
||||
}, |
|
||||
correctLevel() { |
|
||||
this.render(); |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
@ -1,57 +0,0 @@ |
|||||
// 接口地址
|
|
||||
export const API_BASE_URL = process.env.VUE_APP_API_BASE_URL; |
|
||||
|
|
||||
// 项目名称
|
|
||||
export const PROJECT_NAME = process.env.VUE_APP_NAME; |
|
||||
|
|
||||
// 不显示侧栏的路由
|
|
||||
export const HIDE_SIDEBARS = []; |
|
||||
|
|
||||
// 不显示页脚的路由
|
|
||||
export const HIDE_FOOTERS = [ |
|
||||
'/system/dictionary', |
|
||||
'/system/organization', |
|
||||
'/form/advanced', |
|
||||
'/example/choose' |
|
||||
]; |
|
||||
|
|
||||
// 页签同路由不同参数可重复打开的路由
|
|
||||
export const REPEATABLE_TABS = ['/system/user-info']; |
|
||||
|
|
||||
// 不需要登录的路由
|
|
||||
export const WHITE_LIST = ['/login', '/forget']; |
|
||||
|
|
||||
// 直接指定菜单数据
|
|
||||
export const USER_MENUS = null; |
|
||||
|
|
||||
// 首页名称, 为空则取第一个菜单的名称
|
|
||||
export const HOME_TITLE = null; |
|
||||
|
|
||||
// 首页路径, 为空则取第一个菜单的地址
|
|
||||
export const HOME_PATH = null; |
|
||||
|
|
||||
// 开启多页签是否缓存组件
|
|
||||
//export const TAB_KEEP_ALIVE = process.env.NODE_ENV !== 'development';
|
|
||||
export const TAB_KEEP_ALIVE = true; |
|
||||
|
|
||||
// token传递的header名称
|
|
||||
export const TOKEN_HEADER_NAME = 'Authorization'; |
|
||||
|
|
||||
// token存储的名称
|
|
||||
export const TOKEN_STORE_NAME = 'access_token'; |
|
||||
|
|
||||
// 主题配置存储的名称
|
|
||||
export const THEME_STORE_NAME = 'theme'; |
|
||||
|
|
||||
// i18n缓存的名称
|
|
||||
export const I18N_CACHE_NAME = 'i18n-lang'; |
|
||||
|
|
||||
// 刷新路由的路由地址
|
|
||||
export const REDIRECT_PATH = '/redirect'; |
|
||||
|
|
||||
// 高德地图key
|
|
||||
export const MAP_KEY = '006d995d433058322319fa797f2876f5'; |
|
||||
|
|
||||
// EleAdmin授权码
|
|
||||
export const LICENSE_CODE = |
|
||||
'dk9mcwJyetRWQlxWRiojIqJWdzJCLi4Wam2q5iojI0NWZRqL5Tip5JGr5Aqo5Re656mp5sWY5QmZ6Jyp5t9GZiwiI4+Y5tVGZiojIulWYp1GZhVGbl5ybpJCLi02bj5ibtFGRtEjI6ICZ2JCLiw2cnVkViojIu9WazJXZQfiAjL44SM0NW=='; |
|
||||
@ -1,29 +0,0 @@ |
|||||
/** |
|
||||
* 国际化配置 |
|
||||
*/ |
|
||||
import Vue from 'vue'; |
|
||||
import VueI18n from 'vue-i18n'; |
|
||||
import eleZhCNLocale from 'ele-admin/es/lang/zh-CN'; |
|
||||
import eleZhTWLocale from 'ele-admin/es/lang/zh-TW'; |
|
||||
import eleEnLocale from 'ele-admin/es/lang/en'; |
|
||||
import zhCNLocale from './lang/zh_CN'; |
|
||||
import zhTWLocale from './lang/zh_TW'; |
|
||||
import enLocale from './lang/en'; |
|
||||
import { I18N_CACHE_NAME } from '@/config/setting'; |
|
||||
|
|
||||
Vue.use(VueI18n); |
|
||||
|
|
||||
const messages = { |
|
||||
zh_CN: { ...eleZhCNLocale, ...zhCNLocale }, |
|
||||
zh_TW: { ...eleZhTWLocale, ...zhTWLocale }, |
|
||||
en: { ...eleEnLocale, ...enLocale } |
|
||||
}; |
|
||||
|
|
||||
const i18n = new VueI18n({ |
|
||||
messages: messages, |
|
||||
silentTranslationWarn: true, |
|
||||
// 默认语言
|
|
||||
locale: localStorage.getItem(I18N_CACHE_NAME) || 'zh_CN' |
|
||||
}); |
|
||||
|
|
||||
export default i18n; |
|
||||
@ -1,186 +0,0 @@ |
|||||
/** |
|
||||
* 英语 |
|
||||
*/ |
|
||||
export default { |
|
||||
// 菜单路由
|
|
||||
route: { |
|
||||
dashboard: { |
|
||||
_name: 'Dashboard', |
|
||||
workplace: { _name: 'Workplace' }, |
|
||||
analysis: { _name: 'Analysis' }, |
|
||||
monitor: { _name: 'Monitor' } |
|
||||
}, |
|
||||
system: { |
|
||||
_name: 'System', |
|
||||
user: { |
|
||||
_name: 'User' |
|
||||
}, |
|
||||
role: { _name: 'Role' }, |
|
||||
menu: { _name: 'Menu' }, |
|
||||
dictionary: { _name: 'Dictionary' }, |
|
||||
organization: { _name: 'Organization' }, |
|
||||
loginRecord: { _name: 'LoginRecord' }, |
|
||||
operationRecord: { _name: 'OperationRecord' }, |
|
||||
userInfo: { _name: '' } |
|
||||
}, |
|
||||
form: { |
|
||||
_name: 'Form', |
|
||||
basic: { _name: 'Basic Form' }, |
|
||||
advanced: { _name: 'Advanced Form' }, |
|
||||
step: { _name: 'Step Form' } |
|
||||
}, |
|
||||
list: { |
|
||||
_name: 'List', |
|
||||
basic: { _name: 'Basic List' }, |
|
||||
advanced: { _name: 'Advanced List' }, |
|
||||
card: { |
|
||||
_name: 'Card List', |
|
||||
project: { _name: 'Project' }, |
|
||||
application: { _name: 'Application' }, |
|
||||
article: { _name: 'Article' } |
|
||||
} |
|
||||
}, |
|
||||
result: { |
|
||||
_name: 'Result', |
|
||||
success: { _name: 'Success' }, |
|
||||
fail: { _name: 'Fail' } |
|
||||
}, |
|
||||
exception: { |
|
||||
_name: 'Exception', |
|
||||
403: { _name: '403' }, |
|
||||
404: { _name: '404' }, |
|
||||
500: { _name: '500' } |
|
||||
}, |
|
||||
user: { |
|
||||
_name: 'User', |
|
||||
profile: { _name: 'Profile' }, |
|
||||
message: { _name: 'Message' } |
|
||||
}, |
|
||||
extension: { |
|
||||
_name: 'Extension', |
|
||||
icon: { _name: 'Icon' }, |
|
||||
file: { _name: 'File' }, |
|
||||
printer: { _name: 'Printer' }, |
|
||||
excel: { _name: 'Excel' }, |
|
||||
dragsort: { _name: 'DragSort' }, |
|
||||
message: { _name: 'Message' }, |
|
||||
map: { _name: 'Map' }, |
|
||||
player: { _name: 'Player' }, |
|
||||
editor: { _name: 'Editor' }, |
|
||||
tag: { _name: 'Tags' }, |
|
||||
colorPicker: { _name: 'ColorPicker' }, |
|
||||
regions: { _name: 'CitySelect' }, |
|
||||
countUp: { _name: 'CountUp' }, |
|
||||
empty: { _name: 'Empty' }, |
|
||||
steps: { _name: 'Steps' }, |
|
||||
menu: { _name: 'Menu' }, |
|
||||
treeSelect: { _name: 'TreeSelect' }, |
|
||||
tableSelect: { _name: 'TableSelect' }, |
|
||||
qrCode: { _name: 'QRCode' }, |
|
||||
dialog: { _name: 'DragDialog' } |
|
||||
}, |
|
||||
example: { |
|
||||
_name: 'Example', |
|
||||
table: { _name: 'ProTable' }, |
|
||||
menuBadge: { _name: 'MenuBadge' }, |
|
||||
document: { _name: 'Document' }, |
|
||||
choose: { _name: 'Choose' }, |
|
||||
eleadmin: { _name: 'IFrame' } |
|
||||
}, |
|
||||
'https://eleadminCom/goods/8': { _name: 'Authorization' } |
|
||||
}, |
|
||||
// 主框架
|
|
||||
layout: { |
|
||||
home: 'Home', |
|
||||
header: { |
|
||||
profile: 'Profile', |
|
||||
password: 'Password', |
|
||||
logout: 'SignOut' |
|
||||
}, |
|
||||
footer: { |
|
||||
website: 'Website', |
|
||||
document: 'Document', |
|
||||
authorization: 'Authorization', |
|
||||
copyright: 'Copyright © 2022 Wuhan EClouds Technology Co., Ltd' |
|
||||
}, |
|
||||
logout: { |
|
||||
title: 'Confirm', |
|
||||
message: 'Are you sure you want to log out?' |
|
||||
}, |
|
||||
setting: { |
|
||||
title: 'Theme Setting', |
|
||||
sideStyles: { |
|
||||
dark: 'Dark Sidebar', |
|
||||
light: 'Light Sidebar' |
|
||||
}, |
|
||||
headStyles: { |
|
||||
light: 'Light Header', |
|
||||
dark: 'Dark Header', |
|
||||
primary: 'Primary Header' |
|
||||
}, |
|
||||
layoutStyles: { |
|
||||
side: 'Side Menu Layout', |
|
||||
top: 'Top Menu Layout', |
|
||||
mix: 'Mix Menu Layout' |
|
||||
}, |
|
||||
colors: { |
|
||||
default: 'Daybreak Blue', |
|
||||
dust: 'Dust Blue', |
|
||||
sunset: 'Sunset Orange', |
|
||||
volcano: 'Volcano', |
|
||||
purple: 'Golden Purple', |
|
||||
cyan: 'Cyan', |
|
||||
green: 'Polar Green', |
|
||||
geekblue: 'Geek Blue' |
|
||||
}, |
|
||||
darkMode: 'Dark Mode', |
|
||||
layoutStyle: 'Navigation Mode', |
|
||||
sideMenuStyle: 'Sidebar Double Menu', |
|
||||
bodyFull: 'Body Fullscreen', |
|
||||
other: 'Other Setting', |
|
||||
fixedHeader: 'Fixed Header', |
|
||||
fixedSidebar: 'Fixed Sidebar', |
|
||||
fixedBody: 'Fixed Body', |
|
||||
logoAutoSize: 'Logo Adaptation', |
|
||||
colorfulIcon: 'Colorful Icon', |
|
||||
sideUniqueOpen: 'Menu Unique Open', |
|
||||
weakMode: 'Weak Mode', |
|
||||
showFooter: 'Show Footer', |
|
||||
showTabs: 'Show Tabs', |
|
||||
tabStyle: 'Tab Style', |
|
||||
tabStyles: { |
|
||||
default: 'Default', |
|
||||
dot: 'Dot', |
|
||||
card: 'Card' |
|
||||
}, |
|
||||
reset: 'Reset', |
|
||||
tips: 'It will remember your configuration the next time you open it.' |
|
||||
} |
|
||||
}, |
|
||||
// 登录界面
|
|
||||
login: { |
|
||||
title: 'User Login', |
|
||||
username: 'please input username', |
|
||||
password: 'please input password', |
|
||||
code: 'please input code', |
|
||||
remember: 'remember', |
|
||||
forget: 'forget', |
|
||||
login: 'login', |
|
||||
loading: 'loading' |
|
||||
}, |
|
||||
// 基础列表
|
|
||||
list: { |
|
||||
basic: { |
|
||||
table: { |
|
||||
username: 'Username', |
|
||||
nickname: 'Nickname', |
|
||||
organizationName: 'OrganizationName', |
|
||||
phone: 'Phone', |
|
||||
sexName: 'SexName', |
|
||||
createTime: 'CreateTime', |
|
||||
status: 'Status', |
|
||||
action: 'Action' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
@ -1,187 +0,0 @@ |
|||||
/** |
|
||||
* 简体中文 |
|
||||
*/ |
|
||||
export default { |
|
||||
// 菜单路由
|
|
||||
route: { |
|
||||
dashboard: { |
|
||||
_name: 'Dashboard', |
|
||||
workplace: { _name: '工作台' }, |
|
||||
analysis: { _name: '分析页' }, |
|
||||
monitor: { _name: '监控页' } |
|
||||
}, |
|
||||
system: { |
|
||||
_name: '系统管理', |
|
||||
user: { |
|
||||
_name: '用户管理' |
|
||||
}, |
|
||||
role: { _name: '角色管理' }, |
|
||||
menu: { _name: '菜单管理' }, |
|
||||
dictionary: { _name: '字典管理' }, |
|
||||
organization: { _name: '机构管理' }, |
|
||||
loginRecord: { _name: '登录日志' }, |
|
||||
operationRecord: { _name: '操作日志' }, |
|
||||
userInfo: { _name: '' } |
|
||||
}, |
|
||||
form: { |
|
||||
_name: '表单页面', |
|
||||
basic: { _name: '基础表单' }, |
|
||||
advanced: { _name: '复杂表单' }, |
|
||||
step: { _name: '分步表单' } |
|
||||
}, |
|
||||
list: { |
|
||||
_name: '列表页面', |
|
||||
basic: { _name: '基础列表' }, |
|
||||
advanced: { _name: '复杂列表' }, |
|
||||
card: { |
|
||||
_name: '卡片列表', |
|
||||
project: { _name: '项目列表' }, |
|
||||
application: { _name: '应用列表' }, |
|
||||
article: { _name: '文章列表' } |
|
||||
} |
|
||||
}, |
|
||||
result: { |
|
||||
_name: '结果页面', |
|
||||
success: { _name: '成功页' }, |
|
||||
fail: { _name: '失败页' } |
|
||||
}, |
|
||||
exception: { |
|
||||
_name: '异常页面', |
|
||||
403: { _name: '403' }, |
|
||||
404: { _name: '404' }, |
|
||||
500: { _name: '500' } |
|
||||
}, |
|
||||
user: { |
|
||||
_name: '个人中心', |
|
||||
profile: { _name: '个人资料' }, |
|
||||
message: { _name: '我的消息' } |
|
||||
}, |
|
||||
extension: { |
|
||||
_name: '扩展组件', |
|
||||
icon: { _name: '图标扩展' }, |
|
||||
file: { _name: '文件列表' }, |
|
||||
printer: { _name: '打印插件' }, |
|
||||
excel: { _name: 'excel插件' }, |
|
||||
dragsort: { _name: '拖拽排序' }, |
|
||||
message: { _name: '消息提示' }, |
|
||||
map: { _name: '地图组件' }, |
|
||||
player: { _name: '视频播放' }, |
|
||||
editor: { _name: '富文本框' }, |
|
||||
tag: { _name: '标签组件' }, |
|
||||
colorPicker: { _name: '颜色选择' }, |
|
||||
regions: { _name: '城市选择' }, |
|
||||
countUp: { _name: '滚动数字' }, |
|
||||
empty: { _name: '空状态' }, |
|
||||
steps: { _name: '步骤条' }, |
|
||||
menu: { _name: '菜单导航' }, |
|
||||
treeSelect: { _name: '树形下拉' }, |
|
||||
tableSelect: { _name: '表格下拉' }, |
|
||||
qrCode: { _name: '二维码' }, |
|
||||
dialog: { _name: '拖拽弹窗' } |
|
||||
}, |
|
||||
example: { |
|
||||
_name: '常用实例', |
|
||||
table: { _name: '表格实例' }, |
|
||||
menuBadge: { _name: '菜单徽章' }, |
|
||||
document: { _name: '案卷调整' }, |
|
||||
choose: { _name: '批量选择' }, |
|
||||
eleadmin: { _name: '内嵌页面' } |
|
||||
}, |
|
||||
'https://eleadminCom/goods/8': { _name: '获取授权' } |
|
||||
}, |
|
||||
// 外层布局
|
|
||||
layout: { |
|
||||
home: '主页', |
|
||||
header: { |
|
||||
profile: '个人中心', |
|
||||
password: '修改密码', |
|
||||
logout: '退出登录' |
|
||||
}, |
|
||||
footer: { |
|
||||
website: '官网', |
|
||||
document: '文档', |
|
||||
authorization: '授权', |
|
||||
copyright: 'Copyright © 2022 武汉易云智科技有限公司' |
|
||||
}, |
|
||||
logout: { |
|
||||
title: '提示', |
|
||||
message: '确定要退出登录吗?' |
|
||||
}, |
|
||||
// 设置抽屉
|
|
||||
setting: { |
|
||||
title: '整体风格设置', |
|
||||
sideStyles: { |
|
||||
dark: '暗色侧边栏', |
|
||||
light: '亮色侧边栏' |
|
||||
}, |
|
||||
headStyles: { |
|
||||
light: '亮色顶栏', |
|
||||
dark: '暗色顶栏', |
|
||||
primary: '主色顶栏' |
|
||||
}, |
|
||||
layoutStyles: { |
|
||||
side: '左侧菜单布局', |
|
||||
top: '顶部菜单布局', |
|
||||
mix: '混合菜单布局' |
|
||||
}, |
|
||||
colors: { |
|
||||
default: '拂晓蓝', |
|
||||
dust: '薄暮', |
|
||||
sunset: '日暮', |
|
||||
volcano: '火山', |
|
||||
purple: '酱紫', |
|
||||
cyan: '明青', |
|
||||
green: '极光绿', |
|
||||
geekblue: '极客蓝' |
|
||||
}, |
|
||||
darkMode: '开启暗黑模式', |
|
||||
layoutStyle: '导航模式', |
|
||||
sideMenuStyle: '侧栏双排菜单', |
|
||||
bodyFull: '内容区域铺满', |
|
||||
other: '其它配置', |
|
||||
fixedHeader: '固定顶栏区域', |
|
||||
fixedSidebar: '固定侧栏区域', |
|
||||
fixedBody: '固定主体区域', |
|
||||
logoAutoSize: 'Logo宽度自动', |
|
||||
colorfulIcon: '侧栏彩色图标', |
|
||||
sideUniqueOpen: '侧栏排他展开', |
|
||||
weakMode: '开启色弱模式', |
|
||||
showFooter: '开启全局页脚', |
|
||||
showTabs: '开启多页签栏', |
|
||||
tabStyle: '页签显示风格', |
|
||||
tabStyles: { |
|
||||
default: '默认', |
|
||||
dot: '圆点', |
|
||||
card: '卡片' |
|
||||
}, |
|
||||
reset: '重置', |
|
||||
tips: '该功能可实时预览各种布局效果, 修改后会缓存在本地, 下次打开会记忆主题配置.' |
|
||||
} |
|
||||
}, |
|
||||
// 登录界面
|
|
||||
login: { |
|
||||
title: '用户登录', |
|
||||
username: '请输入登录账号', |
|
||||
password: '请输入登录密码', |
|
||||
code: '请输入验证码', |
|
||||
remember: '记住密码', |
|
||||
forget: '忘记密码', |
|
||||
login: '登录', |
|
||||
loading: '登录中' |
|
||||
}, |
|
||||
// 基础列表
|
|
||||
list: { |
|
||||
basic: { |
|
||||
table: { |
|
||||
username: '用户账号', |
|
||||
nickname: '用户名', |
|
||||
organizationName: '组织机构', |
|
||||
phone: '手机号', |
|
||||
sexName: '性别', |
|
||||
createTime: '创建时间', |
|
||||
status: '状态', |
|
||||
action: '操作' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
@ -1,186 +0,0 @@ |
|||||
/** |
|
||||
* 繁体中文 |
|
||||
*/ |
|
||||
export default { |
|
||||
// 菜单路由
|
|
||||
route: { |
|
||||
dashboard: { |
|
||||
_name: 'Dashboard', |
|
||||
workplace: { _name: '工作臺' }, |
|
||||
analysis: { _name: '分析頁' }, |
|
||||
monitor: { _name: '監控頁' } |
|
||||
}, |
|
||||
system: { |
|
||||
_name: '系統管理', |
|
||||
user: { |
|
||||
_name: '用戶管理' |
|
||||
}, |
|
||||
role: { _name: '角色管理' }, |
|
||||
menu: { _name: '選單管理' }, |
|
||||
dictionary: { _name: '字典管理' }, |
|
||||
organization: { _name: '機构管理' }, |
|
||||
loginRecord: { _name: '登入日誌' }, |
|
||||
operationRecord: { _name: '操作日誌' }, |
|
||||
userInfo: { _name: '' } |
|
||||
}, |
|
||||
form: { |
|
||||
_name: '表單頁面', |
|
||||
basic: { _name: '基礎表單' }, |
|
||||
advanced: { _name: '複雜表單' }, |
|
||||
step: { _name: '分步表單' } |
|
||||
}, |
|
||||
list: { |
|
||||
_name: '清單頁面', |
|
||||
basic: { _name: '基礎清單' }, |
|
||||
advanced: { _name: '複雜清單' }, |
|
||||
card: { |
|
||||
_name: '卡片清單', |
|
||||
project: { _name: '項目清單' }, |
|
||||
application: { _name: '應用清單' }, |
|
||||
article: { _name: '文章清單' } |
|
||||
} |
|
||||
}, |
|
||||
result: { |
|
||||
_name: '結果頁面', |
|
||||
success: { _name: '成功頁' }, |
|
||||
fail: { _name: '失敗頁' } |
|
||||
}, |
|
||||
exception: { |
|
||||
_name: '异常頁面', |
|
||||
403: { _name: '403' }, |
|
||||
404: { _name: '404' }, |
|
||||
500: { _name: '500' } |
|
||||
}, |
|
||||
user: { |
|
||||
_name: '個人中心', |
|
||||
profile: { _name: '個人資料' }, |
|
||||
message: { _name: '我的消息' } |
|
||||
}, |
|
||||
extension: { |
|
||||
_name: '擴展組件', |
|
||||
icon: { _name: '圖標擴展' }, |
|
||||
file: { _name: '檔案清單' }, |
|
||||
printer: { _name: '列印挿件' }, |
|
||||
excel: { _name: 'excel挿件' }, |
|
||||
dragsort: { _name: '拖拽排序' }, |
|
||||
message: { _name: '消息提示' }, |
|
||||
map: { _name: '地圖組件' }, |
|
||||
player: { _name: '視頻播放' }, |
|
||||
editor: { _name: '富文本框' }, |
|
||||
tag: { _name: '標籤組件' }, |
|
||||
colorPicker: { _name: '顏色選擇' }, |
|
||||
regions: { _name: '城市選擇' }, |
|
||||
countUp: { _name: '滾動數字' }, |
|
||||
empty: { _name: '空狀態' }, |
|
||||
steps: { _name: '步驟條' }, |
|
||||
menu: { _name: '菜單導航' }, |
|
||||
treeSelect: { _name: '樹形下拉' }, |
|
||||
tableSelect: { _name: '表格下拉' }, |
|
||||
qrCode: { _name: '二維碼' }, |
|
||||
dialog: { _name: '拖拽彈窗' } |
|
||||
}, |
|
||||
example: { |
|
||||
_name: '常用實例', |
|
||||
table: { _name: '表格實例' }, |
|
||||
menuBadge: { _name: '菜單徽章' }, |
|
||||
document: { _name: '案卷調整' }, |
|
||||
choose: { _name: '批量選擇' }, |
|
||||
eleadmin: { _name: '內嵌頁面' } |
|
||||
}, |
|
||||
'https://eleadminCom/goods/8': { _name: '獲取授權' } |
|
||||
}, |
|
||||
// 主框架
|
|
||||
layout: { |
|
||||
home: '主頁', |
|
||||
header: { |
|
||||
profile: '個人中心', |
|
||||
password: '修改密碼', |
|
||||
logout: '安全登出' |
|
||||
}, |
|
||||
footer: { |
|
||||
website: '官網', |
|
||||
document: '檔案', |
|
||||
authorization: '授權', |
|
||||
copyright: 'Copyright © 2022 武漢易雲智科技有限公司' |
|
||||
}, |
|
||||
logout: { |
|
||||
title: '詢問', |
|
||||
message: '確定要登出嗎?' |
|
||||
}, |
|
||||
setting: { |
|
||||
title: '整體風格設定', |
|
||||
sideStyles: { |
|
||||
dark: '暗色側邊欄', |
|
||||
light: '亮色側邊欄' |
|
||||
}, |
|
||||
headStyles: { |
|
||||
light: '亮色頂欄', |
|
||||
dark: '暗色頂欄', |
|
||||
primary: '主色頂欄' |
|
||||
}, |
|
||||
layoutStyles: { |
|
||||
side: '左側選單佈局', |
|
||||
top: '頂部選單佈局', |
|
||||
mix: '混合選單佈局' |
|
||||
}, |
|
||||
colors: { |
|
||||
default: '拂曉藍', |
|
||||
dust: '薄暮', |
|
||||
sunset: '日暮', |
|
||||
volcano: '火山', |
|
||||
purple: '醬紫', |
|
||||
cyan: '明青', |
|
||||
green: '極光綠', |
|
||||
geekblue: '極客藍' |
|
||||
}, |
|
||||
darkMode: '開啟暗黑模式', |
|
||||
layoutStyle: '導航模式', |
|
||||
sideMenuStyle: '側欄雙排選單', |
|
||||
bodyFull: '內容區域鋪滿', |
|
||||
other: '其它配寘', |
|
||||
fixedHeader: '固定頂欄區域', |
|
||||
fixedSidebar: '固定側欄區域', |
|
||||
fixedBody: '固定主體區域', |
|
||||
logoAutoSize: 'Logo寬度自動', |
|
||||
colorfulIcon: '側欄彩色圖標', |
|
||||
sideUniqueOpen: '側欄排他展開', |
|
||||
weakMode: '開啟色弱模式', |
|
||||
showFooter: '開啟全域頁腳', |
|
||||
showTabs: '開啟多頁簽欄', |
|
||||
tabStyle: '頁簽顯示風格', |
|
||||
tabStyles: { |
|
||||
default: '默認', |
|
||||
dot: '圓點', |
|
||||
card: '卡片' |
|
||||
}, |
|
||||
reset: '重置', |
|
||||
tips: '該功能可實时預覽各種佈局效果,修改後會緩存在本地,下次打開會記憶主題配寘.' |
|
||||
} |
|
||||
}, |
|
||||
// 登录界面
|
|
||||
login: { |
|
||||
title: '用戶登錄', |
|
||||
username: '請輸入登入帳號', |
|
||||
password: '請輸入登入密碼', |
|
||||
code: '請輸入驗證碼', |
|
||||
remember: '記住密碼', |
|
||||
forget: '忘記密碼', |
|
||||
login: '登入', |
|
||||
loading: '登入中' |
|
||||
}, |
|
||||
// 基础列表
|
|
||||
list: { |
|
||||
basic: { |
|
||||
table: { |
|
||||
username: '用戶賬號', |
|
||||
nickname: '用戶名', |
|
||||
organizationName: '組織機構', |
|
||||
phone: '手機號', |
|
||||
sexName: '性別', |
|
||||
createTime: '創建時間', |
|
||||
status: '狀態', |
|
||||
action: '操作' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
@ -1,278 +0,0 @@ |
|||||
<!-- 顶栏消息通知 --> |
|
||||
<template> |
|
||||
<el-popover |
|
||||
:width="330" |
|
||||
trigger="click" |
|
||||
v-model="visible" |
|
||||
class="ele-notice-group" |
|
||||
transition="el-zoom-in-top" |
|
||||
popper-class="ele-notice-pop" |
|
||||
> |
|
||||
<div slot="reference" class="ele-notice-group"> |
|
||||
<el-badge :value="unreadNum" :hidden="!unreadNum"> |
|
||||
<i class="el-icon-bell"></i> |
|
||||
</el-badge> |
|
||||
</div> |
|
||||
<el-tabs v-model="active"> |
|
||||
<el-tab-pane name="notice" :label="noticeTitle"> |
|
||||
<div class="ele-notice-list ele-scrollbar-mini"> |
|
||||
<div |
|
||||
v-for="(item, index) in notice" |
|
||||
:key="index" |
|
||||
class="ele-notice-item" |
|
||||
> |
|
||||
<div class="ele-cell ele-notice-item-wrapper"> |
|
||||
<i :class="[item.icon, 'ele-notice-item-icon']"></i> |
|
||||
<div class="ele-cell-content"> |
|
||||
<div class="ele-elip">{{ item.title }}</div> |
|
||||
<div class="ele-text-secondary ele-elip">{{ item.time }}</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<el-divider /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div v-if="notice.length" class="ele-cell ele-notice-actions"> |
|
||||
<div class="ele-cell-content" @click="clearNotice">清空通知</div> |
|
||||
<el-divider direction="vertical" class="line-color-light" /> |
|
||||
<router-link to="/user/message?type=notice" class="ele-cell-content"> |
|
||||
查看更多 |
|
||||
</router-link> |
|
||||
</div> |
|
||||
<ele-empty v-if="!notice.length" text="已查看所有通知" /> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane name="letter" :label="letterTitle"> |
|
||||
<div class="ele-notice-list ele-scrollbar-mini"> |
|
||||
<div |
|
||||
v-for="(item, index) in letter" |
|
||||
:key="index" |
|
||||
class="ele-notice-item" |
|
||||
> |
|
||||
<div class="ele-cell ele-notice-item-wrapper ele-cell-align-top"> |
|
||||
<el-avatar :src="item.avatar" size="medium" /> |
|
||||
<div class="ele-cell-content"> |
|
||||
<div class="ele-elip">{{ item.title }}</div> |
|
||||
<div class="ele-text-secondary ele-elip"> |
|
||||
{{ item.content }} |
|
||||
</div> |
|
||||
<div class="ele-cell-desc ele-elip">{{ item.time }}</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<el-divider /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div v-if="letter.length" class="ele-cell ele-notice-actions"> |
|
||||
<div class="ele-cell-content" @click="clearLetter">清空私信</div> |
|
||||
<el-divider direction="vertical" class="line-color-light" /> |
|
||||
<router-link to="/user/message?type=letter" class="ele-cell-content"> |
|
||||
查看更多 |
|
||||
</router-link> |
|
||||
</div> |
|
||||
<ele-empty v-if="!letter.length" text="已读完所有私信" /> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane :label="todoTitle" name="todo"> |
|
||||
<div class="ele-notice-list ele-scrollbar-mini"> |
|
||||
<div |
|
||||
v-for="(item, index) in todo" |
|
||||
:key="index" |
|
||||
class="ele-notice-item" |
|
||||
> |
|
||||
<div class="ele-notice-item-wrapper"> |
|
||||
<div class="ele-cell ele-cell-align-top"> |
|
||||
<div class="ele-cell-content ele-elip">{{ item.title }}</div> |
|
||||
<el-tag size="mini" :type="['info', 'danger', ''][item.status]"> |
|
||||
{{ ['未开始', '即将到期', '进行中'][item.status] }} |
|
||||
</el-tag> |
|
||||
</div> |
|
||||
<div class="ele-text-secondary ele-elip"> |
|
||||
{{ item.description }} |
|
||||
</div> |
|
||||
</div> |
|
||||
<el-divider /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div v-if="todo.length" class="ele-cell ele-notice-actions"> |
|
||||
<div class="ele-cell-content" @click="clearTodo">清空待办</div> |
|
||||
<el-divider direction="vertical" class="line-color-light" /> |
|
||||
<router-link to="/user/message?type=todo" class="ele-cell-content"> |
|
||||
查看更多 |
|
||||
</router-link> |
|
||||
</div> |
|
||||
<ele-empty v-if="!todo.length" text="已完成所有任务" /> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
</el-popover> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { getUnreadNotice } from '@/api/layout'; |
|
||||
|
|
||||
export default { |
|
||||
name: 'HeaderNotice', |
|
||||
data() { |
|
||||
return { |
|
||||
// 是否显示 |
|
||||
visible: false, |
|
||||
// 选项卡选中 |
|
||||
active: 'notice', |
|
||||
// 通知数据 |
|
||||
notice: [], |
|
||||
// 私信数据 |
|
||||
letter: [], |
|
||||
// 待办数据 |
|
||||
todo: [] |
|
||||
}; |
|
||||
}, |
|
||||
computed: { |
|
||||
// 通知标题 |
|
||||
noticeTitle() { |
|
||||
return '通知' + (this.notice.length ? `(${this.notice.length})` : ''); |
|
||||
}, |
|
||||
// 私信标题 |
|
||||
letterTitle() { |
|
||||
return '私信' + (this.letter.length ? `(${this.letter.length})` : ''); |
|
||||
}, |
|
||||
// 待办标题 |
|
||||
todoTitle() { |
|
||||
return '待办' + (this.todo.length ? `(${this.todo.length})` : ''); |
|
||||
}, |
|
||||
// 未读数量 |
|
||||
unreadNum() { |
|
||||
return this.notice.length + this.letter.length + this.todo.length; |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
this.query(); |
|
||||
}, |
|
||||
methods: { |
|
||||
/* 查询数据 */ |
|
||||
query() { |
|
||||
getUnreadNotice() |
|
||||
.then((result) => { |
|
||||
this.notice = result.notice; |
|
||||
this.letter = result.letter; |
|
||||
this.todo = result.todo; |
|
||||
}) |
|
||||
.catch((e) => { |
|
||||
this.$message.error(e.message); |
|
||||
}); |
|
||||
}, |
|
||||
/* 清空通知 */ |
|
||||
clearNotice() { |
|
||||
this.notice = []; |
|
||||
}, |
|
||||
/* 清空通知 */ |
|
||||
clearLetter() { |
|
||||
this.letter = []; |
|
||||
}, |
|
||||
/* 清空通知 */ |
|
||||
clearTodo() { |
|
||||
this.todo = []; |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
.ele-notice-group { |
|
||||
display: block; |
|
||||
|
|
||||
.el-badge { |
|
||||
line-height: 1; |
|
||||
display: block; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* 消息通知pop */ |
|
||||
.ele-notice-pop { |
|
||||
padding: 0 !important; |
|
||||
|
|
||||
/* tab */ |
|
||||
.el-tabs__nav-scroll { |
|
||||
text-align: center; |
|
||||
} |
|
||||
|
|
||||
.el-tabs__nav { |
|
||||
float: none; |
|
||||
display: inline-block; |
|
||||
} |
|
||||
|
|
||||
.el-tabs__item { |
|
||||
height: 44px; |
|
||||
line-height: 44px; |
|
||||
padding: 0 20px !important; |
|
||||
} |
|
||||
|
|
||||
/* 空视图 */ |
|
||||
.ele-empty { |
|
||||
padding: 100px 0; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* 列表 */ |
|
||||
.ele-notice-list { |
|
||||
padding-top: 8px; |
|
||||
max-height: 360px; |
|
||||
overflow: auto; |
|
||||
} |
|
||||
|
|
||||
.ele-notice-item { |
|
||||
.ele-notice-item-wrapper { |
|
||||
padding: 12px 15px; |
|
||||
transition: background-color 0.2s; |
|
||||
cursor: pointer; |
|
||||
|
|
||||
&:hover { |
|
||||
background-color: hsla(0, 0%, 60%, 0.05); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.ele-text-secondary { |
|
||||
margin-top: 5px; |
|
||||
font-size: 13px; |
|
||||
} |
|
||||
|
|
||||
.ele-cell-desc { |
|
||||
margin-top: 3px !important; |
|
||||
font-size: 12px !important; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.ele-notice-item-icon { |
|
||||
width: 32px; |
|
||||
height: 32px; |
|
||||
line-height: 32px !important; |
|
||||
color: #fff; |
|
||||
font-size: 16px; |
|
||||
background-color: #60b2fc; |
|
||||
border-radius: 50%; |
|
||||
text-align: center; |
|
||||
|
|
||||
&.el-icon-s-check { |
|
||||
background-color: #f5686f; |
|
||||
} |
|
||||
|
|
||||
&.el-icon-video-camera { |
|
||||
background-color: #7cd734; |
|
||||
} |
|
||||
|
|
||||
&.el-icon-s-claim { |
|
||||
background-color: #faad14; |
|
||||
} |
|
||||
|
|
||||
&.el-icon-message-solid { |
|
||||
background-color: #2bcacd; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* 操作按钮 */ |
|
||||
.ele-notice-actions > .ele-cell-content { |
|
||||
line-height: 42px; |
|
||||
text-align: center; |
|
||||
cursor: pointer; |
|
||||
color: inherit; |
|
||||
|
|
||||
&:hover { |
|
||||
background-color: hsla(0, 0%, 60%, 0.05); |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
||||
@ -1,144 +0,0 @@ |
|||||
<!-- 顶栏右侧区域 --> |
|
||||
<template> |
|
||||
<div class="ele-admin-header-tool"> |
|
||||
<!-- 全屏切换 --> |
|
||||
<div |
|
||||
class="ele-admin-header-tool-item hidden-xs-only" |
|
||||
@click="toggleFullscreen" |
|
||||
> |
|
||||
<i v-if="fullscreen" class="el-icon-_screen-restore"></i> |
|
||||
<i v-else class="el-icon-_screen-full"></i> |
|
||||
</div> |
|
||||
<!-- 语言切换 --> |
|
||||
<div class="ele-admin-header-tool-item"> |
|
||||
<el-dropdown placement="bottom" @command="changeLanguage"> |
|
||||
<i class="el-icon-_language"></i> |
|
||||
<el-dropdown-menu slot="dropdown"> |
|
||||
<el-dropdown-item command="en"> |
|
||||
<span :class="{ 'ele-text-primary': language === 'en' }"> |
|
||||
English |
|
||||
</span> |
|
||||
</el-dropdown-item> |
|
||||
<el-dropdown-item command="zh_CN"> |
|
||||
<span :class="{ 'ele-text-primary': language === 'zh_CN' }"> |
|
||||
简体中文 |
|
||||
</span> |
|
||||
</el-dropdown-item> |
|
||||
<el-dropdown-item command="zh_TW"> |
|
||||
<span :class="{ 'ele-text-primary': language === 'zh_TW' }"> |
|
||||
繁體中文 |
|
||||
</span> |
|
||||
</el-dropdown-item> |
|
||||
</el-dropdown-menu> |
|
||||
</el-dropdown> |
|
||||
</div> |
|
||||
<!-- 消息通知 --> |
|
||||
<div class="ele-admin-header-tool-item"> |
|
||||
<header-notice /> |
|
||||
</div> |
|
||||
<!-- 用户信息 --> |
|
||||
<div class="ele-admin-header-tool-item"> |
|
||||
<el-dropdown @command="onUserDropClick"> |
|
||||
<div class="ele-admin-header-avatar"> |
|
||||
<el-avatar :src="loginUser.avatar" /> |
|
||||
<span class="hidden-xs-only">{{ loginUser.nickname }}</span> |
|
||||
<i class="el-icon-arrow-down"></i> |
|
||||
</div> |
|
||||
<el-dropdown-menu slot="dropdown"> |
|
||||
<el-dropdown-item command="profile" icon="el-icon-user"> |
|
||||
{{ $t('layout.header.profile') }} |
|
||||
</el-dropdown-item> |
|
||||
<el-dropdown-item command="password" icon="el-icon-key"> |
|
||||
{{ $t('layout.header.password') }} |
|
||||
</el-dropdown-item> |
|
||||
<el-dropdown-item |
|
||||
command="logout" |
|
||||
icon="el-icon-switch-button" |
|
||||
divided |
|
||||
> |
|
||||
{{ $t('layout.header.logout') }} |
|
||||
</el-dropdown-item> |
|
||||
</el-dropdown-menu> |
|
||||
</el-dropdown> |
|
||||
</div> |
|
||||
<!-- 主题设置 --> |
|
||||
<div class="ele-admin-header-tool-item" @click="openSetting"> |
|
||||
<i class="el-icon-_more"></i> |
|
||||
</div> |
|
||||
<!-- 修改密码弹窗 --> |
|
||||
<password-modal :visible.sync="passwordVisible" /> |
|
||||
<!-- 主题设置抽屉 --> |
|
||||
<setting-drawer :visible.sync="settingVisible" /> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import HeaderNotice from './header-notice.vue'; |
|
||||
import PasswordModal from './password-modal.vue'; |
|
||||
import SettingDrawer from './setting-drawer.vue'; |
|
||||
import { logout } from '@/utils/page-tab-util'; |
|
||||
import { I18N_CACHE_NAME } from '@/config/setting'; |
|
||||
|
|
||||
export default { |
|
||||
name: 'HeaderTools', |
|
||||
components: { HeaderNotice, PasswordModal, SettingDrawer }, |
|
||||
props: { |
|
||||
// 是否是全屏 |
|
||||
fullscreen: Boolean |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
// 是否显示修改密码弹窗 |
|
||||
passwordVisible: false, |
|
||||
// 是否显示主题设置抽屉 |
|
||||
settingVisible: false |
|
||||
}; |
|
||||
}, |
|
||||
computed: { |
|
||||
// 当前用户信息 |
|
||||
loginUser() { |
|
||||
return this.$store.state.user.info; |
|
||||
}, |
|
||||
// 当前显示语言 |
|
||||
language() { |
|
||||
return this.$i18n.locale; |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
/* 用户信息下拉点击事件 */ |
|
||||
onUserDropClick(command) { |
|
||||
if (command === 'password') { |
|
||||
this.passwordVisible = true; |
|
||||
} else if (command === 'profile') { |
|
||||
if (this.$route.fullPath !== '/user/profile') { |
|
||||
this.$router.push('/user/profile'); |
|
||||
} |
|
||||
} else if (command === 'logout') { |
|
||||
// 退出登录 |
|
||||
this.$confirm( |
|
||||
this.$t('layout.logout.message'), |
|
||||
this.$t('layout.logout.title'), |
|
||||
{ type: 'warning' } |
|
||||
) |
|
||||
.then(() => { |
|
||||
logout(); |
|
||||
}) |
|
||||
.catch(() => {}); |
|
||||
} |
|
||||
}, |
|
||||
/* 全屏切换 */ |
|
||||
toggleFullscreen() { |
|
||||
this.$emit('fullscreen'); |
|
||||
}, |
|
||||
/* 打开设置抽屉 */ |
|
||||
openSetting() { |
|
||||
this.settingVisible = true; |
|
||||
}, |
|
||||
/* 切换语言 */ |
|
||||
changeLanguage(key) { |
|
||||
this.$i18n.locale = key; |
|
||||
localStorage.setItem(I18N_CACHE_NAME, key); |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
@ -1,35 +0,0 @@ |
|||||
<!-- 全局页脚 --> |
|
||||
<template> |
|
||||
<div class="ele-text-center" style="padding: 16px 0"> |
|
||||
<div> |
|
||||
<a target="_blank" class="ele-text-secondary" href="https://eleadmin.com"> |
|
||||
{{ $t('layout.footer.website') }} |
|
||||
</a> |
|
||||
<em></em> |
|
||||
<a |
|
||||
target="_blank" |
|
||||
class="ele-text-secondary" |
|
||||
href="https://eleadmin.com/doc/eleadmin/" |
|
||||
> |
|
||||
{{ $t('layout.footer.document') }} |
|
||||
</a> |
|
||||
<em></em> |
|
||||
<a |
|
||||
target="_blank" |
|
||||
class="ele-text-secondary" |
|
||||
href="https://eleadmin.com/goods/8" |
|
||||
> |
|
||||
{{ $t('layout.footer.authorization') }} |
|
||||
</a> |
|
||||
</div> |
|
||||
<div class="ele-text-secondary" style="margin-top: 8px"> |
|
||||
{{ $t('layout.footer.copyright') }} |
|
||||
</div> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
name: 'PageFooter' |
|
||||
}; |
|
||||
</script> |
|
||||
@ -1,137 +0,0 @@ |
|||||
<!-- 修改密码弹窗 --> |
|
||||
<template> |
|
||||
<ele-modal |
|
||||
width="420px" |
|
||||
title="修改密码" |
|
||||
:visible="visible" |
|
||||
:append-to-body="true" |
|
||||
:close-on-click-modal="true" |
|
||||
@update:visible="updateVisible" |
|
||||
@closed="onClose" |
|
||||
> |
|
||||
<el-form |
|
||||
ref="form" |
|
||||
:model="form" |
|
||||
:rules="rules" |
|
||||
label-width="82px" |
|
||||
@keyup.enter.native="save" |
|
||||
> |
|
||||
<el-form-item label="旧密码:" prop="oldPassword"> |
|
||||
<el-input |
|
||||
show-password |
|
||||
v-model="form.oldPassword" |
|
||||
placeholder="请输入旧密码" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="新密码:" prop="password"> |
|
||||
<el-input |
|
||||
show-password |
|
||||
v-model="form.password" |
|
||||
placeholder="请输入新密码" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="确认密码:" prop="password2"> |
|
||||
<el-input |
|
||||
show-password |
|
||||
v-model="form.password2" |
|
||||
placeholder="请再次输入新密码" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
<div slot="footer"> |
|
||||
<el-button @click="updateVisible(false)">取消</el-button> |
|
||||
<el-button type="primary" @click="save">确定</el-button> |
|
||||
</div> |
|
||||
</ele-modal> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { updatePassword } from '@/api/layout'; |
|
||||
|
|
||||
export default { |
|
||||
name: 'PasswordModal', |
|
||||
props: { |
|
||||
visible: Boolean |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
// 按钮loading |
|
||||
loading: false, |
|
||||
// 表单数据 |
|
||||
form: { |
|
||||
oldPassword: '', |
|
||||
password: '', |
|
||||
password2: '' |
|
||||
}, |
|
||||
// 表单验证 |
|
||||
rules: { |
|
||||
oldPassword: [ |
|
||||
{ |
|
||||
required: true, |
|
||||
message: '请输入旧密码', |
|
||||
trigger: 'blur' |
|
||||
} |
|
||||
], |
|
||||
password: [ |
|
||||
{ |
|
||||
required: true, |
|
||||
message: '请输入新密码', |
|
||||
trigger: 'blur' |
|
||||
} |
|
||||
], |
|
||||
password2: [ |
|
||||
{ |
|
||||
required: true, |
|
||||
trigger: 'blur', |
|
||||
validator: (_rule, value, callback) => { |
|
||||
if (!value) { |
|
||||
return callback(new Error('请再次输入新密码')); |
|
||||
} |
|
||||
if (value !== this.form.password) { |
|
||||
return callback(new Error('两次输入密码不一致')); |
|
||||
} |
|
||||
callback(); |
|
||||
} |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
}; |
|
||||
}, |
|
||||
methods: { |
|
||||
/* 修改visible */ |
|
||||
updateVisible(value) { |
|
||||
this.$emit('update:visible', value); |
|
||||
}, |
|
||||
/* 保存修改 */ |
|
||||
save() { |
|
||||
this.$refs['form'].validate((valid) => { |
|
||||
if (valid) { |
|
||||
this.loading = true; |
|
||||
updatePassword(this.form) |
|
||||
.then((msg) => { |
|
||||
this.loading = false; |
|
||||
this.$message.success(msg); |
|
||||
this.updateVisible(false); |
|
||||
}) |
|
||||
.catch((e) => { |
|
||||
this.loading = false; |
|
||||
this.$message.error(e.message); |
|
||||
}); |
|
||||
} else { |
|
||||
return false; |
|
||||
} |
|
||||
}); |
|
||||
}, |
|
||||
/* 关闭回调 */ |
|
||||
onClose() { |
|
||||
this.form = { |
|
||||
oldPassword: '', |
|
||||
password: '', |
|
||||
password2: '' |
|
||||
}; |
|
||||
this.$refs['form'].resetFields(); |
|
||||
this.loading = false; |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
@ -1,627 +0,0 @@ |
|||||
<!-- 主题设置抽屉 --> |
|
||||
<template> |
|
||||
<el-drawer |
|
||||
size="300px" |
|
||||
:visible="visible" |
|
||||
:append-to-body="true" |
|
||||
:title="$t('layout.setting.title')" |
|
||||
@update:visible="updateVisible" |
|
||||
> |
|
||||
<div |
|
||||
:class="['ele-setting-wrapper', { 'ele-setting-dark': theme.darkMode }]" |
|
||||
> |
|
||||
<!-- 侧栏风格 --> |
|
||||
<div class="ele-setting-theme ele-text-primary"> |
|
||||
<el-tooltip |
|
||||
:content="$t('layout.setting.sideStyles.dark')" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div |
|
||||
class="ele-bg-base ele-side-dark" |
|
||||
@click="updateSideStyle('dark')" |
|
||||
> |
|
||||
<i class="el-icon-check" v-if="theme.sideStyle === 'dark'"></i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
<el-tooltip |
|
||||
:content="$t('layout.setting.sideStyles.light')" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div class="ele-bg-base" @click="updateSideStyle('light')"> |
|
||||
<i class="el-icon-check" v-if="theme.sideStyle === 'light'"></i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
</div> |
|
||||
<!-- 顶栏风格 --> |
|
||||
<div class="ele-setting-theme ele-text-primary"> |
|
||||
<el-tooltip |
|
||||
:content="$t('layout.setting.headStyles.light')" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div |
|
||||
class="ele-bg-base ele-head-light" |
|
||||
@click="updateHeadStyle('light')" |
|
||||
> |
|
||||
<i class="el-icon-check" v-if="theme.headStyle === 'light'"></i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
<el-tooltip |
|
||||
:content="$t('layout.setting.headStyles.dark')" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div |
|
||||
class="ele-bg-base ele-head-dark" |
|
||||
@click="updateHeadStyle('dark')" |
|
||||
> |
|
||||
<i class="el-icon-check" v-if="theme.headStyle === 'dark'"></i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
<el-tooltip |
|
||||
:content="$t('layout.setting.headStyles.primary')" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div |
|
||||
class="ele-bg-base ele-head-primary" |
|
||||
@click="updateHeadStyle('primary')" |
|
||||
> |
|
||||
<div class="ele-bg-primary"></div> |
|
||||
<i class="el-icon-check" v-if="theme.headStyle === 'primary'"></i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
</div> |
|
||||
<!-- 主题色 --> |
|
||||
<div class="ele-setting-colors"> |
|
||||
<el-tooltip |
|
||||
v-for="item in themes" |
|
||||
:key="item.name" |
|
||||
:content="$t('layout.setting.colors.' + item.name)" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div |
|
||||
class="ele-setting-color-item" |
|
||||
:style="{ 'background-color': item.color || item.value }" |
|
||||
@click="updateColor(item.value)" |
|
||||
> |
|
||||
<i |
|
||||
class="el-icon-check" |
|
||||
v-if="item.value ? item.value === theme.color : !theme.color" |
|
||||
> |
|
||||
</i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
<!-- 颜色选择器 --> |
|
||||
<el-color-picker |
|
||||
v-model="colorValue" |
|
||||
:predefine="predefineColors" |
|
||||
class="ele-setting-color-picker" |
|
||||
@change="updateColor" |
|
||||
/> |
|
||||
</div> |
|
||||
<!-- 暗黑模式 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.darkMode') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.darkMode" @change="updateDarkMode" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<el-divider /> |
|
||||
<!-- 导航布局 --> |
|
||||
<div class="ele-setting-title ele-text-secondary"> |
|
||||
{{ $t('layout.setting.layoutStyle') }} |
|
||||
</div> |
|
||||
<div class="ele-setting-theme ele-text-primary"> |
|
||||
<el-tooltip |
|
||||
:content="$t('layout.setting.layoutStyles.side')" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div |
|
||||
class="ele-bg-base ele-side-dark" |
|
||||
@click="updateLayoutStyle('side')" |
|
||||
> |
|
||||
<i class="el-icon-check" v-if="theme.layoutStyle === 'side'"></i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
<el-tooltip |
|
||||
:content="$t('layout.setting.layoutStyles.top')" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div |
|
||||
class="ele-bg-base ele-head-dark" |
|
||||
@click="updateLayoutStyle('top')" |
|
||||
> |
|
||||
<i class="el-icon-check" v-if="theme.layoutStyle === 'top'"></i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
<el-tooltip |
|
||||
:content="$t('layout.setting.layoutStyles.mix')" |
|
||||
placement="top" |
|
||||
> |
|
||||
<div |
|
||||
class="ele-bg-base ele-layout-mix" |
|
||||
@click="updateLayoutStyle('mix')" |
|
||||
> |
|
||||
<i class="el-icon-check" v-if="theme.layoutStyle === 'mix'"></i> |
|
||||
</div> |
|
||||
</el-tooltip> |
|
||||
</div> |
|
||||
<!-- 侧栏菜单布局 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.sideMenuStyle') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch |
|
||||
:value="theme.sideMenuStyle === 'mix'" |
|
||||
@change="updateSideMenuStyle" |
|
||||
/> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 内容区域铺满 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.bodyFull') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.bodyFull" @change="updateBodyFull" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<el-divider /> |
|
||||
<div class="ele-setting-title ele-text-secondary"> |
|
||||
{{ $t('layout.setting.other') }} |
|
||||
</div> |
|
||||
<!-- 固定顶栏 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.fixedHeader') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.fixedHeader" @change="updateFixedHeader" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 固定侧栏 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.fixedSidebar') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.fixedSidebar" @change="updateFixedSidebar" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 固定主体 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.fixedBody') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.fixedBody" @change="updateFixedBody" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- LOGO自适应宽度 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.logoAutoSize') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.logoAutoSize" @change="updateLogoAutoSize" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 侧栏彩色图标 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.colorfulIcon') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.colorfulIcon" @change="updateColorfulIcon" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 侧栏排他展开 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.sideUniqueOpen') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch |
|
||||
:value="theme.sideUniqueOpen" |
|
||||
@change="updateSideUniqueOpen" |
|
||||
/> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 全局页脚 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.showFooter') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.showFooter" @change="updateShowFooter" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 色弱模式 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.weakMode') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.weakMode" @change="updateWeakMode" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 页签 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.showTabs') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-switch :value="theme.showTabs" @change="updateShowTabs" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!-- 页签风格 --> |
|
||||
<div class="ele-setting-item"> |
|
||||
<div class="setting-item-title"> |
|
||||
{{ $t('layout.setting.tabStyle') }} |
|
||||
</div> |
|
||||
<div class="setting-item-control"> |
|
||||
<el-select |
|
||||
size="mini" |
|
||||
:value="theme.tabStyle" |
|
||||
@change="updateTabStyle" |
|
||||
> |
|
||||
<el-option |
|
||||
:label="$t('layout.setting.tabStyles.default')" |
|
||||
value="default" |
|
||||
/> |
|
||||
<el-option |
|
||||
:label="$t('layout.setting.tabStyles.dot')" |
|
||||
value="dot" |
|
||||
/> |
|
||||
<el-option |
|
||||
:label="$t('layout.setting.tabStyles.card')" |
|
||||
value="card" |
|
||||
/> |
|
||||
</el-select> |
|
||||
</div> |
|
||||
</div> |
|
||||
<el-divider /> |
|
||||
<!-- 提示 --> |
|
||||
<el-alert |
|
||||
type="warning" |
|
||||
:closable="false" |
|
||||
class="ele-alert-border" |
|
||||
:title="$t('layout.setting.tips')" |
|
||||
/> |
|
||||
<!-- 重置 --> |
|
||||
<div class="ele-setting-button-group"> |
|
||||
<el-button |
|
||||
size="small" |
|
||||
class="ele-fluid" |
|
||||
icon="el-icon-refresh-left" |
|
||||
@click="resetSetting" |
|
||||
> |
|
||||
{{ $t('layout.setting.reset') }} |
|
||||
</el-button> |
|
||||
</div> |
|
||||
</div> |
|
||||
</el-drawer> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { mapGetters } from 'vuex'; |
|
||||
import { messageLoading } from 'ele-admin'; |
|
||||
// 主题列表 |
|
||||
const themes = [ |
|
||||
{ |
|
||||
name: 'default', |
|
||||
color: '#1890ff' |
|
||||
}, |
|
||||
{ |
|
||||
name: 'dust', |
|
||||
value: '#5f80c7' |
|
||||
}, |
|
||||
{ |
|
||||
name: 'sunset', |
|
||||
value: '#faad14' |
|
||||
}, |
|
||||
{ |
|
||||
name: 'volcano', |
|
||||
value: '#f5686f' |
|
||||
}, |
|
||||
{ |
|
||||
name: 'purple', |
|
||||
value: '#9266f9' |
|
||||
}, |
|
||||
{ |
|
||||
name: 'green', |
|
||||
value: '#33cc99' |
|
||||
}, |
|
||||
{ |
|
||||
name: 'geekblue', |
|
||||
value: '#32a2d4' |
|
||||
} |
|
||||
]; |
|
||||
// 颜色选择器预设颜色 |
|
||||
const predefineColors = [ |
|
||||
'#f5222d', |
|
||||
'#fa541c', |
|
||||
'#fa8c16', |
|
||||
'#faad14', |
|
||||
'#a0d911', |
|
||||
'#52c41a', |
|
||||
'#13c2c2', |
|
||||
'#2f54eb', |
|
||||
'#722ed1', |
|
||||
'#eb2f96' |
|
||||
]; |
|
||||
|
|
||||
export default { |
|
||||
name: 'SettingDrawer', |
|
||||
props: { |
|
||||
// 是否显示, 支持.sync修饰 |
|
||||
visible: Boolean |
|
||||
}, |
|
||||
data() { |
|
||||
const color = this.$store.state.theme.color; |
|
||||
// 颜色选择器选中颜色 |
|
||||
const colorValue = |
|
||||
color && !themes.some((t) => t.value === color) ? color : undefined; |
|
||||
return { |
|
||||
themes, |
|
||||
predefineColors, |
|
||||
colorValue |
|
||||
}; |
|
||||
}, |
|
||||
computed: { |
|
||||
...mapGetters(['theme']) |
|
||||
}, |
|
||||
methods: { |
|
||||
updateVisible(value) { |
|
||||
this.$emit('update:visible', value); |
|
||||
}, |
|
||||
updateShowTabs(value) { |
|
||||
this.$store.dispatch('theme/setShowTabs', value); |
|
||||
}, |
|
||||
updateShowFooter(value) { |
|
||||
this.$store.dispatch('theme/setShowFooter', value); |
|
||||
}, |
|
||||
updateHeadStyle(value) { |
|
||||
this.$store.dispatch('theme/setHeadStyle', value); |
|
||||
}, |
|
||||
updateSideStyle(value) { |
|
||||
this.$store.dispatch('theme/setSideStyle', value); |
|
||||
}, |
|
||||
updateLayoutStyle(value) { |
|
||||
this.$store.dispatch('theme/setLayoutStyle', value); |
|
||||
}, |
|
||||
updateSideMenuStyle(value) { |
|
||||
this.$store.dispatch( |
|
||||
'theme/setSideMenuStyle', |
|
||||
value ? 'mix' : 'default' |
|
||||
); |
|
||||
}, |
|
||||
updateTabStyle(value) { |
|
||||
this.$store.dispatch('theme/setTabStyle', value); |
|
||||
}, |
|
||||
updateFixedHeader(value) { |
|
||||
this.$store.dispatch('theme/setFixedHeader', value); |
|
||||
}, |
|
||||
updateFixedSidebar(value) { |
|
||||
this.$store.dispatch('theme/setFixedSidebar', value); |
|
||||
}, |
|
||||
updateFixedBody(value) { |
|
||||
this.$store.dispatch('theme/setFixedBody', value); |
|
||||
}, |
|
||||
updateBodyFull(value) { |
|
||||
this.$store.dispatch('theme/setBodyFull', value); |
|
||||
}, |
|
||||
updateLogoAutoSize(value) { |
|
||||
this.$store.dispatch('theme/setLogoAutoSize', value); |
|
||||
}, |
|
||||
updateColorfulIcon(value) { |
|
||||
this.$store.dispatch('theme/setColorfulIcon', value); |
|
||||
}, |
|
||||
updateSideUniqueOpen(value) { |
|
||||
this.$store.dispatch('theme/setSideUniqueOpen', value); |
|
||||
}, |
|
||||
updateWeakMode(value) { |
|
||||
this.$store.dispatch('theme/setWeakMode', value); |
|
||||
}, |
|
||||
updateDarkMode(value) { |
|
||||
this.doWithLoading(() => |
|
||||
this.$store.dispatch('theme/setDarkMode', value) |
|
||||
); |
|
||||
}, |
|
||||
updateColor(value) { |
|
||||
this.colorValue = undefined; |
|
||||
this.doWithLoading(() => this.$store.dispatch('theme/setColor', value)); |
|
||||
}, |
|
||||
resetSetting() { |
|
||||
this.doWithLoading(() => this.$store.dispatch('theme/resetSetting')); |
|
||||
}, |
|
||||
doWithLoading(fun) { |
|
||||
const loading = messageLoading('正在加载主题..'); |
|
||||
fun() |
|
||||
.then(() => { |
|
||||
loading.close(); |
|
||||
}) |
|
||||
.catch((e) => { |
|
||||
loading.close(); |
|
||||
console.error(e); |
|
||||
this.$message.error('主题加载失败'); |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
.ele-setting-wrapper { |
|
||||
padding: 20px 18px; |
|
||||
|
|
||||
.ele-setting-title { |
|
||||
font-size: 13px; |
|
||||
margin-bottom: 15px; |
|
||||
} |
|
||||
|
|
||||
/* 主题风格 */ |
|
||||
.ele-setting-theme > div { |
|
||||
width: 52px; |
|
||||
height: 36px; |
|
||||
line-height: 1; |
|
||||
font-size: 18px; |
|
||||
border-radius: 3px; |
|
||||
margin: 0 20px 30px 0; |
|
||||
padding: 14px 0 0 24px; |
|
||||
box-sizing: border-box; |
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); |
|
||||
display: inline-block; |
|
||||
vertical-align: top; |
|
||||
position: relative; |
|
||||
overflow: hidden; |
|
||||
cursor: pointer; |
|
||||
transition: background-color 0.2s; |
|
||||
|
|
||||
&:before, |
|
||||
&:after, |
|
||||
& > .ele-bg-primary { |
|
||||
content: ''; |
|
||||
width: 100%; |
|
||||
height: 10px; |
|
||||
background: #fff; |
|
||||
position: absolute; |
|
||||
left: 0; |
|
||||
top: 0; |
|
||||
transition: background-color 0.2s; |
|
||||
} |
|
||||
|
|
||||
&:after { |
|
||||
width: 14px; |
|
||||
height: 100%; |
|
||||
} |
|
||||
|
|
||||
&.ele-side-dark:after, |
|
||||
&.ele-head-dark:before, |
|
||||
&.ele-layout-mix:before, |
|
||||
&.ele-layout-mix:after { |
|
||||
background: #001529; |
|
||||
} |
|
||||
|
|
||||
&.ele-head-light:before, |
|
||||
&.ele-head-dark:before, |
|
||||
& > .ele-bg-primary { |
|
||||
z-index: 1; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* 主题色选择 */ |
|
||||
.ele-setting-colors { |
|
||||
color: #fff; |
|
||||
margin-bottom: 20px; |
|
||||
|
|
||||
.ele-setting-color-item { |
|
||||
width: 20px; |
|
||||
height: 20px; |
|
||||
line-height: 22px; |
|
||||
border-radius: 2px; |
|
||||
margin: 8px 8px 0 0; |
|
||||
display: inline-block; |
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); |
|
||||
vertical-align: top; |
|
||||
position: relative; |
|
||||
text-align: center; |
|
||||
cursor: pointer; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* 主题配置项 */ |
|
||||
.ele-setting-item { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
margin-bottom: 20px; |
|
||||
|
|
||||
.setting-item-title { |
|
||||
flex: 1; |
|
||||
line-height: 28px; |
|
||||
} |
|
||||
|
|
||||
.setting-item-control { |
|
||||
line-height: 1; |
|
||||
max-width: 95px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
.el-divider { |
|
||||
margin-bottom: 20px; |
|
||||
} |
|
||||
|
|
||||
.el-alert + .ele-setting-button-group { |
|
||||
margin-top: 15px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* 适配暗黑模式 */ |
|
||||
.ele-setting-dark .ele-setting-theme > div { |
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.55); |
|
||||
|
|
||||
&:before, |
|
||||
&:after, |
|
||||
& > .ele-bg-primary { |
|
||||
background: #1f1f1f; |
|
||||
} |
|
||||
|
|
||||
&.ele-side-dark:after, |
|
||||
&.ele-head-dark:before, |
|
||||
&.ele-layout-mix:before, |
|
||||
&.ele-layout-mix:after { |
|
||||
background: #262626; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/* 颜色选择器 */ |
|
||||
.ele-setting-color-picker.el-color-picker { |
|
||||
height: auto; |
|
||||
margin-top: 8px; |
|
||||
|
|
||||
.el-color-picker__trigger { |
|
||||
padding: 0; |
|
||||
width: 20px; |
|
||||
height: 20px; |
|
||||
border: none; |
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); |
|
||||
} |
|
||||
|
|
||||
.el-color-picker__color { |
|
||||
border: none; |
|
||||
} |
|
||||
|
|
||||
.el-color-picker__color-inner { |
|
||||
border-radius: 2px; |
|
||||
} |
|
||||
|
|
||||
.el-color-picker__empty { |
|
||||
background: conic-gradient( |
|
||||
from 90deg at 50% 50%, |
|
||||
rgb(255, 0, 0) -19.41deg, |
|
||||
rgb(255, 0, 0) 18.76deg, |
|
||||
rgb(255, 138, 0) 59.32deg, |
|
||||
rgb(255, 230, 0) 99.87deg, |
|
||||
rgb(20, 255, 0) 141.65deg, |
|
||||
rgb(0, 163, 255) 177.72deg, |
|
||||
rgb(5, 0, 255) 220.23deg, |
|
||||
rgb(173, 0, 255) 260.13deg, |
|
||||
rgb(255, 0, 199) 300.69deg, |
|
||||
rgb(255, 0, 0) 340.59deg, |
|
||||
rgb(255, 0, 0) 378.76deg |
|
||||
); |
|
||||
top: 0; |
|
||||
left: 0; |
|
||||
right: 0; |
|
||||
bottom: 0; |
|
||||
transform: none; |
|
||||
border-radius: 2px; |
|
||||
font-size: 0; |
|
||||
} |
|
||||
|
|
||||
.el-color-picker__icon { |
|
||||
font-size: 14px; |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
||||
@ -1,262 +0,0 @@ |
|||||
<!-- 框架布局 --> |
|
||||
<template> |
|
||||
<ele-pro-layout |
|
||||
:menus="menus" |
|
||||
:tabs="theme.tabs" |
|
||||
:collapse="theme.collapse" |
|
||||
:side-nav-collapse="theme.sideNavCollapse" |
|
||||
:body-fullscreen="theme.bodyFullscreen" |
|
||||
:show-tabs="theme.showTabs" |
|
||||
:show-footer="theme.showFooter" |
|
||||
:head-style="theme.headStyle" |
|
||||
:side-style="theme.sideStyle" |
|
||||
:layout-style="theme.layoutStyle" |
|
||||
:side-menu-style="theme.sideMenuStyle" |
|
||||
:tab-style="theme.tabStyle" |
|
||||
:fixed-header="theme.fixedHeader" |
|
||||
:fixed-sidebar="theme.fixedSidebar" |
|
||||
:fixed-body="theme.fixedBody" |
|
||||
:body-full="theme.bodyFull" |
|
||||
:logo-auto-size="theme.logoAutoSize" |
|
||||
:colorful-icon="theme.colorfulIcon" |
|
||||
:side-unique-open="theme.sideUniqueOpen" |
|
||||
:project-name="PROJECT_NAME" |
|
||||
:hide-footers="HIDE_FOOTERS" |
|
||||
:hide-sidebars="HIDE_SIDEBARS" |
|
||||
:repeatable-tabs="REPEATABLE_TABS" |
|
||||
:home-title="homeTitle" |
|
||||
:locale="locale" |
|
||||
:i18n="i18n" |
|
||||
@update:collapse="updateCollapse" |
|
||||
@update:side-nav-collapse="updateSideNavCollapse" |
|
||||
@update:body-fullscreen="updateBodyFullscreen" |
|
||||
@tab-add="addPageTab" |
|
||||
@tab-remove="removePageTab" |
|
||||
@tab-remove-all="removeAllPageTab" |
|
||||
@tab-remove-left="removeLeftPageTab" |
|
||||
@tab-remove-right="removeRightPageTab" |
|
||||
@tab-remove-other="removeOtherPageTab" |
|
||||
@reload-page="reloadPageTab" |
|
||||
@logo-click="onLogoClick" |
|
||||
@screen-size-change="screenSizeChange" |
|
||||
@set-home-components="setHomeComponents" |
|
||||
> |
|
||||
<!-- 路由出口 --> |
|
||||
<router-layout /> |
|
||||
<!-- logo图标 --> |
|
||||
<template slot="logo"> |
|
||||
<img src="@/assets/logo.svg" alt="logo" /> |
|
||||
</template> |
|
||||
<!-- 顶栏右侧区域 --> |
|
||||
<template slot="right"> |
|
||||
<header-tools :fullscreen="fullscreen" @fullscreen="onFullscreen" /> |
|
||||
</template> |
|
||||
<!-- 全局页脚 --> |
|
||||
<template slot="footer"> |
|
||||
<page-footer /> |
|
||||
</template> |
|
||||
<!-- 自定义菜单标题增加徽章、小红点 --> |
|
||||
<template slot="title" slot-scope="{ title, item }"> |
|
||||
<span>{{ title }} </span> |
|
||||
<div v-if="item.meta && item.meta.badge" class="ele-menu-badge"> |
|
||||
<el-badge :value="item.meta.badge" :type="item.meta.badgeColor" /> |
|
||||
</div> |
|
||||
</template> |
|
||||
<template slot="top-title" slot-scope="{ title, item }"> |
|
||||
<span>{{ title }} </span> |
|
||||
<div v-if="item.meta && item.meta.badge" class="ele-menu-badge"> |
|
||||
<el-badge :value="item.meta.badge" :type="item.meta.badgeColor" /> |
|
||||
</div> |
|
||||
</template> |
|
||||
<template slot="nav-title" slot-scope="{ title, item }"> |
|
||||
<span>{{ title }} </span> |
|
||||
<div v-if="item.meta && item.meta.badge" class="ele-menu-badge"> |
|
||||
<el-badge :value="item.meta.badge" :type="item.meta.badgeColor" /> |
|
||||
</div> |
|
||||
</template> |
|
||||
</ele-pro-layout> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import { mapGetters } from 'vuex'; |
|
||||
import { toggleFullscreen, isFullscreen } from 'ele-admin'; |
|
||||
import RouterLayout from '@/components/RouterLayout/index.vue'; |
|
||||
import HeaderTools from './components/header-tools.vue'; |
|
||||
import PageFooter from './components/page-footer.vue'; |
|
||||
import { |
|
||||
PROJECT_NAME, |
|
||||
HIDE_SIDEBARS, |
|
||||
HIDE_FOOTERS, |
|
||||
REPEATABLE_TABS, |
|
||||
HOME_TITLE |
|
||||
} from '@/config/setting'; |
|
||||
import { |
|
||||
addPageTab, |
|
||||
removePageTab, |
|
||||
removeAllPageTab, |
|
||||
removeLeftPageTab, |
|
||||
removeRightPageTab, |
|
||||
removeOtherPageTab, |
|
||||
reloadPageTab, |
|
||||
setHomeComponents |
|
||||
} from '@/utils/page-tab-util'; |
|
||||
|
|
||||
export default { |
|
||||
name: 'EleLayout', |
|
||||
components: { |
|
||||
RouterLayout, |
|
||||
HeaderTools, |
|
||||
PageFooter |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
PROJECT_NAME, |
|
||||
HIDE_SIDEBARS, |
|
||||
HIDE_FOOTERS, |
|
||||
REPEATABLE_TABS, |
|
||||
// 是否全屏 |
|
||||
fullscreen: false |
|
||||
}; |
|
||||
}, |
|
||||
computed: { |
|
||||
// 当前语言 |
|
||||
locale() { |
|
||||
return this.$i18n.locale; |
|
||||
}, |
|
||||
// 主页标题 |
|
||||
homeTitle() { |
|
||||
return HOME_TITLE ?? this.$t('layout.home'); |
|
||||
}, |
|
||||
// 菜单数据 |
|
||||
menus() { |
|
||||
return this.$store.state.user.menus; |
|
||||
}, |
|
||||
// 主题状态 |
|
||||
...mapGetters(['theme']) |
|
||||
}, |
|
||||
methods: { |
|
||||
updateCollapse(value) { |
|
||||
this.$store.dispatch('theme/setCollapse', value); |
|
||||
}, |
|
||||
updateSideNavCollapse(value) { |
|
||||
this.$store.dispatch('theme/setSideNavCollapse', value); |
|
||||
}, |
|
||||
updateBodyFullscreen(value) { |
|
||||
this.$store.dispatch('theme/setBodyFullscreen', value); |
|
||||
}, |
|
||||
onLogoClick(isHome) { |
|
||||
isHome || this.$router.push('/'); |
|
||||
}, |
|
||||
screenSizeChange() { |
|
||||
this.$store.dispatch('theme/updateScreenSize'); |
|
||||
this.fullscreen = isFullscreen(); |
|
||||
}, |
|
||||
onFullscreen() { |
|
||||
try { |
|
||||
this.fullscreen = toggleFullscreen(); |
|
||||
} catch (e) { |
|
||||
this.$message.error('您的浏览器不支持全屏模式'); |
|
||||
} |
|
||||
}, |
|
||||
/* 菜单标题国际化 */ |
|
||||
i18n(_path, key) { |
|
||||
const k = 'route.' + key + '._name'; |
|
||||
const title = this.$t(k); |
|
||||
return title === k ? undefined : title; |
|
||||
}, |
|
||||
// |
|
||||
addPageTab, |
|
||||
removePageTab, |
|
||||
removeAllPageTab, |
|
||||
removeLeftPageTab, |
|
||||
removeRightPageTab, |
|
||||
removeOtherPageTab, |
|
||||
reloadPageTab, |
|
||||
setHomeComponents |
|
||||
} |
|
||||
}; |
|
||||
</script> |
|
||||
|
|
||||
<style lang="scss"> |
|
||||
// 侧栏菜单徽章样式,定位在右侧垂直居中并调小尺寸 |
|
||||
.ele-menu-badge { |
|
||||
position: absolute; |
|
||||
top: 50%; |
|
||||
right: 14px; |
|
||||
line-height: 1; |
|
||||
margin-top: -9px; |
|
||||
font-size: 0; |
|
||||
|
|
||||
.el-badge__content { |
|
||||
height: 18px; |
|
||||
line-height: 18px; |
|
||||
border-radius: 9px; |
|
||||
border: none; |
|
||||
min-width: 18px; |
|
||||
padding: 0 4px; |
|
||||
box-sizing: border-box; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 父级菜单标题中右侧多定位一点,避免与箭头重合 |
|
||||
.el-submenu > .el-submenu__title .ele-menu-badge { |
|
||||
right: 36px; |
|
||||
} |
|
||||
|
|
||||
// 折叠悬浮中样式调整 |
|
||||
.el-menu--popup { |
|
||||
.el-submenu > .el-submenu__title .ele-menu-badge { |
|
||||
right: 20px; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 侧栏折叠后样式调整 |
|
||||
.ele-admin-collapse .ele-admin-sidebar-menus > .el-menu { |
|
||||
& > .el-menu-item, |
|
||||
& > .el-submenu > .el-submenu__title { |
|
||||
.ele-menu-badge { |
|
||||
top: 6px; |
|
||||
right: 6px; |
|
||||
margin: 0; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 顶栏菜单标题中样式调整 |
|
||||
.ele-admin-header-nav.el-menu { |
|
||||
& > .el-menu-item, |
|
||||
& > .el-submenu > .el-submenu__title { |
|
||||
.ele-menu-badge { |
|
||||
position: static; |
|
||||
right: auto; |
|
||||
top: auto; |
|
||||
display: inline-block; |
|
||||
vertical-align: 6px; |
|
||||
margin: 0 0 0 2px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 双侧栏时一级侧栏菜单中样式调整,定位在右上角 |
|
||||
.ele-admin-sidebar-nav-menu > .el-menu { |
|
||||
& > .el-menu-item, |
|
||||
& > .el-submenu > .el-submenu__title { |
|
||||
.ele-menu-badge { |
|
||||
top: 2px; |
|
||||
right: 4px; |
|
||||
margin: 0; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 双侧栏时一级侧栏菜单折叠后样式调整 |
|
||||
.ele-admin-nav-collapse .ele-admin-sidebar-nav-menu > .el-menu { |
|
||||
& > .el-menu-item, |
|
||||
& > .el-submenu > .el-submenu__title { |
|
||||
.ele-menu-badge { |
|
||||
top: -2px; |
|
||||
right: -2px; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
||||
@ -1,33 +0,0 @@ |
|||||
/** 主入口js */ |
|
||||
import Vue from 'vue'; |
|
||||
import App from './App.vue'; |
|
||||
import store from './store'; |
|
||||
import router from './router'; |
|
||||
import permission from './utils/permission'; |
|
||||
import './styles/index.scss'; |
|
||||
import EleAdmin from 'ele-admin'; |
|
||||
import VueClipboard from 'vue-clipboard2'; |
|
||||
import i18n from './i18n'; |
|
||||
import { MAP_KEY, LICENSE_CODE } from '@/config/setting'; |
|
||||
|
|
||||
Vue.config.productionTip = false; |
|
||||
|
|
||||
Vue.use(EleAdmin, { |
|
||||
response: { |
|
||||
dataName: 'list' |
|
||||
}, |
|
||||
mapKey: MAP_KEY, |
|
||||
license: LICENSE_CODE, |
|
||||
i18n: (key, value) => i18n.t(key, value) |
|
||||
}); |
|
||||
|
|
||||
Vue.use(permission); |
|
||||
|
|
||||
Vue.use(VueClipboard); |
|
||||
|
|
||||
new Vue({ |
|
||||
router, |
|
||||
store, |
|
||||
i18n, |
|
||||
render: (h) => h(App) |
|
||||
}).$mount('#app'); |
|
||||
@ -1,135 +0,0 @@ |
|||||
/** |
|
||||
* 路由配置 |
|
||||
*/ |
|
||||
import Vue from 'vue'; |
|
||||
import VueRouter from 'vue-router'; |
|
||||
import { menuToRoutes } from 'ele-admin'; |
|
||||
import { |
|
||||
PROJECT_NAME, |
|
||||
WHITE_LIST, |
|
||||
HOME_PATH, |
|
||||
REDIRECT_PATH |
|
||||
} from '@/config/setting'; |
|
||||
import { getToken } from '@/utils/token-util'; |
|
||||
import store from '@/store'; |
|
||||
import EleLayout from '@/layout/index.vue'; |
|
||||
import RedirectLayout from '@/components/RedirectLayout'; |
|
||||
import RouterLayout from '@/components/RouterLayout/index.vue'; |
|
||||
import NProgress from 'nprogress'; |
|
||||
|
|
||||
Vue.use(VueRouter); |
|
||||
|
|
||||
// 静态路由
|
|
||||
const routes = [ |
|
||||
{ |
|
||||
path: '/login', |
|
||||
component: () => import('@/views/login'), |
|
||||
meta: { title: '登录' } |
|
||||
}, |
|
||||
{ |
|
||||
path: '/forget', |
|
||||
component: () => import('@/views/forget'), |
|
||||
meta: { title: '忘记密码' } |
|
||||
}, |
|
||||
// 404
|
|
||||
{ |
|
||||
path: '*', |
|
||||
component: () => import('@/views/exception/404') |
|
||||
} |
|
||||
]; |
|
||||
|
|
||||
const router = new VueRouter({ |
|
||||
routes, |
|
||||
mode: 'history', |
|
||||
base: process.env.BASE_URL |
|
||||
}); |
|
||||
|
|
||||
// 路由守卫
|
|
||||
router.beforeEach((to, from, next) => { |
|
||||
if (!from.path.includes(REDIRECT_PATH)) { |
|
||||
NProgress.start(); |
|
||||
} |
|
||||
updateTitle(to); |
|
||||
// 判断是否登录
|
|
||||
if (getToken()) { |
|
||||
// 还未注册动态路由则先获取
|
|
||||
if (!store.state.user.menus) { |
|
||||
store |
|
||||
.dispatch('user/fetchUserInfo') |
|
||||
.then(({ menus, homePath }) => { |
|
||||
addMenuRoutes(menus, homePath); |
|
||||
next({ ...to, replace: true }); |
|
||||
}) |
|
||||
.catch(() => { |
|
||||
next(); |
|
||||
}); |
|
||||
} else { |
|
||||
next(); |
|
||||
} |
|
||||
} else if (WHITE_LIST.includes(to.path)) { |
|
||||
next(); |
|
||||
} else { |
|
||||
next({ |
|
||||
path: '/login', |
|
||||
query: to.path === '/' ? {} : { from: to.path } |
|
||||
}); |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
router.afterEach((to) => { |
|
||||
if (!to.path.includes(REDIRECT_PATH)) { |
|
||||
setTimeout(() => { |
|
||||
NProgress.done(true); |
|
||||
}, 300); |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
/** |
|
||||
* 添加动态路由 |
|
||||
* @param menus 菜单数据 |
|
||||
* @param homePath 菜单数据的第一个页面地址 |
|
||||
*/ |
|
||||
function addMenuRoutes(menus, homePath) { |
|
||||
router.addRoute({ |
|
||||
path: '/', |
|
||||
component: EleLayout, |
|
||||
redirect: HOME_PATH ?? homePath, |
|
||||
children: menuToRoutes( |
|
||||
menus, |
|
||||
getComponent, |
|
||||
[], |
|
||||
REDIRECT_PATH, |
|
||||
RedirectLayout |
|
||||
) |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 更新浏览器标题 |
|
||||
* @param route 路由信息 |
|
||||
*/ |
|
||||
function updateTitle(route) { |
|
||||
if (route && !route.path?.includes(REDIRECT_PATH)) { |
|
||||
const names = []; |
|
||||
if (route.meta?.title) { |
|
||||
names.push(route.meta.title); |
|
||||
} |
|
||||
if (PROJECT_NAME) { |
|
||||
names.push(PROJECT_NAME); |
|
||||
} |
|
||||
document.title = names.join(' - '); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取路由组件 |
|
||||
* @param component 组件名称 |
|
||||
*/ |
|
||||
function getComponent(component) { |
|
||||
if (!component) { |
|
||||
return RouterLayout; |
|
||||
} |
|
||||
return () => import('@/views/' + component); |
|
||||
} |
|
||||
|
|
||||
export default router; |
|
||||
@ -1,7 +0,0 @@ |
|||||
/** |
|
||||
* vuex getter |
|
||||
*/ |
|
||||
export default { |
|
||||
user: (state) => state.user, |
|
||||
theme: (state) => state.theme |
|
||||
}; |
|
||||
@ -1,21 +0,0 @@ |
|||||
/** |
|
||||
* vuex状态管理 |
|
||||
*/ |
|
||||
import Vue from 'vue'; |
|
||||
import Vuex from 'vuex'; |
|
||||
import getters from './getters'; |
|
||||
import user from './modules/user'; |
|
||||
import theme from './modules/theme'; |
|
||||
|
|
||||
Vue.use(Vuex); |
|
||||
|
|
||||
export default new Vuex.Store({ |
|
||||
state: {}, |
|
||||
mutations: {}, |
|
||||
actions: {}, |
|
||||
modules: { |
|
||||
user, |
|
||||
theme |
|
||||
}, |
|
||||
getters |
|
||||
}); |
|
||||
@ -1,506 +0,0 @@ |
|||||
/** |
|
||||
* 主题状态管理 |
|
||||
*/ |
|
||||
import { |
|
||||
screenWidth, |
|
||||
screenHeight, |
|
||||
contentWidth, |
|
||||
contentHeight |
|
||||
} from 'ele-admin'; |
|
||||
import { changeColor } from 'ele-admin/es/utils/theme-util'; |
|
||||
import { TAB_KEEP_ALIVE, THEME_STORE_NAME } from '@/config/setting'; |
|
||||
// state默认值
|
|
||||
const DEFAULT_STATE = Object.freeze({ |
|
||||
// 多页签数据
|
|
||||
tabs: [], |
|
||||
// 是否折叠侧边栏
|
|
||||
collapse: false, |
|
||||
// 是否折叠侧栏一级菜单
|
|
||||
sideNavCollapse: false, |
|
||||
// 内容区域是否全屏
|
|
||||
bodyFullscreen: false, |
|
||||
// 是否开启多页签
|
|
||||
showTabs: true, |
|
||||
// 是否开启页脚
|
|
||||
showFooter: true, |
|
||||
// 顶栏风格: light(亮色), dark(暗色), primary(主色)
|
|
||||
headStyle: 'light', |
|
||||
// 侧边栏风格: light(亮色), dark(暗色)
|
|
||||
sideStyle: 'dark', |
|
||||
// 布局风格: side(默认), top(顶栏菜单), mix(混合菜单)
|
|
||||
layoutStyle: 'side', |
|
||||
// 侧边栏菜单风格: default(默认), mix(双排菜单)
|
|
||||
sideMenuStyle: 'default', |
|
||||
// 标签页风格: default(默认), dot(圆点), card(卡片)
|
|
||||
tabStyle: 'default', |
|
||||
// 是否固定顶栏
|
|
||||
fixedHeader: false, |
|
||||
// 是否固定侧栏
|
|
||||
fixedSidebar: true, |
|
||||
// 是否固定主体
|
|
||||
fixedBody: true, |
|
||||
// 内容区域宽度铺满
|
|
||||
bodyFull: true, |
|
||||
// logo是否自适应宽度
|
|
||||
logoAutoSize: false, |
|
||||
// 侧栏是否彩色图标
|
|
||||
colorfulIcon: false, |
|
||||
// 侧栏是否只保持一个子菜单展开
|
|
||||
sideUniqueOpen: true, |
|
||||
// 是否是色弱模式
|
|
||||
weakMode: false, |
|
||||
// 是否是暗黑模式
|
|
||||
darkMode: false, |
|
||||
// 主题色
|
|
||||
color: null, |
|
||||
// 主页的组件
|
|
||||
homeComponents: [], |
|
||||
// 刷新路由时的参数
|
|
||||
routeReload: null, |
|
||||
// 屏幕宽度
|
|
||||
screenWidth: screenWidth(), |
|
||||
// 屏幕高度
|
|
||||
screenHeight: screenHeight(), |
|
||||
// 内容区域宽度
|
|
||||
contentWidth: contentWidth(), |
|
||||
// 内容区域高度
|
|
||||
contentHeight: contentHeight() |
|
||||
}); |
|
||||
// 延时操作定时器
|
|
||||
let disableTransitionTimer, updateContentSizeTimer; |
|
||||
const weakClass = 'ele-admin-weak'; |
|
||||
const disabledClass = 'ele-transition-disabled'; |
|
||||
|
|
||||
/** |
|
||||
* 读取缓存配置 |
|
||||
*/ |
|
||||
function getCacheSetting() { |
|
||||
try { |
|
||||
const value = localStorage.getItem(THEME_STORE_NAME); |
|
||||
if (value) { |
|
||||
const cache = JSON.parse(value); |
|
||||
if (typeof cache === 'object' && cache !== null) { |
|
||||
return cache; |
|
||||
} |
|
||||
} |
|
||||
} catch (e) { |
|
||||
console.error(e); |
|
||||
} |
|
||||
return {}; |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 缓存配置 |
|
||||
*/ |
|
||||
function cacheSetting(key, value) { |
|
||||
const cache = getCacheSetting(); |
|
||||
if (cache[key] !== value) { |
|
||||
cache[key] = value; |
|
||||
localStorage.setItem(THEME_STORE_NAME, JSON.stringify(cache)); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 切换色弱模式 |
|
||||
*/ |
|
||||
function changeWeakMode(weakMode) { |
|
||||
if (weakMode) { |
|
||||
document.body.classList.add(weakClass); |
|
||||
} else { |
|
||||
document.body.classList.remove(weakClass); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 切换主题 |
|
||||
*/ |
|
||||
function changeTheme(value, dark) { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
try { |
|
||||
changeColor(value, dark); |
|
||||
resolve(); |
|
||||
} catch (e) { |
|
||||
reject(e); |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 切换布局时禁用过渡动画 |
|
||||
*/ |
|
||||
function disableTransition() { |
|
||||
disableTransitionTimer && clearTimeout(disableTransitionTimer); |
|
||||
document.body.classList.add(disabledClass); |
|
||||
disableTransitionTimer = setTimeout(() => { |
|
||||
document.body.classList.remove(disabledClass); |
|
||||
}, 100); |
|
||||
} |
|
||||
|
|
||||
/** |
|
||||
* 获取含本地缓存的state值 |
|
||||
*/ |
|
||||
function getState() { |
|
||||
const state = Object.assign({}, DEFAULT_STATE); |
|
||||
const cache = getCacheSetting(); |
|
||||
Object.keys(state).forEach((key) => { |
|
||||
if (typeof cache[key] !== 'undefined') { |
|
||||
state[key] = cache[key]; |
|
||||
} |
|
||||
}); |
|
||||
return state; |
|
||||
} |
|
||||
|
|
||||
export default { |
|
||||
namespaced: true, |
|
||||
state: getState(), |
|
||||
getters: { |
|
||||
// 需要keep-alive的组件
|
|
||||
keepAliveInclude(state) { |
|
||||
if (!TAB_KEEP_ALIVE || !state.showTabs) { |
|
||||
return []; |
|
||||
} |
|
||||
const components = new Set(); |
|
||||
const { reloadPath, reloadHome } = state.routeReload || {}; |
|
||||
state.tabs?.forEach((t) => { |
|
||||
const isReload = reloadPath && reloadPath === t.fullPath; |
|
||||
if (!isReload && t.components) { |
|
||||
t.components.forEach((c) => { |
|
||||
if (typeof c === 'string' && c) { |
|
||||
components.add(c); |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
}); |
|
||||
if (!reloadHome) { |
|
||||
state.homeComponents?.forEach((c) => { |
|
||||
if (typeof c === 'string' && c) { |
|
||||
components.add(c); |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
return Array.from(components); |
|
||||
} |
|
||||
}, |
|
||||
mutations: { |
|
||||
SET(state, { key, value }) { |
|
||||
state[key] = value; |
|
||||
} |
|
||||
}, |
|
||||
actions: { |
|
||||
setTabs({ commit }, value) { |
|
||||
commit('SET', { key: 'tabs', value }); |
|
||||
//cacheSetting('tabs', value);
|
|
||||
}, |
|
||||
setCollapse({ commit, dispatch }, value) { |
|
||||
commit('SET', { key: 'collapse', value }); |
|
||||
dispatch('delayUpdateContentSize', 800); |
|
||||
}, |
|
||||
setSideNavCollapse({ commit, dispatch }, value) { |
|
||||
commit('SET', { key: 'sideNavCollapse', value }); |
|
||||
dispatch('delayUpdateContentSize', 800); |
|
||||
}, |
|
||||
setBodyFullscreen({ commit, dispatch }, value) { |
|
||||
disableTransition(); |
|
||||
commit('SET', { key: 'bodyFullscreen', value }); |
|
||||
dispatch('delayUpdateContentSize', 800); |
|
||||
}, |
|
||||
setShowTabs({ commit, dispatch }, value) { |
|
||||
commit('SET', { key: 'showTabs', value }); |
|
||||
cacheSetting('showTabs', value); |
|
||||
dispatch('delayUpdateContentSize'); |
|
||||
}, |
|
||||
setShowFooter({ commit, dispatch }, value) { |
|
||||
commit('SET', { key: 'showFooter', value }); |
|
||||
cacheSetting('showFooter', value); |
|
||||
dispatch('delayUpdateContentSize'); |
|
||||
}, |
|
||||
setHeadStyle({ commit }, value) { |
|
||||
commit('SET', { key: 'headStyle', value }); |
|
||||
cacheSetting('headStyle', value); |
|
||||
}, |
|
||||
setSideStyle({ commit }, value) { |
|
||||
commit('SET', { key: 'sideStyle', value }); |
|
||||
cacheSetting('sideStyle', value); |
|
||||
}, |
|
||||
setLayoutStyle({ commit, dispatch }, value) { |
|
||||
disableTransition(); |
|
||||
commit('SET', { key: 'layoutStyle', value }); |
|
||||
cacheSetting('layoutStyle', value); |
|
||||
dispatch('delayUpdateContentSize'); |
|
||||
}, |
|
||||
setSideMenuStyle({ commit, dispatch }, value) { |
|
||||
disableTransition(); |
|
||||
commit('SET', { key: 'sideMenuStyle', value }); |
|
||||
cacheSetting('sideMenuStyle', value); |
|
||||
dispatch('delayUpdateContentSize'); |
|
||||
}, |
|
||||
setTabStyle({ commit }, value) { |
|
||||
commit('SET', { key: 'tabStyle', value }); |
|
||||
cacheSetting('tabStyle', value); |
|
||||
}, |
|
||||
setFixedHeader({ commit }, value) { |
|
||||
disableTransition(); |
|
||||
commit('SET', { key: 'fixedHeader', value }); |
|
||||
cacheSetting('fixedHeader', value); |
|
||||
}, |
|
||||
setFixedSidebar({ commit }, value) { |
|
||||
disableTransition(); |
|
||||
commit('SET', { key: 'fixedSidebar', value }); |
|
||||
cacheSetting('fixedSidebar', value); |
|
||||
}, |
|
||||
setFixedBody({ commit }, value) { |
|
||||
disableTransition(); |
|
||||
commit('SET', { key: 'fixedBody', value }); |
|
||||
cacheSetting('fixedBody', value); |
|
||||
}, |
|
||||
setBodyFull({ commit, dispatch }, value) { |
|
||||
commit('SET', { key: 'bodyFull', value }); |
|
||||
cacheSetting('bodyFull', value); |
|
||||
dispatch('delayUpdateContentSize'); |
|
||||
}, |
|
||||
setLogoAutoSize({ commit }, value) { |
|
||||
disableTransition(); |
|
||||
commit('SET', { key: 'logoAutoSize', value }); |
|
||||
cacheSetting('logoAutoSize', value); |
|
||||
}, |
|
||||
setColorfulIcon({ commit }, value) { |
|
||||
commit('SET', { key: 'colorfulIcon', value }); |
|
||||
cacheSetting('colorfulIcon', value); |
|
||||
}, |
|
||||
setSideUniqueOpen({ commit }, value) { |
|
||||
commit('SET', { key: 'sideUniqueOpen', value }); |
|
||||
cacheSetting('sideUniqueOpen', value); |
|
||||
}, |
|
||||
setWeakMode({ commit }, value) { |
|
||||
return new Promise((resolve) => { |
|
||||
changeWeakMode(value); |
|
||||
commit('SET', { key: 'weakMode', value }); |
|
||||
cacheSetting('weakMode', value); |
|
||||
resolve(); |
|
||||
}); |
|
||||
}, |
|
||||
setDarkMode({ commit, state }, value) { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
changeTheme(state.color, value) |
|
||||
.then(() => { |
|
||||
commit('SET', { key: 'darkMode', value }); |
|
||||
cacheSetting('darkMode', value); |
|
||||
resolve(); |
|
||||
}) |
|
||||
.catch((e) => { |
|
||||
reject(e); |
|
||||
}); |
|
||||
}); |
|
||||
}, |
|
||||
setColor({ commit, state }, value) { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
changeTheme(value, state.darkMode) |
|
||||
.then(() => { |
|
||||
commit('SET', { key: 'color', value }); |
|
||||
cacheSetting('color', value); |
|
||||
resolve(); |
|
||||
}) |
|
||||
.catch((e) => { |
|
||||
reject(e); |
|
||||
}); |
|
||||
}); |
|
||||
}, |
|
||||
// 设置主页对应的组件
|
|
||||
setHomeComponents({ commit }, value) { |
|
||||
commit('SET', { key: 'homeComponents', value }); |
|
||||
}, |
|
||||
// 设置刷新路由信息
|
|
||||
setRouteReload({ commit }, value) { |
|
||||
commit('SET', { key: 'routeReload', value }); |
|
||||
}, |
|
||||
// 更新屏幕尺寸
|
|
||||
updateScreenSize({ commit, dispatch }) { |
|
||||
commit('SET', { key: 'screenWidth', value: screenWidth() }); |
|
||||
commit('SET', { key: 'screenHeight', value: screenHeight() }); |
|
||||
dispatch('updateContentSize'); |
|
||||
}, |
|
||||
// 更新内容区域尺寸
|
|
||||
updateContentSize({ commit }) { |
|
||||
commit('SET', { key: 'contentWidth', value: contentWidth() }); |
|
||||
commit('SET', { key: 'contentHeight', value: contentHeight() }); |
|
||||
}, |
|
||||
// 延时更新内容区域尺寸
|
|
||||
delayUpdateContentSize({ dispatch }, delay) { |
|
||||
updateContentSizeTimer && clearTimeout(updateContentSizeTimer); |
|
||||
updateContentSizeTimer = setTimeout(() => { |
|
||||
dispatch('updateContentSize'); |
|
||||
}, delay ?? 100); |
|
||||
}, |
|
||||
// 重置配置
|
|
||||
resetSetting({ commit, state }) { |
|
||||
return new Promise((resolve, reject) => { |
|
||||
disableTransition(); |
|
||||
[ |
|
||||
'showTabs', |
|
||||
'showFooter', |
|
||||
'headStyle', |
|
||||
'sideStyle', |
|
||||
'layoutStyle', |
|
||||
'sideMenuStyle', |
|
||||
'tabStyle', |
|
||||
'fixedHeader', |
|
||||
'fixedSidebar', |
|
||||
'fixedBody', |
|
||||
'bodyFull', |
|
||||
'logoAutoSize', |
|
||||
'colorfulIcon', |
|
||||
'sideUniqueOpen', |
|
||||
'weakMode', |
|
||||
'darkMode', |
|
||||
'color' |
|
||||
].forEach((key) => { |
|
||||
commit('SET', { key, value: DEFAULT_STATE[key] }); |
|
||||
}); |
|
||||
localStorage.removeItem(THEME_STORE_NAME); |
|
||||
changeWeakMode(state.weakMode); |
|
||||
changeTheme(state.color, state.darkMode) |
|
||||
.then(() => { |
|
||||
resolve(); |
|
||||
}) |
|
||||
.catch((e) => { |
|
||||
reject(e); |
|
||||
}); |
|
||||
}); |
|
||||
}, |
|
||||
// 恢复主题
|
|
||||
recoverTheme({ state }) { |
|
||||
// 恢复色弱模式
|
|
||||
if (state.weakMode) { |
|
||||
changeWeakMode(true); |
|
||||
} |
|
||||
// 恢复主题色
|
|
||||
if (state.color || state.darkMode) { |
|
||||
changeTheme(state.color, state.darkMode).catch((e) => { |
|
||||
console.error(e); |
|
||||
}); |
|
||||
} |
|
||||
}, |
|
||||
// 添加页签
|
|
||||
tabAdd({ dispatch, state }, data) { |
|
||||
if (Array.isArray(data)) { |
|
||||
data.forEach((d) => { |
|
||||
dispatch('tabAdd', d); |
|
||||
}); |
|
||||
return; |
|
||||
} |
|
||||
const i = state.tabs.findIndex((d) => d.key === data.key); |
|
||||
if (i === -1) { |
|
||||
dispatch('setTabs', state.tabs.concat([data])); |
|
||||
} else if (data.fullPath !== state.tabs[i].fullPath) { |
|
||||
dispatch( |
|
||||
'setTabs', |
|
||||
state.tabs |
|
||||
.slice(0, i) |
|
||||
.concat([data]) |
|
||||
.concat(state.tabs.slice(i + 1)) |
|
||||
); |
|
||||
} |
|
||||
}, |
|
||||
// 关闭页签
|
|
||||
tabRemove({ dispatch, state }, key) { |
|
||||
return new Promise((resolve) => { |
|
||||
let index = -1; |
|
||||
let lastIndex = -1; |
|
||||
let last; |
|
||||
let lastPath; |
|
||||
for (let i = 0; i < state.tabs.length; i++) { |
|
||||
const t = state.tabs[i]; |
|
||||
if (t.closable && (t.key === key || t.fullPath === key)) { |
|
||||
index = i; |
|
||||
break; |
|
||||
} |
|
||||
lastIndex = i; |
|
||||
last = state.tabs[i]; |
|
||||
lastPath = last.fullPath; |
|
||||
} |
|
||||
dispatch( |
|
||||
'setTabs', |
|
||||
state.tabs.filter((_d, i) => i !== index) |
|
||||
); |
|
||||
resolve({ lastIndex, lastPath, last }); |
|
||||
}); |
|
||||
}, |
|
||||
// 关闭全部页签
|
|
||||
tabRemoveAll({ dispatch, state }, active) { |
|
||||
return new Promise((resolve) => { |
|
||||
const tab = state.tabs.find((d) => d.key === active); |
|
||||
const stay = active ? !!(tab && tab.closable === false) : false; |
|
||||
dispatch( |
|
||||
'setTabs', |
|
||||
state.tabs.filter((d) => !d.closable) |
|
||||
); |
|
||||
resolve(stay); |
|
||||
}); |
|
||||
}, |
|
||||
// 关闭左侧页签
|
|
||||
tabRemoveLeft({ dispatch, state }, key) { |
|
||||
for (let i = 0; i < state.tabs.length; i++) { |
|
||||
if (state.tabs[i].key === key) { |
|
||||
dispatch( |
|
||||
'setTabs', |
|
||||
state.tabs |
|
||||
.filter((d, j) => !d.closable && j < i) |
|
||||
.concat(state.tabs.slice(i)) |
|
||||
); |
|
||||
break; |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
// 关闭右侧页签
|
|
||||
tabRemoveRight({ dispatch, state }, key) { |
|
||||
for (let i = 0; i < state.tabs.length; i++) { |
|
||||
if (state.tabs[i].key === key) { |
|
||||
dispatch( |
|
||||
'setTabs', |
|
||||
state.tabs |
|
||||
.slice(0, i + 1) |
|
||||
.concat(state.tabs.filter((d, j) => !d.closable && j > i)) |
|
||||
); |
|
||||
break; |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
// 关闭其它页签
|
|
||||
tabRemoveOther({ dispatch, state }, key) { |
|
||||
dispatch( |
|
||||
'setTabs', |
|
||||
state.tabs.filter((d) => !d.closable || d.key === key) |
|
||||
); |
|
||||
}, |
|
||||
// 修改页签
|
|
||||
tabSetItem({ dispatch, state }, data) { |
|
||||
let i = -1; |
|
||||
if (data.key) { |
|
||||
i = state.tabs.findIndex((d) => d.key === data.key); |
|
||||
} else if (data.fullPath) { |
|
||||
i = state.tabs.findIndex((d) => d.fullPath === data.fullPath); |
|
||||
} else if (data.path) { |
|
||||
i = state.tabs.findIndex((d) => d.path === data.path); |
|
||||
} |
|
||||
if (i !== -1) { |
|
||||
const item = Object.assign({}, state.tabs[i]); |
|
||||
if (data.title) { |
|
||||
item.title = data.title; |
|
||||
} |
|
||||
if (typeof data.closable === 'boolean') { |
|
||||
item.closable = data.closable; |
|
||||
} |
|
||||
if (data.components) { |
|
||||
item.components = data.components; |
|
||||
} |
|
||||
dispatch( |
|
||||
'setTabs', |
|
||||
state.tabs |
|
||||
.slice(0, i) |
|
||||
.concat([item]) |
|
||||
.concat(state.tabs.slice(i + 1)) |
|
||||
); |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
@ -1,91 +0,0 @@ |
|||||
/** |
|
||||
* 登录状态管理 |
|
||||
*/ |
|
||||
import { formatMenus, toTreeData, formatTreeData } from 'ele-admin'; |
|
||||
import { USER_MENUS } from '@/config/setting'; |
|
||||
import { getUserInfo } from '@/api/layout'; |
|
||||
|
|
||||
export default { |
|
||||
namespaced: true, |
|
||||
state: { |
|
||||
// 当前登录用户信息
|
|
||||
info: null, |
|
||||
// 当前登录用户的菜单
|
|
||||
menus: null, |
|
||||
// 当前登录用户的权限
|
|
||||
authorities: [], |
|
||||
// 当前登录用户的角色
|
|
||||
roles: [] |
|
||||
}, |
|
||||
mutations: { |
|
||||
// 设置登录用户的信息
|
|
||||
setUserInfo(state, info) { |
|
||||
state.info = info; |
|
||||
}, |
|
||||
// 设置登录用户的菜单
|
|
||||
setMenus(state, menus) { |
|
||||
state.menus = menus; |
|
||||
}, |
|
||||
// 设置登录用户的权限
|
|
||||
setAuthorities(state, authorities) { |
|
||||
state.authorities = authorities; |
|
||||
}, |
|
||||
// 设置登录用户的角色
|
|
||||
setRoles(state, roles) { |
|
||||
state.roles = roles; |
|
||||
} |
|
||||
}, |
|
||||
actions: { |
|
||||
/** |
|
||||
* 请求用户信息、权限、角色、菜单 |
|
||||
*/ |
|
||||
async fetchUserInfo({ commit }) { |
|
||||
const result = await getUserInfo(); |
|
||||
// 用户信息
|
|
||||
commit('setUserInfo', result); |
|
||||
// 用户权限
|
|
||||
const authorities = |
|
||||
result.authorities |
|
||||
?.filter((d) => !!d.authority) |
|
||||
?.map((d) => d.authority) ?? []; |
|
||||
commit('setAuthorities', authorities); |
|
||||
// 用户角色
|
|
||||
const roles = result.roles?.map((d) => d.roleCode) ?? []; |
|
||||
commit('setRoles', roles); |
|
||||
// 用户菜单, 过滤掉按钮类型并转为children形式
|
|
||||
const { menus, homePath } = formatMenus( |
|
||||
USER_MENUS ?? |
|
||||
toTreeData({ |
|
||||
data: result.authorities?.filter((d) => d.menuType === 0), |
|
||||
idField: 'menuId', |
|
||||
parentIdField: 'parentId' |
|
||||
}) |
|
||||
); |
|
||||
commit('setMenus', menus); |
|
||||
return { menus, homePath }; |
|
||||
}, |
|
||||
/** |
|
||||
* 更新用户信息 |
|
||||
*/ |
|
||||
setInfo({ commit }, value) { |
|
||||
commit('setUserInfo', value); |
|
||||
}, |
|
||||
/** |
|
||||
* 更新菜单的badge |
|
||||
*/ |
|
||||
setMenuBadge({ commit, state }, { path, value, color }) { |
|
||||
const menus = formatTreeData(state.menus, (m) => { |
|
||||
if (path === m.path) { |
|
||||
return Object.assign({}, m, { |
|
||||
meta: Object.assign({}, m.meta, { |
|
||||
badge: value, |
|
||||
badgeColor: color |
|
||||
}) |
|
||||
}); |
|
||||
} |
|
||||
return m; |
|
||||
}); |
|
||||
commit('setMenus', menus); |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
@ -1,9 +0,0 @@ |
|||||
/** 全局样式 */ |
|
||||
// 如果需要覆盖更多样式变量请查看文档 |
|
||||
$--ele-font-path: '~ele-admin/es/style/fonts'; |
|
||||
// 如果不需要切换主题固定为夜间主题使用这个 |
|
||||
//@import "~ele-admin/es/style/themes/dark.scss"; |
|
||||
// 需要在线切换主题使用这个 |
|
||||
@import '~ele-admin/es/style/themes/dynamic.scss'; |
|
||||
// 全局引入样式 |
|
||||
@import '~ele-admin/es/style/index.scss'; |
|
||||
@ -1,39 +0,0 @@ |
|||||
/** |
|
||||
* echarts混入 |
|
||||
*/ |
|
||||
import store from '@/store'; |
|
||||
import { THEME_KEY } from 'vue-echarts'; |
|
||||
import { ChartTheme } from 'ele-admin'; |
|
||||
|
|
||||
export function echartsMixin(refs) { |
|
||||
return { |
|
||||
provide: { |
|
||||
// 主题设置
|
|
||||
[THEME_KEY]: ChartTheme |
|
||||
}, |
|
||||
computed: { |
|
||||
// 内容区域宽度
|
|
||||
layoutContentWidth() { |
|
||||
return store?.state?.theme?.contentWidth; |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
// 监听内容区域宽度变化
|
|
||||
layoutContentWidth() { |
|
||||
this.resizeAllCharts(); |
|
||||
} |
|
||||
}, |
|
||||
// 适配keep-alive
|
|
||||
activated() { |
|
||||
this.resizeAllCharts(); |
|
||||
}, |
|
||||
methods: { |
|
||||
// 重置echarts尺寸
|
|
||||
resizeAllCharts() { |
|
||||
refs.forEach((ref) => { |
|
||||
this.$refs[ref]?.resize(); |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
} |
|
||||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue