UNPKG

3.55 kBJavaScriptView Raw
1"use strict";
2var model_1 = require("./model");
3var Homeworks = (function () {
4 function Homeworks(renderer, component, alias) {
5 if (alias === void 0) { alias = null; }
6 this.renderer = renderer;
7 this.m_class = [];
8 if (alias !== null) {
9 this.m_component = alias;
10 }
11 else {
12 this.m_component = component;
13 }
14 }
15 Homeworks.prototype.setRootElementClass = function (el, className, isAdd) {
16 if (isAdd === void 0) { isAdd = true; }
17 var context = this;
18 var index = context.m_class.indexOf(className);
19 if (index === -1) {
20 if (isAdd === true) {
21 context.m_class.push(className.replace(/\s/g, '-'));
22 }
23 }
24 else {
25 if (isAdd === false) {
26 context.m_class.splice(index, 1);
27 }
28 }
29 context.updateRootElementClass(el);
30 };
31 Homeworks.prototype.updateRootElementClass = function (el) {
32 var context = this;
33 context.renderer.setElementAttribute(el, 'class', '');
34 for (var idx in context.m_class) {
35 context.renderer.setElementClass(el, context.m_class[idx], true);
36 }
37 };
38 Homeworks.prototype.setElementClass = function (el, className, isAdd) {
39 if (isAdd === void 0) { isAdd = true; }
40 var context = this;
41 var classFullName = context.m_component + "-" + className;
42 context.renderer.setElementClass(el, classFullName, isAdd);
43 };
44 Homeworks.prototype.setPropagateChildClass = function (rootEl, childEl, className) {
45 var _this = this;
46 if (className !== null && className !== '') {
47 className
48 .split(' ')
49 .filter(function (e, i, arr) {
50 return arr.indexOf(e, i + 1) === -1;
51 })
52 .forEach(function (e, i) {
53 _this.renderer.setElementClass(childEl, e, true);
54 });
55 }
56 this.updateRootElementClass(rootEl);
57 };
58 Homeworks.prototype.setColor = function (el, color) {
59 var context = this;
60 var index = model_1.Colors.indexOf(color);
61 if (index !== -1) {
62 model_1.Colors.filter(function (e, i) {
63 return i !== index;
64 }).map(function (e, i) {
65 context.setElementClass(el, e, false);
66 });
67 context.setElementClass(el, color);
68 }
69 };
70 Homeworks.prototype.setSize = function (el, size) {
71 var context = this;
72 var sizeClassName = context.getSizeClassName(size);
73 model_1.Sizes.filter(function (e, i) {
74 return e !== size;
75 }).map(function (e, i) {
76 var removeSizeName = context.getSizeClassName(e);
77 context.setElementClass(el, removeSizeName, false);
78 });
79 context.setElementClass(el, sizeClassName);
80 };
81 Homeworks.prototype.getSizeClassName = function (size) {
82 switch (size) {
83 case 'extra large':
84 return 'xg';
85 case 'large':
86 return 'lg';
87 case 'medium':
88 case 'normal':
89 return 'md';
90 case 'small':
91 return 'sm';
92 case 'extra small':
93 return 'xs';
94 }
95 return 'md';
96 };
97 return Homeworks;
98}());
99exports.Homeworks = Homeworks;
100//# sourceMappingURL=homeworks.js.map
\No newline at end of file