@textbus/core
Advanced tools
Comparing version 2.0.0-alpha.30 to 2.0.0-alpha.31
export declare function makeError(name: string): (message: string) => Error; |
@@ -0,0 +0,0 @@ export function makeError(name) { |
@@ -0,0 +0,0 @@ import { Starter, TextBusConfig } from './starter'; |
@@ -0,0 +0,0 @@ import { Starter } from './starter'; |
@@ -0,0 +0,0 @@ export * from './_injection-tokens'; |
@@ -0,0 +0,0 @@ export * from './_injection-tokens'; |
@@ -0,0 +0,0 @@ import { InjectionToken } from '@tanbo/di'; |
@@ -0,0 +0,0 @@ import { InjectionToken } from '@tanbo/di'; |
@@ -0,0 +0,0 @@ import { Range, Selection } from './selection'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { Component } from '../model/component'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { Formatter } from '../model/formatter'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -38,2 +38,3 @@ import { Observable } from '@tanbo/stream'; | ||
private subscription; | ||
private forceChangeSubscription; | ||
constructor(root: RootComponentRef, selection: Selection, translator: Translator, renderer: Renderer, formatMap: FormatterList); | ||
@@ -40,0 +41,0 @@ /** |
@@ -32,2 +32,3 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { | ||
this.subscription = null; | ||
this.forceChangeSubscription = null; | ||
this.onChange = this.changeEvent.asObservable(); | ||
@@ -52,2 +53,5 @@ } | ||
this.record(); | ||
this.forceChangeSubscription = this.root.component.changeMarker.onForceChange.pipe(debounceTime(1)).subscribe(() => { | ||
this.renderer.render(); | ||
}); | ||
} | ||
@@ -88,3 +92,5 @@ /** | ||
destroy() { | ||
var _a; | ||
this.historySequence = []; | ||
(_a = this.forceChangeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe(); | ||
this.stop(); | ||
@@ -91,0 +97,0 @@ } |
@@ -0,0 +0,0 @@ import { Shortcut } from '../model/_api'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { Renderer } from './renderer'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { VElement } from '../model/_api'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { Selection } from './selection'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { Observable } from '@tanbo/stream'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { Observable } from '@tanbo/stream'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { Injector } from '@tanbo/di'; |
@@ -0,0 +0,0 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { |
@@ -0,0 +0,0 @@ import { Ref, NativeNode, VElement } from '@textbus/core'; |
export {}; | ||
//# sourceMappingURL=jsx.js.map |
@@ -0,0 +0,0 @@ export * from './change-marker'; |
@@ -0,0 +0,0 @@ export * from './change-marker'; |
@@ -9,2 +9,3 @@ import { Observable } from '@tanbo/stream'; | ||
onChange: Observable<Operation>; | ||
onForceChange: Observable<void>; | ||
onChildComponentRemoved: Observable<ComponentInstance>; | ||
@@ -21,3 +22,6 @@ get dirty(): boolean; | ||
private childComponentRemovedEvent; | ||
private forceChangeEvent; | ||
constructor(); | ||
forceMarkDirtied(): void; | ||
forceMarkChanged(): void; | ||
markAsDirtied(operation: Operation): void; | ||
@@ -24,0 +28,0 @@ markAsChanged(operation: Operation): void; |
@@ -13,4 +13,6 @@ import { Subject } from '@tanbo/stream'; | ||
this.childComponentRemovedEvent = new Subject(); | ||
this.forceChangeEvent = new Subject(); | ||
this.onChange = this.changeEvent.asObservable(); | ||
this.onChildComponentRemoved = this.childComponentRemovedEvent.asObservable(); | ||
this.onForceChange = this.forceChangeEvent.asObservable(); | ||
} | ||
@@ -29,2 +31,10 @@ get dirty() { | ||
} | ||
forceMarkDirtied() { | ||
this._dirty = true; | ||
this.forceMarkChanged(); | ||
} | ||
forceMarkChanged() { | ||
this._changed = true; | ||
this.forceChangeEvent.next(); | ||
} | ||
markAsDirtied(operation) { | ||
@@ -31,0 +41,0 @@ this._dirty = true; |
@@ -0,0 +0,0 @@ import { Draft } from 'immer'; |
@@ -119,2 +119,5 @@ import { produce, enablePatches } from 'immer'; | ||
marker.markAsChanged(d.operation); | ||
}), | ||
context.slots.onChildSlotForceChange.subscribe(() => { | ||
marker.forceMarkChanged(); | ||
}) | ||
@@ -121,0 +124,0 @@ ]; |
@@ -0,0 +0,0 @@ import { ComponentInstance, ComponentLiteral } from './component'; |
@@ -0,0 +0,0 @@ /** |
@@ -0,0 +0,0 @@ declare const parentNode: unique symbol; |
@@ -0,0 +0,0 @@ import { makeError } from '../_utils/make-error'; |
@@ -0,0 +0,0 @@ import { AttributeFormatter, BlockFormatter, Formatter, InlineFormatter } from './formatter'; |
@@ -0,0 +0,0 @@ import { FormatType } from './formatter'; |
@@ -0,0 +0,0 @@ import { VElement } from './element'; |
@@ -0,0 +0,0 @@ export var FormatType; |
@@ -0,0 +0,0 @@ import { Patch } from 'immer'; |
export {}; | ||
//# sourceMappingURL=operation.js.map |
@@ -0,0 +0,0 @@ import { Draft } from 'immer'; |
@@ -140,2 +140,5 @@ import { produce } from 'immer'; | ||
})); | ||
sub.add(content.changeMarker.onForceChange.subscribe(() => { | ||
this.changeMarker.forceMarkChanged(); | ||
})); | ||
this.componentChangeListeners.set(content, sub); | ||
@@ -142,0 +145,0 @@ } |
@@ -16,2 +16,3 @@ import { Observable } from '@tanbo/stream'; | ||
readonly onChildSlotChange: Observable<SlotChangeData<Slot>>; | ||
readonly onChildSlotForceChange: Observable<void>; | ||
readonly onChildComponentRemoved: Observable<ComponentInstance>; | ||
@@ -28,2 +29,3 @@ /** 子插槽的个数 */ | ||
private childSlotChangeEvent; | ||
private childSlotForceChangeEvent; | ||
private childComponentRemovedEvent; | ||
@@ -30,0 +32,0 @@ private changeListeners; |
@@ -12,2 +12,3 @@ import { Subject } from '@tanbo/stream'; | ||
this.childSlotChangeEvent = new Subject(); | ||
this.childSlotForceChangeEvent = new Subject(); | ||
this.childComponentRemovedEvent = new Subject(); | ||
@@ -17,2 +18,3 @@ this.changeListeners = new WeakMap(); | ||
this.onChildSlotChange = this.childSlotChangeEvent.asObservable(); | ||
this.onChildSlotForceChange = this.childSlotForceChangeEvent.asObservable(); | ||
this.onChildComponentRemoved = this.childComponentRemovedEvent.asObservable(); | ||
@@ -194,2 +196,5 @@ this.insert(...slots); | ||
})); | ||
sub.add(i.changeMarker.onForceChange.subscribe(() => { | ||
this.childSlotForceChangeEvent.next(); | ||
})); | ||
this.changeListeners.set(i, sub); | ||
@@ -196,0 +201,0 @@ }); |
@@ -0,0 +0,0 @@ import 'reflect-metadata'; |
@@ -0,0 +0,0 @@ import 'reflect-metadata'; |
@@ -0,0 +0,0 @@ import { Provider, ReflectiveInjector } from '@tanbo/di'; |
@@ -0,0 +0,0 @@ import { Injector, NullInjector, ReflectiveInjector } from '@tanbo/di'; |
{ | ||
"name": "@textbus/core", | ||
"version": "2.0.0-alpha.30", | ||
"version": "2.0.0-alpha.31", | ||
"description": "TextBus is a rich text editor and framework that is highly customizable and extensible to achieve rich wysiwyg effects.", | ||
@@ -43,3 +43,3 @@ "main": "./bundles/public-api.js", | ||
}, | ||
"gitHead": "f62a9d45b49f466fa4f8b12767841ce5dc195644" | ||
"gitHead": "7a27a20ebfe9c50c3672734df5798e2618ce6ea6" | ||
} |
@@ -0,0 +0,0 @@ TextBus 富文本编辑器 |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
6638
407977