Tue, 31 Aug 2021 20:48:37 +0200
Split batch, adjust mash step volume. In the duplicated log_brew handle the missing values. In save product, round the mash step sg to 4 decimals. In prod_edit, ingredients are stored as strings, not arrays. This triggered a memory corruption that only happened in rare circumstances. Don't fix mash step fields in the javascript, it is already done during load from the database. Calculation of the mash volume is rounded to 6 decimals. Enter mash step Brix/Plato value, the SG result is rounded to 4 decimals.
1 | 1 | /*states, content and header*/ |
2 | .jqx-widget-orange{border-color:#E48605} | |
3 | .jqx-widget-content-orange{color:#000000; border-color:#E48605} | |
4 | .jqx-fill-state-normal-orange, .jqx-widget-header-orange, .jqx-menu-vertical-orange { | |
5 | border-color: #E48605; | |
6 | color: #ffffff; | |
7 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
8 | background-color: #faa732; | |
9 | *background-color: #f89406; | |
10 | background-image: -moz-linear-gradient(top, #fbb450, #f89406); | |
11 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); | |
12 | background-image: -webkit-linear-gradient(top, #fbb450, #f89406); | |
13 | background-image: -o-linear-gradient(top, #fbb450, #f89406); | |
14 | background-image: linear-gradient(to bottom, #fbb450, #f89406); | |
15 | background-repeat: repeat-x; | |
16 | } | |
17 | .jqx-fill-state-hover-orange{ | |
18 | border-color: #E48605; | |
19 | color: #ffffff; | |
20 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); | |
21 | background-color: #E74615; | |
22 | *background-color: #E74615; | |
23 | background-image: -moz-linear-gradient(top, #f89406, #E48605); | |
24 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f89406), to(#E48605)); | |
25 | background-image: -webkit-linear-gradient(top, #f89406, #E48605); | |
26 | background-image: -o-linear-gradient(top, #f89406, #E48605); | |
27 | background-image: linear-gradient(to bottom, #f89406, #E48605); | |
28 | background-repeat: repeat-x; | |
29 | } | |
30 | .jqx-fill-state-pressed-orange, .jqx-menu-item-top-hover-orange{ background: #044062; /* Old browsers */ | |
31 | border-color: #325da7; | |
32 | color: #ffffff; | |
33 | background: #4d77c1; /* Old browsers */ | |
34 | background: -moz-linear-gradient(top, #4d77c1 0%, #325da7 100%); /* FF3.6+ */ | |
35 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#4d77c1), color-stop(100%,#325da7)); /* Chrome,Safari4+ */ | |
36 | background: -webkit-linear-gradient(top, #4d77c1 0%,#325da7 100%); /* Chrome10+,Safari5.1+ */ | |
37 | background: -o-linear-gradient(top, #4d77c1 0%,#325da7 100%); /* Opera 11.10+ */ | |
38 | background: -ms-linear-gradient(top, #4d77c1 0%,#325da7 100%); /* IE10+ */ | |
39 | background: linear-gradient(to bottom, #4d77c1 0%,#325da7 100%); /* W3C */ | |
40 | } | |
41 | .jqx-fill-state-focus-orange { | |
42 | border-color: #325da7; | |
43 | } | |
44 | /*checkbox images, grid cells*/ | |
733
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
451
diff
changeset
|
45 | .jqx-checkbox-check-checked-orange{background:transparent url(./images/check_white.png) left top no-repeat} |
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
451
diff
changeset
|
46 | .jqx-checkbox-check-indeterminate-orange{background:transparent url(./images/check_indeterminate_white.png) left top no-repeat} |
1 | 47 | .jqx-grid-orange, .jqx-grid-header-orange, .jqx-grid-cell-orange{border-color:#E48605} |
48 | .jqx-widget-orange .jqx-grid-cell-orange, .jqx-widget-orange .jqx-grid-group-cell-orange{border-color:#FBB34E} | |
49 | .jqx-widget-orange .jqx-grid-column-header-orange{border-color:#E48605} | |
50 | .jqx-grid-bottomright-orange, .jqx-panel-bottomright-orange, .jqx-listbox-bottomright-orange{ background-color:#FBB659} | |
51 | .jqx-widget-orange .jqx-grid-column-menubutton-orange, .jqx-menu-vertical-orange{border-color:#FBB34E} | |
52 | .jqx-grid-selectionarea-orange{background-color:#6eaad3;border:1px solid #6eaad3; opacity:0.5} | |
53 | .jqx-grid-group-cell-orange{border-color:#FBB34E; background-color:#fff} | |
54 | .jqx-grid-cell-orange, .jqx-widget-orange .jqx-grid-cell-orange { | |
55 | border-color:#FBB34E; } | |
56 | .jqx-grid-cell-sort-orange, .jqx-grid-cell-filter-orange, .jqx-grid-cell-pinned-orange{background-color:#FCC67C} | |
57 | .jqx-grid-cell-alt-orange, .jqx-grid-cell-sort-alt-orange, .jqx-grid-cell-filter-alt-orange{background-color:#FCC67C} | |
58 | .jqx-scrollbar-state-normal-orange{background-color:#FBB659; border:1px solid #FBB659;} | |
59 | .jqx-tabs-title-selected-bottom-orange, .jqx-tabs-selection-tracker-bottom-orange, .jqx-tabs-title-selected-top-orange, .jqx-tabs-selection-tracker-top-orange{text-shadow: none; color: #000; border-color:#E48605; border-bottom:1px solid #ffffff; background:#ffffff} | |
60 | .jqx-radiobutton-check-checked-orange { | |
61 | background: #fff; | |
62 | border-color: #fff; | |
63 | } | |
64 | /*icons*/ | |
65 | .jqx-icon-arrow-left-orange{background-image:url('images/icon-left-white.png'); background-repeat:no-repeat; background-position:center} | |
66 | .jqx-icon-arrow-right-orange{background-image:url('images/icon-right-white.png'); background-repeat:no-repeat; background-position:center} | |
67 | .jqx-menu-item-arrow-left-orange{background-image:url('images/icon-left.png'); background-repeat:no-repeat; background-position:center} | |
68 | .jqx-menu-item-arrow-right-orange{background-image:url('images/icon-right.png'); background-repeat:no-repeat; background-position:center} | |
69 | ||
70 | .jqx-grid-column-sortascbutton-orange, .jqx-expander-arrow-bottom-orange, .jqx-window-collapse-button-orange, .jqx-menu-item-arrow-up-orange, .jqx-menu-item-arrow-up-selected-orange, .jqx-menu-item-arrow-top-up-orange, .jqx-icon-arrow-up-orange, .jqx-icon-arrow-up-hover-orange, .jqx-icon-arrow-up-selected-orange{background-image:url('images/icon-up-white.png');background-repeat:no-repeat;background-position:center} | |
71 | .jqx-grid-column-menubutton-orange, .jqx-grid-column-sortdescbutton-orange, .jqx-expander-arrow-top-orange, .jqx-window-collapse-button-collapsed-orange, .jqx-menu-item-arrow-down-orange, .jqx-menu-item-arrow-down-selected-orange, .jqx-menu-item-arrow-down-orange, .jqx-icon-arrow-down-orange, .jqx-icon-arrow-down-hover-orange, .jqx-icon-arrow-down-selected-orange{background-image:url('images/icon-down-white.png');background-repeat:no-repeat;background-position:center} | |
72 | .jqx-tabs-arrow-left-orange, .jqx-menu-item-arrow-left-selected-orange, .jqx-menu-item-arrow-top-left-orange, .jqx-icon-arrow-down-left-orange, .jqx-icon-arrow-left-selected-orange{background-image:url('images/icon-left-white.png');background-repeat:no-repeat;background-position:center} | |
73 | .jqx-tabs-arrow-right-orange, .jqx-menu-item-arrow-right-selected-orange, .jqx-menu-item-arrow-top-right-orange, .jqx-icon-arrow-right-hover-orange, .jqx-icon-arrow-right-selected-orange{background-image:url('images/icon-right-white.png');background-repeat:no-repeat;background-position:center} | |
733
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
451
diff
changeset
|
74 | .jqx-window-close-button-orange, .jqx-icon-close-orange, .jqx-tabs-close-button-orange, .jqx-tabs-close-button-hover-orange, .jqx-tabs-close-button-selected-orange{background-image:url(./images/close_white.png); background-repeat:no-repeat; background-position:center} |
1 | 75 | |
76 | .jqx-scrollbar-thumb-state-normal-horizontal-orange{ background:#F9960A; border:1px solid #E48605} | |
77 | .jqx-scrollbar-thumb-state-hover-horizontal-orange{ background:#E48605; border:1px solid #E48605} | |
78 | .jqx-scrollbar-thumb-state-pressed-horizontal-orange{ background:#111086; border:1px solid #070734} | |
79 | .jqx-scrollbar-thumb-state-normal-orange{ background:#F9960A; border:1px solid #E48605;} | |
80 | .jqx-scrollbar-thumb-state-hover-orange{ background:#E48605; border:1px solid #E48605} | |
81 | .jqx-scrollbar-thumb-state-pressed-orange{ background:#111086; border:1px solid #070734} | |
82 | .jqx-icon-arrow-first-orange | |
83 | { | |
84 | background-image: url('images/icon-first-white.png'); | |
85 | background-repeat: no-repeat; | |
86 | background-position: center; | |
87 | } | |
88 | .jqx-icon-arrow-last-orange | |
89 | { | |
90 | background-image: url('images/icon-last-white.png'); | |
91 | background-repeat: no-repeat; | |
92 | background-position: center; | |
93 | } | |
94 | ||
95 | .jqx-grid-cell-orange>.jqx-grid-group-expand-orange, .jqx-tree-item-arrow-expand-orange { | |
96 | background-image: url('images/icon-down.png'); | |
97 | background-repeat: no-repeat; | |
98 | background-position: center; | |
99 | } | |
100 | .jqx-grid-cell-orange>.jqx-grid-group-collapse-orange, .jqx-tree-item-arrow-collapse-orange { | |
101 | background-image: url('images/icon-right.png'); | |
102 | background-repeat: no-repeat; | |
103 | background-position: center; | |
104 | } | |
105 | .jqx-grid-cell-orange>.jqx-grid-group-collapse-rtl-orange, .jqx-tree-item-arrow-collapse-rtl-orange { | |
106 | background-image: url('images/icon-left.png'); | |
107 | background-repeat: no-repeat; | |
108 | background-position: center; | |
109 | } | |
110 | .jqx-grid-cell-orange>.jqx-grid-group-expand-rtl-orange { | |
111 | background-image: url('images/icon-down.png'); | |
112 | background-repeat: no-repeat; | |
113 | background-position: center; | |
114 | } | |
115 | ||
116 | .jqx-grid-cell-orange.jqx-grid-cell-selected-orange>.jqx-grid-group-expand-orange, | |
117 | .jqx-grid-cell-orange.jqx-grid-cell-hover-orange>.jqx-grid-group-expand-orange { | |
118 | background-image: url('images/icon-down-white.png'); | |
119 | background-repeat: no-repeat; | |
120 | background-position: center; | |
121 | } | |
122 | .jqx-grid-cell-orange.jqx-grid-cell-selected-orange>.jqx-grid-group-collapse-orange, | |
123 | .jqx-grid-cell-orange.jqx-grid-cell-hover-orange>.jqx-grid-group-collapse-orange { | |
124 | background-image: url('images/icon-right-white.png'); | |
125 | background-repeat: no-repeat; | |
126 | background-position: center; | |
127 | } | |
128 | .jqx-grid-cell-orange.jqx-grid-cell-selected-orange>.jqx-grid-group-collapse-rtl-orange, | |
129 | .jqx-grid-cell-orange.jqx-grid-cell-hover-orange>.jqx-grid-group-collapse-rtl-orange { | |
130 | background-image: url('images/icon-left-white.png'); | |
131 | background-repeat: no-repeat; | |
132 | background-position: center; | |
133 | } | |
134 | .jqx-grid-cell-orange.jqx-grid-cell-selected-orange>.jqx-grid-group-expand-rtl-orange, | |
135 | .jqx-grid-cell-orange.jqx-grid-cell-hover-orange>.jqx-grid-group-expand-rtl-orange { | |
136 | background-image: url('images/icon-down-white.png'); | |
137 | background-repeat: no-repeat; | |
138 | background-position: center; | |
139 | } | |
140 | .jqx-icon-search-orange | |
141 | { | |
733
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
451
diff
changeset
|
142 | background-image: url(./images/search_white.png); |
1 | 143 | background-repeat: no-repeat; |
144 | background-position: center; | |
145 | } | |
146 | .jqx-icon-calendar-orange, .jqx-icon-calendar-hover-orange, .jqx-icon-calendar-pressed-orange { | |
147 | background-image: url('images/icon-calendar-white.png'); | |
148 | } | |
149 | .jqx-icon-time-orange, .jqx-icon-time-hover-orange, .jqx-icon-time-pressed-orange { | |
150 | background-image: url('images/icon-time-white.png'); | |
151 | } | |
152 | .jqx-icon-delete-orange | |
153 | { | |
154 | background-image: url('images/icon-delete-white.png'); | |
155 | } | |
156 | .jqx-icon-edit-orange | |
157 | { | |
158 | background-image: url('images/icon-edit-white.png'); | |
159 | } | |
160 | .jqx-icon-save-orange | |
161 | { | |
162 | background-image: url('images/icon-save-white.png'); | |
163 | } | |
164 | .jqx-icon-cancel-orange | |
165 | { | |
166 | background-image: url('images/icon-cancel-white.png'); | |
167 | } | |
168 | .jqx-icon-search-orange | |
169 | { | |
733
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
451
diff
changeset
|
170 | background-image: url(./images/search_white.png); |
1 | 171 | } |
172 | .jqx-icon-plus-orange | |
173 | { | |
733
67bf19c50fcc
Upgraded jqwidgets from 9.0.0 to 12.0.1
Michiel Broek <mbroek@mbse.eu>
parents:
451
diff
changeset
|
174 | background-image: url(./images/plus_white.png); |
1 | 175 | } |
176 | .jqx-menu-minimized-button-orange { | |
177 | background-image: url('images/icon-menu-minimized-white.png'); | |
178 | } | |
179 | .jqx-editor-toolbar-icon-orange { | |
180 | background: url('images/html_editor_white.png') no-repeat; | |
181 | } | |
182 | .jqx-layout-orange | |
183 | { | |
184 | background-color: #E48605; | |
185 | } | |
186 | .jqx-layout-pseudo-window-pin-icon-orange | |
187 | { | |
188 | background-image: url("images/pin-white.png"); | |
189 | } | |
190 | .jqx-layout-pseudo-window-pinned-icon-orange | |
191 | { | |
192 | background-image: url("images/pinned-white.png"); | |
193 | } | |
194 | .jqx-scheduler-month-cell-orange, .jqx-scheduler-time-column-orange, .jqx-scheduler-toolbar-orange | |
195 | { | |
196 | background: #E48605 !important; | |
197 | color: #fff !important; | |
198 | } | |
199 | .jqx-widget-orange .jqx-scheduler-middle-cell-orange, .jqx-scheduler-middle-cell-orange { | |
200 | border-bottom-color: #E48605 !important; | |
201 | } | |
202 | .jqx-date-time-input-popup-orange .jqx-icon-arrow-down-orange { | |
203 | background-image: url('images/icon-down.png'); | |
204 | background-repeat: no-repeat; | |
205 | background-position: center; | |
206 | } | |
207 | .jqx-date-time-input-popup-orange .jqx-icon-arrow-up-orange { | |
208 | background-image: url('images/icon-up.png'); | |
209 | background-repeat: no-repeat; | |
210 | background-position: center; | |
451
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
211 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
212 | /*applied to the timepicker*/ |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
213 | .jqx-time-picker .jqx-header .jqx-hour-container-orange:focus { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
214 | outline: 1px solid white !important; |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
215 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
216 | .jqx-time-picker .jqx-header .jqx-minute-container-orange:focus { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
217 | outline: 1px solid white !important; |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
218 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
219 | .jqx-time-picker .jqx-header .jqx-am-container-orange:focus { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
220 | outline: 1px solid white !important; |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
221 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
222 | .jqx-time-picker .jqx-header .jqx-pm-container-orange:focus { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
223 | outline: 1px solid white !important; |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
224 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
225 | .jqx-svg-picker-orange:focus { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
226 | border: 1px solid rgb(77, 119, 193) !important; |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
227 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
228 | .jqx-label-orange { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
229 | fill: white; |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
230 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
231 | .jqx-needle-orange { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
232 | fill: rgb(77, 119, 193); |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
233 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
234 | .jqx-needle-central-circle-orange:first-of-type { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
235 | fill: rgb(77, 119, 193); |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
236 | stroke: rgb(77, 119, 193); |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
237 | stroke-width: 1.5; |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
238 | } |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
239 | .jqx-needle-central-circle-orange { |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
240 | fill: rgb(0, 74, 115); |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
241 | stroke: rgb(77, 119, 193); |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
242 | stroke-width: 1.5; |
259c97782bf8
Upgraded jqwidgets from 7.2.0 to 8.1.4
Michiel Broek <mbroek@mbse.eu>
parents:
1
diff
changeset
|
243 | } |