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.

Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +9 -0
  3. data/Gemfile +1 -0
  4. data/Gemfile.lock +4 -1
  5. data/app/assets/javascripts/vue/fluent_log.js +4 -4
  6. data/app/assets/javascripts/vue/in_tail_format.js +43 -49
  7. data/app/assets/javascripts/{alert.js → vue/notification.js} +21 -7
  8. data/app/assets/javascripts/vue/settings.js +121 -0
  9. data/app/assets/javascripts/vue/treeview.js +3 -3
  10. data/app/assets/stylesheets/common.css.scss +7 -1
  11. data/app/controllers/api/settings_controller.rb +55 -0
  12. data/app/controllers/api_controller.rb +6 -2
  13. data/app/controllers/concerns/setting_concern.rb +2 -2
  14. data/app/controllers/fluentd/settings_controller.rb +17 -2
  15. data/app/models/fluentd/setting/config.rb +39 -0
  16. data/app/views/api/settings/_element.json.jbuilder +6 -0
  17. data/app/views/api/settings/index.json.jbuilder +3 -0
  18. data/app/views/api/settings/show.json.jbuilder +1 -0
  19. data/app/views/fluentd/settings/edit.html.haml +3 -0
  20. data/app/views/fluentd/settings/source_and_output.html.haml +19 -2
  21. data/app/views/layouts/application.html.erb +1 -30
  22. data/app/views/shared/vue/_in_tail_format.html.erb +11 -36
  23. data/app/views/shared/vue/_notification.html.erb +31 -0
  24. data/app/views/shared/vue/_setting.html.erb +23 -0
  25. data/app/views/shared/vue/_treeview.html.erb +2 -2
  26. data/bower.json +1 -1
  27. data/config/application.rb +1 -0
  28. data/config/locales/translation_en.yml +11 -7
  29. data/config/locales/translation_ja.yml +4 -0
  30. data/config/routes.rb +2 -0
  31. data/lib/fluentd-ui/version.rb +1 -1
  32. data/spec/features/fluentd/setting/source_and_output_spec.rb +157 -0
  33. data/spec/spec_helper.rb +1 -0
  34. data/spec/support/javascript_macro.rb +21 -0
  35. data/vendor/assets/javascripts/bower/vue/.bower.json +7 -7
  36. data/vendor/assets/javascripts/bower/vue/LICENSE +1 -1
  37. data/vendor/assets/javascripts/bower/vue/dist/vue.js +7822 -4768
  38. data/vendor/assets/javascripts/bower/vue/dist/vue.min.js +7 -7
  39. data/vendor/assets/javascripts/bower/vue/src/api/child.js +53 -0
  40. data/vendor/assets/javascripts/bower/vue/src/api/data.js +161 -0
  41. data/vendor/assets/javascripts/bower/vue/src/api/dom.js +211 -0
  42. data/vendor/assets/javascripts/bower/vue/src/api/events.js +176 -0
  43. data/vendor/assets/javascripts/bower/vue/src/api/global.js +146 -0
  44. data/vendor/assets/javascripts/bower/vue/src/api/lifecycle.js +144 -0
  45. data/vendor/assets/javascripts/bower/vue/src/batcher.js +52 -32
  46. data/vendor/assets/javascripts/bower/vue/src/cache.js +112 -0
  47. data/vendor/assets/javascripts/bower/vue/src/compiler/compile.js +549 -0
  48. data/vendor/assets/javascripts/bower/vue/src/compiler/transclude.js +163 -0
  49. data/vendor/assets/javascripts/bower/vue/src/config.js +74 -14
  50. data/vendor/assets/javascripts/bower/vue/src/directive.js +179 -219
  51. data/vendor/assets/javascripts/bower/vue/src/directives/attr.js +32 -0
  52. data/vendor/assets/javascripts/bower/vue/src/directives/class.js +18 -0
  53. data/vendor/assets/javascripts/bower/vue/src/directives/cloak.js +12 -0
  54. data/vendor/assets/javascripts/bower/vue/src/directives/component.js +214 -0
  55. data/vendor/assets/javascripts/bower/vue/src/directives/el.js +13 -0
  56. data/vendor/assets/javascripts/bower/vue/src/directives/html.js +30 -34
  57. data/vendor/assets/javascripts/bower/vue/src/directives/if.js +77 -46
  58. data/vendor/assets/javascripts/bower/vue/src/directives/index.js +22 -129
  59. data/vendor/assets/javascripts/bower/vue/src/directives/model/checkbox.js +25 -0
  60. data/vendor/assets/javascripts/bower/vue/src/directives/model/default.js +123 -0
  61. data/vendor/assets/javascripts/bower/vue/src/directives/model/index.js +56 -0
  62. data/vendor/assets/javascripts/bower/vue/src/directives/model/radio.js +26 -0
  63. data/vendor/assets/javascripts/bower/vue/src/directives/model/select.js +166 -0
  64. data/vendor/assets/javascripts/bower/vue/src/directives/on.js +51 -50
  65. data/vendor/assets/javascripts/bower/vue/src/directives/partial.js +36 -42
  66. data/vendor/assets/javascripts/bower/vue/src/directives/ref.js +24 -0
  67. data/vendor/assets/javascripts/bower/vue/src/directives/repeat.js +477 -226
  68. data/vendor/assets/javascripts/bower/vue/src/directives/show.js +8 -0
  69. data/vendor/assets/javascripts/bower/vue/src/directives/style.js +49 -37
  70. data/vendor/assets/javascripts/bower/vue/src/directives/text.js +15 -0
  71. data/vendor/assets/javascripts/bower/vue/src/directives/transition.js +12 -0
  72. data/vendor/assets/javascripts/bower/vue/src/directives/with.js +38 -41
  73. data/vendor/assets/javascripts/bower/vue/src/filters/array-filters.js +87 -0
  74. data/vendor/assets/javascripts/bower/vue/src/filters/index.js +135 -0
  75. data/vendor/assets/javascripts/bower/vue/src/instance/compile.js +71 -0
  76. data/vendor/assets/javascripts/bower/vue/src/instance/events.js +122 -0
  77. data/vendor/assets/javascripts/bower/vue/src/instance/init.js +76 -0
  78. data/vendor/assets/javascripts/bower/vue/src/instance/scope.js +217 -0
  79. data/vendor/assets/javascripts/bower/vue/src/observer/array.js +90 -0
  80. data/vendor/assets/javascripts/bower/vue/src/observer/dep.js +50 -0
  81. data/vendor/assets/javascripts/bower/vue/src/observer/index.js +235 -0
  82. data/vendor/assets/javascripts/bower/vue/src/observer/object.js +75 -0
  83. data/vendor/assets/javascripts/bower/vue/src/parsers/directive.js +159 -0
  84. data/vendor/assets/javascripts/bower/vue/src/parsers/expression.js +226 -0
  85. data/vendor/assets/javascripts/bower/vue/src/parsers/path.js +300 -0
  86. data/vendor/assets/javascripts/bower/vue/src/parsers/template.js +246 -0
  87. data/vendor/assets/javascripts/bower/vue/src/parsers/text.js +178 -0
  88. data/vendor/assets/javascripts/bower/vue/src/transition/css.js +189 -0
  89. data/vendor/assets/javascripts/bower/vue/src/transition/index.js +151 -0
  90. data/vendor/assets/javascripts/bower/vue/src/transition/js.js +43 -0
  91. data/vendor/assets/javascripts/bower/vue/src/util/debug.js +50 -0
  92. data/vendor/assets/javascripts/bower/vue/src/util/dom.js +176 -0
  93. data/vendor/assets/javascripts/bower/vue/src/util/env.js +74 -0
  94. data/vendor/assets/javascripts/bower/vue/src/util/filter.js +72 -0
  95. data/vendor/assets/javascripts/bower/vue/src/util/index.js +8 -0
  96. data/vendor/assets/javascripts/bower/vue/src/util/lang.js +175 -0
  97. data/vendor/assets/javascripts/bower/vue/src/util/merge-option.js +258 -0
  98. data/vendor/assets/javascripts/bower/vue/src/vue.js +84 -0
  99. data/vendor/assets/javascripts/bower/vue/src/watcher.js +240 -0
  100. metadata +65 -20
  101. data/app/assets/javascripts/setting_format.js +0 -15
  102. data/vendor/assets/javascripts/bower/vue/src/binding.js +0 -103
  103. data/vendor/assets/javascripts/bower/vue/src/compiler.js +0 -1037
  104. data/vendor/assets/javascripts/bower/vue/src/deps-parser.js +0 -65
  105. data/vendor/assets/javascripts/bower/vue/src/directives/model.js +0 -174
  106. data/vendor/assets/javascripts/bower/vue/src/directives/view.js +0 -56
  107. data/vendor/assets/javascripts/bower/vue/src/emitter.js +0 -97
  108. data/vendor/assets/javascripts/bower/vue/src/exp-parser.js +0 -190
  109. data/vendor/assets/javascripts/bower/vue/src/filters.js +0 -191
  110. data/vendor/assets/javascripts/bower/vue/src/fragment.js +0 -67
  111. data/vendor/assets/javascripts/bower/vue/src/main.js +0 -188
  112. data/vendor/assets/javascripts/bower/vue/src/observer.js +0 -446
  113. data/vendor/assets/javascripts/bower/vue/src/template-parser.js +0 -46
  114. data/vendor/assets/javascripts/bower/vue/src/text-parser.js +0 -96
  115. data/vendor/assets/javascripts/bower/vue/src/transition.js +0 -228
  116. data/vendor/assets/javascripts/bower/vue/src/utils.js +0 -326
  117. data/vendor/assets/javascripts/bower/vue/src/viewmodel.js +0 -190
@@ -0,0 +1,72 @@
1
+ var _ = require('./debug')
2
+
3
+ /**
4
+ * Resolve read & write filters for a vm instance. The
5
+ * filters descriptor Array comes from the directive parser.
6
+ *
7
+ * This is extracted into its own utility so it can
8
+ * be used in multiple scenarios.
9
+ *
10
+ * @param {Vue} vm
11
+ * @param {Array<Object>} filters
12
+ * @param {Object} [target]
13
+ * @return {Object}
14
+ */
15
+
16
+ exports.resolveFilters = function (vm, filters, target) {
17
+ if (!filters) {
18
+ return
19
+ }
20
+ var res = target || {}
21
+ // var registry = vm.$options.filters
22
+ filters.forEach(function (f) {
23
+ var def = vm.$options.filters[f.name]
24
+ _.assertAsset(def, 'filter', f.name)
25
+ if (!def) return
26
+ var args = f.args
27
+ var reader, writer
28
+ if (typeof def === 'function') {
29
+ reader = def
30
+ } else {
31
+ reader = def.read
32
+ writer = def.write
33
+ }
34
+ if (reader) {
35
+ if (!res.read) res.read = []
36
+ res.read.push(function (value) {
37
+ return args
38
+ ? reader.apply(vm, [value].concat(args))
39
+ : reader.call(vm, value)
40
+ })
41
+ }
42
+ if (writer) {
43
+ if (!res.write) res.write = []
44
+ res.write.push(function (value, oldVal) {
45
+ return args
46
+ ? writer.apply(vm, [value, oldVal].concat(args))
47
+ : writer.call(vm, value, oldVal)
48
+ })
49
+ }
50
+ })
51
+ return res
52
+ }
53
+
54
+ /**
55
+ * Apply filters to a value
56
+ *
57
+ * @param {*} value
58
+ * @param {Array} filters
59
+ * @param {Vue} vm
60
+ * @param {*} oldVal
61
+ * @return {*}
62
+ */
63
+
64
+ exports.applyFilters = function (value, filters, vm, oldVal) {
65
+ if (!filters) {
66
+ return value
67
+ }
68
+ for (var i = 0, l = filters.length; i < l; i++) {
69
+ value = filters[i].call(vm, value, oldVal)
70
+ }
71
+ return value
72
+ }
@@ -0,0 +1,8 @@
1
+ var lang = require('./lang')
2
+ var extend = lang.extend
3
+
4
+ extend(exports, lang)
5
+ extend(exports, require('./env'))
6
+ extend(exports, require('./dom'))
7
+ extend(exports, require('./filter'))
8
+ extend(exports, require('./debug'))
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Check is a string starts with $ or _
3
+ *
4
+ * @param {String} str
5
+ * @return {Boolean}
6
+ */
7
+
8
+ exports.isReserved = function (str) {
9
+ var c = str.charCodeAt(0)
10
+ return c === 0x24 || c === 0x5F
11
+ }
12
+
13
+ /**
14
+ * Guard text output, make sure undefined outputs
15
+ * empty string
16
+ *
17
+ * @param {*} value
18
+ * @return {String}
19
+ */
20
+
21
+ exports.toString = function (value) {
22
+ return value == null
23
+ ? ''
24
+ : value.toString()
25
+ }
26
+
27
+ /**
28
+ * Check and convert possible numeric numbers before
29
+ * setting back to data
30
+ *
31
+ * @param {*} value
32
+ * @return {*|Number}
33
+ */
34
+
35
+ exports.toNumber = function (value) {
36
+ return (
37
+ isNaN(value) ||
38
+ value === null ||
39
+ typeof value === 'boolean'
40
+ ) ? value
41
+ : Number(value)
42
+ }
43
+
44
+ /**
45
+ * Strip quotes from a string
46
+ *
47
+ * @param {String} str
48
+ * @return {String | false}
49
+ */
50
+
51
+ exports.stripQuotes = function (str) {
52
+ var a = str.charCodeAt(0)
53
+ var b = str.charCodeAt(str.length - 1)
54
+ return a === b && (a === 0x22 || a === 0x27)
55
+ ? str.slice(1, -1)
56
+ : false
57
+ }
58
+
59
+ /**
60
+ * Camelize a hyphen-delmited string.
61
+ *
62
+ * @param {String} str
63
+ * @return {String}
64
+ */
65
+
66
+ var camelRE = /[-_](\w)/g
67
+ var capitalCamelRE = /(?:^|[-_])(\w)/g
68
+
69
+ exports.camelize = function (str, cap) {
70
+ var RE = cap ? capitalCamelRE : camelRE
71
+ return str.replace(RE, function (_, c) {
72
+ return c ? c.toUpperCase () : ''
73
+ })
74
+ }
75
+
76
+ /**
77
+ * Simple bind, faster than native
78
+ *
79
+ * @param {Function} fn
80
+ * @param {Object} ctx
81
+ * @return {Function}
82
+ */
83
+
84
+ exports.bind = function (fn, ctx) {
85
+ return function () {
86
+ return fn.apply(ctx, arguments)
87
+ }
88
+ }
89
+
90
+ /**
91
+ * Convert an Array-like object to a real Array.
92
+ *
93
+ * @param {Array-like} list
94
+ * @param {Number} [start] - start index
95
+ * @return {Array}
96
+ */
97
+
98
+ exports.toArray = function (list, start) {
99
+ start = start || 0
100
+ var i = list.length - start
101
+ var ret = new Array(i)
102
+ while (i--) {
103
+ ret[i] = list[i + start]
104
+ }
105
+ return ret
106
+ }
107
+
108
+ /**
109
+ * Mix properties into target object.
110
+ *
111
+ * @param {Object} to
112
+ * @param {Object} from
113
+ */
114
+
115
+ exports.extend = function (to, from) {
116
+ for (var key in from) {
117
+ to[key] = from[key]
118
+ }
119
+ return to
120
+ }
121
+
122
+ /**
123
+ * Quick object check - this is primarily used to tell
124
+ * Objects from primitive values when we know the value
125
+ * is a JSON-compliant type.
126
+ *
127
+ * @param {*} obj
128
+ * @return {Boolean}
129
+ */
130
+
131
+ exports.isObject = function (obj) {
132
+ return obj && typeof obj === 'object'
133
+ }
134
+
135
+ /**
136
+ * Strict object type check. Only returns true
137
+ * for plain JavaScript objects.
138
+ *
139
+ * @param {*} obj
140
+ * @return {Boolean}
141
+ */
142
+
143
+ var toString = Object.prototype.toString
144
+ exports.isPlainObject = function (obj) {
145
+ return toString.call(obj) === '[object Object]'
146
+ }
147
+
148
+ /**
149
+ * Array type check.
150
+ *
151
+ * @param {*} obj
152
+ * @return {Boolean}
153
+ */
154
+
155
+ exports.isArray = function (obj) {
156
+ return Array.isArray(obj)
157
+ }
158
+
159
+ /**
160
+ * Define a non-enumerable property
161
+ *
162
+ * @param {Object} obj
163
+ * @param {String} key
164
+ * @param {*} val
165
+ * @param {Boolean} [enumerable]
166
+ */
167
+
168
+ exports.define = function (obj, key, val, enumerable) {
169
+ Object.defineProperty(obj, key, {
170
+ value : val,
171
+ enumerable : !!enumerable,
172
+ writable : true,
173
+ configurable : true
174
+ })
175
+ }
@@ -0,0 +1,258 @@
1
+ var _ = require('./index')
2
+ var extend = _.extend
3
+
4
+ /**
5
+ * Option overwriting strategies are functions that handle
6
+ * how to merge a parent option value and a child option
7
+ * value into the final value.
8
+ *
9
+ * All strategy functions follow the same signature:
10
+ *
11
+ * @param {*} parentVal
12
+ * @param {*} childVal
13
+ * @param {Vue} [vm]
14
+ */
15
+
16
+ var strats = Object.create(null)
17
+
18
+ /**
19
+ * Helper that recursively merges two data objects together.
20
+ */
21
+
22
+ function mergeData (to, from) {
23
+ var key, toVal, fromVal
24
+ for (key in from) {
25
+ toVal = to[key]
26
+ fromVal = from[key]
27
+ if (!to.hasOwnProperty(key)) {
28
+ to.$add(key, fromVal)
29
+ } else if (_.isObject(toVal) && _.isObject(fromVal)) {
30
+ mergeData(toVal, fromVal)
31
+ }
32
+ }
33
+ return to
34
+ }
35
+
36
+ /**
37
+ * Data
38
+ */
39
+
40
+ strats.data = function (parentVal, childVal, vm) {
41
+ if (!vm) {
42
+ // in a Vue.extend merge, both should be functions
43
+ if (!childVal) {
44
+ return parentVal
45
+ }
46
+ if (typeof childVal !== 'function') {
47
+ _.warn(
48
+ 'The "data" option should be a function ' +
49
+ 'that returns a per-instance value in component ' +
50
+ 'definitions.'
51
+ )
52
+ return parentVal
53
+ }
54
+ if (!parentVal) {
55
+ return childVal
56
+ }
57
+ // when parentVal & childVal are both present,
58
+ // we need to return a function that returns the
59
+ // merged result of both functions... no need to
60
+ // check if parentVal is a function here because
61
+ // it has to be a function to pass previous merges.
62
+ return function mergedDataFn () {
63
+ return mergeData(
64
+ childVal.call(this),
65
+ parentVal.call(this)
66
+ )
67
+ }
68
+ } else {
69
+ // instance merge, return raw object
70
+ var instanceData = typeof childVal === 'function'
71
+ ? childVal.call(vm)
72
+ : childVal
73
+ var defaultData = typeof parentVal === 'function'
74
+ ? parentVal.call(vm)
75
+ : undefined
76
+ if (instanceData) {
77
+ return mergeData(instanceData, defaultData)
78
+ } else {
79
+ return defaultData
80
+ }
81
+ }
82
+ }
83
+
84
+ /**
85
+ * El
86
+ */
87
+
88
+ strats.el = function (parentVal, childVal, vm) {
89
+ if (!vm && childVal && typeof childVal !== 'function') {
90
+ _.warn(
91
+ 'The "el" option should be a function ' +
92
+ 'that returns a per-instance value in component ' +
93
+ 'definitions.'
94
+ )
95
+ return
96
+ }
97
+ var ret = childVal || parentVal
98
+ // invoke the element factory if this is instance merge
99
+ return vm && typeof ret === 'function'
100
+ ? ret.call(vm)
101
+ : ret
102
+ }
103
+
104
+ /**
105
+ * Hooks and param attributes are merged as arrays.
106
+ */
107
+
108
+ strats.created =
109
+ strats.ready =
110
+ strats.attached =
111
+ strats.detached =
112
+ strats.beforeCompile =
113
+ strats.compiled =
114
+ strats.beforeDestroy =
115
+ strats.destroyed =
116
+ strats.paramAttributes = function (parentVal, childVal) {
117
+ return childVal
118
+ ? parentVal
119
+ ? parentVal.concat(childVal)
120
+ : _.isArray(childVal)
121
+ ? childVal
122
+ : [childVal]
123
+ : parentVal
124
+ }
125
+
126
+ /**
127
+ * Assets
128
+ *
129
+ * When a vm is present (instance creation), we need to do
130
+ * a three-way merge between constructor options, instance
131
+ * options and parent options.
132
+ */
133
+
134
+ strats.directives =
135
+ strats.filters =
136
+ strats.partials =
137
+ strats.transitions =
138
+ strats.components = function (parentVal, childVal, vm, key) {
139
+ var ret = Object.create(
140
+ vm && vm.$parent
141
+ ? vm.$parent.$options[key]
142
+ : _.Vue.options[key]
143
+ )
144
+ if (parentVal) {
145
+ var keys = Object.keys(parentVal)
146
+ var i = keys.length
147
+ var field
148
+ while (i--) {
149
+ field = keys[i]
150
+ ret[field] = parentVal[field]
151
+ }
152
+ }
153
+ if (childVal) extend(ret, childVal)
154
+ return ret
155
+ }
156
+
157
+ /**
158
+ * Events & Watchers.
159
+ *
160
+ * Events & watchers hashes should not overwrite one
161
+ * another, so we merge them as arrays.
162
+ */
163
+
164
+ strats.watch =
165
+ strats.events = function (parentVal, childVal) {
166
+ if (!childVal) return parentVal
167
+ if (!parentVal) return childVal
168
+ var ret = {}
169
+ extend(ret, parentVal)
170
+ for (var key in childVal) {
171
+ var parent = ret[key]
172
+ var child = childVal[key]
173
+ ret[key] = parent
174
+ ? parent.concat(child)
175
+ : [child]
176
+ }
177
+ return ret
178
+ }
179
+
180
+ /**
181
+ * Other object hashes.
182
+ */
183
+
184
+ strats.methods =
185
+ strats.computed = function (parentVal, childVal) {
186
+ if (!childVal) return parentVal
187
+ if (!parentVal) return childVal
188
+ var ret = Object.create(parentVal)
189
+ extend(ret, childVal)
190
+ return ret
191
+ }
192
+
193
+ /**
194
+ * Default strategy.
195
+ */
196
+
197
+ var defaultStrat = function (parentVal, childVal) {
198
+ return childVal === undefined
199
+ ? parentVal
200
+ : childVal
201
+ }
202
+
203
+ /**
204
+ * Make sure component options get converted to actual
205
+ * constructors.
206
+ *
207
+ * @param {Object} components
208
+ */
209
+
210
+ function guardComponents (components) {
211
+ if (components) {
212
+ var def
213
+ for (var key in components) {
214
+ def = components[key]
215
+ if (_.isPlainObject(def)) {
216
+ def.name = key
217
+ components[key] = _.Vue.extend(def)
218
+ }
219
+ }
220
+ }
221
+ }
222
+
223
+ /**
224
+ * Merge two option objects into a new one.
225
+ * Core utility used in both instantiation and inheritance.
226
+ *
227
+ * @param {Object} parent
228
+ * @param {Object} child
229
+ * @param {Vue} [vm] - if vm is present, indicates this is
230
+ * an instantiation merge.
231
+ */
232
+
233
+ module.exports = function mergeOptions (parent, child, vm) {
234
+ guardComponents(child.components)
235
+ var options = {}
236
+ var key
237
+ for (key in parent) {
238
+ merge(parent[key], child[key], key)
239
+ }
240
+ for (key in child) {
241
+ if (!(parent.hasOwnProperty(key))) {
242
+ merge(parent[key], child[key], key)
243
+ }
244
+ }
245
+ var mixins = child.mixins
246
+ if (mixins) {
247
+ for (var i = 0, l = mixins.length; i < l; i++) {
248
+ for (key in mixins[i]) {
249
+ merge(options[key], mixins[i][key], key)
250
+ }
251
+ }
252
+ }
253
+ function merge (parentVal, childVal, key) {
254
+ var strat = strats[key] || defaultStrat
255
+ options[key] = strat(parentVal, childVal, vm, key)
256
+ }
257
+ return options
258
+ }