Browse Source

Move CssRules to TS

pull/4695/head
Artur Arseniev 4 years ago
parent
commit
6181fc1b32
  1. 23
      src/css_composer/model/CssRules.ts

23
src/css_composer/model/CssRules.js → src/css_composer/model/CssRules.ts

@ -1,10 +1,14 @@
import { Collection } from '../../common'; import { Collection } from '../../common';
import CssRule from './CssRule'; import EditorModel from '../../editor/model/Editor';
import CssRule, { CssRuleProperties } from './CssRule';
export default class CssRules extends Collection { export default class CssRules extends Collection<CssRule> {
initialize(models, opt) { editor: EditorModel;
constructor(props: any, opt: any) {
super(props);
// Inject editor // Inject editor
if (opt && opt.em) this.editor = opt.em; this.editor = opt?.em;
// This will put the listener post CssComposer.postLoad // This will put the listener post CssComposer.postLoad
setTimeout(() => { setTimeout(() => {
@ -13,22 +17,23 @@ export default class CssRules extends Collection {
}); });
} }
toJSON(opts) { toJSON(opts: any) {
const result = Collection.prototype.toJSON.call(this, opts); const result = Collection.prototype.toJSON.call(this, opts);
return result.filter(rule => rule.style && !rule.shallow); return result.filter((rule: CssRuleProperties) => rule.style && !rule.shallow);
} }
onAdd(model, c, o) { onAdd(model: CssRule, c: CssRules, o: any) {
model.ensureSelectors(model, c, o); // required for undo model.ensureSelectors(model, c, o); // required for undo
} }
onRemove(removed) { onRemove(removed: CssRule) {
const em = this.editor; const em = this.editor;
em.stopListening(removed); em.stopListening(removed);
em.get('UndoManager').remove(removed); em.get('UndoManager').remove(removed);
} }
add(models, opt = {}) { // @ts-ignore
add(models: any, opt: any = {}) {
if (typeof models === 'string') { if (typeof models === 'string') {
models = this.editor.get('Parser').parseCss(models); models = this.editor.get('Parser').parseCss(models);
} }
Loading…
Cancel
Save