File
Metadata
selector |
app-parser-data |
styleUrls |
parserdata.component.css |
templateUrl |
parserdata.component.html |
Methods
Private getData
|
getData()
|
Returns: void
|
Private getAllStyleSheetsCSSRules
|
getAllStyleSheetsCSSRules(collection: StyleSheetList)
|
Returns: void
|
getCombinedInnerRules
|
getCombinedInnerRules(cssRules: any)
|
Returns: void
|
onOptionChange
|
onOptionChange(element: any)
|
Returns: void
|
selection
|
selection: string
|
Default value: style
|
import {
Component,
OnInit,
Input,
Output,
EventEmitter,
AfterViewInit,
ElementRef,
} from "@angular/core";
import { EventsService } from "../services/events.service";
import { _MatTabBodyBase } from "@angular/material/tabs";
@Component({
selector: "app-parser-data",
templateUrl: "./parserdata.component.html",
styleUrls: ["./parserdata.component.css"],
})
export class ParserDataComponent implements OnInit, AfterViewInit {
constructor(private es: EventsService, private er: ElementRef) {}
@Input() tagName: string;
selection = "style";
ngOnInit(): void {}
ngAfterViewInit() {
this.getData();
}
private getData() {
let styles = document.styleSheets;
this.es.styleSheets.emit(styles);
this.getAllStyleSheetsCSSRules(styles);
}
private getAllStyleSheetsCSSRules(collection: StyleSheetList) {
let oneArray = Array.from(collection);
let cssRules = oneArray.map((stylesheet) => {
let ss: any = stylesheet;
try {
if (ss.rules) {
return ss.rules;
}
} catch (error) {}
});
let realData = this.getCombinedInnerRules(cssRules);
this.es.styleSheetRules.emit(realData);
}
getCombinedInnerRules(cssRules) {
let innerRules = cssRules.map((rule) => {
if (rule) {
let oneArray = Array.from(rule);
if (oneArray) {
return oneArray.map((innerrule) => {
return innerrule;
});
}
}
});
let cleaned = innerRules.filter(item => item!=undefined);
return cleaned;
}
onOptionChange(element) {
debugger;
this.getData();
}
}