Update src/Console/Console.js
Browse files- src/Console/Console.js +62 -21
src/Console/Console.js
CHANGED
|
@@ -175,20 +175,57 @@ export default class Console extends Tool {
|
|
| 175 |
_$filterText: $el.find(c('.filter-text')),
|
| 176 |
})
|
| 177 |
}
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 192 |
|
| 193 |
logger.on('optionChange', (name, val) => {
|
| 194 |
switch (name) {
|
|
@@ -233,13 +270,17 @@ export default class Console extends Tool {
|
|
| 233 |
|
| 234 |
$control
|
| 235 |
.on('click', c('.clear-console'), () => logger.clear(true))
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
|
| 239 |
-
|
| 240 |
-
|
| 241 |
-
|
| 242 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 243 |
.on('click', c('.filter'), () => {
|
| 244 |
LunaModal.prompt('Filter').then((filter) => {
|
| 245 |
if (isNull(filter)) return
|
|
|
|
| 175 |
_$filterText: $el.find(c('.filter-text')),
|
| 176 |
})
|
| 177 |
}
|
| 178 |
+
_initLogger() {
|
| 179 |
+
const cfg = this.config
|
| 180 |
+
let maxLogNum = cfg.get('maxLogNum')
|
| 181 |
+
maxLogNum = maxLogNum === 'infinite' ? 0 : +maxLogNum
|
| 182 |
+
|
| 183 |
+
const $level = this._$control.find(c('.level'))
|
| 184 |
+
const logger = new LunaConsole(this._$logs.get(0), {
|
| 185 |
+
asyncRender: cfg.get('asyncRender'),
|
| 186 |
+
maxNum: maxLogNum,
|
| 187 |
+
showHeader: cfg.get('displayExtraInfo'),
|
| 188 |
+
unenumerable: cfg.get('displayUnenumerable'),
|
| 189 |
+
accessGetter: cfg.get('displayGetterVal'),
|
| 190 |
+
lazyEvaluation: cfg.get('lazyEvaluation'),
|
| 191 |
+
})
|
| 192 |
+
|
| 193 |
+
// 初期状態を設定
|
| 194 |
+
this._updateLevelUI(['verbose', 'info', 'warning', 'error'])
|
| 195 |
+
|
| 196 |
+
logger.on('optionChange', (name, val) => {
|
| 197 |
+
switch (name) {
|
| 198 |
+
case 'level':
|
| 199 |
+
this._updateLevelUI(val)
|
| 200 |
+
break
|
| 201 |
+
}
|
| 202 |
+
})
|
| 203 |
+
|
| 204 |
+
if (cfg.get('overrideConsole')) this.overrideConsole()
|
| 205 |
+
|
| 206 |
+
this._logger = logger
|
| 207 |
+
}
|
| 208 |
+
_updateLevelUI(levels) {
|
| 209 |
+
const $level = this._$control.find(c('.level'))
|
| 210 |
+
|
| 211 |
+
$level.each(function() {
|
| 212 |
+
const $this = $(this)
|
| 213 |
+
const level = $this.data('level')
|
| 214 |
+
let isMatch = false
|
| 215 |
+
|
| 216 |
+
if (level === 'all') {
|
| 217 |
+
isMatch = Array.isArray(levels) &&
|
| 218 |
+
levels.includes('verbose') &&
|
| 219 |
+
levels.includes('info') &&
|
| 220 |
+
levels.includes('warning') &&
|
| 221 |
+
levels.includes('error')
|
| 222 |
+
} else {
|
| 223 |
+
isMatch = Array.isArray(levels) ? levels.includes(level) : level === levels
|
| 224 |
+
}
|
| 225 |
+
|
| 226 |
+
$this.toggleClass(c('active'), isMatch)
|
| 227 |
+
})
|
| 228 |
+
}
|
| 229 |
|
| 230 |
logger.on('optionChange', (name, val) => {
|
| 231 |
switch (name) {
|
|
|
|
| 270 |
|
| 271 |
$control
|
| 272 |
.on('click', c('.clear-console'), () => logger.clear(true))
|
| 273 |
+
.on('click', c('.level'), function() {
|
| 274 |
+
const $this = $(this)
|
| 275 |
+
let level = $this.data('level')
|
| 276 |
+
|
| 277 |
+
if (level === 'all') {
|
| 278 |
+
level = ['verbose', 'info', 'warning', 'error']
|
| 279 |
+
}
|
| 280 |
+
|
| 281 |
+
this._logger.setOption('level', level)
|
| 282 |
+
// UIの更新はoptionChangeイベントハンドラで行われるのでここでは不要
|
| 283 |
+
}.bind(this))
|
| 284 |
.on('click', c('.filter'), () => {
|
| 285 |
LunaModal.prompt('Filter').then((filter) => {
|
| 286 |
if (isNull(filter)) return
|