@magic-xpa/angular 4.801.0-dev481.311 → 4.801.0-dev481.317

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.
@@ -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,33 +43,42 @@ 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
- if (!this.colorsData)
51
+ let isTransperent = false;
52
+ if (!this.colorsData && !this.fileNotFound)
46
53
  this.getColorData();
47
- if (this.colorsData && this.colorsData[colorIndex - 1]) {
48
- let hex = '';
49
- const grayHashCode = '00808080';
50
- let color = this.colorsData[colorIndex].split(',');
51
- if (+color[3] <= 1) {
52
- switch (colorType) {
53
- case MAGIC_FG_COLOR:
54
- hex = (color[1]);
55
- break;
56
- case MAGIC_BG_COLOR:
57
- hex = (color[2]);
58
- break;
59
- default:
60
- console.log('Please enter valid color type : 1-FG, 2-BG ' + colorIndex);
61
- return '';
54
+ if (this.colorsData) {
55
+ if (this.colorsData[colorIndex - 1]) {
56
+ let hex = '';
57
+ const grayHashCode = '00808080';
58
+ let color = this.colorsData[colorIndex - 1].split(',');
59
+ if (+color[3] || 1 == +color[3]) {
60
+ isTransperent = true;
62
61
  }
62
+ if (+color[3] <= 1) {
63
+ switch (colorType) {
64
+ case MAGIC_FG_COLOR:
65
+ hex = (color[1]);
66
+ break;
67
+ case MAGIC_BG_COLOR:
68
+ hex = (color[2]);
69
+ break;
70
+ default:
71
+ console.log('Please enter valid color type : 1-FG, 2-BG ' + colorIndex);
72
+ return '';
73
+ }
74
+ }
75
+ else
76
+ hex = grayHashCode;
77
+ return this.hexToRgba('#' + hex, isTransperent);
63
78
  }
64
79
  else
65
- hex = grayHashCode;
66
- return this.hexToRgba('#' + hex);
80
+ console.log('Could not get color for number ' + colorIndex);
67
81
  }
68
- console.log('Could not get color for number ' + colorIndex);
69
82
  return '';
70
83
  }
71
84
  }
@@ -80,4 +93,4 @@ MagicColorService.ɵprov = i0.ɵɵdefineInjectable({ token: MagicColorService, f
80
93
  type: Inject,
81
94
  args: [COLOR_FILE_NAME]
82
95
  }] }]; }, null); })();
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnaWMtY29sb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3NlcnZpY2VzL21hZ2ljLWNvbG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR2xELE1BQU0sQ0FBQyxJQUFJLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxXQUFXLEVBQUU7SUFDbkUsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWE7Q0FDN0IsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFXLENBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQVcsQ0FBQyxDQUFDO0FBS3hDLE1BQU0sT0FBTyxpQkFBaUI7SUFVNUIsWUFBb0IsSUFBZ0IsRUFBMkIsYUFBcUIsYUFBYTtRQUE3RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBVDdCLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBVW5DLElBQUksVUFBVTtZQUNaLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDOztZQUVoQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBWk0sZ0JBQWdCO1FBQ3JCLE9BQU8sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQVlPLFlBQVk7UUFFbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FB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QUZoQixNQUFNO3VGQUVQLGlCQUFpQjtjQUg3QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVd3QyxNQUFNO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbmV4cG9ydCBsZXQgQ09MT1JfRklMRV9OQU1FID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ2NvbG9yRmlsZScsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiAnY2xyX3JudC5lbmcnXG59KTtcbmV4cG9ydCBjb25zdCBNQUdJQ19GR19DT0xPUjogbnVtYmVyID0gMTtcbmV4cG9ydCBjb25zdCBNQUdJQ19CR19DT0xPUjogbnVtYmVyID0gMjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWFnaWNDb2xvclNlcnZpY2Uge1xuICBwdWJsaWMgY29sb3JGaWxlTmFtZSA9ICdjbHJfcm50LmVuZyc7XG5cbiAgcHVibGljIGdldENvbG9yRmlsZVBhdGgoKSB7XG4gICAgcmV0dXJuICdhc3NldHMvJyArIHRoaXMuY29sb3JGaWxlTmFtZTtcbiAgfVxuXG4gIHByaXZhdGUgY29sb3JzRGF0YTtcblxuICAvLyBwdWJsaWMgc3RhdGljIEZJTEVfTkFNRTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBASW5qZWN0KENPTE9SX0ZJTEVfTkFNRSkgY29sb3JGaWxlMTogc3RyaW5nID0gJ2Nscl9ybnQuZW5nJykge1xuICAgIGlmIChjb2xvckZpbGUxKVxuICAgICAgdGhpcy5jb2xvckZpbGVOYW1lID0gY29sb3JGaWxlMTtcbiAgICBlbHNlXG4gICAgICB0aGlzLmNvbG9yRmlsZU5hbWUgPSAnY2xyX3JudC5lbmcnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2xvckRhdGEoKSB7XG5cbiAgICBpZiAoIXRoaXMuY29sb3JzRGF0YSkge1xuICAgICAgdGhpcy5odHRwLmdldCh0aGlzLmdldENvbG9yRmlsZVBhdGgoKSwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KS5zdWJzY3JpYmUocmVzcCA9PiB7XG4gICAgICAgIHRoaXMuY29sb3JzRGF0YSA9IHJlc3AucmVwbGFjZSgvXFxuL2csICdAJykuc3BsaXQoJ0AnKTtcbiAgICAgIH0pO1xuXG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIGhleFRvUmdiYShoZXg6IGFueSk6IGFueSB7XG4gICAgbGV0IHNob3J0aGFuZFJlZ2V4ID0gL14jPyhbYS1mXFxkXSkoW2EtZlxcZF0pKFthLWZcXGRdKShbYS1mXFxkXSkkL2k7XG4gICAgLy8gY29udmVydCBpdCB0byBmb3JtYXQgOiBhYXJyZ2diYlxuICAgIGhleCA9IGhleC5yZXBsYWNlKHNob3J0aGFuZFJlZ2V4LCBmdW5jdGlvbihtOiBhbnksIHI6IGFueSwgZzogYW55LCBiOiBhbnksIGE6IGFueSkge1xuICAgICAgcmV0dXJuIGEgKyBhICsgciArIHIgKyBnICsgZyArIGIgKyBiO1xuICAgIH0pO1xuXG4gICAgbGV0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4KTtcblxuICAgIGxldCByZ2IgPSB7XG4gICAgICAncmVkJzogcGFyc2VJbnQocmVzdWx0IVs0XSwgMTYpLFxuICAgICAgJ2dyZWVuJzogcGFyc2VJbnQocmVzdWx0IVszXSwgMTYpLFxuICAgICAgJ2JsdWUnOiBwYXJzZUludChyZXN1bHQhWzJdLCAxNiksXG4gICAgICAnYWxwaGEnOiAoMjU1IC0gcGFyc2VJbnQocmVzdWx0IVsxXSwgMTYpKSAvIDI1NVxuICAgIH07XG5cbiAgICByZXR1cm4gJ3JnYmEoJyArIHJnYi5yZWQgKyAnLCcgKyByZ2IuZ3JlZW4gKyAnLCcgKyByZ2IuYmx1ZSArICcsJyArIHJnYi5hbHBoYSArICcpJztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByZ2JhIHZhbHVlIG9mIHNwZWNpZmllZCBjb2xvclxuICAgKiBAcmV0dXJucyA6IHZhbHVlIGluIGZvcm1hdCByZ2JhKDEyOCwxMjgsMTI4LDEpXG4gICAqIEBwYXJhbSA6IGNvbG9yTnVtYmVyIC0wIGJhc2VkIGluZGV4IG9mIGNvbG9yIGZvciB3aGljaCBSR0JBIHZhbHVlcyBhcmUgcmV0dXJuZWRcbiAgICogQHBhcmFtOiBjb2xvclR5cGUgOiAxLU1BR0lDX0ZHX0NPTE9SLCAyLU1BR0lDX0JHX0NPTE9SXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29sb3IoY29sb3JJbmRleDogbnVtYmVyLCBjb2xvclR5cGU6IG51bWJlcikge1xuXG4gICAgaWYoIXRoaXMuY29sb3JzRGF0YSlcbiAgICAgIHRoaXMuZ2V0Q29sb3JEYXRhKCk7XG4gICAgaWYgKHRoaXMuY29sb3JzRGF0YSAmJiB0aGlzLmNvbG9yc0RhdGFbY29sb3JJbmRleCAtMV0pIHsgLy8gY29sb3IgZXhpc3RzXG4gICAgICBsZXQgaGV4ID0gJyc7XG4gICAgICBjb25zdCBncmF5SGFzaENvZGUgPSAnMDA4MDgwODAnO1xuICAgICAgbGV0IGNvbG9yOiBzdHJpbmdbXSA9IHRoaXMuY29sb3JzRGF0YVtjb2xvckluZGV4XS5zcGxpdCgnLCcpOyAvLyBnZXQgdGhlIGNvbG9yIGRldGFpbHNcbiAgICAgIC8vIGNvbG9yWzBdIC0gbmFtZSwgY29sb3JbMV0gLSBGRyBjb2xvciwgY29sb3JbMl0gLSBCRyBjb2xvclxuICAgICAgLy8gY29sb3JbM10gLSBhdHRyIGZsYWdzICgxIC0gdHJhbnNwZXJlbnQsIDIgLSBzeXN0ZW0gRkcsIDQgLSBzeXN0ZW0gYmcpXG4gICAgICBpZiAoK2NvbG9yWzNdIDw9IDEpIHsgLy8gZm9yIG5vbi1zeXN0ZW0gY29sb3Igb3IgdHJhbnNwZXJlbnQgY29sb3JcblxuICAgICAgICBzd2l0Y2ggKGNvbG9yVHlwZSkge1xuICAgICAgICAgIGNhc2UgTUFHSUNfRkdfQ09MT1I6XG4gICAgICAgICAgICBoZXggPSAoY29sb3JbMV0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNQUdJQ19CR19DT0xPUjpcbiAgICAgICAgICAgIGhleCA9IChjb2xvclsyXSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY29uc29sZS5sb2coJ1BsZWFzZSBlbnRlciB2YWxpZCBjb2xvciB0eXBlIDogMS1GRywgMi1CRyAnICsgY29sb3JJbmRleCk7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZVxuICAgICAgICBoZXggPSBncmF5SGFzaENvZGU7XG4gICAgICByZXR1cm4gdGhpcy5oZXhUb1JnYmEoJyMnICsgaGV4KTtcbiAgICB9XG4gICAgY29uc29sZS5sb2coJ0NvdWxkIG5vdCBnZXQgY29sb3IgZm9yIG51bWJlciAnICsgY29sb3JJbmRleCk7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iXX0=
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,33 +2340,42 @@ 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
- if (!this.colorsData)
2348
+ let isTransperent = false;
2349
+ if (!this.colorsData && !this.fileNotFound)
2343
2350
  this.getColorData();
2344
- if (this.colorsData && this.colorsData[colorIndex - 1]) {
2345
- let hex = '';
2346
- const grayHashCode = '00808080';
2347
- let color = this.colorsData[colorIndex].split(',');
2348
- if (+color[3] <= 1) {
2349
- switch (colorType) {
2350
- case MAGIC_FG_COLOR:
2351
- hex = (color[1]);
2352
- break;
2353
- case MAGIC_BG_COLOR:
2354
- hex = (color[2]);
2355
- break;
2356
- default:
2357
- console.log('Please enter valid color type : 1-FG, 2-BG ' + colorIndex);
2358
- return '';
2351
+ if (this.colorsData) {
2352
+ if (this.colorsData[colorIndex - 1]) {
2353
+ let hex = '';
2354
+ const grayHashCode = '00808080';
2355
+ let color = this.colorsData[colorIndex - 1].split(',');
2356
+ if (+color[3] || 1 == +color[3]) {
2357
+ isTransperent = true;
2359
2358
  }
2359
+ if (+color[3] <= 1) {
2360
+ switch (colorType) {
2361
+ case MAGIC_FG_COLOR:
2362
+ hex = (color[1]);
2363
+ break;
2364
+ case MAGIC_BG_COLOR:
2365
+ hex = (color[2]);
2366
+ break;
2367
+ default:
2368
+ console.log('Please enter valid color type : 1-FG, 2-BG ' + colorIndex);
2369
+ return '';
2370
+ }
2371
+ }
2372
+ else
2373
+ hex = grayHashCode;
2374
+ return this.hexToRgba('#' + hex, isTransperent);
2360
2375
  }
2361
2376
  else
2362
- hex = grayHashCode;
2363
- return this.hexToRgba('#' + hex);
2377
+ console.log('Could not get color for number ' + colorIndex);
2364
2378
  }
2365
- console.log('Could not get color for number ' + colorIndex);
2366
2379
  return '';
2367
2380
  }
2368
2381
  }