Browse Source

Up SelectorManager

pull/4849/head
Artur Arseniev 3 years ago
parent
commit
b8a429f95b
  1. 5
      src/selector_manager/index.ts
  2. 9
      src/style_manager/index.ts

5
src/selector_manager/index.ts

@ -83,6 +83,7 @@ import ClassTagsView from './view/ClassTagsView';
import EditorModel from '../editor/model/Editor';
import Component from '../dom_components/model/Component';
import { ItemManagerModule } from '../abstract/Module';
import { StyleModuleParam } from '../style_manager';
const isId = (str: string) => isString(str) && str[0] == '#';
const isClass = (str: string) => isString(str) && str[0] == '.';
@ -185,9 +186,9 @@ export default class SelectorManager extends ItemManagerModule<SelectorManagerCo
this.__trgCustom();
}
select(value: any, opts = {}) {
select(value: StyleModuleParam<'select', 0>, opts: StyleModuleParam<'select', 1> = {}) {
const targets = Array.isArray(value) ? value : [value];
const toSelect: any[] = this.em.get('StyleManager').select(targets, opts);
const toSelect: any[] = this.em.Styles.select(targets, opts);
this.selected.reset(this.__getCommonSelectors(toSelect));
const selTags = this.selectorTags;
const res = toSelect

9
src/style_manager/index.ts

@ -96,6 +96,8 @@ export const evLayerSelect = `${evPfx}layer:select`;
export const evTarget = `${evPfx}target`;
export const evCustom = `${evPfx}custom`;
export type StyleModuleParam<T extends keyof StyleManager, N extends number> = Parameters<StyleManager[T]>[N];
const propDef = (value: any) => value || value === 0;
const events = {
@ -359,7 +361,10 @@ export default class StyleManager extends ItemManagerModule<
* // Set as a target the CSS selector
* styleManager.select('.btn > span');
*/
select(target: StyleTarget | string, opts: { stylable?: boolean; component?: Component } = {}) {
select(
target: StyleTarget | string | (StyleTarget | string)[],
opts: { stylable?: boolean; component?: Component } = {}
) {
const { em } = this;
const trgs = isArray(target) ? target : [target];
const { stylable } = opts;
@ -375,7 +380,7 @@ export default class StyleManager extends ItemManagerModule<
model = rule;
}
targets.push(model);
targets.push(model as StyleTarget);
});
const component = opts.component || targets.filter(t => isComponent(t)).reverse()[0];

Loading…
Cancel
Save