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,90 @@
1
+ var _ = require('../util')
2
+ var arrayProto = Array.prototype
3
+ var arrayMethods = Object.create(arrayProto)
4
+
5
+ /**
6
+ * Intercept mutating methods and emit events
7
+ */
8
+
9
+ ;[
10
+ 'push',
11
+ 'pop',
12
+ 'shift',
13
+ 'unshift',
14
+ 'splice',
15
+ 'sort',
16
+ 'reverse'
17
+ ]
18
+ .forEach(function (method) {
19
+ // cache original method
20
+ var original = arrayProto[method]
21
+ _.define(arrayMethods, method, function mutator () {
22
+ // avoid leaking arguments:
23
+ // http://jsperf.com/closure-with-arguments
24
+ var i = arguments.length
25
+ var args = new Array(i)
26
+ while (i--) {
27
+ args[i] = arguments[i]
28
+ }
29
+ var result = original.apply(this, args)
30
+ var ob = this.__ob__
31
+ var inserted
32
+ switch (method) {
33
+ case 'push':
34
+ inserted = args
35
+ break
36
+ case 'unshift':
37
+ inserted = args
38
+ break
39
+ case 'splice':
40
+ inserted = args.slice(2)
41
+ break
42
+ }
43
+ if (inserted) ob.observeArray(inserted)
44
+ // notify change
45
+ ob.notify()
46
+ return result
47
+ })
48
+ })
49
+
50
+ /**
51
+ * Swap the element at the given index with a new value
52
+ * and emits corresponding event.
53
+ *
54
+ * @param {Number} index
55
+ * @param {*} val
56
+ * @return {*} - replaced element
57
+ */
58
+
59
+ _.define(
60
+ arrayProto,
61
+ '$set',
62
+ function $set (index, val) {
63
+ if (index >= this.length) {
64
+ this.length = index + 1
65
+ }
66
+ return this.splice(index, 1, val)[0]
67
+ }
68
+ )
69
+
70
+ /**
71
+ * Convenience method to remove the element at given index.
72
+ *
73
+ * @param {Number} index
74
+ * @param {*} val
75
+ */
76
+
77
+ _.define(
78
+ arrayProto,
79
+ '$remove',
80
+ function $remove (index) {
81
+ if (typeof index !== 'number') {
82
+ index = this.indexOf(index)
83
+ }
84
+ if (index > -1) {
85
+ return this.splice(index, 1)[0]
86
+ }
87
+ }
88
+ )
89
+
90
+ module.exports = arrayMethods
@@ -0,0 +1,50 @@
1
+ var uid = 0
2
+
3
+ /**
4
+ * A dep is an observable that can have multiple
5
+ * directives subscribing to it.
6
+ *
7
+ * @constructor
8
+ */
9
+
10
+ function Dep () {
11
+ this.id = ++uid
12
+ this.subs = []
13
+ }
14
+
15
+ var p = Dep.prototype
16
+
17
+ /**
18
+ * Add a directive subscriber.
19
+ *
20
+ * @param {Directive} sub
21
+ */
22
+
23
+ p.addSub = function (sub) {
24
+ this.subs.push(sub)
25
+ }
26
+
27
+ /**
28
+ * Remove a directive subscriber.
29
+ *
30
+ * @param {Directive} sub
31
+ */
32
+
33
+ p.removeSub = function (sub) {
34
+ if (this.subs.length) {
35
+ var i = this.subs.indexOf(sub)
36
+ if (i > -1) this.subs.splice(i, 1)
37
+ }
38
+ }
39
+
40
+ /**
41
+ * Notify all subscribers of a new value.
42
+ */
43
+
44
+ p.notify = function () {
45
+ for (var i = 0, l = this.subs.length; i < l; i++) {
46
+ this.subs[i].update()
47
+ }
48
+ }
49
+
50
+ module.exports = Dep
@@ -0,0 +1,235 @@
1
+ var _ = require('../util')
2
+ var config = require('../config')
3
+ var Dep = require('./dep')
4
+ var arrayMethods = require('./array')
5
+ var arrayKeys = Object.getOwnPropertyNames(arrayMethods)
6
+ require('./object')
7
+
8
+ var uid = 0
9
+
10
+ /**
11
+ * Type enums
12
+ */
13
+
14
+ var ARRAY = 0
15
+ var OBJECT = 1
16
+
17
+ /**
18
+ * Augment an target Object or Array by intercepting
19
+ * the prototype chain using __proto__
20
+ *
21
+ * @param {Object|Array} target
22
+ * @param {Object} proto
23
+ */
24
+
25
+ function protoAugment (target, src) {
26
+ target.__proto__ = src
27
+ }
28
+
29
+ /**
30
+ * Augment an target Object or Array by defining
31
+ * hidden properties.
32
+ *
33
+ * @param {Object|Array} target
34
+ * @param {Object} proto
35
+ */
36
+
37
+ function copyAugment (target, src, keys) {
38
+ var i = keys.length
39
+ var key
40
+ while (i--) {
41
+ key = keys[i]
42
+ _.define(target, key, src[key])
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Observer class that are attached to each observed
48
+ * object. Once attached, the observer converts target
49
+ * object's property keys into getter/setters that
50
+ * collect dependencies and dispatches updates.
51
+ *
52
+ * @param {Array|Object} value
53
+ * @param {Number} type
54
+ * @constructor
55
+ */
56
+
57
+ function Observer (value, type) {
58
+ this.id = ++uid
59
+ this.value = value
60
+ this.active = true
61
+ this.deps = []
62
+ _.define(value, '__ob__', this)
63
+ if (type === ARRAY) {
64
+ var augment = config.proto && _.hasProto
65
+ ? protoAugment
66
+ : copyAugment
67
+ augment(value, arrayMethods, arrayKeys)
68
+ this.observeArray(value)
69
+ } else if (type === OBJECT) {
70
+ this.walk(value)
71
+ }
72
+ }
73
+
74
+ Observer.target = null
75
+
76
+ var p = Observer.prototype
77
+
78
+ /**
79
+ * Attempt to create an observer instance for a value,
80
+ * returns the new observer if successfully observed,
81
+ * or the existing observer if the value already has one.
82
+ *
83
+ * @param {*} value
84
+ * @return {Observer|undefined}
85
+ * @static
86
+ */
87
+
88
+ Observer.create = function (value) {
89
+ if (
90
+ value &&
91
+ value.hasOwnProperty('__ob__') &&
92
+ value.__ob__ instanceof Observer
93
+ ) {
94
+ return value.__ob__
95
+ } else if (_.isArray(value)) {
96
+ return new Observer(value, ARRAY)
97
+ } else if (
98
+ _.isPlainObject(value) &&
99
+ !value._isVue // avoid Vue instance
100
+ ) {
101
+ return new Observer(value, OBJECT)
102
+ }
103
+ }
104
+
105
+ /**
106
+ * Walk through each property and convert them into
107
+ * getter/setters. This method should only be called when
108
+ * value type is Object. Properties prefixed with `$` or `_`
109
+ * and accessor properties are ignored.
110
+ *
111
+ * @param {Object} obj
112
+ */
113
+
114
+ p.walk = function (obj) {
115
+ var keys = Object.keys(obj)
116
+ var i = keys.length
117
+ var key, prefix
118
+ while (i--) {
119
+ key = keys[i]
120
+ prefix = key.charCodeAt(0)
121
+ if (prefix !== 0x24 && prefix !== 0x5F) { // skip $ or _
122
+ this.convert(key, obj[key])
123
+ }
124
+ }
125
+ }
126
+
127
+ /**
128
+ * Try to carete an observer for a child value,
129
+ * and if value is array, link dep to the array.
130
+ *
131
+ * @param {*} val
132
+ * @return {Dep|undefined}
133
+ */
134
+
135
+ p.observe = function (val) {
136
+ return Observer.create(val)
137
+ }
138
+
139
+ /**
140
+ * Observe a list of Array items.
141
+ *
142
+ * @param {Array} items
143
+ */
144
+
145
+ p.observeArray = function (items) {
146
+ var i = items.length
147
+ while (i--) {
148
+ this.observe(items[i])
149
+ }
150
+ }
151
+
152
+ /**
153
+ * Convert a property into getter/setter so we can emit
154
+ * the events when the property is accessed/changed.
155
+ *
156
+ * @param {String} key
157
+ * @param {*} val
158
+ */
159
+
160
+ p.convert = function (key, val) {
161
+ var ob = this
162
+ var childOb = ob.observe(val)
163
+ var dep = new Dep()
164
+ if (childOb) {
165
+ childOb.deps.push(dep)
166
+ }
167
+ Object.defineProperty(ob.value, key, {
168
+ enumerable: true,
169
+ configurable: true,
170
+ get: function () {
171
+ // Observer.target is a watcher whose getter is
172
+ // currently being evaluated.
173
+ if (ob.active && Observer.target) {
174
+ Observer.target.addDep(dep)
175
+ }
176
+ return val
177
+ },
178
+ set: function (newVal) {
179
+ if (newVal === val) return
180
+ // remove dep from old value
181
+ var oldChildOb = val && val.__ob__
182
+ if (oldChildOb) {
183
+ var oldDeps = oldChildOb.deps
184
+ oldDeps.splice(oldDeps.indexOf(dep), 1)
185
+ }
186
+ val = newVal
187
+ // add dep to new value
188
+ var newChildOb = ob.observe(newVal)
189
+ if (newChildOb) {
190
+ newChildOb.deps.push(dep)
191
+ }
192
+ dep.notify()
193
+ }
194
+ })
195
+ }
196
+
197
+ /**
198
+ * Notify change on all self deps on an observer.
199
+ * This is called when a mutable value mutates. e.g.
200
+ * when an Array's mutating methods are called, or an
201
+ * Object's $add/$delete are called.
202
+ */
203
+
204
+ p.notify = function () {
205
+ var deps = this.deps
206
+ for (var i = 0, l = deps.length; i < l; i++) {
207
+ deps[i].notify()
208
+ }
209
+ }
210
+
211
+ /**
212
+ * Add an owner vm, so that when $add/$delete mutations
213
+ * happen we can notify owner vms to proxy the keys and
214
+ * digest the watchers. This is only called when the object
215
+ * is observed as an instance's root $data.
216
+ *
217
+ * @param {Vue} vm
218
+ */
219
+
220
+ p.addVm = function (vm) {
221
+ (this.vms = this.vms || []).push(vm)
222
+ }
223
+
224
+ /**
225
+ * Remove an owner vm. This is called when the object is
226
+ * swapped out as an instance's $data object.
227
+ *
228
+ * @param {Vue} vm
229
+ */
230
+
231
+ p.removeVm = function (vm) {
232
+ this.vms.splice(this.vms.indexOf(vm), 1)
233
+ }
234
+
235
+ module.exports = Observer
@@ -0,0 +1,75 @@
1
+ var _ = require('../util')
2
+ var objProto = Object.prototype
3
+
4
+ /**
5
+ * Add a new property to an observed object
6
+ * and emits corresponding event
7
+ *
8
+ * @param {String} key
9
+ * @param {*} val
10
+ * @public
11
+ */
12
+
13
+ _.define(
14
+ objProto,
15
+ '$add',
16
+ function $add (key, val) {
17
+ var ob = this.__ob__
18
+ if (!ob) {
19
+ this[key] = val
20
+ return
21
+ }
22
+ if (_.isReserved(key)) {
23
+ _.warn('Refused to $add reserved key: ' + key)
24
+ return
25
+ }
26
+ if (this.hasOwnProperty(key)) return
27
+ ob.convert(key, val)
28
+ if (ob.vms) {
29
+ var i = ob.vms.length
30
+ while (i--) {
31
+ var vm = ob.vms[i]
32
+ vm._proxy(key)
33
+ vm._digest()
34
+ }
35
+ } else {
36
+ ob.notify()
37
+ }
38
+ }
39
+ )
40
+
41
+ /**
42
+ * Deletes a property from an observed object
43
+ * and emits corresponding event
44
+ *
45
+ * @param {String} key
46
+ * @public
47
+ */
48
+
49
+ _.define(
50
+ objProto,
51
+ '$delete',
52
+ function $delete (key) {
53
+ var ob = this.__ob__
54
+ if (!ob) {
55
+ delete this[key]
56
+ return
57
+ }
58
+ if (_.isReserved(key)) {
59
+ _.warn('Refused to $add reserved key: ' + key)
60
+ return
61
+ }
62
+ if (!this.hasOwnProperty(key)) return
63
+ delete this[key]
64
+ if (ob.vms) {
65
+ var i = ob.vms.length
66
+ while (i--) {
67
+ var vm = ob.vms[i]
68
+ vm._unproxy(key)
69
+ vm._digest()
70
+ }
71
+ } else {
72
+ ob.notify()
73
+ }
74
+ }
75
+ )