@magic-xpa/angular 4.801.0-dev481.312 → 4.801.0-dev481.318
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.
- package/esm2020/src/services/magic-color.service.mjs +14 -4
- package/fesm2015/magic-xpa-angular.mjs +13 -3
- package/fesm2015/magic-xpa-angular.mjs.map +1 -1
- package/fesm2020/magic-xpa-angular.mjs +13 -3
- package/fesm2020/magic-xpa-angular.mjs.map +1 -1
- package/package.json +3 -3
- package/src/services/magic-color.service.d.ts +1 -0
|
@@ -12,6 +12,7 @@ export class MagicColorService {
|
|
|
12
12
|
constructor(http, colorFile1 = 'clr_rnt.eng') {
|
|
13
13
|
this.http = http;
|
|
14
14
|
this.colorFileName = 'clr_rnt.eng';
|
|
15
|
+
this.fileNotFound = false;
|
|
15
16
|
if (colorFile1)
|
|
16
17
|
this.colorFileName = colorFile1;
|
|
17
18
|
else
|
|
@@ -24,10 +25,13 @@ export class MagicColorService {
|
|
|
24
25
|
if (!this.colorsData) {
|
|
25
26
|
this.http.get(this.getColorFilePath(), { responseType: 'text' }).subscribe(resp => {
|
|
26
27
|
this.colorsData = resp.replace(/\n/g, '@').split('@');
|
|
28
|
+
}, error1 => {
|
|
29
|
+
console.error('File not found ' + this.colorFileName);
|
|
30
|
+
this.fileNotFound = true;
|
|
27
31
|
});
|
|
28
32
|
}
|
|
29
33
|
}
|
|
30
|
-
hexToRgba(hex) {
|
|
34
|
+
hexToRgba(hex, isTransperent) {
|
|
31
35
|
let shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
32
36
|
hex = hex.replace(shorthandRegex, function (m, r, g, b, a) {
|
|
33
37
|
return a + a + r + r + g + g + b + b;
|
|
@@ -39,16 +43,22 @@ export class MagicColorService {
|
|
|
39
43
|
'blue': parseInt(result[2], 16),
|
|
40
44
|
'alpha': (255 - parseInt(result[1], 16)) / 255
|
|
41
45
|
};
|
|
46
|
+
if (isTransperent)
|
|
47
|
+
rgb.alpha = 0;
|
|
42
48
|
return 'rgba(' + rgb.red + ',' + rgb.green + ',' + rgb.blue + ',' + rgb.alpha + ')';
|
|
43
49
|
}
|
|
44
50
|
getColor(colorIndex, colorType) {
|
|
45
|
-
|
|
51
|
+
let isTransperent = false;
|
|
52
|
+
if (!this.colorsData && !this.fileNotFound)
|
|
46
53
|
this.getColorData();
|
|
47
54
|
if (this.colorsData) {
|
|
48
55
|
if (this.colorsData[colorIndex - 1]) {
|
|
49
56
|
let hex = '';
|
|
50
57
|
const grayHashCode = '00808080';
|
|
51
58
|
let color = this.colorsData[colorIndex - 1].split(',');
|
|
59
|
+
if (+color[3] || 1 == +color[3]) {
|
|
60
|
+
isTransperent = true;
|
|
61
|
+
}
|
|
52
62
|
if (+color[3] <= 1) {
|
|
53
63
|
switch (colorType) {
|
|
54
64
|
case MAGIC_FG_COLOR:
|
|
@@ -64,7 +74,7 @@ export class MagicColorService {
|
|
|
64
74
|
}
|
|
65
75
|
else
|
|
66
76
|
hex = grayHashCode;
|
|
67
|
-
return this.hexToRgba('#' + hex);
|
|
77
|
+
return this.hexToRgba('#' + hex, isTransperent);
|
|
68
78
|
}
|
|
69
79
|
else
|
|
70
80
|
console.log('Could not get color for number ' + colorIndex);
|
|
@@ -83,4 +93,4 @@ MagicColorService.ɵprov = i0.ɵɵdefineInjectable({ token: MagicColorService, f
|
|
|
83
93
|
type: Inject,
|
|
84
94
|
args: [COLOR_FILE_NAME]
|
|
85
95
|
}] }]; }, null); })();
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtY29sb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL21hZ2ljLWNvbG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR2xELE1BQU0sQ0FBQyxJQUFJLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxXQUFXLEVBQUU7SUFDbkUsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWE7Q0FDN0IsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFXLENBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVcsQ0FBQyxDQUFDO0FBS3hDLE1BQU0sT0FBTyxpQkFBaUI7SUFXNUIsWUFBb0IsSUFBZ0IsRUFBMkIsYUFBcUIsYUFBYTtRQUE3RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBVjdCLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBTzdCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBSTNCLElBQUksVUFBVTtZQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDOztZQUVoQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBYk0sZ0JBQWdCO1FBQ3JCLE9BQU8sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQWFPLFlBQVk7UUFFbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxZ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QUFDOzRCQUNqQixNQUFNO3dCQUNSLEtBQUssY0FBYzs0QkFDakIsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ2pCLE1BQU07d0JBQ1I7NEJBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsR0FBRyxVQUFVLENBQUMsQ0FBQzs0QkFDeEUsT0FBTyxFQUFFLENBQUM7cUJBQ2I7aUJBQ0Y7O29CQUNDLEdBQUcsR0FBRyxZQUFZLENBQUM7Z0JBRXJCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQ2pEOztnQkFDQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztrRkFsR1UsaUJBQWlCLDBDQVdrQixlQUFlO3lEQVhsRCxpQkFBaUIsV0FBakIsaUJBQWlCLG1CQUZoQixNQUFNO3VGQUVQLGlCQUFpQjtjQUg3QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVl3QyxNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbmV4cG9ydCBsZXQgQ09MT1JfRklMRV9OQU1FID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ2NvbG9yRmlsZScsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiAnY2xyX3JudC5lbmcnXG59KTtcbmV4cG9ydCBjb25zdCBNQUdJQ19GR19DT0xPUjogbnVtYmVyID0gMTtcbmV4cG9ydCBjb25zdCBNQUdJQ19CR19DT0xPUjogbnVtYmVyID0gMjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWFnaWNDb2xvclNlcnZpY2Uge1xuICBwdWJsaWMgY29sb3JGaWxlTmFtZSA9ICdjbHJfcm50LmVuZyc7XG5cbiAgcHVibGljIGdldENvbG9yRmlsZVBhdGgoKSB7XG4gICAgcmV0dXJuICdhc3NldHMvJyArIHRoaXMuY29sb3JGaWxlTmFtZTtcbiAgfVxuXG4gIHByaXZhdGUgY29sb3JzRGF0YTtcbiAgcHJpdmF0ZSBmaWxlTm90Rm91bmQgPSBmYWxzZTtcblxuICAvLyBwdWJsaWMgc3RhdGljIEZJTEVfTkFNRTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KENPTE9SX0ZJTEVfTkFNRSkgY29sb3JGaWxlMTogc3RyaW5nID0gJ2Nscl9ybnQuZW5nJykge1xuICAgIGlmIChjb2xvckZpbGUxKVxuICAgICAgdGhpcy5jb2xvckZpbGVOYW1lID0gY29sb3JGaWxlMTtcbiAgICBlbHNlXG4gICAgICB0aGlzLmNvbG9yRmlsZU5hbWUgPSAnY2xyX3JudC5lbmcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2xvckRhdGEoKSB7XG5cbiAgICBpZiAoIXRoaXMuY29sb3JzRGF0YSkge1xuICAgICAgdGhpcy5odHRwLmdldCh0aGlzLmdldENvbG9yRmlsZVBhdGgoKSwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KS5zdWJzY3JpYmUocmVzcCA9PiB7XG4gICAgICAgICAgdGhpcy5jb2xvcnNEYXRhID0gcmVzcC5yZXBsYWNlKC9cXG4vZywgJ0AnKS5zcGxpdCgnQCcpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjEgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZpbGUgbm90IGZvdW5kICcgKyB0aGlzLmNvbG9yRmlsZU5hbWUpO1xuICAgICAgICAgIHRoaXMuZmlsZU5vdEZvdW5kID0gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICB9XG5cbiAgfVxuXG4gIHByaXZhdGUgaGV4VG9SZ2JhKGhleDogYW55ICwgaXNUcmFuc3BlcmVudDogYm9vbGVhbik6IGFueSB7XG4gICAgbGV0IHNob3J0aGFuZFJlZ2V4ID0gL14jPyhbYS1mXFxkXSkoW2EtZlxcZF0pKFthLWZcXGRdKShbYS1mXFxkXSkkL2k7XG4gICAgLy8gY29udmVydCBpdCB0byBmb3JtYXQgOiBhYXJyZ2diYlxuICAgIGhleCA9IGhleC5yZXBsYWNlKHNob3J0aGFuZFJlZ2V4LCBmdW5jdGlvbihtOiBhbnksIHI6IGFueSwgZzogYW55LCBiOiBhbnksIGE6IGFueSkge1xuICAgICAgcmV0dXJuIGEgKyBhICsgciArIHIgKyBnICsgZyArIGIgKyBiO1xuICAgIH0pO1xuXG4gICAgbGV0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4KTtcblxuICAgIGxldCByZ2IgPSB7XG4gICAgICAncmVkJzogcGFyc2VJbnQocmVzdWx0IVs0XSwgMTYpLFxuICAgICAgJ2dyZWVuJzogcGFyc2VJbnQocmVzdWx0IVszXSwgMTYpLFxuICAgICAgJ2JsdWUnOiBwYXJzZUludChyZXN1bHQhWzJdLCAxNiksXG4gICAgICAnYWxwaGEnOiAoMjU1IC0gcGFyc2VJbnQocmVzdWx0IVsxXSwgMTYpKSAvIDI1NVxuICAgIH07XG4gICAgaWYoaXNUcmFuc3BlcmVudClcbiAgICAgIHJnYi5hbHBoYSA9IDA7XG5cbiAgICByZXR1cm4gJ3JnYmEoJyArIHJnYi5yZWQgKyAnLCcgKyByZ2IuZ3JlZW4gKyAnLCcgKyByZ2IuYmx1ZSArICcsJyArIHJnYi5hbHBoYSArICcpJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByZ2JhIHZhbHVlIG9mIHNwZWNpZmllZCBjb2xvclxuICAgKiBAcmV0dXJucyA6IHZhbHVlIGluIGZvcm1hdCByZ2JhKDEyOCwxMjgsMTI4LDEpXG4gICAqIEBwYXJhbSA6IGNvbG9yTnVtYmVyIC0wIGJhc2VkIGluZGV4IG9mIGNvbG9yIGZvciB3aGljaCBSR0JBIHZhbHVlcyBhcmUgcmV0dXJuZWRcbiAgICogQHBhcmFtOiBjb2xvclR5cGUgOiAxLU1BR0lDX0ZHX0NPTE9SLCAyLU1BR0lDX0JHX0NPTE9SXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29sb3IoY29sb3JJbmRleDogbnVtYmVyLCBjb2xvclR5cGU6IG51bWJlcikge1xuICAgIGxldCBpc1RyYW5zcGVyZW50ID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLmNvbG9yc0RhdGEgJiYgIXRoaXMuZmlsZU5vdEZvdW5kKVxuICAgICAgdGhpcy5nZXRDb2xvckRhdGEoKTtcbiAgICBpZiAodGhpcy5jb2xvcnNEYXRhKSB7IC8vIGNvbG9yIGV4aXN0c1xuICAgICAgaWYgKHRoaXMuY29sb3JzRGF0YVtjb2xvckluZGV4IC0gMV0pIHtcbiAgICAgICAgbGV0IGhleCA9ICcnO1xuICAgICAgICBjb25zdCBncmF5SGFzaENvZGUgPSAnMDA4MDgwODAnO1xuICAgICAgICBsZXQgY29sb3I6IHN0cmluZ1tdID0gdGhpcy5jb2xvcnNEYXRhW2NvbG9ySW5kZXggLSAxXS5zcGxpdCgnLCcpOyAvLyBnZXQgdGhlIGNvbG9yIGRldGFpbHNcbiAgICAgICAgaWYoK2NvbG9yWzNdIHx8IDEgPT0gK2NvbG9yWzNdKVxuICAgICAgICB7XG4gICAgICAgICAgaXNUcmFuc3BlcmVudCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb2xvclswXSAtIG5hbWUsIGNvbG9yWzFdIC0gRkcgY29sb3IsIGNvbG9yWzJdIC0gQkcgY29sb3JcbiAgICAgICAgLy8gY29sb3JbM10gLSBhdHRyIGZsYWdzICgxIC0gdHJhbnNwZXJlbnQsIDIgLSBzeXN0ZW0gRkcsIDQgLSBzeXN0ZW0gYmcpXG4gICAgICAgIGlmICgrY29sb3JbM10gPD0gMSkgeyAvLyBmb3Igbm9uLXN5c3RlbSBjb2xvciBvciB0cmFuc3BlcmVudCBjb2xvclxuXG4gICAgICAgICAgc3dpdGNoIChjb2xvclR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgTUFHSUNfRkdfQ09MT1I6XG4gICAgICAgICAgICAgIGhleCA9IChjb2xvclsxXSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBNQUdJQ19CR19DT0xPUjpcbiAgICAgICAgICAgICAgaGV4ID0gKGNvbG9yWzJdKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnUGxlYXNlIGVudGVyIHZhbGlkIGNvbG9yIHR5cGUgOiAxLUZHLCAyLUJHICcgKyBjb2xvckluZGV4KTtcbiAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlXG4gICAgICAgICAgaGV4ID0gZ3JheUhhc2hDb2RlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmhleFRvUmdiYSgnIycgKyBoZXgsIGlzVHJhbnNwZXJlbnQpO1xuICAgICAgfSBlbHNlXG4gICAgICAgIGNvbnNvbGUubG9nKCdDb3VsZCBub3QgZ2V0IGNvbG9yIGZvciBudW1iZXIgJyArIGNvbG9ySW5kZXgpO1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZygnQ291bGQgbm90IGdldCBjb2xvciBmb3IgbnVtYmVyICcgKyBjb2xvckluZGV4KTtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2309,6 +2309,7 @@ class MagicColorService {
|
|
|
2309
2309
|
constructor(http, colorFile1 = 'clr_rnt.eng') {
|
|
2310
2310
|
this.http = http;
|
|
2311
2311
|
this.colorFileName = 'clr_rnt.eng';
|
|
2312
|
+
this.fileNotFound = false;
|
|
2312
2313
|
if (colorFile1)
|
|
2313
2314
|
this.colorFileName = colorFile1;
|
|
2314
2315
|
else
|
|
@@ -2321,10 +2322,13 @@ class MagicColorService {
|
|
|
2321
2322
|
if (!this.colorsData) {
|
|
2322
2323
|
this.http.get(this.getColorFilePath(), { responseType: 'text' }).subscribe(resp => {
|
|
2323
2324
|
this.colorsData = resp.replace(/\n/g, '@').split('@');
|
|
2325
|
+
}, error1 => {
|
|
2326
|
+
console.error('File not found ' + this.colorFileName);
|
|
2327
|
+
this.fileNotFound = true;
|
|
2324
2328
|
});
|
|
2325
2329
|
}
|
|
2326
2330
|
}
|
|
2327
|
-
hexToRgba(hex) {
|
|
2331
|
+
hexToRgba(hex, isTransperent) {
|
|
2328
2332
|
let shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
2329
2333
|
hex = hex.replace(shorthandRegex, function (m, r, g, b, a) {
|
|
2330
2334
|
return a + a + r + r + g + g + b + b;
|
|
@@ -2336,16 +2340,22 @@ class MagicColorService {
|
|
|
2336
2340
|
'blue': parseInt(result[2], 16),
|
|
2337
2341
|
'alpha': (255 - parseInt(result[1], 16)) / 255
|
|
2338
2342
|
};
|
|
2343
|
+
if (isTransperent)
|
|
2344
|
+
rgb.alpha = 0;
|
|
2339
2345
|
return 'rgba(' + rgb.red + ',' + rgb.green + ',' + rgb.blue + ',' + rgb.alpha + ')';
|
|
2340
2346
|
}
|
|
2341
2347
|
getColor(colorIndex, colorType) {
|
|
2342
|
-
|
|
2348
|
+
let isTransperent = false;
|
|
2349
|
+
if (!this.colorsData && !this.fileNotFound)
|
|
2343
2350
|
this.getColorData();
|
|
2344
2351
|
if (this.colorsData) {
|
|
2345
2352
|
if (this.colorsData[colorIndex - 1]) {
|
|
2346
2353
|
let hex = '';
|
|
2347
2354
|
const grayHashCode = '00808080';
|
|
2348
2355
|
let color = this.colorsData[colorIndex - 1].split(',');
|
|
2356
|
+
if (+color[3] || 1 == +color[3]) {
|
|
2357
|
+
isTransperent = true;
|
|
2358
|
+
}
|
|
2349
2359
|
if (+color[3] <= 1) {
|
|
2350
2360
|
switch (colorType) {
|
|
2351
2361
|
case MAGIC_FG_COLOR:
|
|
@@ -2361,7 +2371,7 @@ class MagicColorService {
|
|
|
2361
2371
|
}
|
|
2362
2372
|
else
|
|
2363
2373
|
hex = grayHashCode;
|
|
2364
|
-
return this.hexToRgba('#' + hex);
|
|
2374
|
+
return this.hexToRgba('#' + hex, isTransperent);
|
|
2365
2375
|
}
|
|
2366
2376
|
else
|
|
2367
2377
|
console.log('Could not get color for number ' + colorIndex);
|