Commit 6fe581fa authored by liujiaxin's avatar liujiaxin

feat: custom formula input

parent 1ba521e9
...@@ -31,8 +31,7 @@ ...@@ -31,8 +31,7 @@
"rxjs": "~6.5.4", "rxjs": "~6.5.4",
"spark-md5": "^3.0.0", "spark-md5": "^3.0.0",
"tslib": "^1.10.0", "tslib": "^1.10.0",
"zone.js": "~0.10.2", "zone.js": "~0.10.2"
"node-sass": "4.0.0"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "~0.900.3", "@angular-devkit/build-angular": "~0.900.3",
......
import { BrowserModule } from '@angular/platform-browser'; import { BrowserModule } from '@angular/platform-browser';
import {DragDropModule} from '@angular/cdk/drag-drop';
import { NgModule, ErrorHandler } from '@angular/core'; import { NgModule, ErrorHandler } from '@angular/core';
import {MyErrorHandler} from './MyError'; import {MyErrorHandler} from './MyError';
...@@ -27,6 +28,7 @@ import { far } from '@fortawesome/free-regular-svg-icons'; ...@@ -27,6 +28,7 @@ import { far } from '@fortawesome/free-regular-svg-icons';
import { CustomActionComponent } from './common/custom-action/custom-action.component'; import { CustomActionComponent } from './common/custom-action/custom-action.component';
import { UploadDragonBoneComponent } from './common/upload-dragon-bone/upload-dragon-bone.component'; import { UploadDragonBoneComponent } from './common/upload-dragon-bone/upload-dragon-bone.component';
import { SubTemplateComponent } from './common/sub-template/sub-template.component'; import { SubTemplateComponent } from './common/sub-template/sub-template.component';
import {FormulaInputComponent} from './common/formula-input/formula-input.component';
registerLocaleData(zh); registerLocaleData(zh);
...@@ -47,8 +49,8 @@ registerLocaleData(zh); ...@@ -47,8 +49,8 @@ registerLocaleData(zh);
PlayerContentWrapperComponent, PlayerContentWrapperComponent,
CustomActionComponent, CustomActionComponent,
UploadDragonBoneComponent UploadDragonBoneComponent,
FormulaInputComponent,
], ],
imports: [ imports: [
BrowserModule, BrowserModule,
...@@ -56,7 +58,8 @@ registerLocaleData(zh); ...@@ -56,7 +58,8 @@ registerLocaleData(zh);
FormsModule, FormsModule,
HttpClientModule, HttpClientModule,
BrowserAnimationsModule, BrowserAnimationsModule,
FontAwesomeModule FontAwesomeModule,
DragDropModule
], ],
providers: [ providers: [
{provide: ErrorHandler, useClass: MyErrorHandler}, {provide: ErrorHandler, useClass: MyErrorHandler},
......
<nz-input-group [nzSuffix]="suffixTemplate">
<input type="text"
#inputEl
(focus)="showFormulaPad($event)"
nz-input [(ngModel)]="ngfModel"
(ngModelChange)="valueChanged($event)" />
</nz-input-group>
<ng-template #suffixTemplate>
<i nz-icon [nzType]="'percentage'" (click)="showFormulaPad($event)"></i>
</ng-template>
<!-- cdkDrag-->
<!--<div style='position: absolute;visibility: hidden' class="FormulaBoardContainer" #wrapperEl >-->
<!--</div>-->
@import '../../style/common_mixin.css';
:host{
display: inline-block;
}
import {
AfterViewInit,
Component,
ElementRef, EventEmitter,
Input,
OnChanges,
OnDestroy,
OnInit, Output,
ViewChild
} from '@angular/core';
declare global {
interface Window {
FBOARD: any;
FormulaBoard: any;
__initfp__: any;
__tmp_fp_input_model__: any;
}
}
@Component({
selector: 'app-formula-input',
templateUrl: './formula-input.component.html',
styleUrls: ['./formula-input.component.scss']
})
export class FormulaInputComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {
@ViewChild('inputEl', {static: true }) inputEl: ElementRef;
// @ViewChild('wrapperEl', {static: true }) wrapperEl: ElementRef;
private fboard: any;
// [(ngModel)]="item.title" (blur)="save()"
@Input() ngfModel: any;
@Output() ngfModelChange = new EventEmitter();
@Output() ngfBlur = new EventEmitter();
FB_id = 'FormulaBoard';
constructor() {
}
ngOnInit() {
}
ngOnChanges() {
}
ngOnDestroy(): void {
}
valueChanged(evt) {
console.log('valueChanged', evt);
this.ngfModelChange.emit(evt);
}
showFormulaPad(e) {
console.log('showFormulaPad', e);
window.FBOARD.set(e.target.value);
window.__tmp_fp_input_model__ = this;
const rect = this.inputEl.nativeElement.getBoundingClientRect();
const fb = document.getElementById(this.FB_id);
fb.style.position = 'absolute';
fb.style.left = rect.left + rect.width + 'px';
fb.style.top = rect.top + 'px';
fb.style.visibility = 'visible';
}
updateValue(val) {
this.ngfModel = val;
}
ngAfterViewInit() {
if (window.__initfp__) {
return;
}
window.__initfp__ = true;
window.FBOARD = new window.FormulaBoard({
// container: this.wrapperEl.nativeElement,
id: this.FB_id,
path: 'assets/formula-board/',
options: {
width: 600,
mode: 'android',
bottom: false,
}});
document.addEventListener('documentMessage', (e) => {
// @ts-ignore
if (e.detail.type === 'common.setFormula') {
// @ts-ignore
const {formula} = e.detail.data.body;
console.log(formula);
window.FBOARD.clear();
// @ts-ignore
window.__tmp_fp_input_model__.updateValue(formula);
const fb = document.getElementById(this.FB_id);
fb.style.visibility = 'hidden';
this.ngfBlur.emit();
}
});
}
}
@import '../style/common_mixin.css'; @import '../style/common_mixin.css';
.FormulaBoardContainer{
display: inline-block;
}
.model-content { .model-content {
width: 100%; width: 100%;
height: 100%; height: 100%;
......
<div class="model-content"> <div class="model-content">
<app-formula-input [(ngfModel)]="item.title" (ngfBlur)="save()"></app-formula-input><br>
<app-formula-input [(ngfModel)]="item.title" (ngfBlur)="save()"></app-formula-input><br>
<div style="padding: 20px;"> <div style="padding: 20px;">
...@@ -8,6 +10,7 @@ ...@@ -8,6 +10,7 @@
<h2 style="width: 60px;">标题:</h2> <h2 style="width: 60px;">标题:</h2>
<input type="text" nz-input [(ngModel)]="item.title" (blur)="save()" style="margin-left: 15px"> <input type="text" nz-input [(ngModel)]="item.title" (blur)="save()" style="margin-left: 15px">
</div> </div>
......
import { Component, EventEmitter, Input, OnDestroy, OnChanges, OnInit, Output, ApplicationRef, ChangeDetectorRef } from '@angular/core'; import {
Component,
EventEmitter,
Input,
OnDestroy,
OnChanges,
OnInit,
Output,
ApplicationRef,
ChangeDetectorRef,
AfterViewInit
} from '@angular/core';
import { JsonPipe } from '@angular/common'; import { JsonPipe } from '@angular/common';
...@@ -7,13 +18,14 @@ import { JsonPipe } from '@angular/common'; ...@@ -7,13 +18,14 @@ import { JsonPipe } from '@angular/common';
templateUrl: './form.component.html', templateUrl: './form.component.html',
styleUrls: ['./form.component.css'] styleUrls: ['./form.component.css']
}) })
export class FormComponent implements OnInit, OnChanges, OnDestroy { export class FormComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {
// 储存数据用 // 储存数据用
saveKey = "JM_MATH01"; saveKey = "JM_MATH01";
// 储存对象 // 储存对象
item; item;
// 公式键盘
fboard = null;
customTypeGroupArr = [ customTypeGroupArr = [
{ {
...@@ -39,11 +51,13 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy { ...@@ -39,11 +51,13 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
rect: true, rect: true,
label: '答案', label: '答案',
}, },
] ];
testValue = '123';
constructor(private appRef: ApplicationRef, private changeDetectorRef: ChangeDetectorRef) { constructor(private appRef: ApplicationRef, private changeDetectorRef: ChangeDetectorRef) {
// @ts-ignore
window.fff = this;
} }
createShell() { createShell() {
...@@ -81,7 +95,11 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy { ...@@ -81,7 +95,11 @@ export class FormComponent implements OnInit, OnChanges, OnDestroy {
}, this.saveKey); }, this.saveKey);
} }
ngAfterViewInit() {
}
ngOnChanges() { ngOnChanges() {
} }
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="31px" height="23px" viewBox="0 0 31 23" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>up</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1-学科键盘" transform="translate(-1779.000000, -808.000000)">
<g id="输入框">
<g id="keyboard_light_landscape" transform="translate(0.000000, 585.000000)">
<g id="编组" transform="translate(1698.750000, 26.250000)">
<g id="上翻" transform="translate(50.625000, 163.125000)">
<g>
<rect id="key-boarder" fill="#313C42" opacity="0" x="0" y="0" width="90" height="90" rx="3.76"></rect>
<path d="M48.0085956,35.2507117 L59.3110016,50.5843863 C60.4979164,52.1946422 60.1130426,54.4324199 58.4513618,55.5826026 C57.8242714,56.0166623 57.072896,56.25 56.3022624,56.25 L33.6974504,56.25 C31.6554049,56.25 30,54.6458257 30,52.6669764 C30,51.920192 30.2407896,51.1920698 30.6887113,50.5843863 L41.9911172,35.2507117 C43.1780321,33.6404558 45.4872751,33.2674929 47.1489558,34.4176757 C47.4809703,34.6474896 47.7714424,34.9289723 48.0085956,35.2507117 Z" id="矩形" fill="#7F8B8F"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="31px" height="23px" viewBox="0 0 31 23" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>down</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1-学科键盘" transform="translate(-1779.000000, -954.000000)">
<g id="输入框">
<g id="keyboard_light_landscape" transform="translate(0.000000, 585.000000)">
<g id="编组" transform="translate(1698.750000, 26.250000)">
<g id="下翻" transform="translate(50.625000, 309.375000)">
<g>
<rect id="key-boarder" fill="#313C42" opacity="0" x="0" y="0" width="90" height="90" rx="3.76"></rect>
<path d="M48.0085956,54.7492883 L59.3110016,39.4156137 C60.4979164,37.8053578 60.1130426,35.5675801 58.4513618,34.4173974 C57.8242714,33.9833377 57.072896,33.75 56.3022624,33.75 L33.6974504,33.75 C31.6554049,33.75 30,35.3541743 30,37.3330236 C30,38.079808 30.2407896,38.8079302 30.6887113,39.4156137 L41.9911172,54.7492883 C43.1780321,56.3595442 45.4872751,56.7325071 47.1489558,55.5823243 C47.4809703,55.3525104 47.7714424,55.0710277 48.0085956,54.7492883 Z" id="矩形" fill="#7F8B8F"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="31px" height="23px" viewBox="0 0 31 23" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>down</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1-学科键盘" transform="translate(-1779.000000, -954.000000)">
<g id="输入框">
<g id="keyboard_light_landscape" transform="translate(0.000000, 585.000000)">
<g id="编组" transform="translate(1698.750000, 26.250000)">
<g id="下翻" transform="translate(50.625000, 309.375000)">
<g>
<rect id="key-boarder" fill="#313C42" opacity="0" x="0" y="0" width="90" height="90" rx="3.76"></rect>
<path d="M48.0085956,54.7492883 L59.3110016,39.4156137 C60.4979164,37.8053578 60.1130426,35.5675801 58.4513618,34.4173974 C57.8242714,33.9833377 57.072896,33.75 56.3022624,33.75 L33.6974504,33.75 C31.6554049,33.75 30,35.3541743 30,37.3330236 C30,38.079808 30.2407896,38.8079302 30.6887113,39.4156137 L41.9911172,54.7492883 C43.1780321,56.3595442 45.4872751,56.7325071 47.1489558,55.5823243 C47.4809703,55.3525104 47.7714424,55.0710277 48.0085956,54.7492883 Z" id="矩形" fill="#7F8B8F"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="43px" height="43px" viewBox="0 0 43 43" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>delete</title>
<desc>Created with Sketch.</desc>
<g id="delete" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="删除">
<rect id="key-boarder" fill="#313C42" opacity="0" x="0.518987342" y="0.507692308" width="42" height="42" rx="2"></rect>
<path d="M31,13 L16.1,13 C15.4,13 14.8,13.3 14.4,13.9 L9,22 L14.4,30.1 C14.8,30.6 15.4,31 16.1,31 L31,31 C32.1,31 33,30.1 33,29 L33,15 C33,13.9 32.1,13 31,13 L31,13 Z M28,25.6 L26.6,27 L23,23.4 L19.4,27 L18,25.6 L21.6,22 L18,18.4 L19.4,17 L23,20.6 L26.6,17 L28,18.4 L24.4,22 L28,25.6 L28,25.6 Z" id="delete" fill-opacity="0.8" fill="#616266"></path>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="46px" height="35px" viewBox="0 0 46 35" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>delete</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1-学科键盘" transform="translate(-1768.000000, -656.000000)">
<g id="输入框">
<g id="keyboard_light_landscape" transform="translate(0.000000, 585.000000)">
<g id="编组" transform="translate(1698.750000, 26.250000)">
<g id="delete" transform="translate(50.625000, 16.875000)">
<g id="删除">
<rect id="key-boarder" fill="#313C42" opacity="0" x="0" y="0" width="90" height="90" rx="3.76"></rect>
<path d="M60.05,28.08 L32.038,28.08 C30.722,28.08 29.594,28.644 28.842,29.772 L18.69,45 L28.842,60.228 C29.594,61.168 30.722,61.92 32.038,61.92 L60.05,61.92 C62.118,61.92 63.81,60.228 63.81,58.16 L63.81,31.84 C63.81,29.772 62.118,28.08 60.05,28.08 L60.05,28.08 Z M54.41,51.768 L51.778,54.4 L45.01,47.632 L38.242,54.4 L35.61,51.768 L42.378,45 L35.61,38.232 L38.242,35.6 L45.01,42.368 L51.778,35.6 L54.41,38.232 L47.642,45 L54.41,51.768 L54.41,51.768 Z" id="delete" fill="#7F8B8F"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="46px" height="35px" viewBox="0 0 46 35" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>delete</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1-学科键盘" transform="translate(-1768.000000, -656.000000)">
<g id="输入框">
<g id="keyboard_light_landscape" transform="translate(0.000000, 585.000000)">
<g id="编组" transform="translate(1698.750000, 26.250000)">
<g id="delete" transform="translate(50.625000, 16.875000)">
<g id="删除">
<rect id="key-boarder" fill="#313C42" opacity="0" x="0" y="0" width="90" height="90" rx="3.76"></rect>
<path d="M60.05,28.08 L32.038,28.08 C30.722,28.08 29.594,28.644 28.842,29.772 L18.69,45 L28.842,60.228 C29.594,61.168 30.722,61.92 32.038,61.92 L60.05,61.92 C62.118,61.92 63.81,60.228 63.81,58.16 L63.81,31.84 C63.81,29.772 62.118,28.08 60.05,28.08 L60.05,28.08 Z M54.41,51.768 L51.778,54.4 L45.01,47.632 L38.242,54.4 L35.61,51.768 L42.378,45 L35.61,38.232 L38.242,35.6 L45.01,42.368 L51.778,35.6 L54.41,38.232 L47.642,45 L54.41,51.768 L54.41,51.768 Z" id="delete" fill="#7F8B8F"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="31px" height="23px" viewBox="0 0 31 23" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>up</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1-学科键盘" transform="translate(-1779.000000, -808.000000)">
<g id="输入框">
<g id="keyboard_light_landscape" transform="translate(0.000000, 585.000000)">
<g id="编组" transform="translate(1698.750000, 26.250000)">
<g id="上翻" transform="translate(50.625000, 163.125000)">
<g>
<rect id="key-boarder" fill="#313C42" opacity="0" x="0" y="0" width="90" height="90" rx="3.76"></rect>
<path d="M48.0085956,35.2507117 L59.3110016,50.5843863 C60.4979164,52.1946422 60.1130426,54.4324199 58.4513618,55.5826026 C57.8242714,56.0166623 57.072896,56.25 56.3022624,56.25 L33.6974504,56.25 C31.6554049,56.25 30,54.6458257 30,52.6669764 C30,51.920192 30.2407896,51.1920698 30.6887113,50.5843863 L41.9911172,35.2507117 C43.1780321,33.6404558 45.4872751,33.2674929 47.1489558,34.4176757 C47.4809703,34.6474896 47.7714424,34.9289723 48.0085956,35.2507117 Z" id="矩形" fill="#7F8B8F"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
.kf-editor {
width: 100%;
height: 100%;
border: 1px solid #e0e0e0;
overflow: hidden;
z-index: 2;
background-color: #eee;
}
.kf-loading {
width: 864px;
height: 580px;
text-align: center;
line-height: 580px;
position: fixed;
top: 0;
left: 0;
}
.kf-editor-edit-area {
position: relative;
top: 0;
left: 0;
z-index: 1;
height: 0;
background-color: white;
/*background-color: white;*/
/*background-size: 21px 21px;*/
/*background-position: 0 0,10px 10px;*/
/*background-image: -webkit-linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef),-webkit-linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef);*/
/*background-image: linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef),linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef);*/
}
.kf-editor-canvas-container {
width: 100%;
height: 100%;
}
.kf-editor-input-box {
position: fixed;
top: 0;
left: -99999999px;
z-index: 999999;
}
/*!
* 滚动条
**/
.kf-editor-edit-scrollbar {
width: 100%;
height: 8px;
position: absolute;
left: 0;
z-index: 994;
}
.kf-editor-ui-left-button {
position: absolute;
top: 0;
left: 0;
width: 5px;
height: 100%;
background: white;
}
.kf-editor-ui-right-button {
position: absolute;
top: 0;
right: 0;
width: 5px;
height: 100%;
background: white;
}
.kf-editor-ui-track {
position: absolute;
top: 0;
left: 5px;
width: 0;
height: 100%;
}
.kf-editor-ui-thumb {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
background: rgba(0,0,0,0.15);
border-radius: 6px;
}
.kf-editor-ui-thumb-left {
width: 5px;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
.kf-editor-ui-thumb-right {
width: 5px;
height: 100%;
position: absolute;
top: 0;
right: 0;
}
.kf-editor-ui-thumb-body {
position: absolute;
top: 0;
left: 5px;
width: 0;
height: 100%;
}
\ No newline at end of file
.android {
width: 1920px;
height: 835px;
position: fixed;
bottom: 0;
background-color: transparent;
user-select: none;
* {
box-sizing: border-box;
margin: 0;
padding: 0;
list-style: none;
}
.kf-editor-edit-area {
width: 100%;
height: auto;
float: left;
padding: 40px;
position: relative;
.kf-editor-edit-scrollbar {
bottom: 0px;
}
.kf-editor-header-container {
display: none;
}
.kf-editor-canvas-wrapper {
width: 1840px;
height: 140px;
background: #f8f8f8;
padding: 0 40px;
float: left;
border-radius: 54px;
.kf-editor-canvas-container {
width: 100%;
height: 100%;
// margin: 40px;
}
}
}
.kf-editor-edit-keyboard {
width: 1920px;
height: 615px;
float: left;
background: #eceff1;
overflow: hidden;
.kf-editor-ui-keyboard-menu {
width: 274px;
height: 615px;
float: left;
border-right: 1px solid rgba(0, 0, 0, 0.1);
.kf-editor-ui-keyboard-menu-list {
width: 100%;
height: 100%;
padding: 26px;
background: #eceff1;
overflow: hidden;
.kf-editor-ui-keyboard-menu-list-item {
width: 183px;
height: 75px;
margin: 19px;
text-align: center;
line-height: 75px;
font-size: 16px;
color: #49494d;
cursor: pointer;
float: left;
font-size: 34px;
}
.kf-editor-ui-keyboard-menu-list-item-active {
background: #ffab30;
border-radius: 8px;
color: #ffffff;
}
}
}
.kf-editor-ui-keyboard-panel {
width: 1425px;
height: 100%;
float: left;
.kf-editor-ui-keyboard-panel-list {
width: 100%;
height: 100%;
padding: 14px 0 0 33px;
overflow: hidden;
position: relative;
transition: top 0.3s linear;
.kf-editor-ui-keyboard-panel-list-item {
width: 148px;
height: 122px;
margin: 12px;
text-align: center;
line-height: 121px;
font-size: 16px;
color: #49494d;
cursor: pointer;
float: left;
position: relative;
&:active {
&::before {
content: '';
display: block;
position: absolute;
width: 100%;
height: 100%;
background-color: rgba(64, 75, 80, 0.15);
}
}
}
}
}
.kf-editor-ui-keyboard-page {
width: 212px;
height: 100%;
float: left;
.kf-editor-ui-keyboard-page-list {
width: 100%;
height: 100%;
padding: 14px 0px 26px 0;
overflow: hidden;
.kf-editor-ui-keyboard-page-list-item {
width: 100%;
height: 122px;
margin: 12px;
float: left;
font-size: 46px;
color: #ff9800;
text-align: center;
line-height: 122px;
cursor: pointer;
}
.kf-editor-ui-keyboard-page-list-item-delete {
width: 100%;
height: 122px;
background: url('https://store-g1.seewo.com/easiclass-public/a7ea5932b621487aaa1c8b9dd4e58cb0') center no-repeat;
background-size: initial;
&:active {
background-color: rgba(64, 75, 80, 0.15);
}
}
.kf-editor-ui-keyboard-page-list-item-prev {
position: relative;
&::before {
content: ' ';
display: block;
width: 100%;
height: 100%;
background: url('https://store-g1.seewo.com/easiclass-public/27257523137e47499311266d0f872c8b') center no-repeat;
background-size: initial;
}
&:not(.kf-editor-ui-keyboard-page-list-item-disabled):active {
background-color: rgba(64, 75, 80, 0.15);
}
}
.kf-editor-ui-keyboard-page-list-item-next {
position: relative;
&::before {
content: ' ';
display: block;
width: 100%;
height: 100%;
background: url('https://store-g1.seewo.com/easiclass-public/3c2faacfac52472ea6cb522a34aa04db') center no-repeat;
background-size: initial;
}
&:not(.kf-editor-ui-keyboard-page-list-item-disabled):active {
background-color: rgba(64, 75, 80, 0.15);
}
}
.kf-editor-ui-keyboard-page-list-item-disabled::before {
opacity: 0.5;
}
}
}
.kf-editor-ui-keyboard-footer {
display: none;
}
}
}
.pc {
width: 864px;
height: 580px;
position: relative;
top: 0;
left: 0;
* {
box-sizing: border-box;
margin: 0;
padding: 0;
list-style: none;
}
.kf-editor-edit-area {
width: 100%;
height: 168px;
float: left;
.kf-editor-edit-scrollbar {
bottom: 0px;
}
.kf-editor-header-container {
width: 100%;
height: 48px;
background: #eeeeee;
overflow: hidden;
padding-left: 16px;
.kf-editor-header-container-title {
font-size: 16px;
color: #616266;
line-height: 48px;
float: left;
}
.kf-editor-header-container-close {
width: 48px;
height: 48px;
float: right;
cursor: pointer;
position: relative;
&::before {
content: '';
display: block;
background: url('https://store-g1.seewo.com/easiclass-public/8747fc92a01246e19d7f9bc9f3868652')
center no-repeat;
background-size: 100%;
position: absolute;
width: 16px;
height: 16px;
top: 16px;
right: 16px;
}
&:hover {
&::before {
background: url('https://store-g1.seewo.com/easiclass-public/c2682d9dcc844986898be60b26ee5823');
}
}
&:active {
&::before {
background: url('https://store-g1.seewo.com/easiclass-public/9550aaa080574f739425122e7908e012');
}
}
}
}
.kf-editor-canvas-wrapper {
width: 100%;
height: calc(100% - 48px);
background: #fff;
float: left;
padding: 0 40px;
.kf-editor-canvas-container {
width: 100%;
height: 100%;
}
}
}
.kf-editor-edit-keyboard {
width: 100%;
height: 411px;
border-top: 1px solid #ddd;
box-sizing: border-box;
background-color: white;
* {
list-style: none;
padding: 0;
margin: 0;
box-sizing: border-box;
}
}
.kf-editor-ui-keyboard {
width: 100%;
height: 100%;
overflow: hidden;
background: #fff;
border-top: 1px solid #e4e4e4;
.kf-editor-ui-keyboard-menu {
width: 118px;
height: 347px;
border-right: 1px solid #e4e4e4;
float: left;
.kf-editor-ui-keyboard-menu-list {
width: 100%;
height: 100%;
padding: 11px;
background: #f4f4f4;
overflow: hidden;
.kf-editor-ui-keyboard-menu-list-item {
width: 72px;
height: 40px;
margin: 12px;
text-align: center;
line-height: 40px;
font-size: 16px;
color: #49494d;
cursor: pointer;
float: left;
}
.kf-editor-ui-keyboard-menu-list-item-active {
background: #198cff;
border-radius: 4px;
color: #ffffff;
}
}
}
.kf-editor-ui-keyboard-panel {
width: 664px;
height: 347px;
float: left;
overflow: hidden;
.kf-editor-ui-keyboard-panel-list {
width: 100%;
position: relative;
top: 0;
transition: 0.3s top linear;
.kf-editor-ui-keyboard-panel-list-item {
width: 83px;
height: 64px;
cursor: pointer;
float: left;
border: solid #e4e4e4;
border-width: 1px 1px 1px 0px;
margin-top: -1px;
position: relative;
&:hover {
&::before {
content: '';
display: block;
position: absolute;
width: 100%;
height: 100%;
background-color: rgba(73, 73, 77, 0.1);
}
}
}
}
}
.kf-editor-ui-keyboard-page {
width: 81px;
height: 347px;
float: left;
margin-left: -1px;
border-left: 1px solid #e4e4e4;
.kf-editor-ui-keyboard-page-list {
.kf-editor-ui-keyboard-page-list-item {
width: 81px;
height: 128px;
cursor: pointer;
}
.kf-editor-ui-keyboard-page-list-item-delete {
width: 81px;
height: 64px;
background: url('https://store-g1.seewo.com/easiclass-public/78c93d3c1204445982c6b5700e1442eb')
center no-repeat;
background-size: initial;
border-bottom: 1px solid #e4e4e4;
&:hover {
background-color: rgba(73, 73, 77, 0.1);
}
}
.kf-editor-ui-keyboard-page-list-item-prev {
border-bottom: 1px solid #e4e4e4;
position: relative;
&::before {
content: ' ';
display: block;
width: 100%;
height: 100%;
background: url('https://store-g1.seewo.com/easiclass-public/4993661fa54249249b152a89cb1cec6b')
center no-repeat;
background-size: initial;
}
&:not(.kf-editor-ui-keyboard-page-list-item-disabled):hover {
background-color: rgba(73, 73, 77, 0.1);
}
}
.kf-editor-ui-keyboard-page-list-item-next {
position: relative;
&:not(.kf-editor-ui-keyboard-page-list-item-disabled):hover {
background-color: rgba(73, 73, 77, 0.1);
}
&::before {
content: ' ';
display: block;
width: 100%;
height: 100%;
background: url('https://store-g1.seewo.com/easiclass-public/f4df574b99d748f0823ccd36362d1a9c')
center no-repeat;
background-size: initial;
}
}
.kf-editor-ui-keyboard-page-list-item-disabled::before {
opacity: 0.5;
}
.kf-editor-ui-keyboard-page-list-item-ok {
display: none;
}
}
}
.kf-editor-ui-keyboard-footer {
width: 100%;
height: 64px;
padding: 14px 0;
float: left;
border-top: 1px solid #e4e4e4;
#kf-editor-ui-keyboard-footer-button-cancel {
width: 120px;
height: 36px;
background: #ffffff;
border: 1px solid #dddddd;
border-radius: 18px;
font-size: 16px;
color: #616266;
text-align: center;
line-height: 34px;
float: left;
margin-left: calc(50% - 128px);
cursor: pointer;
user-select: none;
&:not(:disabled) {
cursor: pointer;
}
&:not(:disabled):hover {
background-color: #ebf5ff;
}
&:not(:disabled):active {
background-color: #dce8f5;
}
}
#kf-editor-ui-keyboard-footer-button-submit {
width: 120px;
height: 36px;
background: #198cff;
border-radius: 18px;
font-size: 16px;
color: #ffffff;
text-align: center;
line-height: 36px;
float: left;
margin-left: 16px;
cursor: pointer;
&:not(:disabled) {
cursor: pointer;
}
&:not(:disabled):hover {
background-color: #3399ff;
}
&:not(:disabled):active {
background-color: #1885f2;
}
}
}
}
}
This diff is collapsed.
/*!
* ====================================================
* Themes file * Flex UI - v1.0.0 - 2014-07-28
* https://github.com/fex-team/fui
* GitHub: https://github.com/fex-team/fui.git
* Copyright (c) 2014 Baidu Kity Group; Licensed MIT
* ====================================================
*/
.fui-widget{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;color:#000;line-height:1.5;font-size:12px;font-family:ff-tisa-web-pro-1,ff-tisa-web-pro-2,"Lucida Grande","Hiragino Sans GB","Hiragino Sans GB W3","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;-webkit-font-smoothing:antialiased;outline:0;display:inline-block;vertical-align:top;position:relative;top:0;left:0}.fui-widget.fui-selectable{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-user-drag:text}.fui-widget *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.fui-widget.fui-disabled{opacity:.3!important}.fui-widget.fui-hide{display:none!important}.fui-widget.fui-mask-animate{-webkit-transition:all .2s}.fui-widget.fui-mask-hint{-webkit-transform:perspective(600px) translateZ(30px)}.fui-container{overflow:hidden;position:relative;top:0;left:0}.fui-container.fui-disabled{opacity:1!important}.fui-button-menu{border:1px solid #fff}.fui-button-menu:HOVER{border-color:#d5e1f2}.fui-button-menu.fui-button-active{border-color:#d5e1f2;background:#d5e1f2}.fui-button-menu.fui-button-active .fui-button{background:#d5e1f2}.fui-button-menu.fui-layout-bottom,.fui-button-menu.fui-layout-top{text-align:center}.fui-button-menu.fui-layout-bottom .fui-open-btn,.fui-button-menu.fui-layout-top .fui-open-btn{display:block}.fui-button{overflow:hidden;cursor:default;font-size:0}.fui-button ._layout .fui-icon,.fui-button ._layout .fui-label{display:block}.fui-button .fui-icon,.fui-button .fui-label{display:inline-block;vertical-align:middle}.fui-button.fui-button-layout-bottom .fui-icon,.fui-button.fui-button-layout-bottom .fui-label,.fui-button.fui-button-layout-top .fui-icon,.fui-button.fui-button-layout-top .fui-label{display:block}.fui-button:HOVER{background-color:#d5e1f2!important;color:#000!important}.fui-button:ACTIVE{background-color:#87a9da!important;color:#000!important}.fui-button.fui-disabled:ACTIVE,.fui-button.fui-disabled:HOVER{background-color:#fff!important;color:#000!important}.fui-colorpicker{background-color:#fff}.fui-colorpicker-container{border:1px solid #d3d3d3}.fui-colorpicker-container .fui-colorpicker-title{background:#eee;padding:2px 4px}.fui-colorpicker-container .fui-colorpicker-colors{margin:0;padding:0;font-size:0;line-height:0}.fui-colorpicker-container .fui-colorpicker-colors-line0{margin-bottom:3px}.fui-colorpicker-container .fui-colorpicker-item{display:inline-block;margin:0 2px;width:13px;height:13px;border-style:solid;border-width:1px}.fui-colorpicker-container .fui-colorpicker-commoncolor,.fui-colorpicker-container .fui-colorpicker-standardcolor{margin:4px 3px;white-space:nowrap}.fui-colorpicker-container .fui-colorpicker-toolbar{margin:4px;height:27px}.fui-colorpicker-container .fui-colorpicker-toolbar .fui-colorpicker-preview{display:inline-block;height:25px;line-height:25px;width:120px;border:1px solid #d3d3d3}.fui-colorpicker-container .fui-colorpicker-toolbar .fui-colorpicker-clear{display:inline-block;height:25px;line-height:25px;width:60px;border:1px solid #d3d3d3;font-size:12px;text-align:center;position:absolute;right:5px;cursor:pointer}.fui-dialog{position:fixed;top:-1000000px;left:-100000px;border:1px solid #B1B1B1;background:#fff}.fui-dialog .fui-panel-content{width:auto!important;height:auto!important;padding:2px}.fui-dialog .fui-dialog-caption{margin:0;padding:5px;font-size:16px;font-weight:400;line-height:1;display:inline-block}.fui-dialog .fui-dialog-head .fui-close-button{float:right}.fui-dialog .fui-dialog-head .fui-close-button .fui-close-button-icon{width:16px;height:16px;background:url(images/close.png) no-repeat}.fui-drop-panel{border:1px solid #d3d3d3;overflow:hidden;position:relative}.fui-drop-panel .fui-drop-panel-content{display:inline-block}.fui-drop-panel .fui-drop-panel-placeholder{display:none}.fui-drop-panel .fui-drop-panel-button{border-left:1px solid #d3d3d3;visibility:visible}.fui-drop-panel .fui-drop-panel-button:HOVER{border-color:#d5e1f2}.fui-drop-panel .fui-drop-panel-button:ACTIVE{border-color:#87a9da}.fui-drop-panel:HOVER{border-color:#d5e1f2}.fui-drop-panel:HOVER .fui-drop-panel-button{border-left-color:#d5e1f2}.fui-drop-panel:ACTIVE{border-color:#87a9da}.fui-drop-panel:ACTIVE .fui-drop-panel-button{border-left-color:#d5e1f2}.fui-drop-panel.fui-drop-panel-open{overflow:visible}.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-content{border:1px solid #d3d3d3;position:absolute;top:-1px;left:-1px}.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-button{visibility:hidden}.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-placeholder{display:inline-block}.fui-drop-panel-popup{border:1px solid #d3d3d3}.fui-drop-panel-popup:HOVER{border-color:#d5e1f2}.fui-drop-panel-popup:HOVER .fui-drop-panel-button{border-left-color:#d5e1f2}.fui-drop-panel-popup:ACTIVE{border-color:#87a9da}.fui-drop-panel-popup:ACTIVE .fui-drop-panel-button{border-left-color:#d5e1f2}.fui-icon{text-align:center;font-size:0}.fui-icon img{display:inline-block}.fui-input-button{border:1px solid #ababab}.fui-input-button .fui-input{vertical-align:middle;border:none!important}.fui-input-button .fui-button{vertical-align:middle}.fui-input-button:ACTIVE,.fui-input-button:HOVER{border-color:#87a9da}.fui-input{border:1px solid #d3d3d3;padding:1px;margin:0}.fui-input:FOCUS,.fui-input:HOVER{border-color:#4d90fe!important}.fui-item{font-size:0}.fui-item .fui-icon,.fui-item .fui-label{vertical-align:middle}.fui-item.fui-item-selected{background:#87a9da}.fui-label-panel .fui-label-panel-label{width:100%;color:#666}.fui-label-panel.fui-no-position .fui-label-panel-label{position:static!important}.fui-label-panel.fui-layout-bottom .fui-label-panel-label{position:absolute;bottom:0;left:0;top:auto;z-index:2}.fui-label{cursor:default;display:inline-block;white-space:nowrap}.fui-mask{position:fixed;z-index:99998}.fui-menu{background-color:#fff;border:1px solid #d3d3d3}.fui-menu .fui-item{padding:2px 5px;display:block!important}.fui-menu .fui-item:HOVER{background:#d5e1f2}.fui-panel{display:inline-block;vertical-align:top;overflow-y:auto;overflow-x:hidden}.fui-panel .fui-panel-content{position:relative;top:0;left:0;width:100%;height:100%}.fui-panel.fui-container-column{font-size:0}.fui-panel.fui-container-column .fui-column{display:block}.fui-ppanel::-webkit-scrollbar{width:15px}.fui-ppanel::-webkit-scrollbar-button:end:decrement,.fui-ppanel::-webkit-scrollbar-button:end:increment,.fui-ppanel::-webkit-scrollbar-button:start:decrement,.fui-ppanel::-webkit-scrollbar-button:start:increment,.fui-ppanel::-webkit-scrollbar-thumb{border:1px solid #e7e7e7}.fui-ppanel.fui-ppanel-position{position:fixed;z-index:99999}.fui-separator{background:#6d6d6d}.fui-spin-button .fui-spin-down-btn .fui-icon,.fui-spin-button .fui-spin-up-btn .fui-icon{width:16px;height:9px;background:url(images/up.png) 3px 1.5px no-repeat}.fui-spin-button .fui-spin-down-btn .fui-icon{background-image:url(images/down.png)}.fui-tabs .fui-selected{background-color:#d5e1f2}.fui-toggle-button.fui-button-pressed{background-color:#aec5e6}.fui-toggle-button.fui-button-pressed.fui-disabled{background-color:#aec5e6!important}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="43px" height="43px" viewBox="0 0 43 43" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 62 (91390) - https://sketch.com -->
<title>delete</title>
<desc>Created with Sketch.</desc>
<g id="delete" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="删除">
<rect id="key-boarder" fill="#313C42" opacity="0" x="0.518987342" y="0.507692308" width="42" height="42" rx="2"></rect>
<path d="M31,13 L16.1,13 C15.4,13 14.8,13.3 14.4,13.9 L9,22 L14.4,30.1 C14.8,30.6 15.4,31 16.1,31 L31,31 C32.1,31 33,30.1 33,29 L33,15 C33,13.9 32.1,13 31,13 L31,13 Z M28,25.6 L26.6,27 L23,23.4 L19.4,27 L18,25.6 L21.6,22 L18,18.4 L19.4,17 L23,20.6 L26.6,17 L28,18.4 L24.4,22 L28,25.6 L28,25.6 Z" id="delete" fill-opacity="0.8" fill="#616266"></path>
</g>
</g>
</svg>
\ No newline at end of file
This diff is collapsed.
/*!
* Kity Formula 公式表示法Parser接口
*/
/*!
* canvg库封装
* canvg官网: https://code.google.com/p/canvg/
*/
/*!
* 上下标控制器
*/
/*!
* 上下标操作符函数处理
*/
/*!
* 函数表达式处理器
*/
/*!
* 分数函数处理器
*/
/*!
* 双线处理
*/
/*!
* 双线字体
*/
/*!
* 合并处理(特殊处理函数)
*/
/*!
* 启动代码
*/
/*!
* 启动模块
*/
/*!
* 字体主文件
*/
/*!
* 字体信息检测模板,用于检测浏览器的字体信息
*/
/*!
* 字体安装器
*/
/*!
* 字体管理器
*/
/*!
* 字符配置
*/
/*!
* 工厂方法,创建兼容各浏览器的text实现
*/
/*!
* 所有字符的列表
*/
/*!
* 所有符号的基类
* @abstract
*/
/*!
* 手写体
*/
/*!
* 手写体处理
*/
/*!
* 括号处理器
*/
/*!
* 方根函数处理器
*/
/*!
* 求和函数处理器
*/
/*!
* 特殊字符定义
*/
/*!
* 积分函数处理器
*/
/*!
* 系统项目配置文件.
*/
/*!
* 罗马处理
*/
/*!
* 罗马字体
*/
/*!
* 花体
*/
/*!
* 花体处理
*/
/*!
* 装配器
*/
/*!
* 资源管理器
* 负责管理资源的加载,并在资源ready之后提供Formula构造器
*/
/*!
* 输出转换器,提供输出支持
*/
/*!
* 逆解析处理函数: brackets
*/
/*!
* 逆解析处理函数: fraction
*/
/*!
* 逆解析处理函数: func
*/
/*!
* 逆解析处理函数: integration
*/
/*!
* 逆解析处理函数: mathbb
*/
/*!
* 逆解析处理函数: mathcal
*/
/*!
* 逆解析处理函数: mathfrak
*/
/*!
* 逆解析处理函数: script
*/
/*!
* 逆解析处理函数: sqrt
*/
/*!
* 逆解析处理函数: subscript
*/
/*!
* 逆解析处理函数: summation
*/
/*!
* 逆解析处理函数: superscript
*/
/*!
* 逆解析处理函数:combination
*/
/*!
* 逆解析对照表
*/
/*!
* 通用上下标提取器
*/
/*!
* UI定义
*/
/*!
* box类型定义
*/
/*!
* event模块
*/
/*!
* toolbar元素列表定义
*/
/*!
* toolbar元素类型定义
*/
/*!
* 光标定位组件
*/
/*!
* 光标选区组件
*/
/*!
* 分割符
*/
/*!
* 启动模块
*/
/*!
* 基础工具包
*/
/*!
* 定位模块
*/
/*!
* 工具条组件
*/
/*!
* 打印服务
*/
/*!
* 滚动条组件
*/
/*!
* 滚动缩放控制器
*/
/*!
* 特殊字符区域
*/
/*!
* 系统配置文件
*/
/*!
* 组件抽象类,所有的组件都是该类的子类
* @abstract
*/
/*!
* 组元素类型定义
*/
/*!
* 组类型
*/
/*!
* 编辑器主体结构
*/
/*!
* 虚拟组列表
*/
/*!
* 语法控制单元
*/
/*!
* 输入控制组件
*/
/*!
* 输入过滤器
*/
/*!
* ====================================================
* Formula Editor - v1.0.7-test-1 - 2020-09-17
* https://github.com/SugarTurboS/Formula-Editor
* GitHub: git@github.com:SugarTurboS/Formula-Editor.git
* Copyright (c) 2020 sugarteam; Licensed MIT
* ====================================================
*/
/*!
* ====================================================
* Kity Formula Parser - v1.0.0 - 2014-07-30
* https://github.com/HanCong03/kityformula-editor
* GitHub: https://github.com/kitygraph/kityformula-editor.git
* Copyright (c) 2014 Baidu Kity Group; Licensed MIT
* ====================================================
*/
/*!
* ====================================================
* Kity Formula Render - v1.0.0 - 2014-07-30
* https://github.com/kitygraph/formula
* GitHub: https://github.com/kitygraph/formula.git
* Copyright (c) 2014 Baidu Kity Group; Licensed MIT
* ====================================================
*/
/*!
* ====================================================
* kity - v2.0.0 - 2014-06-16
* https://github.com/fex-team/kity
* GitHub: https://github.com/fex-team/kity.git
* Copyright (c) 2014 Baidu FEX; Licensed BSD
* ====================================================
*/
/**
* A class to parse color values
* @author Stoyan Stefanov <sstoo@gmail.com>
* @link http://www.phpied.com/rgb-color-parser-in-javascript/
* @license Use it if you like it
*/
/**
* @license
* Lodash <https://lodash.com/>
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*/
This diff is collapsed.
This diff is collapsed.
...@@ -8,7 +8,19 @@ ...@@ -8,7 +8,19 @@
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico"> <link rel="icon" type="image/x-icon" href="favicon.ico">
<script type="text/javascript" src="https://staging-teach.cdn.ireadabc.com/h5template/h5-static-lib/js/air.js"></script> <script type="text/javascript" src="https://staging-teach.cdn.ireadabc.com/h5template/h5-static-lib/js/air.js"></script>
<script type="text/javascript" src="assets/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="assets/formula-board/formula-board.js"></script>
<style>
.kf-editor{
/*visibility: visible!important;*/
/*position: relative!important;*/
transition: none;
}
.kf-placeholder{
display: none!important;
}
</style>
<script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js"></script>
<script> <script>
// init vConsole // init vConsole
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment