@stemy/ngx-utils 17.2.0 → 17.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,9 @@
1
+ import { ObjectUtils } from "./object.utils";
1
2
  export class FileSystemEntry {
2
3
  get parent() {
3
4
  return this.level === 0 ? null : this.path[this.level - 1] || null;
4
5
  }
5
- constructor(label, meta, image, data, openCb, parent = null) {
6
+ constructor(label, meta, image, data, openCb, parent = null, classes) {
6
7
  this.label = label;
7
8
  this.meta = meta;
8
9
  this.image = image;
@@ -10,9 +11,22 @@ export class FileSystemEntry {
10
11
  this.openCb = openCb;
11
12
  this.path = !parent ? [this] : parent.path.concat([this]);
12
13
  this.level = this.path.length - 1;
13
- this.classes = this.path
14
- .filter(t => typeof t.data === "string" && t.data.length > 0).map(t => t.data)
15
- .concat([`level-${this.level}`]);
14
+ this.classes = [`level-${this.level}`].concat(classes ?? this.path
15
+ .map(t => {
16
+ if (ObjectUtils.isString(t.data)) {
17
+ return t.data;
18
+ }
19
+ if (ObjectUtils.isObject(t.data)) {
20
+ const list = Object.keys(t.data).map(k => {
21
+ const value = t.data[k];
22
+ return ObjectUtils.isString(value) && value.length > 0 && value.length < 50
23
+ ? `${k}-${value}`
24
+ : null;
25
+ });
26
+ return list.filter(i => !!i).join(" ");
27
+ }
28
+ return null;
29
+ }).filter(t => !!t));
16
30
  }
17
31
  open() {
18
32
  this.result = this.result || this.openCb(this);
@@ -24,4 +38,4 @@ export class FileSystemEntry {
24
38
  return this.result;
25
39
  }
26
40
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zeXN0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3V0aWxzL2ZpbGUtc3lzdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxlQUFlO0lBUXhCLElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN2RSxDQUFDO0lBRUQsWUFBcUIsS0FBYSxFQUNiLElBQVksRUFDWixLQUFhLEVBQ2IsSUFBTyxFQUNOLE1BQW1DLEVBQzdDLFNBQTBCLElBQUk7UUFMckIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBRztRQUNOLFdBQU0sR0FBTixNQUFNLENBQTZCO1FBRXJELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJO2FBQ25CLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUM3RSxNQUFNLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU87WUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRmlsZVN5c3RlbUVudHJ5T3BlblJlc3VsdDxEID0gYW55LCBSID0gYW55PiA9IFByb21pc2U8cmVhZG9ubHkgRmlsZVN5c3RlbUVudHJ5PEQsIFI+W10+O1xuXG5leHBvcnQgdHlwZSBGaWxlU3lzdGVtRW50cnlPcGVuQ2I8UEQsIEQgPSBhbnksIFIgPSBhbnk+ID0gKHBhcmVudDogRmlsZVN5c3RlbUVudHJ5PFBEPikgPT4gRmlsZVN5c3RlbUVudHJ5T3BlblJlc3VsdDxELCBSPjtcblxuZXhwb3J0IGNsYXNzIEZpbGVTeXN0ZW1FbnRyeTxEID0gYW55LCBSID0gYW55PiB7XG5cbiAgICBwcm90ZWN0ZWQgcmVzdWx0OiBGaWxlU3lzdGVtRW50cnlPcGVuUmVzdWx0O1xuXG4gICAgcmVhZG9ubHkgcGF0aDogUmVhZG9ubHlBcnJheTxGaWxlU3lzdGVtRW50cnk+O1xuICAgIHJlYWRvbmx5IGxldmVsOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgY2xhc3NlczogUmVhZG9ubHlBcnJheTxzdHJpbmc+O1xuXG4gICAgZ2V0IHBhcmVudCgpOiBGaWxlU3lzdGVtRW50cnkge1xuICAgICAgICByZXR1cm4gdGhpcy5sZXZlbCA9PT0gMCA/IG51bGwgOiB0aGlzLnBhdGhbdGhpcy5sZXZlbCAtIDFdIHx8IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgbGFiZWw6IHN0cmluZyxcbiAgICAgICAgICAgICAgICByZWFkb25seSBtZXRhOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgaW1hZ2U6IHN0cmluZyxcbiAgICAgICAgICAgICAgICByZWFkb25seSBkYXRhOiBELFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBvcGVuQ2I6IEZpbGVTeXN0ZW1FbnRyeU9wZW5DYjxELCBSPixcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IEZpbGVTeXN0ZW1FbnRyeSA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5wYXRoID0gIXBhcmVudCA/IFt0aGlzXSA6IHBhcmVudC5wYXRoLmNvbmNhdChbdGhpc10pO1xuICAgICAgICB0aGlzLmxldmVsID0gdGhpcy5wYXRoLmxlbmd0aCAtIDE7XG4gICAgICAgIHRoaXMuY2xhc3NlcyA9IHRoaXMucGF0aFxuICAgICAgICAgICAgLmZpbHRlcih0ID0+IHR5cGVvZiB0LmRhdGEgPT09IFwic3RyaW5nXCIgJiYgdC5kYXRhLmxlbmd0aCA+IDApLm1hcCh0ID0+IHQuZGF0YSlcbiAgICAgICAgICAgIC5jb25jYXQoW2BsZXZlbC0ke3RoaXMubGV2ZWx9YF0pO1xuICAgIH1cblxuICAgIG9wZW48TyA9IGFueT4oKTogRmlsZVN5c3RlbUVudHJ5T3BlblJlc3VsdDxSLCBPPiB7XG4gICAgICAgIHRoaXMucmVzdWx0ID0gdGhpcy5yZXN1bHQgfHwgdGhpcy5vcGVuQ2IodGhpcyk7XG4gICAgICAgIHRoaXMucmVzdWx0LnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMucmVzdWx0ID0gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc3VsdDtcbiAgICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zeXN0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3V0aWxzL2ZpbGUtc3lzdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zQyxNQUFNLE9BQU8sZUFBZTtJQVF4QixJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDdkUsQ0FBQztJQUVELFlBQXFCLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLElBQU8sRUFDTixNQUFtQyxFQUM3QyxTQUEwQixJQUFJLEVBQzlCLE9BQWtCO1FBTlQsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsU0FBSSxHQUFKLElBQUksQ0FBRztRQUNOLFdBQU0sR0FBTixNQUFNLENBQTZCO1FBR3JELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJO2FBQzdELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNMLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2xCLENBQUM7WUFDRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDckMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDeEIsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRTt3QkFDdkUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssRUFBRTt3QkFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDZixDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQUUsT0FBTztZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi9vYmplY3QudXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgRmlsZVN5c3RlbUVudHJ5T3BlblJlc3VsdDxEID0gYW55LCBSID0gYW55PiA9IFByb21pc2U8cmVhZG9ubHkgRmlsZVN5c3RlbUVudHJ5PEQsIFI+W10+O1xuXG5leHBvcnQgdHlwZSBGaWxlU3lzdGVtRW50cnlPcGVuQ2I8UEQsIEQgPSBhbnksIFIgPSBhbnk+ID0gKHBhcmVudDogRmlsZVN5c3RlbUVudHJ5PFBEPikgPT4gRmlsZVN5c3RlbUVudHJ5T3BlblJlc3VsdDxELCBSPjtcblxuZXhwb3J0IGNsYXNzIEZpbGVTeXN0ZW1FbnRyeTxEID0gYW55LCBSID0gYW55PiB7XG5cbiAgICBwcm90ZWN0ZWQgcmVzdWx0OiBGaWxlU3lzdGVtRW50cnlPcGVuUmVzdWx0O1xuXG4gICAgcmVhZG9ubHkgcGF0aDogUmVhZG9ubHlBcnJheTxGaWxlU3lzdGVtRW50cnk+O1xuICAgIHJlYWRvbmx5IGxldmVsOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgY2xhc3NlczogUmVhZG9ubHlBcnJheTxzdHJpbmc+O1xuXG4gICAgZ2V0IHBhcmVudCgpOiBGaWxlU3lzdGVtRW50cnkge1xuICAgICAgICByZXR1cm4gdGhpcy5sZXZlbCA9PT0gMCA/IG51bGwgOiB0aGlzLnBhdGhbdGhpcy5sZXZlbCAtIDFdIHx8IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgbGFiZWw6IHN0cmluZyxcbiAgICAgICAgICAgICAgICByZWFkb25seSBtZXRhOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgcmVhZG9ubHkgaW1hZ2U6IHN0cmluZyxcbiAgICAgICAgICAgICAgICByZWFkb25seSBkYXRhOiBELFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCBvcGVuQ2I6IEZpbGVTeXN0ZW1FbnRyeU9wZW5DYjxELCBSPixcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IEZpbGVTeXN0ZW1FbnRyeSA9IG51bGwsXG4gICAgICAgICAgICAgICAgY2xhc3Nlcz86IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMucGF0aCA9ICFwYXJlbnQgPyBbdGhpc10gOiBwYXJlbnQucGF0aC5jb25jYXQoW3RoaXNdKTtcbiAgICAgICAgdGhpcy5sZXZlbCA9IHRoaXMucGF0aC5sZW5ndGggLSAxO1xuICAgICAgICB0aGlzLmNsYXNzZXMgPSBbYGxldmVsLSR7dGhpcy5sZXZlbH1gXS5jb25jYXQoY2xhc3NlcyA/PyB0aGlzLnBhdGhcbiAgICAgICAgICAgIC5tYXAodCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzU3RyaW5nKHQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQuZGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzT2JqZWN0KHQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlzdCA9IE9iamVjdC5rZXlzKHQuZGF0YSkubWFwKGsgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0LmRhdGFba107XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuaXNTdHJpbmcodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDAgJiYgdmFsdWUubGVuZ3RoIDwgNTBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAke2t9LSR7dmFsdWV9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsaXN0LmZpbHRlcihpID0+ICEhaSkuam9pbihcIiBcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSkuZmlsdGVyKHQgPT4gISF0KSk7XG4gICAgfVxuXG4gICAgb3BlbjxPID0gYW55PigpOiBGaWxlU3lzdGVtRW50cnlPcGVuUmVzdWx0PFIsIE8+IHtcbiAgICAgICAgdGhpcy5yZXN1bHQgPSB0aGlzLnJlc3VsdCB8fCB0aGlzLm9wZW5DYih0aGlzKTtcbiAgICAgICAgdGhpcy5yZXN1bHQudGhlbihyZXMgPT4ge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzKSkgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy5yZXN1bHQgPSBudWxsO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzdWx0O1xuICAgIH1cbn1cbiJdfQ==
@@ -1616,7 +1616,7 @@ class FileSystemEntry {
1616
1616
  get parent() {
1617
1617
  return this.level === 0 ? null : this.path[this.level - 1] || null;
1618
1618
  }
1619
- constructor(label, meta, image, data, openCb, parent = null) {
1619
+ constructor(label, meta, image, data, openCb, parent = null, classes) {
1620
1620
  this.label = label;
1621
1621
  this.meta = meta;
1622
1622
  this.image = image;
@@ -1624,9 +1624,22 @@ class FileSystemEntry {
1624
1624
  this.openCb = openCb;
1625
1625
  this.path = !parent ? [this] : parent.path.concat([this]);
1626
1626
  this.level = this.path.length - 1;
1627
- this.classes = this.path
1628
- .filter(t => typeof t.data === "string" && t.data.length > 0).map(t => t.data)
1629
- .concat([`level-${this.level}`]);
1627
+ this.classes = [`level-${this.level}`].concat(classes ?? this.path
1628
+ .map(t => {
1629
+ if (ObjectUtils.isString(t.data)) {
1630
+ return t.data;
1631
+ }
1632
+ if (ObjectUtils.isObject(t.data)) {
1633
+ const list = Object.keys(t.data).map(k => {
1634
+ const value = t.data[k];
1635
+ return ObjectUtils.isString(value) && value.length > 0 && value.length < 50
1636
+ ? `${k}-${value}`
1637
+ : null;
1638
+ });
1639
+ return list.filter(i => !!i).join(" ");
1640
+ }
1641
+ return null;
1642
+ }).filter(t => !!t));
1630
1643
  }
1631
1644
  open() {
1632
1645
  this.result = this.result || this.openCb(this);