fluentd-ui 0.3.8 → 0.3.9
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.
Potentially problematic release.
This version of fluentd-ui might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ChangeLog +9 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +4 -1
- data/app/assets/javascripts/vue/fluent_log.js +4 -4
- data/app/assets/javascripts/vue/in_tail_format.js +43 -49
- data/app/assets/javascripts/{alert.js → vue/notification.js} +21 -7
- data/app/assets/javascripts/vue/settings.js +121 -0
- data/app/assets/javascripts/vue/treeview.js +3 -3
- data/app/assets/stylesheets/common.css.scss +7 -1
- data/app/controllers/api/settings_controller.rb +55 -0
- data/app/controllers/api_controller.rb +6 -2
- data/app/controllers/concerns/setting_concern.rb +2 -2
- data/app/controllers/fluentd/settings_controller.rb +17 -2
- data/app/models/fluentd/setting/config.rb +39 -0
- data/app/views/api/settings/_element.json.jbuilder +6 -0
- data/app/views/api/settings/index.json.jbuilder +3 -0
- data/app/views/api/settings/show.json.jbuilder +1 -0
- data/app/views/fluentd/settings/edit.html.haml +3 -0
- data/app/views/fluentd/settings/source_and_output.html.haml +19 -2
- data/app/views/layouts/application.html.erb +1 -30
- data/app/views/shared/vue/_in_tail_format.html.erb +11 -36
- data/app/views/shared/vue/_notification.html.erb +31 -0
- data/app/views/shared/vue/_setting.html.erb +23 -0
- data/app/views/shared/vue/_treeview.html.erb +2 -2
- data/bower.json +1 -1
- data/config/application.rb +1 -0
- data/config/locales/translation_en.yml +11 -7
- data/config/locales/translation_ja.yml +4 -0
- data/config/routes.rb +2 -0
- data/lib/fluentd-ui/version.rb +1 -1
- data/spec/features/fluentd/setting/source_and_output_spec.rb +157 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/javascript_macro.rb +21 -0
- data/vendor/assets/javascripts/bower/vue/.bower.json +7 -7
- data/vendor/assets/javascripts/bower/vue/LICENSE +1 -1
- data/vendor/assets/javascripts/bower/vue/dist/vue.js +7822 -4768
- data/vendor/assets/javascripts/bower/vue/dist/vue.min.js +7 -7
- data/vendor/assets/javascripts/bower/vue/src/api/child.js +53 -0
- data/vendor/assets/javascripts/bower/vue/src/api/data.js +161 -0
- data/vendor/assets/javascripts/bower/vue/src/api/dom.js +211 -0
- data/vendor/assets/javascripts/bower/vue/src/api/events.js +176 -0
- data/vendor/assets/javascripts/bower/vue/src/api/global.js +146 -0
- data/vendor/assets/javascripts/bower/vue/src/api/lifecycle.js +144 -0
- data/vendor/assets/javascripts/bower/vue/src/batcher.js +52 -32
- data/vendor/assets/javascripts/bower/vue/src/cache.js +112 -0
- data/vendor/assets/javascripts/bower/vue/src/compiler/compile.js +549 -0
- data/vendor/assets/javascripts/bower/vue/src/compiler/transclude.js +163 -0
- data/vendor/assets/javascripts/bower/vue/src/config.js +74 -14
- data/vendor/assets/javascripts/bower/vue/src/directive.js +179 -219
- data/vendor/assets/javascripts/bower/vue/src/directives/attr.js +32 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/class.js +18 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/cloak.js +12 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/component.js +214 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/el.js +13 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/html.js +30 -34
- data/vendor/assets/javascripts/bower/vue/src/directives/if.js +77 -46
- data/vendor/assets/javascripts/bower/vue/src/directives/index.js +22 -129
- data/vendor/assets/javascripts/bower/vue/src/directives/model/checkbox.js +25 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/model/default.js +123 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/model/index.js +56 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/model/radio.js +26 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/model/select.js +166 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/on.js +51 -50
- data/vendor/assets/javascripts/bower/vue/src/directives/partial.js +36 -42
- data/vendor/assets/javascripts/bower/vue/src/directives/ref.js +24 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/repeat.js +477 -226
- data/vendor/assets/javascripts/bower/vue/src/directives/show.js +8 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/style.js +49 -37
- data/vendor/assets/javascripts/bower/vue/src/directives/text.js +15 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/transition.js +12 -0
- data/vendor/assets/javascripts/bower/vue/src/directives/with.js +38 -41
- data/vendor/assets/javascripts/bower/vue/src/filters/array-filters.js +87 -0
- data/vendor/assets/javascripts/bower/vue/src/filters/index.js +135 -0
- data/vendor/assets/javascripts/bower/vue/src/instance/compile.js +71 -0
- data/vendor/assets/javascripts/bower/vue/src/instance/events.js +122 -0
- data/vendor/assets/javascripts/bower/vue/src/instance/init.js +76 -0
- data/vendor/assets/javascripts/bower/vue/src/instance/scope.js +217 -0
- data/vendor/assets/javascripts/bower/vue/src/observer/array.js +90 -0
- data/vendor/assets/javascripts/bower/vue/src/observer/dep.js +50 -0
- data/vendor/assets/javascripts/bower/vue/src/observer/index.js +235 -0
- data/vendor/assets/javascripts/bower/vue/src/observer/object.js +75 -0
- data/vendor/assets/javascripts/bower/vue/src/parsers/directive.js +159 -0
- data/vendor/assets/javascripts/bower/vue/src/parsers/expression.js +226 -0
- data/vendor/assets/javascripts/bower/vue/src/parsers/path.js +300 -0
- data/vendor/assets/javascripts/bower/vue/src/parsers/template.js +246 -0
- data/vendor/assets/javascripts/bower/vue/src/parsers/text.js +178 -0
- data/vendor/assets/javascripts/bower/vue/src/transition/css.js +189 -0
- data/vendor/assets/javascripts/bower/vue/src/transition/index.js +151 -0
- data/vendor/assets/javascripts/bower/vue/src/transition/js.js +43 -0
- data/vendor/assets/javascripts/bower/vue/src/util/debug.js +50 -0
- data/vendor/assets/javascripts/bower/vue/src/util/dom.js +176 -0
- data/vendor/assets/javascripts/bower/vue/src/util/env.js +74 -0
- data/vendor/assets/javascripts/bower/vue/src/util/filter.js +72 -0
- data/vendor/assets/javascripts/bower/vue/src/util/index.js +8 -0
- data/vendor/assets/javascripts/bower/vue/src/util/lang.js +175 -0
- data/vendor/assets/javascripts/bower/vue/src/util/merge-option.js +258 -0
- data/vendor/assets/javascripts/bower/vue/src/vue.js +84 -0
- data/vendor/assets/javascripts/bower/vue/src/watcher.js +240 -0
- metadata +65 -20
- data/app/assets/javascripts/setting_format.js +0 -15
- data/vendor/assets/javascripts/bower/vue/src/binding.js +0 -103
- data/vendor/assets/javascripts/bower/vue/src/compiler.js +0 -1037
- data/vendor/assets/javascripts/bower/vue/src/deps-parser.js +0 -65
- data/vendor/assets/javascripts/bower/vue/src/directives/model.js +0 -174
- data/vendor/assets/javascripts/bower/vue/src/directives/view.js +0 -56
- data/vendor/assets/javascripts/bower/vue/src/emitter.js +0 -97
- data/vendor/assets/javascripts/bower/vue/src/exp-parser.js +0 -190
- data/vendor/assets/javascripts/bower/vue/src/filters.js +0 -191
- data/vendor/assets/javascripts/bower/vue/src/fragment.js +0 -67
- data/vendor/assets/javascripts/bower/vue/src/main.js +0 -188
- data/vendor/assets/javascripts/bower/vue/src/observer.js +0 -446
- data/vendor/assets/javascripts/bower/vue/src/template-parser.js +0 -46
- data/vendor/assets/javascripts/bower/vue/src/text-parser.js +0 -96
- data/vendor/assets/javascripts/bower/vue/src/transition.js +0 -228
- data/vendor/assets/javascripts/bower/vue/src/utils.js +0 -326
- data/vendor/assets/javascripts/bower/vue/src/viewmodel.js +0 -190
@@ -1,46 +1,58 @@
|
|
1
1
|
var prefixes = ['-webkit-', '-moz-', '-ms-']
|
2
|
+
var importantRE = /!important;?$/
|
2
3
|
|
3
|
-
/**
|
4
|
-
* Binding for CSS styles
|
5
|
-
*/
|
6
4
|
module.exports = {
|
7
5
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
}
|
16
|
-
this.prop = prop
|
17
|
-
},
|
6
|
+
deep: true,
|
7
|
+
|
8
|
+
bind: function () {
|
9
|
+
var prop = this.arg
|
10
|
+
if (!prop) return
|
11
|
+
this.prop = prop
|
12
|
+
},
|
18
13
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
if (value) {
|
27
|
-
isImportant = value.slice(-10) === '!important'
|
28
|
-
? 'important'
|
29
|
-
: ''
|
30
|
-
if (isImportant) {
|
31
|
-
value = value.slice(0, -10).trim()
|
32
|
-
}
|
33
|
-
}
|
34
|
-
this.el.style.setProperty(prop, value, isImportant)
|
35
|
-
if (this.prefixed) {
|
36
|
-
var i = prefixes.length
|
37
|
-
while (i--) {
|
38
|
-
this.el.style.setProperty(prefixes[i] + prop, value, isImportant)
|
39
|
-
}
|
40
|
-
}
|
41
|
-
} else {
|
42
|
-
this.el.style.cssText = value
|
14
|
+
update: function (value) {
|
15
|
+
if (this.prop) {
|
16
|
+
this.setCssProperty(this.prop, value)
|
17
|
+
} else {
|
18
|
+
if (typeof value === 'object') {
|
19
|
+
for (var prop in value) {
|
20
|
+
this.setCssProperty(prop, value[prop])
|
43
21
|
}
|
22
|
+
} else {
|
23
|
+
this.el.style.cssText = value
|
24
|
+
}
|
25
|
+
}
|
26
|
+
},
|
27
|
+
|
28
|
+
setCssProperty: function (prop, value) {
|
29
|
+
var prefixed = false
|
30
|
+
if (prop.charAt(0) === '$') {
|
31
|
+
// properties that start with $ will be auto-prefixed
|
32
|
+
prop = prop.slice(1)
|
33
|
+
prefixed = true
|
34
|
+
}
|
35
|
+
// cast possible numbers/booleans into strings
|
36
|
+
if (value != null) {
|
37
|
+
value += ''
|
38
|
+
}
|
39
|
+
var isImportant = importantRE.test(value)
|
40
|
+
? 'important'
|
41
|
+
: ''
|
42
|
+
if (isImportant) {
|
43
|
+
value = value.replace(importantRE, '').trim()
|
44
|
+
}
|
45
|
+
this.el.style.setProperty(prop, value, isImportant)
|
46
|
+
if (prefixed) {
|
47
|
+
var i = prefixes.length
|
48
|
+
while (i--) {
|
49
|
+
this.el.style.setProperty(
|
50
|
+
prefixes[i] + prop,
|
51
|
+
value,
|
52
|
+
isImportant
|
53
|
+
)
|
54
|
+
}
|
44
55
|
}
|
56
|
+
}
|
45
57
|
|
46
58
|
}
|
@@ -1,50 +1,47 @@
|
|
1
|
-
var
|
1
|
+
var _ = require('../util')
|
2
|
+
var Watcher = require('../watcher')
|
2
3
|
|
3
|
-
/**
|
4
|
-
* Binding for inheriting data from parent VMs.
|
5
|
-
*/
|
6
4
|
module.exports = {
|
7
5
|
|
8
|
-
|
6
|
+
priority: 900,
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
8
|
+
bind: function () {
|
9
|
+
var vm = this.vm
|
10
|
+
if (this.el !== vm.$el) {
|
11
|
+
_.warn(
|
12
|
+
'v-with can only be used on instance root elements.'
|
13
|
+
)
|
14
|
+
} else if (!vm.$parent) {
|
15
|
+
_.warn(
|
16
|
+
'v-with must be used on an instance with a parent.'
|
17
|
+
)
|
18
|
+
} else {
|
19
|
+
var key = this.arg
|
20
|
+
this.watcher = new Watcher(
|
21
|
+
vm.$parent,
|
22
|
+
this.expression,
|
23
|
+
key
|
24
|
+
? function (val) {
|
25
|
+
vm.$set(key, val)
|
24
26
|
}
|
25
|
-
|
26
|
-
|
27
|
-
if (compiler.init) return
|
28
|
-
if (!self.lock) {
|
29
|
-
self.lock = true
|
30
|
-
utils.nextTick(function () {
|
31
|
-
self.lock = false
|
32
|
-
})
|
33
|
-
}
|
34
|
-
owner.vm.$set(parentKey, val)
|
35
|
-
})
|
36
|
-
}
|
37
|
-
},
|
38
|
-
|
39
|
-
update: function (value) {
|
40
|
-
// sync from parent
|
41
|
-
if (!this.alone && !this.lock) {
|
42
|
-
if (this.arg) {
|
43
|
-
this.vm.$set(this.arg, value)
|
44
|
-
} else if (this.vm.$data !== value) {
|
45
|
-
this.vm.$data = value
|
27
|
+
: function (val) {
|
28
|
+
vm.$data = val
|
46
29
|
}
|
47
|
-
|
30
|
+
)
|
31
|
+
// initial set
|
32
|
+
var initialVal = this.watcher.value
|
33
|
+
if (key) {
|
34
|
+
vm.$set(key, initialVal)
|
35
|
+
} else {
|
36
|
+
vm.$data = initialVal
|
37
|
+
}
|
38
|
+
}
|
39
|
+
},
|
40
|
+
|
41
|
+
unbind: function () {
|
42
|
+
if (this.watcher) {
|
43
|
+
this.watcher.teardown()
|
48
44
|
}
|
45
|
+
}
|
49
46
|
|
50
47
|
}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
var _ = require('../util')
|
2
|
+
var Path = require('../parsers/path')
|
3
|
+
|
4
|
+
/**
|
5
|
+
* Filter filter for v-repeat
|
6
|
+
*
|
7
|
+
* @param {String} searchKey
|
8
|
+
* @param {String} [delimiter]
|
9
|
+
* @param {String} dataKey
|
10
|
+
*/
|
11
|
+
|
12
|
+
exports.filterBy = function (arr, searchKey, delimiter, dataKey) {
|
13
|
+
// allow optional `in` delimiter
|
14
|
+
// because why not
|
15
|
+
if (delimiter && delimiter !== 'in') {
|
16
|
+
dataKey = delimiter
|
17
|
+
}
|
18
|
+
// get the search string
|
19
|
+
var search =
|
20
|
+
_.stripQuotes(searchKey) ||
|
21
|
+
this.$get(searchKey)
|
22
|
+
if (!search) {
|
23
|
+
return arr
|
24
|
+
}
|
25
|
+
search = ('' + search).toLowerCase()
|
26
|
+
// get the optional dataKey
|
27
|
+
dataKey =
|
28
|
+
dataKey &&
|
29
|
+
(_.stripQuotes(dataKey) || this.$get(dataKey))
|
30
|
+
return arr.filter(function (item) {
|
31
|
+
return dataKey
|
32
|
+
? contains(Path.get(item, dataKey), search)
|
33
|
+
: contains(item, search)
|
34
|
+
})
|
35
|
+
}
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Filter filter for v-repeat
|
39
|
+
*
|
40
|
+
* @param {String} sortKey
|
41
|
+
* @param {String} reverseKey
|
42
|
+
*/
|
43
|
+
|
44
|
+
exports.orderBy = function (arr, sortKey, reverseKey) {
|
45
|
+
var key =
|
46
|
+
_.stripQuotes(sortKey) ||
|
47
|
+
this.$get(sortKey)
|
48
|
+
if (!key) {
|
49
|
+
return arr
|
50
|
+
}
|
51
|
+
var order = 1
|
52
|
+
if (reverseKey) {
|
53
|
+
if (reverseKey === '-1') {
|
54
|
+
order = -1
|
55
|
+
} else if (reverseKey.charCodeAt(0) === 0x21) { // !
|
56
|
+
reverseKey = reverseKey.slice(1)
|
57
|
+
order = this.$get(reverseKey) ? 1 : -1
|
58
|
+
} else {
|
59
|
+
order = this.$get(reverseKey) ? -1 : 1
|
60
|
+
}
|
61
|
+
}
|
62
|
+
// sort on a copy to avoid mutating original array
|
63
|
+
return arr.slice().sort(function (a, b) {
|
64
|
+
a = Path.get(a, key)
|
65
|
+
b = Path.get(b, key)
|
66
|
+
return a === b ? 0 : a > b ? order : -order
|
67
|
+
})
|
68
|
+
}
|
69
|
+
|
70
|
+
/**
|
71
|
+
* String contain helper
|
72
|
+
*
|
73
|
+
* @param {*} val
|
74
|
+
* @param {String} search
|
75
|
+
*/
|
76
|
+
|
77
|
+
function contains (val, search) {
|
78
|
+
if (_.isObject(val)) {
|
79
|
+
for (var key in val) {
|
80
|
+
if (contains(val[key], search)) {
|
81
|
+
return true
|
82
|
+
}
|
83
|
+
}
|
84
|
+
} else if (val != null) {
|
85
|
+
return val.toString().toLowerCase().indexOf(search) > -1
|
86
|
+
}
|
87
|
+
}
|
@@ -0,0 +1,135 @@
|
|
1
|
+
var _ = require('../util')
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Stringify value.
|
5
|
+
*
|
6
|
+
* @param {Number} indent
|
7
|
+
*/
|
8
|
+
|
9
|
+
exports.json = {
|
10
|
+
read: function (value, indent) {
|
11
|
+
return typeof value === 'string'
|
12
|
+
? value
|
13
|
+
: JSON.stringify(value, null, Number(indent) || 2)
|
14
|
+
},
|
15
|
+
write: function (value) {
|
16
|
+
try {
|
17
|
+
return JSON.parse(value)
|
18
|
+
} catch (e) {
|
19
|
+
return value
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
/**
|
25
|
+
* 'abc' => 'Abc'
|
26
|
+
*/
|
27
|
+
|
28
|
+
exports.capitalize = function (value) {
|
29
|
+
if (!value && value !== 0) return ''
|
30
|
+
value = value.toString()
|
31
|
+
return value.charAt(0).toUpperCase() + value.slice(1)
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
* 'abc' => 'ABC'
|
36
|
+
*/
|
37
|
+
|
38
|
+
exports.uppercase = function (value) {
|
39
|
+
return (value || value === 0)
|
40
|
+
? value.toString().toUpperCase()
|
41
|
+
: ''
|
42
|
+
}
|
43
|
+
|
44
|
+
/**
|
45
|
+
* 'AbC' => 'abc'
|
46
|
+
*/
|
47
|
+
|
48
|
+
exports.lowercase = function (value) {
|
49
|
+
return (value || value === 0)
|
50
|
+
? value.toString().toLowerCase()
|
51
|
+
: ''
|
52
|
+
}
|
53
|
+
|
54
|
+
/**
|
55
|
+
* 12345 => $12,345.00
|
56
|
+
*
|
57
|
+
* @param {String} sign
|
58
|
+
*/
|
59
|
+
|
60
|
+
var digitsRE = /(\d{3})(?=\d)/g
|
61
|
+
|
62
|
+
exports.currency = function (value, sign) {
|
63
|
+
value = parseFloat(value)
|
64
|
+
if (!value && value !== 0) return ''
|
65
|
+
sign = sign || '$'
|
66
|
+
var s = Math.floor(Math.abs(value)).toString(),
|
67
|
+
i = s.length % 3,
|
68
|
+
h = i > 0
|
69
|
+
? (s.slice(0, i) + (s.length > 3 ? ',' : ''))
|
70
|
+
: '',
|
71
|
+
f = '.' + value.toFixed(2).slice(-2)
|
72
|
+
return (value < 0 ? '-' : '') +
|
73
|
+
sign + h + s.slice(i).replace(digitsRE, '$1,') + f
|
74
|
+
}
|
75
|
+
|
76
|
+
/**
|
77
|
+
* 'item' => 'items'
|
78
|
+
*
|
79
|
+
* @params
|
80
|
+
* an array of strings corresponding to
|
81
|
+
* the single, double, triple ... forms of the word to
|
82
|
+
* be pluralized. When the number to be pluralized
|
83
|
+
* exceeds the length of the args, it will use the last
|
84
|
+
* entry in the array.
|
85
|
+
*
|
86
|
+
* e.g. ['single', 'double', 'triple', 'multiple']
|
87
|
+
*/
|
88
|
+
|
89
|
+
exports.pluralize = function (value) {
|
90
|
+
var args = _.toArray(arguments, 1)
|
91
|
+
return args.length > 1
|
92
|
+
? (args[value % 10 - 1] || args[args.length - 1])
|
93
|
+
: (args[0] + (value === 1 ? '' : 's'))
|
94
|
+
}
|
95
|
+
|
96
|
+
/**
|
97
|
+
* A special filter that takes a handler function,
|
98
|
+
* wraps it so it only gets triggered on specific
|
99
|
+
* keypresses. v-on only.
|
100
|
+
*
|
101
|
+
* @param {String} key
|
102
|
+
*/
|
103
|
+
|
104
|
+
var keyCodes = {
|
105
|
+
enter : 13,
|
106
|
+
tab : 9,
|
107
|
+
'delete' : 46,
|
108
|
+
up : 38,
|
109
|
+
left : 37,
|
110
|
+
right : 39,
|
111
|
+
down : 40,
|
112
|
+
esc : 27
|
113
|
+
}
|
114
|
+
|
115
|
+
exports.key = function (handler, key) {
|
116
|
+
if (!handler) return
|
117
|
+
var code = keyCodes[key]
|
118
|
+
if (!code) {
|
119
|
+
code = parseInt(key, 10)
|
120
|
+
}
|
121
|
+
return function (e) {
|
122
|
+
if (e.keyCode === code) {
|
123
|
+
return handler.call(this, e)
|
124
|
+
}
|
125
|
+
}
|
126
|
+
}
|
127
|
+
|
128
|
+
// expose keycode hash
|
129
|
+
exports.key.keyCodes = keyCodes
|
130
|
+
|
131
|
+
/**
|
132
|
+
* Install special array filters
|
133
|
+
*/
|
134
|
+
|
135
|
+
_.extend(exports, require('./array-filters'))
|