rb-document-form-constructor 0.8.0 → 0.8.2
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/dist/rb-document-form-constructor.esm.js +7 -18
- package/dist/rb-document-form-constructor.min.js +2 -2
- package/dist/rb-document-form-constructor.ssr.js +29 -29
- package/dist/scss/_global.scss +3 -0
- package/dist/scss/_variables.scss +17 -0
- package/dist/scss/components/_doc-form.scss +36 -0
- package/dist/scss/components/_doc-template-constructor.scss +112 -0
- package/dist/scss/components/_doc-template-facet-list.scss +41 -0
- package/dist/scss/components/_doc-template-field-sidebar.scss +52 -0
- package/dist/scss/components/_field-rule-form-modal.scss +27 -0
- package/dist/scss/components.scss +7 -0
- package/package.json +2 -2
- package/src/components/DocForm.vue +2 -16
- package/src/assets/fontello/README.txt +0 -75
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
|
|
4
4
|
if (Object.getOwnPropertySymbols) {
|
|
5
5
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
|
|
7
|
+
if (enumerableOnly) {
|
|
8
|
+
symbols = symbols.filter(function (sym) {
|
|
9
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
keys.push.apply(keys, symbols);
|
|
9
14
|
}
|
|
10
15
|
|
|
11
16
|
return keys;
|
|
@@ -13,12 +18,19 @@
|
|
|
13
18
|
|
|
14
19
|
function _objectSpread2(target) {
|
|
15
20
|
for (var i = 1; i < arguments.length; i++) {
|
|
16
|
-
var source =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
22
|
+
|
|
23
|
+
if (i % 2) {
|
|
24
|
+
ownKeys(Object(source), true).forEach(function (key) {
|
|
25
|
+
_defineProperty$1(target, key, source[key]);
|
|
26
|
+
});
|
|
27
|
+
} else if (Object.getOwnPropertyDescriptors) {
|
|
28
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
29
|
+
} else {
|
|
30
|
+
ownKeys(Object(source)).forEach(function (key) {
|
|
31
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
22
34
|
}
|
|
23
35
|
|
|
24
36
|
return target;
|
|
@@ -5018,9 +5030,15 @@ var fcInputs = {
|
|
|
5018
5030
|
name: 'date',
|
|
5019
5031
|
type: 'rb-date-picker-input',
|
|
5020
5032
|
props: {
|
|
5033
|
+
minCurrentDate: {
|
|
5034
|
+
type: 'boolean',
|
|
5035
|
+
default: false,
|
|
5036
|
+
label: 'Установить текущую дату как минимальную',
|
|
5037
|
+
visible: true
|
|
5038
|
+
},
|
|
5021
5039
|
minDate: {
|
|
5022
5040
|
type: 'date',
|
|
5023
|
-
default:
|
|
5041
|
+
default: null,
|
|
5024
5042
|
label: 'Установить минимальную дату',
|
|
5025
5043
|
visible: true
|
|
5026
5044
|
},
|
|
@@ -11298,24 +11316,6 @@ var script$3 = {
|
|
|
11298
11316
|
});
|
|
11299
11317
|
});
|
|
11300
11318
|
});
|
|
11301
|
-
},
|
|
11302
|
-
setResolveValue: function setResolveValue(name, id) {
|
|
11303
|
-
var _this5 = this;
|
|
11304
|
-
|
|
11305
|
-
var multiple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
11306
|
-
name = name.substring(0, name.length - 2);
|
|
11307
|
-
|
|
11308
|
-
if (this.doc.name) {
|
|
11309
|
-
if (multiple) {
|
|
11310
|
-
this.doc.name.forEach(function (el, index) {
|
|
11311
|
-
if (el.id === id) {
|
|
11312
|
-
_this5.doc.name[index] = null;
|
|
11313
|
-
}
|
|
11314
|
-
});
|
|
11315
|
-
} else {
|
|
11316
|
-
this.doc.name = null;
|
|
11317
|
-
}
|
|
11318
|
-
}
|
|
11319
11319
|
}
|
|
11320
11320
|
},
|
|
11321
11321
|
mounted: function mounted() {
|
|
@@ -11424,7 +11424,7 @@ var __vue_inject_styles__$3 = undefined;
|
|
|
11424
11424
|
var __vue_scope_id__$3 = undefined;
|
|
11425
11425
|
/* module identifier */
|
|
11426
11426
|
|
|
11427
|
-
var __vue_module_identifier__$3 = "data-v-
|
|
11427
|
+
var __vue_module_identifier__$3 = "data-v-2889700d";
|
|
11428
11428
|
/* functional template */
|
|
11429
11429
|
|
|
11430
11430
|
var __vue_is_functional_template__$3 = false;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// DocTemplateFacetList
|
|
2
|
+
$rb-facet-list-border-color: $border-color !default;
|
|
3
|
+
|
|
4
|
+
// DocTemplateConstructor
|
|
5
|
+
$rb-doc-template-constructor-title-color: #333 !default;
|
|
6
|
+
$rb-doc-template-constructor-title-font-size: 16px !default;
|
|
7
|
+
$rb-doc-template-section-bg: #E9EAEA !default;
|
|
8
|
+
$rb-doc-template-constructor-form-column-border-color: #D5D5D6;
|
|
9
|
+
|
|
10
|
+
// DocTemplateFieldSidebar
|
|
11
|
+
$rb-doc-template-field-sidebar-font-size-lg: 1rem !default;
|
|
12
|
+
$rb-doc-template-field-sidebar-top: 72px !default;
|
|
13
|
+
$rb-doc-template-field-sidebar-close-button-left: -46px !default;
|
|
14
|
+
|
|
15
|
+
// DocForm
|
|
16
|
+
$rb-doc-form-font-size-lg: 1rem !default;
|
|
17
|
+
$rb-doc-form-legend-line-height: $line-height-base !default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
.rb-doc-form {
|
|
2
|
+
h4 {
|
|
3
|
+
font-weight: bold;
|
|
4
|
+
font-size: $rb-doc-form-font-size-lg;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.rb-form-section {
|
|
8
|
+
padding-bottom: 10px;
|
|
9
|
+
padding-top: 10px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.rb-form-column {
|
|
13
|
+
flex: 1;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.rb-form-column:first-child {
|
|
17
|
+
margin-left: 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.rb-form-column:last-child {
|
|
21
|
+
margin-right: 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.rb-form-column {
|
|
25
|
+
margin-left: 10px;
|
|
26
|
+
margin-right: 10px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
legend.col-form-label {
|
|
30
|
+
max-width: 100%;
|
|
31
|
+
display: block;
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
text-overflow: ellipsis;
|
|
34
|
+
white-space: nowrap;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
.rb-doc-template-constructor {
|
|
2
|
+
height: 100%;
|
|
3
|
+
|
|
4
|
+
h4 {
|
|
5
|
+
color: $rb-doc-template-constructor-title-color;
|
|
6
|
+
font-weight: bold;
|
|
7
|
+
font-size: $rb-doc-template-constructor-title-font-size;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.rb-form-constructor {
|
|
11
|
+
height: 100%;
|
|
12
|
+
overflow-y: auto;
|
|
13
|
+
background-color: white;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.rb-constructor-toolbar {
|
|
17
|
+
padding: 16px 16px 16px 16px;
|
|
18
|
+
background-color: white;
|
|
19
|
+
border-bottom: 1px solid $border-color;
|
|
20
|
+
|
|
21
|
+
h4 {
|
|
22
|
+
margin-bottom: 0;
|
|
23
|
+
line-height: 38px;
|
|
24
|
+
margin-right: 10px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.btn {
|
|
28
|
+
margin-left: 10px;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.rb-constructor-body {
|
|
33
|
+
padding: 16px;
|
|
34
|
+
|
|
35
|
+
.card {
|
|
36
|
+
border-width: 2px;
|
|
37
|
+
border-style: dashed;
|
|
38
|
+
background-color: $rb-doc-template-section-bg;
|
|
39
|
+
|
|
40
|
+
.card-header, .card-body {
|
|
41
|
+
background-color: $rb-doc-template-section-bg;
|
|
42
|
+
border-color: $border-color;
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.rb-form-card {
|
|
48
|
+
margin-bottom: 20px;
|
|
49
|
+
|
|
50
|
+
.rb-form-column {
|
|
51
|
+
flex: 1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.card-header {
|
|
55
|
+
border-bottom-width: 0;
|
|
56
|
+
display: flex;
|
|
57
|
+
flex-direction: row;
|
|
58
|
+
|
|
59
|
+
.rb-text {
|
|
60
|
+
font-size: 16px;
|
|
61
|
+
line-height: 24px;
|
|
62
|
+
font-weight: bold;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.rb-icon {
|
|
66
|
+
line-height: 24px;
|
|
67
|
+
font-size: 16px;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.rb-form-column {
|
|
73
|
+
.form-group:hover {
|
|
74
|
+
legend.col-form-label .rb-actions {
|
|
75
|
+
visibility: visible;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
legend.col-form-label {
|
|
80
|
+
font-size: $font-size-base;
|
|
81
|
+
font-weight: bold;
|
|
82
|
+
margin-bottom: 12px;
|
|
83
|
+
display: flex;
|
|
84
|
+
flex-direction: row;
|
|
85
|
+
color: $rb-doc-template-constructor-title-color;
|
|
86
|
+
|
|
87
|
+
.rb-text {
|
|
88
|
+
flex: 1;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.rb-actions {
|
|
92
|
+
visibility: hidden;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.form-control:disabled,
|
|
97
|
+
.btn.disabled {
|
|
98
|
+
background-color: white;
|
|
99
|
+
opacity: 1;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.rb-form-column {
|
|
104
|
+
padding: 10px;
|
|
105
|
+
border: 2px dashed $rb-doc-template-constructor-form-column-border-color;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.rb-form-column:not(.rb-single-column) {
|
|
109
|
+
margin: 0 10px;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
.rb-facets-sidebar {
|
|
2
|
+
height: 100%;
|
|
3
|
+
width: 264px;
|
|
4
|
+
overflow-y: auto;
|
|
5
|
+
background-color: white;
|
|
6
|
+
border-right: 1px solid $rb-facet-list-border-color;
|
|
7
|
+
|
|
8
|
+
h4 {
|
|
9
|
+
padding: 24px 16px 16px 16px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
h6 {
|
|
13
|
+
padding-left: 16px;
|
|
14
|
+
padding-right: 16px;
|
|
15
|
+
font-weight: 500;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
form {
|
|
19
|
+
padding-left: 16px;
|
|
20
|
+
padding-right: 16px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.rb-facet-label {
|
|
24
|
+
font-weight: bold;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.rb-facet-list {
|
|
28
|
+
.rb-facet {
|
|
29
|
+
padding: 10px 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
& > .rb-facet:not(:last-child) {
|
|
33
|
+
border-bottom: 1px solid $rb-facet-list-border-color;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.list-group-item {
|
|
37
|
+
border-radius: 0;
|
|
38
|
+
border: none;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
.rb-doc-template-field-sidebar {
|
|
2
|
+
.dropdown-menu.show {
|
|
3
|
+
max-width: 288px;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.b-sidebar {
|
|
7
|
+
top: $rb-doc-template-field-sidebar-top;
|
|
8
|
+
padding-bottom: $rb-doc-template-field-sidebar-top;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.rb-sidebar-close-btn {
|
|
12
|
+
opacity: 0.5;
|
|
13
|
+
position: absolute;
|
|
14
|
+
left: $rb-doc-template-field-sidebar-close-button-left;
|
|
15
|
+
border-radius: 0;
|
|
16
|
+
padding-left: 4px;
|
|
17
|
+
padding-right: 4px;
|
|
18
|
+
font-size: 16px;
|
|
19
|
+
|
|
20
|
+
.rb-icon {
|
|
21
|
+
font-size: 24px;
|
|
22
|
+
line-height: 24px;
|
|
23
|
+
vertical-align: middle;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
form {
|
|
28
|
+
padding: 10px 16px;
|
|
29
|
+
|
|
30
|
+
.rb-form-section {
|
|
31
|
+
margin-bottom: 20px;
|
|
32
|
+
|
|
33
|
+
& > .rb-title {
|
|
34
|
+
font-size: $rb-doc-template-field-sidebar-font-size-lg;
|
|
35
|
+
font-weight: bold;
|
|
36
|
+
margin-bottom: 10px;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
h4 {
|
|
42
|
+
margin-bottom: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.form-group.rb-immutable .rb-text {
|
|
46
|
+
font-size: $rb-doc-template-field-sidebar-font-size-lg;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.custom-checkbox {
|
|
50
|
+
margin-bottom: 12px;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
$rb-field-rule-btn-toolbar-bg: rgba(0, 0, 0, 0.03) !default;
|
|
2
|
+
|
|
3
|
+
.rb-field-rule-form-modal {
|
|
4
|
+
.modal-body {
|
|
5
|
+
padding: 0;
|
|
6
|
+
|
|
7
|
+
& > .card {
|
|
8
|
+
border: none;
|
|
9
|
+
border-radius: 0;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.btn-toolbar {
|
|
14
|
+
border-top-left-radius: $border-radius;
|
|
15
|
+
border-top-right-radius: $border-radius;
|
|
16
|
+
background-color: $rb-field-rule-btn-toolbar-bg;
|
|
17
|
+
padding: 10px 10px;
|
|
18
|
+
border-top: 1px solid $border-color;
|
|
19
|
+
border-left: 1px solid $border-color;
|
|
20
|
+
border-right: 1px solid $border-color;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
textarea.form-control {
|
|
24
|
+
border-top-left-radius: 0;
|
|
25
|
+
border-top-right-radius: 0;
|
|
26
|
+
}
|
|
27
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rb-document-form-constructor",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/rb-document-form-constructor.ssr.js",
|
|
6
6
|
"browser": "dist/rb-document-form-constructor.esm.js",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@vue/cli-service": "^4.5.13",
|
|
44
44
|
"cross-env": "^7.0.3",
|
|
45
45
|
"minimist": "^1.2.5",
|
|
46
|
-
"rb-bv-components": "^2.
|
|
46
|
+
"rb-bv-components": "^2.5.11",
|
|
47
47
|
"rimraf": "^3.0.2",
|
|
48
48
|
"rollup": "^2.52.8",
|
|
49
49
|
"rollup-plugin-copy-assets": "^2.0.3",
|
|
@@ -111,7 +111,7 @@ export default {
|
|
|
111
111
|
},
|
|
112
112
|
isValueLessThanMin(fieldname, min) {
|
|
113
113
|
if (this.doc[fieldname] && min) {
|
|
114
|
-
return parseInt(this.doc[fieldname]) < parseInt(min)
|
|
114
|
+
return parseInt(this.doc[fieldname]) < parseInt(min)
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
return false;
|
|
@@ -124,7 +124,7 @@ export default {
|
|
|
124
124
|
|
|
125
125
|
if (f.required && this.isValueEmpty(f.name)) {
|
|
126
126
|
feedback += `Поле "${f.labelRu}" обязательно`
|
|
127
|
-
}
|
|
127
|
+
}
|
|
128
128
|
|
|
129
129
|
if (f.type === 'integer' && this.isValueLessThanMin(f.name, f.input.propsData.min)) {
|
|
130
130
|
feedback += `\nМинимальное значение для этого поля ${f.input.propsData.min}`;
|
|
@@ -202,20 +202,6 @@ export default {
|
|
|
202
202
|
})
|
|
203
203
|
});
|
|
204
204
|
});
|
|
205
|
-
},
|
|
206
|
-
setResolveValue(name, id, multiple = false) {
|
|
207
|
-
name = name.substring(0, name.length - 2);
|
|
208
|
-
if (this.doc.name) {
|
|
209
|
-
if (multiple) {
|
|
210
|
-
this.doc.name.forEach((el, index) => {
|
|
211
|
-
if (el.id === id) {
|
|
212
|
-
this.doc.name[index] = null;
|
|
213
|
-
}
|
|
214
|
-
})
|
|
215
|
-
} else {
|
|
216
|
-
this.doc.name = null;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
205
|
}
|
|
220
206
|
},
|
|
221
207
|
mounted() {
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
This webfont is generated by https://fontello.com open source project.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
================================================================================
|
|
5
|
-
Please, note, that you should obey original font licenses, used to make this
|
|
6
|
-
webfont pack. Details available in LICENSE.txt file.
|
|
7
|
-
|
|
8
|
-
- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
|
|
9
|
-
site in "About" section.
|
|
10
|
-
|
|
11
|
-
- If your project is open-source, usually, it will be ok to make LICENSE.txt
|
|
12
|
-
file publicly available in your repository.
|
|
13
|
-
|
|
14
|
-
- Fonts, used in Fontello, don't require a clickable link on your site.
|
|
15
|
-
But any kind of additional authors crediting is welcome.
|
|
16
|
-
================================================================================
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Comments on archive content
|
|
20
|
-
---------------------------
|
|
21
|
-
|
|
22
|
-
- /font/* - fonts in different formats
|
|
23
|
-
|
|
24
|
-
- /css/* - different kinds of css, for all situations. Should be ok with
|
|
25
|
-
twitter bootstrap. Also, you can skip <i> style and assign icon classes
|
|
26
|
-
directly to text elements, if you don't mind about IE7.
|
|
27
|
-
|
|
28
|
-
- demo.html - demo file, to show your webfont content
|
|
29
|
-
|
|
30
|
-
- LICENSE.txt - license info about source fonts, used to build your one.
|
|
31
|
-
|
|
32
|
-
- config.json - keeps your settings. You can import it back into fontello
|
|
33
|
-
anytime, to continue your work
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
Why so many CSS files ?
|
|
37
|
-
-----------------------
|
|
38
|
-
|
|
39
|
-
Because we like to fit all your needs :)
|
|
40
|
-
|
|
41
|
-
- basic file, <your_font_name>.css - is usually enough, it contains @font-face
|
|
42
|
-
and character code definitions
|
|
43
|
-
|
|
44
|
-
- *-ie7.css - if you need IE7 support, but still don't wish to put char codes
|
|
45
|
-
directly into html
|
|
46
|
-
|
|
47
|
-
- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face
|
|
48
|
-
rules, but still wish to benefit from css generation. That can be very
|
|
49
|
-
convenient for automated asset build systems. When you need to update font -
|
|
50
|
-
no need to manually edit files, just override old version with archive
|
|
51
|
-
content. See fontello source code for examples.
|
|
52
|
-
|
|
53
|
-
- *-embedded.css - basic css file, but with embedded WOFF font, to avoid
|
|
54
|
-
CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.
|
|
55
|
-
We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`
|
|
56
|
-
server headers. But if you ok with dirty hack - this file is for you. Note,
|
|
57
|
-
that data url moved to separate @font-face to avoid problems with <IE9, when
|
|
58
|
-
string is too long.
|
|
59
|
-
|
|
60
|
-
- animate.css - use it to get ideas about spinner rotation animation.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
Attention for server setup
|
|
64
|
-
--------------------------
|
|
65
|
-
|
|
66
|
-
You MUST setup server to reply with proper `mime-types` for font files -
|
|
67
|
-
otherwise some browsers will fail to show fonts.
|
|
68
|
-
|
|
69
|
-
Usually, `apache` already has necessary settings, but `nginx` and other
|
|
70
|
-
webservers should be tuned. Here is list of mime types for our file extensions:
|
|
71
|
-
|
|
72
|
-
- `application/vnd.ms-fontobject` - eot
|
|
73
|
-
- `application/x-font-woff` - woff
|
|
74
|
-
- `application/x-font-ttf` - ttf
|
|
75
|
-
- `image/svg+xml` - svg
|